diff --git a/.travis.yml b/.travis.yml index 6695f589d..d094533aa 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,9 +15,11 @@ env: TA_INCLUDE_PATH=$DEPS_DIR/include LD_LIBRARY_PATH=$DEPS_DIR/lib TA_LIBRARY_PATH=$DEPS_DIR/lib + - WITH_TA_LIBRARY=no cache: - directories: - - $DEPS_DIR + - pip + - directories: + - $DEPS_DIR install: - pip install --upgrade pip wheel - pip install -r requirements_test.txt diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 000000000..6173c51f7 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,13 @@ +include README.md +include AUTHORS +include CHANGELOG +include COPYRIGHT +include DEVELOPMENT +include LICENSE +include requirements.txt +recursive-include vendor * +recursive-include talib *.py *.pyx *.pxi *.pxd *.c +prune vendor/ta-lib/temp +prune vendor/ta-lib/make +prune vendor/ta-lib/ide +prune vendor/ta-lib/src/tools diff --git a/setup.py b/setup.py index fc10846db..649438b13 100644 --- a/setup.py +++ b/setup.py @@ -1,5 +1,6 @@ #!/usr/bin/env python +import glob import sys import os import warnings @@ -21,19 +22,22 @@ from distutils.extension import Extension lib_talib_name = 'ta_lib' # the underlying C library's name +sources = [] platform_supported = False for prefix in ['darwin', 'linux', 'bsd', 'sunos']: if prefix in sys.platform: platform_supported = True include_dirs = [ - '/usr/include', - '/usr/local/include', - '/opt/include', - '/opt/local/include', + '/usr/include/ta-lib', + '/usr/local/include/ta-lib', + '/opt/include/ta-lib', + '/opt/local/include/ta-lib', ] if 'TA_INCLUDE_PATH' in os.environ: - include_dirs.append(os.environ['TA_INCLUDE_PATH']) + include_dirs.append( + os.path.join(os.environ['TA_INCLUDE_PATH'], "ta-lib") + ) lib_talib_dirs = [ '/usr/lib', '/usr/local/lib', @@ -49,7 +53,7 @@ if sys.platform == "win32": platform_supported = True lib_talib_name = 'ta_libc_cdr' - include_dirs = [r"c:\ta-lib\c\include"] + include_dirs = [r"c:\ta-lib\c\include\ta-lib"] lib_talib_dirs = [r"c:\ta-lib\c\lib"] if not platform_supported: @@ -66,6 +70,7 @@ except ImportError: has_cython = False +libraries = [lib_talib_name] for lib_talib_dir in lib_talib_dirs: try: files = os.listdir(lib_talib_dir) @@ -74,7 +79,51 @@ except OSError: pass else: - warnings.warn('Cannot find ta-lib library, installation may fail.') + libraries = [] + warnings.warn( + 'Cannot find ta-lib library, will try to build from source.' + ) + # find vendor/ta-lib -name "*.h" -exec dirname {} \; | sort | uniq + vendor_dir = os.path.join( + os.path.dirname(os.path.abspath(__file__)), + "vendor", + ) + vendor_talib_dir = os.path.join( + vendor_dir, + "ta-lib", + ) + talib_include_dirs = [ + ("include", ), + ("src", "ta_abstract"), + ("src", "ta_abstract", "frames"), + ("src", "ta_common"), + ("src", "ta_func"), + ] + include_dirs.extend(( + os.path.join(vendor_talib_dir, *path_args) + for path_args in talib_include_dirs + )) + + talib_source_dirs = [ + ("ta_abstract", ), + ("ta_abstract", "frames"), + ("ta_abstract", "tables"), + ("ta_common", ), + ("ta_func", ) + ] + for path_args in talib_source_dirs: + source_dir = os.path.join(vendor_talib_dir, "src", *path_args) + sources.extend(glob.glob(os.path.join(source_dir, "*.c"))) + excel_glue_c_file = os.path.join( + vendor_talib_dir, "src", "ta_abstract", "excel_glue.c" + ) + try: + sources.remove(excel_glue_c_file) + except ValueError: + pass + libraries = [] + lib_talib_dirs = [] + cmdclass = {} if has_cython: @@ -83,22 +132,22 @@ ext_modules = [ Extension( 'talib._ta_lib', - ['talib/_ta_lib.pyx' if has_cython else 'talib/_ta_lib.c'], + ['talib/_ta_lib.pyx' if has_cython else 'talib/_ta_lib.c'] + sources, include_dirs=include_dirs, library_dirs=lib_talib_dirs, - libraries=[lib_talib_name] + libraries=libraries ) ] setup( - name = 'TA-Lib', - version = '0.4.10', - description = 'Python wrapper for TA-Lib', - author = 'John Benediktsson', - author_email = 'mrjbq7@gmail.com', - url = 'http://github.com/mrjbq7/ta-lib', - download_url = 'https://github.com/mrjbq7/ta-lib/releases', - classifiers = [ + name='TA-Lib', + version='0.4.10', + description='Python wrapper for TA-Lib', + author='John Benediktsson', + author_email='mrjbq7@gmail.com', + url='http://github.com/mrjbq7/ta-lib', + download_url='https://github.com/mrjbq7/ta-lib/releases', + classifiers=[ "License :: OSI Approved :: BSD License", "Development Status :: 4 - Beta", "Operating System :: Unix", @@ -117,8 +166,8 @@ "Intended Audience :: Science/Research", "Intended Audience :: Financial and Insurance Industry", ], - packages = ['talib'], - ext_modules = ext_modules, - cmdclass = cmdclass, - requires = ['numpy'], + packages=['talib'], + ext_modules=ext_modules, + cmdclass=cmdclass, + requires=['numpy'], ) diff --git a/talib/_ta_lib.c b/talib/_ta_lib.c index 86bddd801..9bbc105b5 100644 --- a/talib/_ta_lib.c +++ b/talib/_ta_lib.c @@ -429,14 +429,10 @@ static CYTHON_INLINE float __PYX_NAN() { #define __PYX_HAVE__talib___ta_lib #define __PYX_HAVE_API__talib___ta_lib -#if defined(WIN32) || defined(MS_WINDOWS) -#include "ta-libc.h" -#else -#include "ta-lib/ta_defs.h" -#include "ta-lib/ta_common.h" -#include "ta-lib/ta_abstract.h" -#include "ta-lib/ta_func.h" -#endif +#include "ta_defs.h" +#include "ta_common.h" +#include "ta_abstract.h" +#include "ta_func.h" #include #include #include diff --git a/talib/_ta_lib.pxd b/talib/_ta_lib.pxd index 60d43a309..346bd6fa5 100644 --- a/talib/_ta_lib.pxd +++ b/talib/_ta_lib.pxd @@ -1,5 +1,5 @@ -cdef extern from "ta-lib/ta_defs.h": +cdef extern from "ta_defs.h": ctypedef int TA_RetCode ctypedef int TA_RetCode @@ -84,7 +84,7 @@ cdef extern from "ta-lib/ta_defs.h": TA_CandleSettingType TA_Equal = 10 TA_CandleSettingType TA_AllCandleSettings = 11 -cdef extern from "ta-lib/ta_common.h": +cdef extern from "ta_common.h": char *TA_GetVersionString() char *TA_GetVersionMajor() char *TA_GetVersionMinor() @@ -109,7 +109,7 @@ cdef extern from "ta-lib/ta_common.h": TA_RetCode TA_Initialize() TA_RetCode TA_Shutdown() -cdef extern from "ta-lib/ta_abstract.h": +cdef extern from "ta_abstract.h": TA_RetCode TA_GroupTableAlloc(TA_StringTable **table) TA_RetCode TA_GroupTableFree(TA_StringTable *table) @@ -192,7 +192,7 @@ cdef extern from "ta-lib/ta_abstract.h": char* TA_FunctionDescriptionXML() -cdef extern from "ta-lib/ta_func.h": +cdef extern from "ta_func.h": TA_RetCode TA_ACOS(int startIdx, int endIdx, const double inReal[], int *outBegIdx, int *outNBElement, double outReal[]) int TA_ACOS_Lookback() TA_RetCode TA_AD(int startIdx, int endIdx, const double inHigh[], const double inLow[], const double inClose[], const double inVolume[], int *outBegIdx, int *outNBElement, double outReal[]) diff --git a/tools/generate_func.py b/tools/generate_func.py index 61cc82896..b98294c3b 100644 --- a/tools/generate_func.py +++ b/tools/generate_func.py @@ -11,17 +11,18 @@ # FIXME: don't return number of elements since it always equals allocation? functions = [] -include_paths = ['/usr/include', '/usr/local/include', '/opt/include', '/opt/local/include'] +include_paths = ['/usr/include/ta-lib', '/usr/local/include/ta-lib', '/opt/include/ta-lib', '/opt/local/include/ta-lib'] if sys.platform == 'win32': - include_paths = [r'c:\ta-lib\c\include'] + include_paths = [r'c:\ta-lib\c\include\ta-lib'] +include_paths.append(os.path.join(os.path.dirname(os.path.dirname(__file__)), "vendor", "ta-lib", "include")) header_found = False for path in include_paths: - ta_func_header = os.path.join(path, 'ta-lib', 'ta_func.h') + ta_func_header = os.path.join(path, 'ta_func.h') if os.path.exists(ta_func_header): header_found = True break if not header_found: - print('Error: ta-lib/ta_func.h not found', file=sys.stderr) + print('Error: ta_func.h not found', file=sys.stderr) sys.exit(1) with open(ta_func_header) as f: tmp = [] diff --git a/tools/generate_stream.py b/tools/generate_stream.py index 48df55b6f..8e7b25216 100644 --- a/tools/generate_stream.py +++ b/tools/generate_stream.py @@ -11,17 +11,18 @@ # FIXME: don't return number of elements since it always equals allocation? functions = [] -include_paths = ['/usr/include', '/usr/local/include', '/opt/include', '/opt/local/include'] +include_paths = ['/usr/include/ta-lib', '/usr/local/include/ta-lib', '/opt/include/ta-lib', '/opt/local/include/ta-lib'] if sys.platform == 'win32': - include_paths = [r'c:\ta-lib\c\include'] + include_paths = [r'c:\ta-lib\c\include\ta-lib'] +include_paths.append(os.path.join(os.path.dirname(os.path.dirname(__file__)), "vendor", "ta-lib", "include")) header_found = False for path in include_paths: - ta_func_header = os.path.join(path, 'ta-lib', 'ta_func.h') + ta_func_header = os.path.join(path, 'ta_func.h') if os.path.exists(ta_func_header): header_found = True break if not header_found: - print('Error: ta-lib/ta_func.h not found', file=sys.stderr) + print('Error: ta_func.h not found', file=sys.stderr) sys.exit(1) with open(ta_func_header) as f: tmp = [] diff --git a/vendor/ta-lib/Makefile.am b/vendor/ta-lib/Makefile.am new file mode 100644 index 000000000..269267110 --- /dev/null +++ b/vendor/ta-lib/Makefile.am @@ -0,0 +1,3 @@ +AUTOMAKE_OPTIONS = foreign 1.4 +SUBDIRS = src src/tools +bin_SCRIPTS = ta-lib-config diff --git a/vendor/ta-lib/autogen.sh b/vendor/ta-lib/autogen.sh new file mode 100644 index 000000000..180eccfdb --- /dev/null +++ b/vendor/ta-lib/autogen.sh @@ -0,0 +1,11 @@ +#!/bin/sh +echo aclocal +aclocal || exit +echo autoheader +autoheader || exit +echo libtoolize --copy --force +libtoolize --copy --force || exit +echo automake -a -c +automake -a -c || exit +echo autoconf +autoconf || exit diff --git a/vendor/ta-lib/bin/.cvsignore b/vendor/ta-lib/bin/.cvsignore new file mode 100644 index 000000000..1176d23e0 --- /dev/null +++ b/vendor/ta-lib/bin/.cvsignore @@ -0,0 +1,7 @@ +gen_code +gen_data +gen_rdata +ta_regtest +ta_sql +ta_yahoo +webfetch diff --git a/vendor/ta-lib/bin/HOLDER b/vendor/ta-lib/bin/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/bin/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/configure.in b/vendor/ta-lib/configure.in new file mode 100644 index 000000000..15f69f4d4 --- /dev/null +++ b/vendor/ta-lib/configure.in @@ -0,0 +1,47 @@ +# -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. + +AC_PREREQ(2.59) +AC_COPYRIGHT([(c) TicTacTec 2005, 2006]) +AC_INIT([ta-lib], [SVN], [http://sourceforge.net/tracker/?group_id=8903&atid=108903]) +AC_CONFIG_SRCDIR([src/ta_func/ta_AD.c]) +AC_CONFIG_HEADER([include/ta_config.h]) +AM_INIT_AUTOMAKE([ta-lib], [SVN]) + +# Checks for programs. +AC_PROG_CC +AC_PROG_LIBTOOL + +# Checks for libraries. +AC_CHECK_LIB([dl], [dlopen]) +AC_CHECK_LIB([pthread], [pthread_create]) + +# Checks for header files. +AC_HEADER_STDC +AC_CHECK_HEADERS([float.h inttypes.h limits.h locale.h stddef.h stdint.h stdlib.h string.h unistd.h wchar.h wctype.h]) + +# Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST +AC_TYPE_SIZE_T +AC_STRUCT_TM +AC_C_VOLATILE +AC_CHECK_TYPES([ptrdiff_t]) + +# Checks for library functions. +AC_TYPE_SIGNAL +AC_FUNC_STRCOLL +AC_FUNC_STRFTIME +AC_FUNC_STRTOD +AC_FUNC_VPRINTF +AC_CHECK_FUNCS([floor isascii localeconv mblen memmove memset modf pow sqrt strcasecmp strchr strerror strncasecmp strrchr strstr strtol strtoul]) + +# Versioning: +# Only change this if library is no longer +# ABI compatible with previous version +# (e.g. function declaration changed) +TALIB_LIBRARY_VERSION=0:0:0 + +AC_SUBST(TALIB_LIBRARY_VERSION) + +AC_CONFIG_FILES([Makefile src/Makefile src/ta_abstract/Makefile src/ta_common/Makefile src/ta_func/Makefile src/tools/Makefile src/tools/gen_code/Makefile src/tools/ta_regtest/Makefile ta-lib-config ta-lib.spec ta-lib.dpkg]) +AC_OUTPUT diff --git a/vendor/ta-lib/ide/msvc/lib_proj/gen_code/gen_code.dsp b/vendor/ta-lib/ide/msvc/lib_proj/gen_code/gen_code.dsp new file mode 100644 index 000000000..120eb0339 --- /dev/null +++ b/vendor/ta-lib/ide/msvc/lib_proj/gen_code/gen_code.dsp @@ -0,0 +1,284 @@ +# Microsoft Developer Studio Project File - Name="gen_code" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=gen_code - Win32 CSD Single Thread Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "gen_code.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "gen_code.mak" CFG="gen_code - Win32 CSD Single Thread Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "gen_code - Win32 CMD Multithread Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "gen_code - Win32 CSD Single Thread Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "gen_code - Win32 CSR Single Thread Release" (based on "Win32 (x86) Console Application") +!MESSAGE "gen_code - Win32 CMR Multithread Release" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 1 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "gen_code - Win32 CMD Multithread Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "gen_code___Win32_CMD_Multithread_Debug" +# PROP BASE Intermediate_Dir "gen_code___Win32_CMD_Multithread_Debug" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "..\..\..\..\bin" +# PROP Intermediate_Dir "..\..\..\..\temp\cmd\gen_code" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MDd /W3 /Gm /Zi /Od /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_abstract" /I "..\..\..\..\src\ta_abstract\tables" /I "..\..\..\..\src\ta_abstract\frames" /I "..\..\..\..\src\ta_common\imatix\sfl" /D "_CONSOLE" /D "TA_DEBUG" /D "TA_GEN_CODE" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /MTd /W3 /WX /Gm /Zi /Od /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_abstract" /I "..\..\..\..\src\ta_abstract\tables" /I "..\..\..\..\src\ta_abstract\frames" /I "..\..\..\..\src\ta_common\imatix\sfl" /D "_CONSOLE" /D "TA_GEN_CODE" /D "TA_DEBUG" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "TA_FUNC_NO_RANGE_CHECK" /Fr /YX /FD /GZ /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 ta_common_cmd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug /debugtype:both /machine:I386 /libpath:"..\..\..\..\lib" +# SUBTRACT BASE LINK32 /map /nodefaultlib +# ADD LINK32 ta_common_cmd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:console /incremental:no /debug /debugtype:both /machine:I386 /libpath:"..\..\..\..\lib" +# SUBTRACT LINK32 /map /nodefaultlib + +!ELSEIF "$(CFG)" == "gen_code - Win32 CSD Single Thread Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "gen_code___Win32_CSD_Single_Thread_Debug" +# PROP BASE Intermediate_Dir "gen_code___Win32_CSD_Single_Thread_Debug" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "..\..\..\..\bin" +# PROP Intermediate_Dir "..\..\..\..\temp\csd\gen_code" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /Zi /Od /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_abstract" /I "..\..\..\..\src\ta_abstract\tables" /I "..\..\..\..\src\ta_abstract\frames" /I "..\..\..\..\src\ta_common\imatix\sfl" /D "_CONSOLE" /D "TA_DEBUG" /D "TA_GEN_CODE" /D "TA_SINGLE_THREAD" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /W3 /WX /Gm /Zi /Od /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_abstract" /I "..\..\..\..\src\ta_abstract\tables" /I "..\..\..\..\src\ta_abstract\frames" /I "..\..\..\..\src\ta_common\imatix\sfl" /D "_CONSOLE" /D "TA_DEBUG" /D "TA_GEN_CODE" /D "TA_SINGLE_THREAD" /D "WIN32" /D "_DEBUG" /D "_MBCS" /Fr /YX /FD /GZ /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 ta_common_csd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug /debugtype:both /machine:I386 /libpath:"..\..\..\..\lib" +# SUBTRACT BASE LINK32 /map /nodefaultlib +# ADD LINK32 ta_common_csd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:console /incremental:no /debug /debugtype:both /machine:I386 /libpath:"..\..\..\..\lib" +# SUBTRACT LINK32 /map /nodefaultlib + +!ELSEIF "$(CFG)" == "gen_code - Win32 CSR Single Thread Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "gen_code___Win32_CSR_Single_Thread_Release" +# PROP BASE Intermediate_Dir "gen_code___Win32_CSR_Single_Thread_Release" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "..\..\..\..\bin" +# PROP Intermediate_Dir "..\..\..\..\temp\csr\gen_code" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /O2 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_abstract" /I "..\..\..\..\src\ta_abstract\tables" /I "..\..\..\..\src\ta_abstract\frames" /I "..\..\..\..\src\ta_common\imatix\sfl" /D "_CONSOLE" /D "TA_GEN_CODE" /D "TA_SINGLE_THREAD" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /W3 /WX /O2 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_abstract" /I "..\..\..\..\src\ta_abstract\tables" /I "..\..\..\..\src\ta_abstract\frames" /I "..\..\..\..\src\ta_common\imatix\sfl" /D "_CONSOLE" /D "TA_GEN_CODE" /D "TA_SINGLE_THREAD" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 ta_common_csr.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\..\lib" +# ADD LINK32 ta_common_csr.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\..\lib" + +!ELSEIF "$(CFG)" == "gen_code - Win32 CMR Multithread Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "gen_code___Win32_CMR_Multithread_Release0" +# PROP BASE Intermediate_Dir "gen_code___Win32_CMR_Multithread_Release0" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "..\..\..\..\bin" +# PROP Intermediate_Dir "..\..\..\..\temp\cmr\gen_code" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MD /W3 /O1 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_abstract" /I "..\..\..\..\src\ta_abstract\tables" /I "..\..\..\..\src\ta_abstract\frames" /I "..\..\..\..\src\ta_common\imatix\sfl" /D "_CONSOLE" /D "TA_GEN_CODE" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /MT /W3 /WX /O2 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_abstract" /I "..\..\..\..\src\ta_abstract\tables" /I "..\..\..\..\src\ta_abstract\frames" /I "..\..\..\..\src\ta_common\imatix\sfl" /D "_CONSOLE" /D "TA_GEN_CODE" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\..\lib" +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\..\lib" + +!ENDIF + +# Begin Target + +# Name "gen_code - Win32 CMD Multithread Debug" +# Name "gen_code - Win32 CSD Single Thread Debug" +# Name "gen_code - Win32 CSR Single Thread Release" +# Name "gen_code - Win32 CMR Multithread Release" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\..\..\..\src\tools\gen_code\gen_code.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\ta_abstract.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\ta_def_ui.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_a.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_b.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_c.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_d.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_e.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_f.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_g.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_h.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_i.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_j.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_k.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_l.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_m.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_n.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_o.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_p.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_q.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_r.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_s.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_t.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_u.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_v.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_w.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_x.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_y.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_z.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\ta_def_ui.h +# End Source File +# End Group +# Begin Source File + +SOURCE=..\..\..\..\include\func_list.txt +# End Source File +# End Target +# End Project diff --git a/vendor/ta-lib/ide/msvc/lib_proj/lib_proj.dsw b/vendor/ta-lib/ide/msvc/lib_proj/lib_proj.dsw new file mode 100644 index 000000000..7fa958042 --- /dev/null +++ b/vendor/ta-lib/ide/msvc/lib_proj/lib_proj.dsw @@ -0,0 +1,113 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00 +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! + +############################################################################### + +Project: "gen_code"=".\gen_code\gen_code.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name ta_common + End Project Dependency +}}} + +############################################################################### + +Project: "ta_abstract"=".\ta_abstract\ta_abstract.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "ta_common"=".\ta_common\ta_common.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "ta_func"=".\ta_func\ta_func.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "ta_libc"=".\ta_libc\ta_libc.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name ta_abstract + End Project Dependency + Begin Project Dependency + Project_Dep_Name ta_common + End Project Dependency + Begin Project Dependency + Project_Dep_Name ta_func + End Project Dependency +}}} + +############################################################################### + +Project: "ta_regtest"=".\ta_regtest\ta_regtest.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name ta_libc + End Project Dependency + Begin Project Dependency + Project_Dep_Name ta_abstract + End Project Dependency + Begin Project Dependency + Project_Dep_Name ta_common + End Project Dependency + Begin Project Dependency + Project_Dep_Name ta_func + End Project Dependency +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### + diff --git a/vendor/ta-lib/ide/msvc/lib_proj/ta_abstract/ta_abstract.dsp b/vendor/ta-lib/ide/msvc/lib_proj/ta_abstract/ta_abstract.dsp new file mode 100644 index 000000000..ff3bb0cb7 --- /dev/null +++ b/vendor/ta-lib/ide/msvc/lib_proj/ta_abstract/ta_abstract.dsp @@ -0,0 +1,371 @@ +# Microsoft Developer Studio Project File - Name="ta_abstract" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=ta_abstract - Win32 CDD Multithread DLL Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "ta_abstract.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "ta_abstract.mak" CFG="ta_abstract - Win32 CDD Multithread DLL Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "ta_abstract - Win32 CDR Multithread DLL Release" (based on "Win32 (x86) Static Library") +!MESSAGE "ta_abstract - Win32 CMD Multithread Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "ta_abstract - Win32 CSD Single Thread Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "ta_abstract - Win32 CSR Single Thread Release" (based on "Win32 (x86) Static Library") +!MESSAGE "ta_abstract - Win32 CMR Multithread Release" (based on "Win32 (x86) Static Library") +!MESSAGE "ta_abstract - Win32 Profiling" (based on "Win32 (x86) Static Library") +!MESSAGE "ta_abstract - Win32 CDD Multithread DLL Debug" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "ta_abstract - Win32 CDR Multithread DLL Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ta_abstract___Win32_CDR_Multithread_DLL_Release" +# PROP BASE Intermediate_Dir "ta_abstract___Win32_CDR_Multithread_DLL_Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "..\..\..\..\lib" +# PROP Intermediate_Dir "..\..\..\..\temp\cdr\ta_abstract" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /MD /W3 /O1 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_abstract\frames" /I "..\..\..\..\src\ta_abstract" /D "_LIB" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /MD /W3 /WX /O2 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_abstract\frames" /I "..\..\..\..\src\ta_abstract" /D "_LIB" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_abstract_cmr.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_abstract_cdr.lib" + +!ELSEIF "$(CFG)" == "ta_abstract - Win32 CMD Multithread Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "ta_abstract___Win32_CMD_Multithread_Debug" +# PROP BASE Intermediate_Dir "ta_abstract___Win32_CMD_Multithread_Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "..\..\..\..\lib" +# PROP Intermediate_Dir "..\..\..\..\temp\cmd\ta_abstract" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /MDd /W3 /Gm /Zi /Od /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_abstract\frames" /I "..\..\..\..\src\ta_abstract" /D "_LIB" /D "TA_DEBUG" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /MTd /W3 /WX /Gm /Zi /Od /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_abstract\frames" /I "..\..\..\..\src\ta_abstract" /D "_LIB" /D "TA_DEBUG" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "TA_FUNC_NO_RANGE_CHECK" /Fr /YX /FD /GZ /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_abstract_cmd.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_abstract_cmd.lib" + +!ELSEIF "$(CFG)" == "ta_abstract - Win32 CSD Single Thread Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "ta_abstract___Win32_CSD_Single_Thread_Debug" +# PROP BASE Intermediate_Dir "ta_abstract___Win32_CSD_Single_Thread_Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "..\..\..\..\lib" +# PROP Intermediate_Dir "..\..\..\..\temp\csd\ta_abstract" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_abstract\frames" /I "..\..\..\..\src\ta_abstract" /D "_LIB" /D "TA_DEBUG" /D "TA_SINGLE_THREAD" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /W3 /WX /Gm /GX /Zi /Od /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_abstract\frames" /I "..\..\..\..\src\ta_abstract" /D "_LIB" /D "TA_DEBUG" /D "TA_SINGLE_THREAD" /D "WIN32" /D "_DEBUG" /D "_MBCS" /Fr /YX /FD /GZ /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_abstract_csd.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_abstract_csd.lib" + +!ELSEIF "$(CFG)" == "ta_abstract - Win32 CSR Single Thread Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ta_abstract___Win32_CSR_Single_Thread_Release" +# PROP BASE Intermediate_Dir "ta_abstract___Win32_CSR_Single_Thread_Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "..\..\..\..\lib" +# PROP Intermediate_Dir "..\..\..\..\temp\csr\ta_abstract" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /W3 /O2 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_abstract\frames" /I "..\..\..\..\src\ta_abstract" /D "_LIB" /D "TA_SINGLE_THREAD" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /W3 /WX /O2 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_abstract\frames" /I "..\..\..\..\src\ta_abstract" /D "_LIB" /D "TA_SINGLE_THREAD" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_abstract_csr.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_abstract_csr.lib" + +!ELSEIF "$(CFG)" == "ta_abstract - Win32 CMR Multithread Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ta_abstract___Win32_CMR_Multithread_Release0" +# PROP BASE Intermediate_Dir "ta_abstract___Win32_CMR_Multithread_Release0" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "..\..\..\..\lib" +# PROP Intermediate_Dir "..\..\..\..\temp\cmr\ta_abstract" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /MD /W3 /O1 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_abstract\frames" /I "..\..\..\..\src\ta_abstract" /D "_LIB" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /MT /W3 /WX /O2 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_abstract\frames" /I "..\..\..\..\src\ta_abstract" /D "_LIB" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_abstract_cmr.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_abstract_cmr.lib" + +!ELSEIF "$(CFG)" == "ta_abstract - Win32 Profiling" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ta_abstract___Win32_Profiling" +# PROP BASE Intermediate_Dir "ta_abstract___Win32_Profiling" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "ta_abstract___Win32_Profiling" +# PROP Intermediate_Dir "ta_abstract___Win32_Profiling" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /W3 /O2 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_abstract\frames" /I "..\..\..\..\src\ta_abstract" /D "_LIB" /D "TA_SINGLE_THREAD" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /W3 /WX /O2 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_abstract\frames" /I "..\..\..\..\src\ta_abstract" /D "_LIB" /D "TA_SINGLE_THREAD" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_abstract_csr.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_abstract_csr.lib" + +!ELSEIF "$(CFG)" == "ta_abstract - Win32 CDD Multithread DLL Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ta_abstract___Win32_CDD_Multithread_DLL_Debug" +# PROP BASE Intermediate_Dir "ta_abstract___Win32_CDD_Multithread_DLL_Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "..\..\..\..\lib" +# PROP Intermediate_Dir "..\..\..\..\temp\cdd\ta_libc" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /MD /W3 /WX /O1 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_abstract\frames" /I "..\..\..\..\src\ta_abstract" /D "_LIB" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /MDd /W3 /WX /Zi /Od /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_abstract\frames" /I "..\..\..\..\src\ta_abstract" /D "_LIB" /D "WIN32" /D "NDEBUG" /D "_MBCS" /Fr /YX /FD /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_abstract_cdr.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_abstract_cdd.lib" + +!ENDIF + +# Begin Target + +# Name "ta_abstract - Win32 CDR Multithread DLL Release" +# Name "ta_abstract - Win32 CMD Multithread Debug" +# Name "ta_abstract - Win32 CSD Single Thread Debug" +# Name "ta_abstract - Win32 CSR Single Thread Release" +# Name "ta_abstract - Win32 CMR Multithread Release" +# Name "ta_abstract - Win32 Profiling" +# Name "ta_abstract - Win32 CDD Multithread DLL Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\ta_abstract.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\ta_def_ui.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\frames\ta_frame.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\ta_func_api.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\ta_group_idx.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_a.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_b.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_c.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_d.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_e.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_f.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_g.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_h.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_i.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_j.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_k.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_l.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_m.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_n.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_o.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_p.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_q.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_r.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_s.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_t.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_u.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_v.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_w.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_x.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_y.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\tables\table_z.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\ta_def_ui.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\frames\ta_frame.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_abstract\ta_frame_priv.h +# End Source File +# End Group +# End Target +# End Project diff --git a/vendor/ta-lib/ide/msvc/lib_proj/ta_common/ta_common.dsp b/vendor/ta-lib/ide/msvc/lib_proj/ta_common/ta_common.dsp new file mode 100644 index 000000000..60f040d58 --- /dev/null +++ b/vendor/ta-lib/ide/msvc/lib_proj/ta_common/ta_common.dsp @@ -0,0 +1,278 @@ +# Microsoft Developer Studio Project File - Name="ta_common" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=ta_common - Win32 CDD Multithread DLL Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "ta_common.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "ta_common.mak" CFG="ta_common - Win32 CDD Multithread DLL Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "ta_common - Win32 CDR Multithread DLL Release" (based on "Win32 (x86) Static Library") +!MESSAGE "ta_common - Win32 CMD Multithread Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "ta_common - Win32 CSD Single Thread Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "ta_common - Win32 CSR Single Thread Release" (based on "Win32 (x86) Static Library") +!MESSAGE "ta_common - Win32 CMR Multithread Release" (based on "Win32 (x86) Static Library") +!MESSAGE "ta_common - Win32 Profiling" (based on "Win32 (x86) Static Library") +!MESSAGE "ta_common - Win32 CDD Multithread DLL Debug" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "ta_common - Win32 CDR Multithread DLL Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ta_common___Win32_CDR_Multithread_DLL_Release" +# PROP BASE Intermediate_Dir "ta_common___Win32_CDR_Multithread_DLL_Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "..\..\..\..\lib" +# PROP Intermediate_Dir "..\..\..\..\temp\cdr\ta_common" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /MD /W3 /O1 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common\imatix\sfl" /I "..\..\..\..\src\ta_common" /D "_LIB" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /MD /W3 /WX /O2 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common\imatix\sfl" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_common\mt" /D "_LIB" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_common_cmr.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_common_cdr.lib" + +!ELSEIF "$(CFG)" == "ta_common - Win32 CMD Multithread Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "ta_common___Win32_CMD_Multithread_Debug" +# PROP BASE Intermediate_Dir "ta_common___Win32_CMD_Multithread_Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "..\..\..\..\lib" +# PROP Intermediate_Dir "..\..\..\..\temp\cmd\ta_common" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /MDd /W3 /Gm /Zi /Od /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common\imatix\sfl" /I "..\..\..\..\src\ta_common" /D "_LIB" /D "TA_DEBUG" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /MTd /W3 /WX /Gm /Zi /Od /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common\imatix\sfl" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_common\mt" /D "_LIB" /D "TA_DEBUG" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "TA_FUNC_NO_RANGE_CHECK" /Fr /YX /FD /GZ /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_common_cmd.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_common_cmd.lib" + +!ELSEIF "$(CFG)" == "ta_common - Win32 CSD Single Thread Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "ta_common___Win32_CSD_Single_Thread_Debug" +# PROP BASE Intermediate_Dir "ta_common___Win32_CSD_Single_Thread_Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "..\..\..\..\lib" +# PROP Intermediate_Dir "..\..\..\..\temp\csd\ta_common" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /I "..\..\..\..\src\ta_common" /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common\imatix\sfl" /D "_LIB" /D "TA_DEBUG" /D "TA_SINGLE_THREAD" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /W3 /WX /Gm /GX /Zi /Od /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common\imatix\sfl" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_common\mt" /D "_LIB" /D "TA_DEBUG" /D "TA_SINGLE_THREAD" /D "WIN32" /D "_DEBUG" /D "_MBCS" /Fr /YX /FD /GZ /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_common_csd.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_common_csd.lib" + +!ELSEIF "$(CFG)" == "ta_common - Win32 CSR Single Thread Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ta_common___Win32_CSR_Single_Thread_Release" +# PROP BASE Intermediate_Dir "ta_common___Win32_CSR_Single_Thread_Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "..\..\..\..\lib" +# PROP Intermediate_Dir "..\..\..\..\temp\csr\ta_common" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /W3 /O2 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common\imatix\sfl" /I "..\..\..\..\src\ta_common" /D "_LIB" /D "TA_SINGLE_THREAD" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /W3 /WX /O2 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common\imatix\sfl" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_common\mt" /D "_LIB" /D "TA_SINGLE_THREAD" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_common_csr.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_common_csr.lib" + +!ELSEIF "$(CFG)" == "ta_common - Win32 CMR Multithread Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ta_common___Win32_CMR_Multithread_Release0" +# PROP BASE Intermediate_Dir "ta_common___Win32_CMR_Multithread_Release0" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "..\..\..\..\lib" +# PROP Intermediate_Dir "..\..\..\..\temp\cmr\ta_common" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /MD /W3 /O1 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common\imatix\sfl" /I "..\..\..\..\src\ta_common" /D "_LIB" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /MT /W3 /WX /O2 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common\imatix\sfl" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_common\mt" /D "_LIB" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_common_cmr.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_common_cmr.lib" + +!ELSEIF "$(CFG)" == "ta_common - Win32 Profiling" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ta_common___Win32_Profiling" +# PROP BASE Intermediate_Dir "ta_common___Win32_Profiling" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "ta_common___Win32_Profiling" +# PROP Intermediate_Dir "ta_common___Win32_Profiling" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /W3 /O2 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common\imatix\sfl" /I "..\..\..\..\src\ta_common" /D "_LIB" /D "TA_SINGLE_THREAD" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /W3 /WX /O2 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common\imatix\sfl" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_common\mt" /D "_LIB" /D "TA_SINGLE_THREAD" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_common_csr.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_common_csr.lib" + +!ELSEIF "$(CFG)" == "ta_common - Win32 CDD Multithread DLL Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ta_common___Win32_CDD_Multithread_DLL_Debug" +# PROP BASE Intermediate_Dir "ta_common___Win32_CDD_Multithread_DLL_Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "..\..\..\..\lib" +# PROP Intermediate_Dir "..\..\..\..\temp\cdd\ta_libc" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /MD /W3 /WX /O1 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common\imatix\sfl" /I "..\..\..\..\src\ta_common" /D "_LIB" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /MDd /W3 /WX /Zi /Od /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common\imatix\sfl" /I "..\..\..\..\src\ta_common" /I "..\..\..\..\src\ta_common\mt" /D "_LIB" /D "WIN32" /D "NDEBUG" /D "_MBCS" /Fr /YX /FD /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_common_cdr.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_common_cdd.lib" + +!ENDIF + +# Begin Target + +# Name "ta_common - Win32 CDR Multithread DLL Release" +# Name "ta_common - Win32 CMD Multithread Debug" +# Name "ta_common - Win32 CSD Single Thread Debug" +# Name "ta_common - Win32 CSR Single Thread Release" +# Name "ta_common - Win32 CMR Multithread Release" +# Name "ta_common - Win32 Profiling" +# Name "ta_common - Win32 CDD Multithread DLL Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\..\..\..\src\ta_common\ta_global.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_common\ta_retcode.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_common\ta_version.c + +!IF "$(CFG)" == "ta_common - Win32 CDR Multithread DLL Release" + +!ELSEIF "$(CFG)" == "ta_common - Win32 CMD Multithread Debug" + +# SUBTRACT CPP /YX + +!ELSEIF "$(CFG)" == "ta_common - Win32 CSD Single Thread Debug" + +!ELSEIF "$(CFG)" == "ta_common - Win32 CSR Single Thread Release" + +!ELSEIF "$(CFG)" == "ta_common - Win32 CMR Multithread Release" + +!ELSEIF "$(CFG)" == "ta_common - Win32 Profiling" + +!ELSEIF "$(CFG)" == "ta_common - Win32 CDD Multithread DLL Debug" + +!ENDIF + +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=..\..\..\..\src\ta_common\ta_global.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_common\ta_magic_nb.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_common\ta_memory.h +# End Source File +# End Group +# End Target +# End Project diff --git a/vendor/ta-lib/ide/msvc/lib_proj/ta_func/ta_func.dsp b/vendor/ta-lib/ide/msvc/lib_proj/ta_func/ta_func.dsp new file mode 100644 index 000000000..960837175 --- /dev/null +++ b/vendor/ta-lib/ide/msvc/lib_proj/ta_func/ta_func.dsp @@ -0,0 +1,875 @@ +# Microsoft Developer Studio Project File - Name="ta_func" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=ta_func - Win32 CDD Multithread DLL Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "ta_func.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "ta_func.mak" CFG="ta_func - Win32 CDD Multithread DLL Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "ta_func - Win32 CDR Multithread DLL Release" (based on "Win32 (x86) Static Library") +!MESSAGE "ta_func - Win32 CMD Multithread Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "ta_func - Win32 CSD Single Thread Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "ta_func - Win32 CSR Single Thread Release" (based on "Win32 (x86) Static Library") +!MESSAGE "ta_func - Win32 CMR Multithread Release" (based on "Win32 (x86) Static Library") +!MESSAGE "ta_func - Win32 Profiling" (based on "Win32 (x86) Static Library") +!MESSAGE "ta_func - Win32 CDD Multithread DLL Debug" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "ta_func - Win32 CDR Multithread DLL Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ta_func___Win32_CDR_Multithread_DLL_Release" +# PROP BASE Intermediate_Dir "ta_func___Win32_CDR_Multithread_DLL_Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "..\..\..\..\lib" +# PROP Intermediate_Dir "..\..\..\..\temp\cdr\ta_func" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /MD /W3 /O1 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /D "_LIB" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /MD /W3 /WX /O2 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /D "_LIB" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_func_cmr.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_func_cdr.lib" + +!ELSEIF "$(CFG)" == "ta_func - Win32 CMD Multithread Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "ta_func___Win32_CMD_Multithread_Debug" +# PROP BASE Intermediate_Dir "ta_func___Win32_CMD_Multithread_Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "..\..\..\..\lib" +# PROP Intermediate_Dir "..\..\..\..\temp\cmd\ta_func" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /MDd /W3 /Gm /Zi /Od /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /D "_LIB" /D "TA_DEBUG" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /MTd /W3 /WX /Gm /Zi /Od /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /D "_LIB" /D "TA_DEBUG" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "TA_FUNC_NO_RANGE_CHECK" /Fr /YX /FD /GZ /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_func_cmd.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_func_cmd.lib" + +!ELSEIF "$(CFG)" == "ta_func - Win32 CSD Single Thread Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "ta_func___Win32_CSD_Single_Thread_Debug" +# PROP BASE Intermediate_Dir "ta_func___Win32_CSD_Single_Thread_Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "..\..\..\..\lib" +# PROP Intermediate_Dir "..\..\..\..\temp\csd\ta_func" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /D "_LIB" /D "TA_DEBUG" /D "TA_SINGLE_THREAD" /D "WIN32" /D "_DEBUG" /D "_MBCS" /YX /FD /GZ /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /W3 /WX /Gm /GX /Zi /Od /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /D "_LIB" /D "TA_DEBUG" /D "TA_SINGLE_THREAD" /D "WIN32" /D "_DEBUG" /D "_MBCS" /Fr /YX /FD /GZ /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_func_csd.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_func_csd.lib" + +!ELSEIF "$(CFG)" == "ta_func - Win32 CSR Single Thread Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ta_func___Win32_CSR_Single_Thread_Release" +# PROP BASE Intermediate_Dir "ta_func___Win32_CSR_Single_Thread_Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "..\..\..\..\lib" +# PROP Intermediate_Dir "..\..\..\..\temp\csr\ta_func" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /W3 /O2 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /D "_LIB" /D "TA_SINGLE_THREAD" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /W3 /WX /O2 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /D "_LIB" /D "TA_SINGLE_THREAD" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_func_csr.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_func_csr.lib" + +!ELSEIF "$(CFG)" == "ta_func - Win32 CMR Multithread Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ta_func___Win32_CMR_Multithread_Release0" +# PROP BASE Intermediate_Dir "ta_func___Win32_CMR_Multithread_Release0" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "..\..\..\..\lib" +# PROP Intermediate_Dir "..\..\..\..\temp\cmr\ta_func" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /MD /W3 /O1 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /D "_LIB" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /MT /W3 /WX /O2 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /D "_LIB" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_func_cmr.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_func_cmr.lib" + +!ELSEIF "$(CFG)" == "ta_func - Win32 Profiling" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ta_func___Win32_Profiling" +# PROP BASE Intermediate_Dir "ta_func___Win32_Profiling" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "ta_func___Win32_Profiling" +# PROP Intermediate_Dir "ta_func___Win32_Profiling" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /W3 /O2 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /D "_LIB" /D "TA_SINGLE_THREAD" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /W3 /WX /O2 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /D "_LIB" /D "TA_SINGLE_THREAD" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_func_csr.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_func_csr.lib" + +!ELSEIF "$(CFG)" == "ta_func - Win32 CDD Multithread DLL Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ta_func___Win32_CDD_Multithread_DLL_Debug" +# PROP BASE Intermediate_Dir "ta_func___Win32_CDD_Multithread_DLL_Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "..\..\..\..\lib" +# PROP Intermediate_Dir "..\..\..\..\temp\cdd\ta_libc" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /MD /W3 /WX /O1 /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /D "_LIB" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /MDd /W3 /WX /Zi /Od /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common" /D "_LIB" /D "WIN32" /D "NDEBUG" /D "_MBCS" /Fr /YX /FD /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_func_cdr.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_func_cdd.lib" + +!ENDIF + +# Begin Target + +# Name "ta_func - Win32 CDR Multithread DLL Release" +# Name "ta_func - Win32 CMD Multithread Debug" +# Name "ta_func - Win32 CSD Single Thread Debug" +# Name "ta_func - Win32 CSR Single Thread Release" +# Name "ta_func - Win32 CMR Multithread Release" +# Name "ta_func - Win32 Profiling" +# Name "ta_func - Win32 CDD Multithread DLL Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_ACOS.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_AD.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_ADD.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_ADOSC.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_ADX.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_ADXR.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_APO.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_AROON.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_AROONOSC.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_ASIN.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_ATAN.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_ATR.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_AVGPRICE.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_BBANDS.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_BETA.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_BOP.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CCI.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDL2CROWS.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDL3INSIDE.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLDOJI.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLENGULFING.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLHAMMER.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLHARAMI.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLINNECK.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLKICKING.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLLONGLINE.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLMATHOLD.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLONNECK.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLPIERCING.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLTAKURI.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLTRISTAR.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CEIL.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CMO.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_CORREL.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_COS.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_COSH.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_DEMA.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_DIV.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_DX.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_EMA.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_EXP.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_FLOOR.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_HT_DCPHASE.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_HT_PHASOR.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_HT_SINE.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_KAMA.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_LINEARREG.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_LN.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_LOG10.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_MA.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_MACD.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_MACDEXT.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_MACDFIX.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_MAMA.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_MAVP.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_MAX.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_MAXINDEX.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_MEDPRICE.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_MFI.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_MIDPOINT.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_MIDPRICE.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_MIN.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_MININDEX.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_MINMAX.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_MINMAXINDEX.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_MINUS_DI.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_MINUS_DM.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_MOM.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_MULT.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_NATR.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_OBV.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_PLUS_DI.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_PLUS_DM.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_PPO.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_ROC.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_ROCP.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_ROCR.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_ROCR100.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_RSI.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_SAR.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_SAREXT.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_SIN.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_SINH.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_SMA.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_SQRT.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_STDDEV.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_STOCH.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_STOCHF.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_STOCHRSI.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_SUB.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_SUM.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_T3.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_TAN.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_TANH.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_TEMA.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_TRANGE.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_TRIMA.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_TRIX.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_TSF.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_TYPPRICE.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_ULTOSC.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_VAR.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_WCLPRICE.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_WILLR.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_WMA.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_utility.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=..\..\..\..\src\ta_func\ta_utility.h +# End Source File +# End Group +# End Target +# End Project diff --git a/vendor/ta-lib/ide/msvc/lib_proj/ta_libc/ta_libc.dsp b/vendor/ta-lib/ide/msvc/lib_proj/ta_libc/ta_libc.dsp new file mode 100644 index 000000000..df69e9f85 --- /dev/null +++ b/vendor/ta-lib/ide/msvc/lib_proj/ta_libc/ta_libc.dsp @@ -0,0 +1,253 @@ +# Microsoft Developer Studio Project File - Name="ta_libc" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=ta_libc - Win32 CDR Multithread DLL Release +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "ta_libc.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "ta_libc.mak" CFG="ta_libc - Win32 CDR Multithread DLL Release" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "ta_libc - Win32 CDR Multithread DLL Release" (based on "Win32 (x86) Static Library") +!MESSAGE "ta_libc - Win32 CMD Multithread Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "ta_libc - Win32 CSD Single Thread Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "ta_libc - Win32 CSR Single Thread Release" (based on "Win32 (x86) Static Library") +!MESSAGE "ta_libc - Win32 CMR Multithread Release" (based on "Win32 (x86) Static Library") +!MESSAGE "ta_libc - Win32 Profiling" (based on "Win32 (x86) Static Library") +!MESSAGE "ta_libc - Win32 CDD Multithread DLL Debug" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "ta_libc - Win32 CDR Multithread DLL Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ta_libc___Win32_CDR_Multithread_DLL_Release" +# PROP BASE Intermediate_Dir "ta_libc___Win32_CDR_Multithread_DLL_Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "..\..\..\..\lib" +# PROP Intermediate_Dir "..\..\..\..\temp\cdr\ta_libc" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /MD /W3 /O1 /D "_LIB" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MD /W3 /WX /O2 /D "_LIB" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_libc_cmr.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_libc_cdr.lib" + +!ELSEIF "$(CFG)" == "ta_libc - Win32 CMD Multithread Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "ta_libc___Win32_CMD_Multithread_Debug" +# PROP BASE Intermediate_Dir "ta_libc___Win32_CMD_Multithread_Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "..\..\..\..\lib" +# PROP Intermediate_Dir "..\..\..\..\temp\cmd\ta_libc" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /MDd /W3 /Gm /Zi /Od /D "_LIB" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "TA_DEBUG" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /WX /Gm /Zi /Od /D "_LIB" /D "TA_DEBUG" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "TA_FUNC_NO_RANGE_CHECK" /Fr /YX /FD /GZ /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_libc_cmd.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_libc_cmd.lib" + +!ELSEIF "$(CFG)" == "ta_libc - Win32 CSD Single Thread Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "ta_libc___Win32_CSD_Single_Thread_Debug" +# PROP BASE Intermediate_Dir "ta_libc___Win32_CSD_Single_Thread_Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "..\..\..\..\lib" +# PROP Intermediate_Dir "..\..\..\..\temp\csd\ta_libc" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "_LIB" /D "TA_SINGLE_THREAD" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "TA_DEBUG" /YX /FD /GZ /c +# ADD CPP /nologo /W3 /WX /Gm /Zi /Od /D "_LIB" /D "TA_SINGLE_THREAD" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "TA_DEBUG" /FR /YX /FD /GZ /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_libc_csd.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_libc_csd.lib" + +!ELSEIF "$(CFG)" == "ta_libc - Win32 CSR Single Thread Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ta_libc___Win32_CSR_Single_Thread_Release" +# PROP BASE Intermediate_Dir "ta_libc___Win32_CSR_Single_Thread_Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "..\..\..\..\lib" +# PROP Intermediate_Dir "..\..\..\..\temp\csr\ta_libc" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /W3 /O2 /D "_LIB" /D "TA_SINGLE_THREAD" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /WX /O2 /D "_LIB" /D "TA_SINGLE_THREAD" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_libc_csr.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_libc_csr.lib" + +!ELSEIF "$(CFG)" == "ta_libc - Win32 CMR Multithread Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ta_libc___Win32_CMR_Multithread_Release" +# PROP BASE Intermediate_Dir "ta_libc___Win32_CMR_Multithread_Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "..\..\..\..\lib" +# PROP Intermediate_Dir "..\..\..\..\temp\cmr\ta_libc" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /MD /W3 /O1 /D "_LIB" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /WX /O2 /D "_LIB" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_libc_cmr.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_libc_cmr.lib" + +!ELSEIF "$(CFG)" == "ta_libc - Win32 Profiling" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ta_libc___Win32_Profiling" +# PROP BASE Intermediate_Dir "ta_libc___Win32_Profiling" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "ta_libc___Win32_Profiling" +# PROP Intermediate_Dir "ta_libc___Win32_Profiling" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /W3 /O2 /D "_LIB" /D "TA_SINGLE_THREAD" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /WX /O2 /D "_LIB" /D "TA_SINGLE_THREAD" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_libc_csr.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_libc_csr.lib" + +!ELSEIF "$(CFG)" == "ta_libc - Win32 CDD Multithread DLL Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ta_libc___Win32_CDD_Multithread_DLL_Debug" +# PROP BASE Intermediate_Dir "ta_libc___Win32_CDD_Multithread_DLL_Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "..\..\..\..\lib" +# PROP Intermediate_Dir "..\..\..\..\temp\cdd\ta_libc" +# PROP Target_Dir "" +F90=df.exe +# ADD BASE CPP /nologo /MD /W3 /WX /O1 /D "_LIB" /D "WIN32" /D "NDEBUG" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MDd /W3 /WX /Zi /Od /D "_LIB" /D "WIN32" /D "NDEBUG" /D "_MBCS" /FR /YX /FD /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\..\..\..\lib\ta_libc_cdr.lib" +# ADD LIB32 /nologo /out:"..\..\..\..\lib\ta_libc_cdd.lib" + +!ENDIF + +# Begin Target + +# Name "ta_libc - Win32 CDR Multithread DLL Release" +# Name "ta_libc - Win32 CMD Multithread Debug" +# Name "ta_libc - Win32 CSD Single Thread Debug" +# Name "ta_libc - Win32 CSR Single Thread Release" +# Name "ta_libc - Win32 CMR Multithread Release" +# Name "ta_libc - Win32 Profiling" +# Name "ta_libc - Win32 CDD Multithread DLL Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=..\..\..\..\include\ta_abstract.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\include\ta_common.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\include\ta_defs.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\include\ta_func.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\include\ta_libc.h +# End Source File +# End Group +# Begin Source File + +SOURCE=..\..\..\..\..\CHANGELOG.TXT +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\..\HISTORY.TXT +# End Source File +# End Target +# End Project diff --git a/vendor/ta-lib/ide/msvc/lib_proj/ta_regtest/ta_regtest.dsp b/vendor/ta-lib/ide/msvc/lib_proj/ta_regtest/ta_regtest.dsp new file mode 100644 index 000000000..3ecdede6e --- /dev/null +++ b/vendor/ta-lib/ide/msvc/lib_proj/ta_regtest/ta_regtest.dsp @@ -0,0 +1,305 @@ +# Microsoft Developer Studio Project File - Name="ta_regtest" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=TA_REGTEST - WIN32 CMD MULTITHREAD DEBUG +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "ta_regtest.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "ta_regtest.mak" CFG="TA_REGTEST - WIN32 CMD MULTITHREAD DEBUG" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "ta_regtest - Win32 CMD Multithread Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "ta_regtest - Win32 CSD Single Thread Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "ta_regtest - Win32 CSR Single Thread Release" (based on "Win32 (x86) Console Application") +!MESSAGE "ta_regtest - Win32 CMR Multithread Release" (based on "Win32 (x86) Console Application") +!MESSAGE "ta_regtest - Win32 Profiling" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "ta_regtest - Win32 CMD Multithread Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "ta_regtest___Win32_CMD_Multithread_Debug" +# PROP BASE Intermediate_Dir "ta_regtest___Win32_CMD_Multithread_Debug" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "..\..\..\..\bin" +# PROP Intermediate_Dir "..\..\..\..\temp\cmd\ta_regtest" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MDd /W3 /Gm /Zi /Od /I "..\..\..\..\src\ta_common" /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common\trio" /I "..\..\..\..\src\tools\ta_regtest" /I "..\..\..\..\src\ta_common\imatix\sfl" /I "..\..\..\..\src\ta_func" /I "..\..\..\..\src\ta_data\ta_source\ta_readop" /D "_CONSOLE" /D "TA_DEBUG" /D "WIN32" /D "_DEBUG" /D "_MBCS" /FD /GZ /c +# SUBTRACT BASE CPP /Fr /YX +# ADD CPP /nologo /MTd /W3 /WX /Gm /Zi /Od /I "..\..\..\..\src\ta_common" /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common\trio" /I "..\..\..\..\src\tools\ta_regtest" /I "..\..\..\..\src\ta_common\imatix\sfl" /I "..\..\..\..\src\ta_func" /I "..\..\..\..\src\ta_data\ta_source\ta_readop" /I "..\..\..\..\src\ta_common\mt" /D "_CONSOLE" /D "TA_DEBUG" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "TA_FUNC_NO_RANGE_CHECK" /Fr /FD /GZ /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 ta_libc_cmd.lib wininet.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug /debugtype:both /machine:I386 /libpath:"..\..\..\..\lib" +# SUBTRACT BASE LINK32 /profile +# ADD LINK32 ta_libc_cmd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:console /incremental:no /debug /debugtype:both /machine:I386 /libpath:"..\..\..\..\lib" +# SUBTRACT LINK32 /profile + +!ELSEIF "$(CFG)" == "ta_regtest - Win32 CSD Single Thread Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "ta_regtest___Win32_CSD_Single_Thread_Debug" +# PROP BASE Intermediate_Dir "ta_regtest___Win32_CSD_Single_Thread_Debug" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "..\..\..\..\bin" +# PROP Intermediate_Dir "..\..\..\..\temp\csd\ta_regtest" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /Zi /Od /I "..\..\..\..\src\ta_common" /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common\trio" /I "..\..\..\..\src\tools\ta_regtest" /I "..\..\..\..\src\ta_common\imatix\sfl" /I "..\..\..\..\src\ta_func" /I "..\..\..\..\src\ta_data\ta_source\ta_readop" /D "_CONSOLE" /D "TA_DEBUG" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "TA_SINGLE_THREAD" /FD /GZ /c +# SUBTRACT BASE CPP /Fr /YX +# ADD CPP /nologo /W3 /WX /Gm /Zi /Od /I "..\..\..\..\src\ta_common" /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common\trio" /I "..\..\..\..\src\tools\ta_regtest" /I "..\..\..\..\src\ta_common\imatix\sfl" /I "..\..\..\..\src\ta_func" /I "..\..\..\..\src\ta_data\ta_source\ta_readop" /I "..\..\..\..\src\ta_common\mt" /D "_CONSOLE" /D "TA_DEBUG" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "TA_SINGLE_THREAD" /Fr /FD /GZ /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 ta_libc_csd.lib wininet.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /profile /debug /debugtype:both /machine:I386 /libpath:"..\..\..\..\lib" +# ADD LINK32 ta_libc_csd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:console /profile /debug /debugtype:both /machine:I386 /libpath:"..\..\..\..\lib" + +!ELSEIF "$(CFG)" == "ta_regtest - Win32 CSR Single Thread Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ta_regtest___Win32_CSR_Single_Thread_Release" +# PROP BASE Intermediate_Dir "ta_regtest___Win32_CSR_Single_Thread_Release" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "..\..\..\..\bin" +# PROP Intermediate_Dir "..\..\..\..\temp\csr\ta_regtest" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /O2 /I "..\..\..\..\src\ta_common" /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common\trio" /I "..\..\..\..\src\tools\ta_regtest" /I "..\..\..\..\src\ta_common\imatix\sfl" /I "..\..\..\..\src\ta_func" /I "..\..\..\..\src\ta_data\ta_source\ta_readop" /D "_CONSOLE" /D "TA_SINGLE_THREAD" /D "WIN32" /D "NDEBUG" /D "_MBCS" /FD /c +# SUBTRACT BASE CPP /Fr /YX +# ADD CPP /nologo /W3 /WX /O2 /I "..\..\..\..\src\ta_common" /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common\trio" /I "..\..\..\..\src\tools\ta_regtest" /I "..\..\..\..\src\ta_common\imatix\sfl" /I "..\..\..\..\src\ta_func" /I "..\..\..\..\src\ta_data\ta_source\ta_readop" /I "..\..\..\..\src\ta_common\mt" /D "_CONSOLE" /D "TA_SINGLE_THREAD" /D "WIN32" /D "NDEBUG" /D "_MBCS" /FD /c +# SUBTRACT CPP /Fr /YX +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 ta_libc_csr.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wininet.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\..\lib" +# ADD LINK32 ta_libc_csr.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\..\lib" + +!ELSEIF "$(CFG)" == "ta_regtest - Win32 CMR Multithread Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ta_regtest___Win32_CMR_Multithread_Release0" +# PROP BASE Intermediate_Dir "ta_regtest___Win32_CMR_Multithread_Release0" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "..\..\..\..\bin" +# PROP Intermediate_Dir "..\..\..\..\temp\cmr\ta_regtest" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MD /W3 /O1 /I "..\..\..\..\src\ta_common" /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common\trio" /I "..\..\..\..\src\tools\ta_regtest" /I "..\..\..\..\src\ta_common\imatix\sfl" /I "..\..\..\..\src\ta_func" /I "..\..\..\..\src\ta_data\ta_source\ta_readop" /D "_CONSOLE" /D "WIN32" /D "NDEBUG" /D "_MBCS" /FD /c +# SUBTRACT BASE CPP /Fr /YX +# ADD CPP /nologo /MT /W3 /WX /O2 /I "..\..\..\..\src\ta_common" /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common\trio" /I "..\..\..\..\src\tools\ta_regtest" /I "..\..\..\..\src\ta_common\imatix\sfl" /I "..\..\..\..\src\ta_func" /I "..\..\..\..\src\ta_data\ta_source\ta_readop" /I "..\..\..\..\src\ta_common\mt" /D "_CONSOLE" /D "WIN32" /D "NDEBUG" /D "_MBCS" /FD /c +# SUBTRACT CPP /Fr /YX +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 ta_libc_cmr.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wininet.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\..\lib" +# ADD LINK32 ta_libc_cmr.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\..\lib" + +!ELSEIF "$(CFG)" == "ta_regtest - Win32 Profiling" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ta_regtest___Win32_Profiling" +# PROP BASE Intermediate_Dir "ta_regtest___Win32_Profiling" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "ta_regtest___Win32_Profiling" +# PROP Intermediate_Dir "ta_regtest___Win32_Profiling" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /O2 /I "..\..\..\..\src\ta_common" /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common\trio" /I "..\..\..\..\src\tools\ta_regtest" /I "..\..\..\..\src\ta_common\imatix\sfl" /I "..\..\..\..\src\ta_func" /I "..\..\..\..\src\ta_data\ta_source\ta_readop" /D "_CONSOLE" /D "TA_SINGLE_THREAD" /D "WIN32" /D "NDEBUG" /D "_MBCS" /FD /c +# SUBTRACT BASE CPP /Fr /YX +# ADD CPP /nologo /W3 /WX /O2 /I "..\..\..\..\src\ta_common" /I "..\..\..\..\include" /I "..\..\..\..\src\ta_common\trio" /I "..\..\..\..\src\tools\ta_regtest" /I "..\..\..\..\src\ta_common\imatix\sfl" /I "..\..\..\..\src\ta_func" /I "..\..\..\..\src\ta_data\ta_source\ta_readop" /I "..\..\..\..\src\ta_common\mt" /D "_CONSOLE" /D "TA_SINGLE_THREAD" /D "WIN32" /D "NDEBUG" /D "_MBCS" /FD /c +# SUBTRACT CPP /Fr /YX +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 ta_libc_csr.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wininet.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\..\lib" +# ADD LINK32 ta_libc_csr.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:console /profile /machine:I386 /libpath:"..\..\..\..\lib" + +!ENDIF + +# Begin Target + +# Name "ta_regtest - Win32 CMD Multithread Debug" +# Name "ta_regtest - Win32 CSD Single Thread Debug" +# Name "ta_regtest - Win32 CSR Single Thread Release" +# Name "ta_regtest - Win32 CMR Multithread Release" +# Name "ta_regtest - Win32 Profiling" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\ta_regtest.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\test_abstract.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\test_data.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\test_internals.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\test_util.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\ta_error_number.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\ta_test_func.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\ta_test_priv.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\src\tools\ta_regtest\test_period.h +# End Source File +# End Group +# End Target +# End Project diff --git a/vendor/ta-lib/ide/vs2005/lib_proj/gen_code/gen_code.vcproj b/vendor/ta-lib/ide/vs2005/lib_proj/gen_code/gen_code.vcproj new file mode 100644 index 000000000..5054226d2 --- /dev/null +++ b/vendor/ta-lib/ide/vs2005/lib_proj/gen_code/gen_code.vcproj @@ -0,0 +1,2168 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/ta-lib/ide/vs2005/lib_proj/ta_abstract/ta_abstract.vcproj b/vendor/ta-lib/ide/vs2005/lib_proj/ta_abstract/ta_abstract.vcproj new file mode 100644 index 000000000..a62a63884 --- /dev/null +++ b/vendor/ta-lib/ide/vs2005/lib_proj/ta_abstract/ta_abstract.vcproj @@ -0,0 +1,2136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/ta-lib/ide/vs2005/lib_proj/ta_common/ta_common.vcproj b/vendor/ta-lib/ide/vs2005/lib_proj/ta_common/ta_common.vcproj new file mode 100644 index 000000000..dfd97ede3 --- /dev/null +++ b/vendor/ta-lib/ide/vs2005/lib_proj/ta_common/ta_common.vcproj @@ -0,0 +1,555 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/ta-lib/ide/vs2005/lib_proj/ta_func/ta_func.vcproj b/vendor/ta-lib/ide/vs2005/lib_proj/ta_func/ta_func.vcproj new file mode 100644 index 000000000..33d9e1a23 --- /dev/null +++ b/vendor/ta-lib/ide/vs2005/lib_proj/ta_func/ta_func.vcproj @@ -0,0 +1,1011 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/ta-lib/ide/vs2005/lib_proj/ta_lib.sln b/vendor/ta-lib/ide/vs2005/lib_proj/ta_lib.sln new file mode 100644 index 000000000..e54f0b9cc --- /dev/null +++ b/vendor/ta-lib/ide/vs2005/lib_proj/ta_lib.sln @@ -0,0 +1,105 @@ + +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ta_common", "ta_common\ta_common.vcproj", "{E3AB3A1B-0D33-4A51-A4F7-69EE5C079115}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ta_func", "ta_func\ta_func.vcproj", "{B9DBB4A6-C675-4486-B916-0B0DCC049BB2}" + ProjectSection(ProjectDependencies) = postProject + {E3AB3A1B-0D33-4A51-A4F7-69EE5C079115} = {E3AB3A1B-0D33-4A51-A4F7-69EE5C079115} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ta_abstract", "ta_abstract\ta_abstract.vcproj", "{FDE2592B-DF64-4308-B644-92E79E071986}" + ProjectSection(ProjectDependencies) = postProject + {E3AB3A1B-0D33-4A51-A4F7-69EE5C079115} = {E3AB3A1B-0D33-4A51-A4F7-69EE5C079115} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ta_libc", "ta_libc\ta_libc.vcproj", "{B7BA9CEF-8430-4BCB-8EEE-5C351800A021}" + ProjectSection(ProjectDependencies) = postProject + {B9DBB4A6-C675-4486-B916-0B0DCC049BB2} = {B9DBB4A6-C675-4486-B916-0B0DCC049BB2} + {FDE2592B-DF64-4308-B644-92E79E071986} = {FDE2592B-DF64-4308-B644-92E79E071986} + {E3AB3A1B-0D33-4A51-A4F7-69EE5C079115} = {E3AB3A1B-0D33-4A51-A4F7-69EE5C079115} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gen_code", "gen_code\gen_code.vcproj", "{79D18ABF-C93A-441A-A22B-D58813BB2701}" + ProjectSection(ProjectDependencies) = postProject + {E3AB3A1B-0D33-4A51-A4F7-69EE5C079115} = {E3AB3A1B-0D33-4A51-A4F7-69EE5C079115} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ta_regtest", "ta_regtest\ta_regtest.vcproj", "{271698C6-3436-4D9B-87DB-F865325B00C5}" + ProjectSection(ProjectDependencies) = postProject + {B7BA9CEF-8430-4BCB-8EEE-5C351800A021} = {B7BA9CEF-8430-4BCB-8EEE-5C351800A021} + {79D18ABF-C93A-441A-A22B-D58813BB2701} = {79D18ABF-C93A-441A-A22B-D58813BB2701} + {B9DBB4A6-C675-4486-B916-0B0DCC049BB2} = {B9DBB4A6-C675-4486-B916-0B0DCC049BB2} + {FDE2592B-DF64-4308-B644-92E79E071986} = {FDE2592B-DF64-4308-B644-92E79E071986} + {E3AB3A1B-0D33-4A51-A4F7-69EE5C079115} = {E3AB3A1B-0D33-4A51-A4F7-69EE5C079115} + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "documents", "documents", "{5122530F-6A6C-4236-99D0-3E46644C2E49}" + ProjectSection(SolutionItems) = preProject + ..\..\..\..\CHANGELOG.TXT = ..\..\..\..\CHANGELOG.TXT + ..\..\..\..\HISTORY.TXT = ..\..\..\..\HISTORY.TXT + ..\..\..\..\LICENSE.TXT = ..\..\..\..\LICENSE.TXT + ..\..\..\..\README.TXT = ..\..\..\..\README.TXT + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + cdd|Win32 = cdd|Win32 + cdr|Win32 = cdr|Win32 + cmd|Win32 = cmd|Win32 + cmr|Win32 = cmr|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {E3AB3A1B-0D33-4A51-A4F7-69EE5C079115}.cdd|Win32.ActiveCfg = cdd|Win32 + {E3AB3A1B-0D33-4A51-A4F7-69EE5C079115}.cdd|Win32.Build.0 = cdd|Win32 + {E3AB3A1B-0D33-4A51-A4F7-69EE5C079115}.cdr|Win32.ActiveCfg = cdr|Win32 + {E3AB3A1B-0D33-4A51-A4F7-69EE5C079115}.cdr|Win32.Build.0 = cdr|Win32 + {E3AB3A1B-0D33-4A51-A4F7-69EE5C079115}.cmd|Win32.ActiveCfg = cmd|Win32 + {E3AB3A1B-0D33-4A51-A4F7-69EE5C079115}.cmd|Win32.Build.0 = cmd|Win32 + {E3AB3A1B-0D33-4A51-A4F7-69EE5C079115}.cmr|Win32.ActiveCfg = cmr|Win32 + {E3AB3A1B-0D33-4A51-A4F7-69EE5C079115}.cmr|Win32.Build.0 = cmr|Win32 + {B9DBB4A6-C675-4486-B916-0B0DCC049BB2}.cdd|Win32.ActiveCfg = cdd|Win32 + {B9DBB4A6-C675-4486-B916-0B0DCC049BB2}.cdd|Win32.Build.0 = cdd|Win32 + {B9DBB4A6-C675-4486-B916-0B0DCC049BB2}.cdr|Win32.ActiveCfg = cdr|Win32 + {B9DBB4A6-C675-4486-B916-0B0DCC049BB2}.cdr|Win32.Build.0 = cdr|Win32 + {B9DBB4A6-C675-4486-B916-0B0DCC049BB2}.cmd|Win32.ActiveCfg = cmd|Win32 + {B9DBB4A6-C675-4486-B916-0B0DCC049BB2}.cmd|Win32.Build.0 = cmd|Win32 + {B9DBB4A6-C675-4486-B916-0B0DCC049BB2}.cmr|Win32.ActiveCfg = cmr|Win32 + {B9DBB4A6-C675-4486-B916-0B0DCC049BB2}.cmr|Win32.Build.0 = cmr|Win32 + {FDE2592B-DF64-4308-B644-92E79E071986}.cdd|Win32.ActiveCfg = cdd|Win32 + {FDE2592B-DF64-4308-B644-92E79E071986}.cdd|Win32.Build.0 = cdd|Win32 + {FDE2592B-DF64-4308-B644-92E79E071986}.cdr|Win32.ActiveCfg = cdr|Win32 + {FDE2592B-DF64-4308-B644-92E79E071986}.cdr|Win32.Build.0 = cdr|Win32 + {FDE2592B-DF64-4308-B644-92E79E071986}.cmd|Win32.ActiveCfg = cmd|Win32 + {FDE2592B-DF64-4308-B644-92E79E071986}.cmd|Win32.Build.0 = cmd|Win32 + {FDE2592B-DF64-4308-B644-92E79E071986}.cmr|Win32.ActiveCfg = cmr|Win32 + {FDE2592B-DF64-4308-B644-92E79E071986}.cmr|Win32.Build.0 = cmr|Win32 + {B7BA9CEF-8430-4BCB-8EEE-5C351800A021}.cdd|Win32.ActiveCfg = cdd|Win32 + {B7BA9CEF-8430-4BCB-8EEE-5C351800A021}.cdd|Win32.Build.0 = cdd|Win32 + {B7BA9CEF-8430-4BCB-8EEE-5C351800A021}.cdr|Win32.ActiveCfg = cdr|Win32 + {B7BA9CEF-8430-4BCB-8EEE-5C351800A021}.cdr|Win32.Build.0 = cdr|Win32 + {B7BA9CEF-8430-4BCB-8EEE-5C351800A021}.cmd|Win32.ActiveCfg = cmd|Win32 + {B7BA9CEF-8430-4BCB-8EEE-5C351800A021}.cmd|Win32.Build.0 = cmd|Win32 + {B7BA9CEF-8430-4BCB-8EEE-5C351800A021}.cmr|Win32.ActiveCfg = cmr|Win32 + {B7BA9CEF-8430-4BCB-8EEE-5C351800A021}.cmr|Win32.Build.0 = cmr|Win32 + {79D18ABF-C93A-441A-A22B-D58813BB2701}.cdd|Win32.ActiveCfg = cdd|Win32 + {79D18ABF-C93A-441A-A22B-D58813BB2701}.cdd|Win32.Build.0 = cdd|Win32 + {79D18ABF-C93A-441A-A22B-D58813BB2701}.cdr|Win32.ActiveCfg = cdr|Win32 + {79D18ABF-C93A-441A-A22B-D58813BB2701}.cdr|Win32.Build.0 = cdr|Win32 + {79D18ABF-C93A-441A-A22B-D58813BB2701}.cmd|Win32.ActiveCfg = cmd|Win32 + {79D18ABF-C93A-441A-A22B-D58813BB2701}.cmd|Win32.Build.0 = cmd|Win32 + {79D18ABF-C93A-441A-A22B-D58813BB2701}.cmr|Win32.ActiveCfg = cmr|Win32 + {79D18ABF-C93A-441A-A22B-D58813BB2701}.cmr|Win32.Build.0 = cmr|Win32 + {271698C6-3436-4D9B-87DB-F865325B00C5}.cdd|Win32.ActiveCfg = cdd|Win32 + {271698C6-3436-4D9B-87DB-F865325B00C5}.cdd|Win32.Build.0 = cdd|Win32 + {271698C6-3436-4D9B-87DB-F865325B00C5}.cdr|Win32.ActiveCfg = cdr|Win32 + {271698C6-3436-4D9B-87DB-F865325B00C5}.cdr|Win32.Build.0 = cdr|Win32 + {271698C6-3436-4D9B-87DB-F865325B00C5}.cmd|Win32.ActiveCfg = cmd|Win32 + {271698C6-3436-4D9B-87DB-F865325B00C5}.cmd|Win32.Build.0 = cmd|Win32 + {271698C6-3436-4D9B-87DB-F865325B00C5}.cmr|Win32.ActiveCfg = cmr|Win32 + {271698C6-3436-4D9B-87DB-F865325B00C5}.cmr|Win32.Build.0 = cmr|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/vendor/ta-lib/ide/vs2005/lib_proj/ta_libc/ta_libc.vcproj b/vendor/ta-lib/ide/vs2005/lib_proj/ta_libc/ta_libc.vcproj new file mode 100644 index 000000000..2ad5e64d4 --- /dev/null +++ b/vendor/ta-lib/ide/vs2005/lib_proj/ta_libc/ta_libc.vcproj @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/ta-lib/ide/vs2005/lib_proj/ta_regtest/ta_regtest.vcproj b/vendor/ta-lib/ide/vs2005/lib_proj/ta_regtest/ta_regtest.vcproj new file mode 100644 index 000000000..6aefe67d9 --- /dev/null +++ b/vendor/ta-lib/ide/vs2005/lib_proj/ta_regtest/ta_regtest.vcproj @@ -0,0 +1,1937 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/ta-lib/ide/xcode/TALib/.DS_Store b/vendor/ta-lib/ide/xcode/TALib/.DS_Store new file mode 100644 index 000000000..6564db4d3 Binary files /dev/null and b/vendor/ta-lib/ide/xcode/TALib/.DS_Store differ diff --git a/vendor/ta-lib/ide/xcode/TALib/English.lproj/InfoPlist.strings b/vendor/ta-lib/ide/xcode/TALib/English.lproj/InfoPlist.strings new file mode 100644 index 000000000..a18c7c02e Binary files /dev/null and b/vendor/ta-lib/ide/xcode/TALib/English.lproj/InfoPlist.strings differ diff --git a/vendor/ta-lib/ide/xcode/TALib/Info.plist b/vendor/ta-lib/ide/xcode/TALib/Info.plist new file mode 100644 index 000000000..d43a37193 --- /dev/null +++ b/vendor/ta-lib/ide/xcode/TALib/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + TALib + CFBundleIconFile + + CFBundleIdentifier + org.ta-lib.ta-lib + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + FMWK + CFBundleSignature + ???? + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/vendor/ta-lib/ide/xcode/TALib/README_XCODE.TXT b/vendor/ta-lib/ide/xcode/TALib/README_XCODE.TXT new file mode 100644 index 000000000..ac115d10f --- /dev/null +++ b/vendor/ta-lib/ide/xcode/TALib/README_XCODE.TXT @@ -0,0 +1,37 @@ +* Information for Xcode Developers on Mac OS X * +* by Drew McCormack * + +What does this Xcode project build? +=================================== +This Xcode project builds a Mac OS X framework of the TA-LIB functions. +The native Xcode build system is used, rather than the make utility used +on other UNIX systems. The framework build is single-threaded. + +Where does the framework get built? +=================================== +Upon completion of a successful build, the framework TALib.framework +should appear in the 'build' directory inside the TALib.xcode project +directory, or in your default Xcode build directory. + +Where should the framework be installed for use in an application? +================================================================== +The Xcode project is setup such that the TALib.framework file should be +installed in the 'Frameworks' directory inside your application bundle. (You +can copy the TALib.framework to that directory by adding a 'Copy Phase' +to your application's target. See Xcode documentation for details.) + +If you wish to change the install path of the framework, to /Library/Frameworks +for example, you can simply double click on the TALib target in Xcode, +select the 'Build' tab, and change the 'Installation Directory' setting +appropriately. + +What frameworks/libraries does the TALib framework use? +======================================================= +The TALib framework requires libbz2 and libcurl. Both of these +libraries are preinstalled in Mac OS X 10.3 and 10.4. You can either use the +versions installed with Mac OS X, or include your own versions. + +Is the TALib framework for Cocoa or Carbon applications? +======================================================== +TALib is a C library, so it can be called from Cocoa or Carbon. There are +no restrictions in this regard. diff --git a/vendor/ta-lib/ide/xcode/TALib/TALib.xcodeproj/project.pbxproj b/vendor/ta-lib/ide/xcode/TALib/TALib.xcodeproj/project.pbxproj new file mode 100644 index 000000000..42613b7ed --- /dev/null +++ b/vendor/ta-lib/ide/xcode/TALib/TALib.xcodeproj/project.pbxproj @@ -0,0 +1,1452 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 42; + objects = { + +/* Begin PBXBuildFile section */ + 3A1B2BC609E909F2000A8E98 /* ta_SUM.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A1B2BC509E909F2000A8E98 /* ta_SUM.c */; }; + 3A2E9574082A714D00778A6E /* libcurl.3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A2E9573082A714D00778A6E /* libcurl.3.dylib */; }; + 3A3370FE097E1DDC00082D6C /* ta_BOP.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A3370F9097E1DDC00082D6C /* ta_BOP.c */; }; + 3A3370FF097E1DDC00082D6C /* ta_CDLHIKKAKE.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A3370FA097E1DDC00082D6C /* ta_CDLHIKKAKE.c */; }; + 3A337100097E1DDC00082D6C /* ta_CDLHIKKAKEMOD.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A3370FB097E1DDC00082D6C /* ta_CDLHIKKAKEMOD.c */; }; + 3A337101097E1DDC00082D6C /* ta_CMO.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A3370FC097E1DDC00082D6C /* ta_CMO.c */; }; + 3A337102097E1DDC00082D6C /* ta_ULTOSC.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A3370FD097E1DDC00082D6C /* ta_ULTOSC.c */; }; + 3A35CD900735FAC1001993D0 /* ta_CDLDOJISTAR.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A35CD8A0735FAC1001993D0 /* ta_CDLDOJISTAR.c */; }; + 3A35CD910735FAC1001993D0 /* ta_CDLEVENINGDOJISTAR.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A35CD8B0735FAC1001993D0 /* ta_CDLEVENINGDOJISTAR.c */; }; + 3A35CD920735FAC1001993D0 /* ta_CDLEVENINGSTAR.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A35CD8C0735FAC1001993D0 /* ta_CDLEVENINGSTAR.c */; }; + 3A35CD930735FAC1001993D0 /* ta_CDLMORNINGDOJISTAR.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A35CD8D0735FAC1001993D0 /* ta_CDLMORNINGDOJISTAR.c */; }; + 3A35CD940735FAC1001993D0 /* ta_CDLMORNINGSTAR.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A35CD8E0735FAC1001993D0 /* ta_CDLMORNINGSTAR.c */; }; + 3A35CD950735FAC1001993D0 /* ta_CDLTRISTAR.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A35CD8F0735FAC1001993D0 /* ta_CDLTRISTAR.c */; }; + 3A48BC5605E25FE500B42EE0 /* ta_abstract.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A48B5E005E25FDC00B42EE0 /* ta_abstract.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3A48BC5705E25FE500B42EE0 /* ta_common.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A48B5E105E25FDC00B42EE0 /* ta_common.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3A48BC5905E25FE500B42EE0 /* ta_defs.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A48B5E305E25FDC00B42EE0 /* ta_defs.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3A48BC5A05E25FE500B42EE0 /* ta_func.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A48B5E405E25FDC00B42EE0 /* ta_func.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3A48BC5B05E25FE500B42EE0 /* ta_libc.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A48B5E505E25FDC00B42EE0 /* ta_libc.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3A48BF2005E25FE600B42EE0 /* ta_global.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BA7A05E25FE200B42EE0 /* ta_global.c */; }; + 3A48BF2105E25FE600B42EE0 /* ta_global.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A48BA7B05E25FE200B42EE0 /* ta_global.h */; }; + 3A48BF2405E25FE600B42EE0 /* ta_magic_nb.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A48BA7E05E25FE200B42EE0 /* ta_magic_nb.h */; }; + 3A48BF2605E25FE600B42EE0 /* ta_memory.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A48BA8005E25FE200B42EE0 /* ta_memory.h */; }; + 3A48BF2905E25FE600B42EE0 /* ta_retcode.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BA8305E25FE200B42EE0 /* ta_retcode.c */; }; + 3A48BF2A05E25FE600B42EE0 /* ta_retcode.csv in Resources */ = {isa = PBXBuildFile; fileRef = 3A48BA8405E25FE200B42EE0 /* ta_retcode.csv */; }; + 3A48BF3405E25FE600B42EE0 /* ta_version.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BA8E05E25FE200B42EE0 /* ta_version.c */; }; + 3A48BF8105E25FE600B42EE0 /* ta_AD.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BAE805E25FE300B42EE0 /* ta_AD.c */; }; + 3A48BF8205E25FE600B42EE0 /* ta_ADOSC.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BAE905E25FE300B42EE0 /* ta_ADOSC.c */; }; + 3A48BF8305E25FE600B42EE0 /* ta_ADX.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BAEA05E25FE300B42EE0 /* ta_ADX.c */; }; + 3A48BF8405E25FE600B42EE0 /* ta_ADXR.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BAEB05E25FE300B42EE0 /* ta_ADXR.c */; }; + 3A48BF8505E25FE600B42EE0 /* ta_APO.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BAEC05E25FE300B42EE0 /* ta_APO.c */; }; + 3A48BF8605E25FE600B42EE0 /* ta_AROON.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BAED05E25FE300B42EE0 /* ta_AROON.c */; }; + 3A48BF8705E25FE600B42EE0 /* ta_AROONOSC.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BAEE05E25FE300B42EE0 /* ta_AROONOSC.c */; }; + 3A48BF8805E25FE600B42EE0 /* ta_ATR.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BAEF05E25FE300B42EE0 /* ta_ATR.c */; }; + 3A48BF8905E25FE600B42EE0 /* ta_AVGPRICE.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BAF005E25FE300B42EE0 /* ta_AVGPRICE.c */; }; + 3A48BF8A05E25FE600B42EE0 /* ta_BBANDS.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BAF105E25FE300B42EE0 /* ta_BBANDS.c */; }; + 3A48BF8B05E25FE600B42EE0 /* ta_CCI.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BAF205E25FE300B42EE0 /* ta_CCI.c */; }; + 3A48BF8C05E25FE600B42EE0 /* ta_CORREL.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BAF305E25FE300B42EE0 /* ta_CORREL.c */; }; + 3A48BF8D05E25FE600B42EE0 /* ta_DEMA.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BAF405E25FE300B42EE0 /* ta_DEMA.c */; }; + 3A48BF8E05E25FE600B42EE0 /* ta_DX.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BAF505E25FE300B42EE0 /* ta_DX.c */; }; + 3A48BF8F05E25FE600B42EE0 /* ta_EMA.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BAF605E25FE300B42EE0 /* ta_EMA.c */; }; + 3A48BF9005E25FE600B42EE0 /* ta_HT_DCPERIOD.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BAF705E25FE300B42EE0 /* ta_HT_DCPERIOD.c */; }; + 3A48BF9105E25FE600B42EE0 /* ta_HT_DCPHASE.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BAF805E25FE300B42EE0 /* ta_HT_DCPHASE.c */; }; + 3A48BF9205E25FE600B42EE0 /* ta_HT_PHASOR.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BAF905E25FE300B42EE0 /* ta_HT_PHASOR.c */; }; + 3A48BF9305E25FE600B42EE0 /* ta_HT_SINE.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BAFA05E25FE300B42EE0 /* ta_HT_SINE.c */; }; + 3A48BF9405E25FE600B42EE0 /* ta_HT_TRENDLINE.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BAFB05E25FE300B42EE0 /* ta_HT_TRENDLINE.c */; }; + 3A48BF9505E25FE600B42EE0 /* ta_HT_TRENDMODE.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BAFC05E25FE300B42EE0 /* ta_HT_TRENDMODE.c */; }; + 3A48BF9605E25FE600B42EE0 /* ta_KAMA.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BAFD05E25FE300B42EE0 /* ta_KAMA.c */; }; + 3A48BF9705E25FE600B42EE0 /* ta_LINEARREG.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BAFE05E25FE300B42EE0 /* ta_LINEARREG.c */; }; + 3A48BF9805E25FE600B42EE0 /* ta_LINEARREG_ANGLE.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BAFF05E25FE300B42EE0 /* ta_LINEARREG_ANGLE.c */; }; + 3A48BF9905E25FE600B42EE0 /* ta_LINEARREG_INTERCEPT.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB0005E25FE300B42EE0 /* ta_LINEARREG_INTERCEPT.c */; }; + 3A48BF9A05E25FE600B42EE0 /* ta_LINEARREG_SLOPE.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB0105E25FE300B42EE0 /* ta_LINEARREG_SLOPE.c */; }; + 3A48BF9B05E25FE600B42EE0 /* ta_MA.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB0205E25FE300B42EE0 /* ta_MA.c */; }; + 3A48BF9C05E25FE600B42EE0 /* ta_MACD.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB0305E25FE300B42EE0 /* ta_MACD.c */; }; + 3A48BF9D05E25FE600B42EE0 /* ta_MACDEXT.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB0405E25FE300B42EE0 /* ta_MACDEXT.c */; }; + 3A48BF9E05E25FE600B42EE0 /* ta_MACDFIX.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB0505E25FE300B42EE0 /* ta_MACDFIX.c */; }; + 3A48BF9F05E25FE600B42EE0 /* ta_MAMA.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB0605E25FE300B42EE0 /* ta_MAMA.c */; }; + 3A48BFA005E25FE600B42EE0 /* ta_MAX.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB0705E25FE300B42EE0 /* ta_MAX.c */; }; + 3A48BFA105E25FE600B42EE0 /* ta_MEDPRICE.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB0805E25FE300B42EE0 /* ta_MEDPRICE.c */; }; + 3A48BFA205E25FE600B42EE0 /* ta_MFI.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB0905E25FE300B42EE0 /* ta_MFI.c */; }; + 3A48BFA305E25FE600B42EE0 /* ta_MIDPOINT.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB0A05E25FE300B42EE0 /* ta_MIDPOINT.c */; }; + 3A48BFA405E25FE600B42EE0 /* ta_MIDPRICE.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB0B05E25FE300B42EE0 /* ta_MIDPRICE.c */; }; + 3A48BFA505E25FE600B42EE0 /* ta_MIN.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB0C05E25FE300B42EE0 /* ta_MIN.c */; }; + 3A48BFA605E25FE600B42EE0 /* ta_MINUS_DI.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB0D05E25FE300B42EE0 /* ta_MINUS_DI.c */; }; + 3A48BFA705E25FE600B42EE0 /* ta_MINUS_DM.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB0E05E25FE300B42EE0 /* ta_MINUS_DM.c */; }; + 3A48BFA805E25FE600B42EE0 /* ta_MOM.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB0F05E25FE300B42EE0 /* ta_MOM.c */; }; + 3A48BFA905E25FE600B42EE0 /* ta_NVI.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB1005E25FE300B42EE0 /* ta_NVI.c */; }; + 3A48BFAA05E25FE600B42EE0 /* ta_OBV.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB1105E25FE300B42EE0 /* ta_OBV.c */; }; + 3A48BFAB05E25FE600B42EE0 /* ta_PLUS_DI.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB1205E25FE300B42EE0 /* ta_PLUS_DI.c */; }; + 3A48BFAC05E25FE600B42EE0 /* ta_PLUS_DM.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB1305E25FE300B42EE0 /* ta_PLUS_DM.c */; }; + 3A48BFAD05E25FE600B42EE0 /* ta_PPO.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB1405E25FE300B42EE0 /* ta_PPO.c */; }; + 3A48BFAE05E25FE600B42EE0 /* ta_PVI.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB1505E25FE300B42EE0 /* ta_PVI.c */; }; + 3A48BFAF05E25FE600B42EE0 /* ta_ROC.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB1605E25FE300B42EE0 /* ta_ROC.c */; }; + 3A48BFB005E25FE600B42EE0 /* ta_ROCP.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB1705E25FE300B42EE0 /* ta_ROCP.c */; }; + 3A48BFB105E25FE600B42EE0 /* ta_ROCR.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB1805E25FE300B42EE0 /* ta_ROCR.c */; }; + 3A48BFB205E25FE600B42EE0 /* ta_ROCR100.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB1905E25FE300B42EE0 /* ta_ROCR100.c */; }; + 3A48BFB305E25FE600B42EE0 /* ta_RSI.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB1A05E25FE300B42EE0 /* ta_RSI.c */; }; + 3A48BFB405E25FE600B42EE0 /* ta_SAR.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB1B05E25FE300B42EE0 /* ta_SAR.c */; }; + 3A48BFB505E25FE600B42EE0 /* ta_SAREXT.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB1C05E25FE300B42EE0 /* ta_SAREXT.c */; }; + 3A48BFB605E25FE600B42EE0 /* ta_SMA.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB1D05E25FE300B42EE0 /* ta_SMA.c */; }; + 3A48BFB705E25FE600B42EE0 /* ta_STDDEV.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB1E05E25FE300B42EE0 /* ta_STDDEV.c */; }; + 3A48BFB805E25FE600B42EE0 /* ta_STOCH.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB1F05E25FE300B42EE0 /* ta_STOCH.c */; }; + 3A48BFB905E25FE600B42EE0 /* ta_STOCHF.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB2005E25FE300B42EE0 /* ta_STOCHF.c */; }; + 3A48BFBA05E25FE600B42EE0 /* ta_STOCHRSI.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB2105E25FE300B42EE0 /* ta_STOCHRSI.c */; }; + 3A48BFBB05E25FE600B42EE0 /* ta_T3.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB2205E25FE300B42EE0 /* ta_T3.c */; }; + 3A48BFBC05E25FE600B42EE0 /* ta_TEMA.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB2305E25FE300B42EE0 /* ta_TEMA.c */; }; + 3A48BFBD05E25FE600B42EE0 /* ta_TRANGE.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB2405E25FE300B42EE0 /* ta_TRANGE.c */; }; + 3A48BFBE05E25FE600B42EE0 /* ta_TRIMA.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB2505E25FE300B42EE0 /* ta_TRIMA.c */; }; + 3A48BFBF05E25FE600B42EE0 /* ta_TRIX.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB2605E25FE300B42EE0 /* ta_TRIX.c */; }; + 3A48BFC005E25FE600B42EE0 /* ta_TSF.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB2705E25FE300B42EE0 /* ta_TSF.c */; }; + 3A48BFC105E25FE600B42EE0 /* ta_TYPPRICE.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB2805E25FE300B42EE0 /* ta_TYPPRICE.c */; }; + 3A48BFC205E25FE600B42EE0 /* ta_utility.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB2905E25FE300B42EE0 /* ta_utility.c */; }; + 3A48BFC305E25FE600B42EE0 /* ta_utility.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A48BB2A05E25FE300B42EE0 /* ta_utility.h */; }; + 3A48BFC405E25FE600B42EE0 /* ta_VAR.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB2B05E25FE300B42EE0 /* ta_VAR.c */; }; + 3A48BFC505E25FE600B42EE0 /* ta_WCLPRICE.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB2C05E25FE300B42EE0 /* ta_WCLPRICE.c */; }; + 3A48BFC605E25FE600B42EE0 /* ta_WILLR.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB2D05E25FE300B42EE0 /* ta_WILLR.c */; }; + 3A48BFC705E25FE600B42EE0 /* ta_WMA.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A48BB2E05E25FE300B42EE0 /* ta_WMA.c */; }; + 3A59A19C05F09E97005A4582 /* ta_frame.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A17105F09E96005A4582 /* ta_frame.c */; }; + 3A59A19D05F09E97005A4582 /* ta_frame.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A59A17205F09E96005A4582 /* ta_frame.h */; }; + 3A59A19E05F09E97005A4582 /* ta_abstract.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A17305F09E96005A4582 /* ta_abstract.c */; }; + 3A59A19F05F09E97005A4582 /* ta_def_ui.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A17405F09E96005A4582 /* ta_def_ui.c */; }; + 3A59A1A005F09E97005A4582 /* ta_def_ui.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A59A17505F09E96005A4582 /* ta_def_ui.h */; }; + 3A59A1A105F09E97005A4582 /* ta_frame_priv.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A59A17605F09E96005A4582 /* ta_frame_priv.h */; }; + 3A59A1A205F09E97005A4582 /* ta_group_idx.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A17705F09E96005A4582 /* ta_group_idx.c */; }; + 3A59A1A305F09E97005A4582 /* table_a.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A17905F09E96005A4582 /* table_a.c */; }; + 3A59A1A405F09E97005A4582 /* table_b.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A17A05F09E96005A4582 /* table_b.c */; }; + 3A59A1A505F09E97005A4582 /* table_c.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A17B05F09E96005A4582 /* table_c.c */; }; + 3A59A1A605F09E97005A4582 /* table_d.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A17C05F09E96005A4582 /* table_d.c */; }; + 3A59A1A705F09E97005A4582 /* table_e.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A17D05F09E96005A4582 /* table_e.c */; }; + 3A59A1A805F09E97005A4582 /* table_f.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A17E05F09E96005A4582 /* table_f.c */; }; + 3A59A1A905F09E97005A4582 /* table_g.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A17F05F09E96005A4582 /* table_g.c */; }; + 3A59A1AA05F09E97005A4582 /* table_h.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A18005F09E96005A4582 /* table_h.c */; }; + 3A59A1AB05F09E97005A4582 /* table_i.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A18105F09E96005A4582 /* table_i.c */; }; + 3A59A1AC05F09E97005A4582 /* table_j.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A18205F09E96005A4582 /* table_j.c */; }; + 3A59A1AD05F09E97005A4582 /* table_k.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A18305F09E96005A4582 /* table_k.c */; }; + 3A59A1AE05F09E97005A4582 /* table_l.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A18405F09E96005A4582 /* table_l.c */; }; + 3A59A1AF05F09E97005A4582 /* table_m.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A18505F09E97005A4582 /* table_m.c */; }; + 3A59A1B005F09E97005A4582 /* table_n.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A18605F09E97005A4582 /* table_n.c */; }; + 3A59A1B105F09E97005A4582 /* table_o.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A18705F09E97005A4582 /* table_o.c */; }; + 3A59A1B205F09E97005A4582 /* table_p.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A18805F09E97005A4582 /* table_p.c */; }; + 3A59A1B305F09E97005A4582 /* table_q.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A18905F09E97005A4582 /* table_q.c */; }; + 3A59A1B405F09E97005A4582 /* table_r.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A18A05F09E97005A4582 /* table_r.c */; }; + 3A59A1B505F09E97005A4582 /* table_s.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A18B05F09E97005A4582 /* table_s.c */; }; + 3A59A1B605F09E97005A4582 /* table_t.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A18C05F09E97005A4582 /* table_t.c */; }; + 3A59A1B705F09E97005A4582 /* table_u.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A18D05F09E97005A4582 /* table_u.c */; }; + 3A59A1B805F09E97005A4582 /* table_v.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A18E05F09E97005A4582 /* table_v.c */; }; + 3A59A1B905F09E97005A4582 /* table_w.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A18F05F09E97005A4582 /* table_w.c */; }; + 3A59A1BA05F09E97005A4582 /* table_x.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A19005F09E97005A4582 /* table_x.c */; }; + 3A59A1BB05F09E97005A4582 /* table_y.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A19105F09E97005A4582 /* table_y.c */; }; + 3A59A1BC05F09E97005A4582 /* table_z.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A59A19205F09E97005A4582 /* table_z.c */; }; + 3A5D775309A5106100AFB481 /* libbz2.1.0.2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A2E9575082A716B00778A6E /* libbz2.1.0.2.dylib */; }; + 3A742ECB06E8458C004F675D /* ta_CDLHIGHWAVE.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A742EC706E8458B004F675D /* ta_CDLHIGHWAVE.c */; }; + 3A742ECC06E8458C004F675D /* ta_CDLLONGLINE.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A742EC806E8458B004F675D /* ta_CDLLONGLINE.c */; }; + 3A742ECD06E8458C004F675D /* ta_CDLSHORTLINE.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A742EC906E8458B004F675D /* ta_CDLSHORTLINE.c */; }; + 3A742ECE06E8458C004F675D /* ta_CDLSPINNINGTOP.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A742ECA06E8458B004F675D /* ta_CDLSPINNINGTOP.c */; }; + 3A9C4D8B0BA735E500B6D766 /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 8D07F2C70486CC7A007CD1D0 /* Info.plist */; }; + 3A9C4D930BA7361A00B6D766 /* ta_BETA.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A9C4D8C0BA7361A00B6D766 /* ta_BETA.c */; }; + 3A9C4D940BA7361A00B6D766 /* ta_MAVP.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A9C4D8D0BA7361A00B6D766 /* ta_MAVP.c */; }; + 3A9C4D950BA7361A00B6D766 /* ta_MAXINDEX.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A9C4D8E0BA7361A00B6D766 /* ta_MAXINDEX.c */; }; + 3A9C4D960BA7361A00B6D766 /* ta_MININDEX.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A9C4D8F0BA7361A00B6D766 /* ta_MININDEX.c */; }; + 3A9C4D970BA7361A00B6D766 /* ta_MINMAX.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A9C4D900BA7361A00B6D766 /* ta_MINMAX.c */; }; + 3A9C4D980BA7361A00B6D766 /* ta_MINMAXINDEX.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A9C4D910BA7361A00B6D766 /* ta_MINMAXINDEX.c */; }; + 3A9C4D990BA7361A00B6D766 /* ta_NATR.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A9C4D920BA7361A00B6D766 /* ta_NATR.c */; }; + 3AA0ADE00C95AB080072E088 /* ta_CEIL.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AA0ADD10C95AB080072E088 /* ta_CEIL.c */; }; + 3AA0ADE10C95AB080072E088 /* ta_COS.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AA0ADD20C95AB080072E088 /* ta_COS.c */; }; + 3AA0ADE20C95AB080072E088 /* ta_COSH.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AA0ADD30C95AB080072E088 /* ta_COSH.c */; }; + 3AA0ADE30C95AB080072E088 /* ta_DIV.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AA0ADD40C95AB080072E088 /* ta_DIV.c */; }; + 3AA0ADE40C95AB080072E088 /* ta_EXP.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AA0ADD50C95AB080072E088 /* ta_EXP.c */; }; + 3AA0ADE50C95AB080072E088 /* ta_FLOOR.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AA0ADD60C95AB080072E088 /* ta_FLOOR.c */; }; + 3AA0ADE60C95AB080072E088 /* ta_LN.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AA0ADD70C95AB080072E088 /* ta_LN.c */; }; + 3AA0ADE70C95AB080072E088 /* ta_LOG10.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AA0ADD80C95AB080072E088 /* ta_LOG10.c */; }; + 3AA0ADE80C95AB080072E088 /* ta_MULT.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AA0ADD90C95AB080072E088 /* ta_MULT.c */; }; + 3AA0ADE90C95AB080072E088 /* ta_SIN.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AA0ADDA0C95AB080072E088 /* ta_SIN.c */; }; + 3AA0ADEA0C95AB080072E088 /* ta_SINH.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AA0ADDB0C95AB080072E088 /* ta_SINH.c */; }; + 3AA0ADEB0C95AB080072E088 /* ta_SQRT.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AA0ADDC0C95AB080072E088 /* ta_SQRT.c */; }; + 3AA0ADEC0C95AB080072E088 /* ta_SUB.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AA0ADDD0C95AB080072E088 /* ta_SUB.c */; }; + 3AA0ADED0C95AB080072E088 /* ta_TAN.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AA0ADDE0C95AB080072E088 /* ta_TAN.c */; }; + 3AA0ADEE0C95AB080072E088 /* ta_TANH.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AA0ADDF0C95AB080072E088 /* ta_TANH.c */; }; + 3AA0ADFB0C95AC010072E088 /* ta_ACOS.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AA0ADF70C95AC010072E088 /* ta_ACOS.c */; }; + 3AA0ADFC0C95AC010072E088 /* ta_ADD.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AA0ADF80C95AC010072E088 /* ta_ADD.c */; }; + 3AA0ADFD0C95AC010072E088 /* ta_ASIN.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AA0ADF90C95AC010072E088 /* ta_ASIN.c */; }; + 3AA0ADFE0C95AC010072E088 /* ta_ATAN.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AA0ADFA0C95AC010072E088 /* ta_ATAN.c */; }; + 3AC7C3F3080C313900D11B6F /* ta_CDL2CROWS.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3CD080C313900D11B6F /* ta_CDL2CROWS.c */; }; + 3AC7C3F4080C313900D11B6F /* ta_CDL3INSIDE.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3CE080C313900D11B6F /* ta_CDL3INSIDE.c */; }; + 3AC7C3F5080C313900D11B6F /* ta_CDL3LINESTRIKE.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3CF080C313900D11B6F /* ta_CDL3LINESTRIKE.c */; }; + 3AC7C3F6080C313900D11B6F /* ta_CDL3OUTSIDE.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3D0080C313900D11B6F /* ta_CDL3OUTSIDE.c */; }; + 3AC7C3F7080C313900D11B6F /* ta_CDL3STARSINSOUTH.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3D1080C313900D11B6F /* ta_CDL3STARSINSOUTH.c */; }; + 3AC7C3F8080C313900D11B6F /* ta_CDL3WHITESOLDIERS.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3D2080C313900D11B6F /* ta_CDL3WHITESOLDIERS.c */; }; + 3AC7C3F9080C313900D11B6F /* ta_CDLADVANCEBLOCK.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3D3080C313900D11B6F /* ta_CDLADVANCEBLOCK.c */; }; + 3AC7C3FA080C313900D11B6F /* ta_CDLBELTHOLD.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3D4080C313900D11B6F /* ta_CDLBELTHOLD.c */; }; + 3AC7C3FB080C313900D11B6F /* ta_CDLBREAKAWAY.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3D5080C313900D11B6F /* ta_CDLBREAKAWAY.c */; }; + 3AC7C3FC080C313900D11B6F /* ta_CDLCLOSINGMARUBOZU.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3D6080C313900D11B6F /* ta_CDLCLOSINGMARUBOZU.c */; }; + 3AC7C3FD080C313900D11B6F /* ta_CDLCONCEALBABYSWALL.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3D7080C313900D11B6F /* ta_CDLCONCEALBABYSWALL.c */; }; + 3AC7C3FE080C313900D11B6F /* ta_CDLCOUNTERATTACK.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3D8080C313900D11B6F /* ta_CDLCOUNTERATTACK.c */; }; + 3AC7C3FF080C313900D11B6F /* ta_CDLDARKCLOUDCOVER.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3D9080C313900D11B6F /* ta_CDLDARKCLOUDCOVER.c */; }; + 3AC7C400080C313900D11B6F /* ta_CDLDOJI.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3DA080C313900D11B6F /* ta_CDLDOJI.c */; }; + 3AC7C401080C313900D11B6F /* ta_CDLDRAGONFLYDOJI.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3DB080C313900D11B6F /* ta_CDLDRAGONFLYDOJI.c */; }; + 3AC7C402080C313900D11B6F /* ta_CDLGAPSIDESIDEWHITE.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3DC080C313900D11B6F /* ta_CDLGAPSIDESIDEWHITE.c */; }; + 3AC7C403080C313900D11B6F /* ta_CDLGRAVESTONEDOJI.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3DD080C313900D11B6F /* ta_CDLGRAVESTONEDOJI.c */; }; + 3AC7C404080C313900D11B6F /* ta_CDLHOMINGPIGEON.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3DE080C313900D11B6F /* ta_CDLHOMINGPIGEON.c */; }; + 3AC7C405080C313900D11B6F /* ta_CDLINNECK.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3DF080C313900D11B6F /* ta_CDLINNECK.c */; }; + 3AC7C406080C313900D11B6F /* ta_CDLKICKING.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3E0080C313900D11B6F /* ta_CDLKICKING.c */; }; + 3AC7C407080C313900D11B6F /* ta_CDLKICKINGBYLENGTH.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3E1080C313900D11B6F /* ta_CDLKICKINGBYLENGTH.c */; }; + 3AC7C408080C313900D11B6F /* ta_CDLLADDERBOTTOM.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3E2080C313900D11B6F /* ta_CDLLADDERBOTTOM.c */; }; + 3AC7C409080C313900D11B6F /* ta_CDLLONGLEGGEDDOJI.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3E3080C313900D11B6F /* ta_CDLLONGLEGGEDDOJI.c */; }; + 3AC7C40A080C313900D11B6F /* ta_CDLMARUBOZU.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3E4080C313900D11B6F /* ta_CDLMARUBOZU.c */; }; + 3AC7C40B080C313900D11B6F /* ta_CDLMATCHINGLOW.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3E5080C313900D11B6F /* ta_CDLMATCHINGLOW.c */; }; + 3AC7C40C080C313900D11B6F /* ta_CDLMATHOLD.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3E6080C313900D11B6F /* ta_CDLMATHOLD.c */; }; + 3AC7C40D080C313900D11B6F /* ta_CDLONNECK.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3E7080C313900D11B6F /* ta_CDLONNECK.c */; }; + 3AC7C40E080C313900D11B6F /* ta_CDLPIERCING.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3E8080C313900D11B6F /* ta_CDLPIERCING.c */; }; + 3AC7C40F080C313900D11B6F /* ta_CDLRICKSHAWMAN.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3E9080C313900D11B6F /* ta_CDLRICKSHAWMAN.c */; }; + 3AC7C410080C313900D11B6F /* ta_CDLRISEFALL3METHODS.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3EA080C313900D11B6F /* ta_CDLRISEFALL3METHODS.c */; }; + 3AC7C411080C313900D11B6F /* ta_CDLSEPARATINGLINES.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3EB080C313900D11B6F /* ta_CDLSEPARATINGLINES.c */; }; + 3AC7C412080C313900D11B6F /* ta_CDLSTALLEDPATTERN.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3EC080C313900D11B6F /* ta_CDLSTALLEDPATTERN.c */; }; + 3AC7C413080C313900D11B6F /* ta_CDLSTICKSANDWICH.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3ED080C313900D11B6F /* ta_CDLSTICKSANDWICH.c */; }; + 3AC7C414080C313900D11B6F /* ta_CDLTAKURI.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3EE080C313900D11B6F /* ta_CDLTAKURI.c */; }; + 3AC7C415080C313900D11B6F /* ta_CDLTASUKIGAP.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3EF080C313900D11B6F /* ta_CDLTASUKIGAP.c */; }; + 3AC7C416080C313900D11B6F /* ta_CDLTHRUSTING.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3F0080C313900D11B6F /* ta_CDLTHRUSTING.c */; }; + 3AC7C417080C313900D11B6F /* ta_CDLUNIQUE3RIVER.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3F1080C313900D11B6F /* ta_CDLUNIQUE3RIVER.c */; }; + 3AC7C418080C313900D11B6F /* ta_CDLXSIDEGAP3METHODS.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AC7C3F2080C313900D11B6F /* ta_CDLXSIDEGAP3METHODS.c */; }; + 3ADCEA9A075875960004A780 /* ta_CDL3BLACKCROWS.c in Sources */ = {isa = PBXBuildFile; fileRef = 3ADCEA8F075875960004A780 /* ta_CDL3BLACKCROWS.c */; }; + 3ADCEA9B075875960004A780 /* ta_CDLABANDONEDBABY.c in Sources */ = {isa = PBXBuildFile; fileRef = 3ADCEA90075875960004A780 /* ta_CDLABANDONEDBABY.c */; }; + 3ADCEA9C075875960004A780 /* ta_CDLENGULFING.c in Sources */ = {isa = PBXBuildFile; fileRef = 3ADCEA91075875960004A780 /* ta_CDLENGULFING.c */; }; + 3ADCEA9D075875960004A780 /* ta_CDLHAMMER.c in Sources */ = {isa = PBXBuildFile; fileRef = 3ADCEA92075875960004A780 /* ta_CDLHAMMER.c */; }; + 3ADCEA9E075875960004A780 /* ta_CDLHANGINGMAN.c in Sources */ = {isa = PBXBuildFile; fileRef = 3ADCEA93075875960004A780 /* ta_CDLHANGINGMAN.c */; }; + 3ADCEA9F075875960004A780 /* ta_CDLHARAMI.c in Sources */ = {isa = PBXBuildFile; fileRef = 3ADCEA94075875960004A780 /* ta_CDLHARAMI.c */; }; + 3ADCEAA0075875960004A780 /* ta_CDLHARAMICROSS.c in Sources */ = {isa = PBXBuildFile; fileRef = 3ADCEA95075875960004A780 /* ta_CDLHARAMICROSS.c */; }; + 3ADCEAA1075875960004A780 /* ta_CDLIDENTICAL3CROWS.c in Sources */ = {isa = PBXBuildFile; fileRef = 3ADCEA96075875960004A780 /* ta_CDLIDENTICAL3CROWS.c */; }; + 3ADCEAA2075875960004A780 /* ta_CDLINVERTEDHAMMER.c in Sources */ = {isa = PBXBuildFile; fileRef = 3ADCEA97075875960004A780 /* ta_CDLINVERTEDHAMMER.c */; }; + 3ADCEAA3075875960004A780 /* ta_CDLSHOOTINGSTAR.c in Sources */ = {isa = PBXBuildFile; fileRef = 3ADCEA98075875960004A780 /* ta_CDLSHOOTINGSTAR.c */; }; + 3ADCEAA4075875960004A780 /* ta_CDLUPSIDEGAP2CROWS.c in Sources */ = {isa = PBXBuildFile; fileRef = 3ADCEA99075875960004A780 /* ta_CDLUPSIDEGAP2CROWS.c */; }; + 8D07F2C00486CC7A007CD1D0 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C1666FE841158C02AAC07 /* InfoPlist.strings */; }; + CCF3217F0BA789CC0014ABA6 /* ta_regtest.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF321630BA789CC0014ABA6 /* ta_regtest.c */; }; + CCF321800BA789CC0014ABA6 /* test_1in_1out.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF321650BA789CC0014ABA6 /* test_1in_1out.c */; }; + CCF321810BA789CC0014ABA6 /* test_1in_2out.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF321660BA789CC0014ABA6 /* test_1in_2out.c */; }; + CCF321820BA789CC0014ABA6 /* test_adx.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF321670BA789CC0014ABA6 /* test_adx.c */; }; + CCF321830BA789CC0014ABA6 /* test_bbands.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF321680BA789CC0014ABA6 /* test_bbands.c */; }; + CCF321840BA789CC0014ABA6 /* test_candlestick.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF321690BA789CC0014ABA6 /* test_candlestick.c */; }; + CCF321850BA789CC0014ABA6 /* test_ma.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF3216A0BA789CC0014ABA6 /* test_ma.c */; }; + CCF321860BA789CC0014ABA6 /* test_macd.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF3216B0BA789CC0014ABA6 /* test_macd.c */; }; + CCF321870BA789CC0014ABA6 /* test_minmax.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF3216C0BA789CC0014ABA6 /* test_minmax.c */; }; + CCF321880BA789CC0014ABA6 /* test_mom.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF3216D0BA789CC0014ABA6 /* test_mom.c */; }; + CCF321890BA789CC0014ABA6 /* test_per_ema.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF3216E0BA789CC0014ABA6 /* test_per_ema.c */; }; + CCF3218A0BA789CC0014ABA6 /* test_per_hl.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF3216F0BA789CC0014ABA6 /* test_per_hl.c */; }; + CCF3218B0BA789CC0014ABA6 /* test_per_hlc.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF321700BA789CC0014ABA6 /* test_per_hlc.c */; }; + CCF3218C0BA789CC0014ABA6 /* test_per_hlcv.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF321710BA789CC0014ABA6 /* test_per_hlcv.c */; }; + CCF3218D0BA789CC0014ABA6 /* test_per_ohlc.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF321720BA789CC0014ABA6 /* test_per_ohlc.c */; }; + CCF3218E0BA789CC0014ABA6 /* test_po.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF321730BA789CC0014ABA6 /* test_po.c */; }; + CCF3218F0BA789CC0014ABA6 /* test_rsi.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF321740BA789CC0014ABA6 /* test_rsi.c */; }; + CCF321900BA789CC0014ABA6 /* test_sar.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF321750BA789CC0014ABA6 /* test_sar.c */; }; + CCF321910BA789CC0014ABA6 /* test_stddev.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF321760BA789CC0014ABA6 /* test_stddev.c */; }; + CCF321920BA789CC0014ABA6 /* test_stoch.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF321770BA789CC0014ABA6 /* test_stoch.c */; }; + CCF321930BA789CC0014ABA6 /* test_trange.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF321780BA789CC0014ABA6 /* test_trange.c */; }; + CCF321940BA789CC0014ABA6 /* test_abstract.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF3217B0BA789CC0014ABA6 /* test_abstract.c */; }; + CCF321950BA789CC0014ABA6 /* test_data.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF3217C0BA789CC0014ABA6 /* test_data.c */; }; + CCF321960BA789CC0014ABA6 /* test_internals.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF3217D0BA789CC0014ABA6 /* test_internals.c */; }; + CCF321970BA789CC0014ABA6 /* test_util.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF3217E0BA789CC0014ABA6 /* test_util.c */; }; + CCF3219E0BA78A290014ABA6 /* TALib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8D07F2C80486CC7A007CD1D0 /* TALib.framework */; }; + CCF321D20BA792540014ABA6 /* ta_func_api.c in Sources */ = {isa = PBXBuildFile; fileRef = CCF321D10BA792540014ABA6 /* ta_func_api.c */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + CCF321500BA788D40014ABA6 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 8D07F2BC0486CC7A007CD1D0; + remoteInfo = TALib; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 089C1667FE841158C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; + 3A1B2BC509E909F2000A8E98 /* ta_SUM.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_SUM.c; path = ../../../src/ta_func/ta_SUM.c; sourceTree = SOURCE_ROOT; }; + 3A1FA1C905F220F100605309 /* README_XCODE.TXT */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README_XCODE.TXT; sourceTree = SOURCE_ROOT; }; + 3A2E9573082A714D00778A6E /* libcurl.3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libcurl.3.dylib; path = /usr/lib/libcurl.3.dylib; sourceTree = ""; }; + 3A2E9575082A716B00778A6E /* libbz2.1.0.2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libbz2.1.0.2.dylib; path = /usr/lib/libbz2.1.0.2.dylib; sourceTree = ""; }; + 3A3370F9097E1DDC00082D6C /* ta_BOP.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_BOP.c; path = ../../../src/ta_func/ta_BOP.c; sourceTree = SOURCE_ROOT; }; + 3A3370FA097E1DDC00082D6C /* ta_CDLHIKKAKE.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLHIKKAKE.c; path = ../../../src/ta_func/ta_CDLHIKKAKE.c; sourceTree = SOURCE_ROOT; }; + 3A3370FB097E1DDC00082D6C /* ta_CDLHIKKAKEMOD.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLHIKKAKEMOD.c; path = ../../../src/ta_func/ta_CDLHIKKAKEMOD.c; sourceTree = SOURCE_ROOT; }; + 3A3370FC097E1DDC00082D6C /* ta_CMO.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CMO.c; path = ../../../src/ta_func/ta_CMO.c; sourceTree = SOURCE_ROOT; }; + 3A3370FD097E1DDC00082D6C /* ta_ULTOSC.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_ULTOSC.c; path = ../../../src/ta_func/ta_ULTOSC.c; sourceTree = SOURCE_ROOT; }; + 3A35CD8A0735FAC1001993D0 /* ta_CDLDOJISTAR.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLDOJISTAR.c; path = ../../../src/ta_func/ta_CDLDOJISTAR.c; sourceTree = SOURCE_ROOT; }; + 3A35CD8B0735FAC1001993D0 /* ta_CDLEVENINGDOJISTAR.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLEVENINGDOJISTAR.c; path = ../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c; sourceTree = SOURCE_ROOT; }; + 3A35CD8C0735FAC1001993D0 /* ta_CDLEVENINGSTAR.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLEVENINGSTAR.c; path = ../../../src/ta_func/ta_CDLEVENINGSTAR.c; sourceTree = SOURCE_ROOT; }; + 3A35CD8D0735FAC1001993D0 /* ta_CDLMORNINGDOJISTAR.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLMORNINGDOJISTAR.c; path = ../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c; sourceTree = SOURCE_ROOT; }; + 3A35CD8E0735FAC1001993D0 /* ta_CDLMORNINGSTAR.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLMORNINGSTAR.c; path = ../../../src/ta_func/ta_CDLMORNINGSTAR.c; sourceTree = SOURCE_ROOT; }; + 3A35CD8F0735FAC1001993D0 /* ta_CDLTRISTAR.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLTRISTAR.c; path = ../../../src/ta_func/ta_CDLTRISTAR.c; sourceTree = SOURCE_ROOT; }; + 3A48B5E005E25FDC00B42EE0 /* ta_abstract.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ta_abstract.h; sourceTree = ""; }; + 3A48B5E105E25FDC00B42EE0 /* ta_common.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ta_common.h; sourceTree = ""; }; + 3A48B5E305E25FDC00B42EE0 /* ta_defs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ta_defs.h; sourceTree = ""; }; + 3A48B5E405E25FDC00B42EE0 /* ta_func.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ta_func.h; sourceTree = ""; }; + 3A48B5E505E25FDC00B42EE0 /* ta_libc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ta_libc.h; sourceTree = ""; }; + 3A48BA7A05E25FE200B42EE0 /* ta_global.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_global.c; sourceTree = ""; }; + 3A48BA7B05E25FE200B42EE0 /* ta_global.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ta_global.h; sourceTree = ""; }; + 3A48BA7E05E25FE200B42EE0 /* ta_magic_nb.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ta_magic_nb.h; sourceTree = ""; }; + 3A48BA8005E25FE200B42EE0 /* ta_memory.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ta_memory.h; sourceTree = ""; }; + 3A48BA8305E25FE200B42EE0 /* ta_retcode.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_retcode.c; sourceTree = ""; }; + 3A48BA8405E25FE200B42EE0 /* ta_retcode.csv */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ta_retcode.csv; sourceTree = ""; }; + 3A48BA8E05E25FE200B42EE0 /* ta_version.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_version.c; sourceTree = ""; }; + 3A48BAE805E25FE300B42EE0 /* ta_AD.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_AD.c; sourceTree = ""; }; + 3A48BAE905E25FE300B42EE0 /* ta_ADOSC.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_ADOSC.c; sourceTree = ""; }; + 3A48BAEA05E25FE300B42EE0 /* ta_ADX.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_ADX.c; sourceTree = ""; }; + 3A48BAEB05E25FE300B42EE0 /* ta_ADXR.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_ADXR.c; sourceTree = ""; }; + 3A48BAEC05E25FE300B42EE0 /* ta_APO.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_APO.c; sourceTree = ""; }; + 3A48BAED05E25FE300B42EE0 /* ta_AROON.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_AROON.c; sourceTree = ""; }; + 3A48BAEE05E25FE300B42EE0 /* ta_AROONOSC.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_AROONOSC.c; sourceTree = ""; }; + 3A48BAEF05E25FE300B42EE0 /* ta_ATR.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_ATR.c; sourceTree = ""; }; + 3A48BAF005E25FE300B42EE0 /* ta_AVGPRICE.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_AVGPRICE.c; sourceTree = ""; }; + 3A48BAF105E25FE300B42EE0 /* ta_BBANDS.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_BBANDS.c; sourceTree = ""; }; + 3A48BAF205E25FE300B42EE0 /* ta_CCI.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_CCI.c; sourceTree = ""; }; + 3A48BAF305E25FE300B42EE0 /* ta_CORREL.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_CORREL.c; sourceTree = ""; }; + 3A48BAF405E25FE300B42EE0 /* ta_DEMA.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_DEMA.c; sourceTree = ""; }; + 3A48BAF505E25FE300B42EE0 /* ta_DX.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_DX.c; sourceTree = ""; }; + 3A48BAF605E25FE300B42EE0 /* ta_EMA.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_EMA.c; sourceTree = ""; }; + 3A48BAF705E25FE300B42EE0 /* ta_HT_DCPERIOD.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_HT_DCPERIOD.c; sourceTree = ""; }; + 3A48BAF805E25FE300B42EE0 /* ta_HT_DCPHASE.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_HT_DCPHASE.c; sourceTree = ""; }; + 3A48BAF905E25FE300B42EE0 /* ta_HT_PHASOR.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_HT_PHASOR.c; sourceTree = ""; }; + 3A48BAFA05E25FE300B42EE0 /* ta_HT_SINE.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_HT_SINE.c; sourceTree = ""; }; + 3A48BAFB05E25FE300B42EE0 /* ta_HT_TRENDLINE.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_HT_TRENDLINE.c; sourceTree = ""; }; + 3A48BAFC05E25FE300B42EE0 /* ta_HT_TRENDMODE.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_HT_TRENDMODE.c; sourceTree = ""; }; + 3A48BAFD05E25FE300B42EE0 /* ta_KAMA.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_KAMA.c; sourceTree = ""; }; + 3A48BAFE05E25FE300B42EE0 /* ta_LINEARREG.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_LINEARREG.c; sourceTree = ""; }; + 3A48BAFF05E25FE300B42EE0 /* ta_LINEARREG_ANGLE.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_LINEARREG_ANGLE.c; sourceTree = ""; }; + 3A48BB0005E25FE300B42EE0 /* ta_LINEARREG_INTERCEPT.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_LINEARREG_INTERCEPT.c; sourceTree = ""; }; + 3A48BB0105E25FE300B42EE0 /* ta_LINEARREG_SLOPE.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_LINEARREG_SLOPE.c; sourceTree = ""; }; + 3A48BB0205E25FE300B42EE0 /* ta_MA.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_MA.c; sourceTree = ""; }; + 3A48BB0305E25FE300B42EE0 /* ta_MACD.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_MACD.c; sourceTree = ""; }; + 3A48BB0405E25FE300B42EE0 /* ta_MACDEXT.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_MACDEXT.c; sourceTree = ""; }; + 3A48BB0505E25FE300B42EE0 /* ta_MACDFIX.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_MACDFIX.c; sourceTree = ""; }; + 3A48BB0605E25FE300B42EE0 /* ta_MAMA.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_MAMA.c; sourceTree = ""; }; + 3A48BB0705E25FE300B42EE0 /* ta_MAX.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_MAX.c; sourceTree = ""; }; + 3A48BB0805E25FE300B42EE0 /* ta_MEDPRICE.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_MEDPRICE.c; sourceTree = ""; }; + 3A48BB0905E25FE300B42EE0 /* ta_MFI.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_MFI.c; sourceTree = ""; }; + 3A48BB0A05E25FE300B42EE0 /* ta_MIDPOINT.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_MIDPOINT.c; sourceTree = ""; }; + 3A48BB0B05E25FE300B42EE0 /* ta_MIDPRICE.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_MIDPRICE.c; sourceTree = ""; }; + 3A48BB0C05E25FE300B42EE0 /* ta_MIN.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_MIN.c; sourceTree = ""; }; + 3A48BB0D05E25FE300B42EE0 /* ta_MINUS_DI.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_MINUS_DI.c; sourceTree = ""; }; + 3A48BB0E05E25FE300B42EE0 /* ta_MINUS_DM.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_MINUS_DM.c; sourceTree = ""; }; + 3A48BB0F05E25FE300B42EE0 /* ta_MOM.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_MOM.c; sourceTree = ""; }; + 3A48BB1005E25FE300B42EE0 /* ta_NVI.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_NVI.c; sourceTree = ""; }; + 3A48BB1105E25FE300B42EE0 /* ta_OBV.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_OBV.c; sourceTree = ""; }; + 3A48BB1205E25FE300B42EE0 /* ta_PLUS_DI.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_PLUS_DI.c; sourceTree = ""; }; + 3A48BB1305E25FE300B42EE0 /* ta_PLUS_DM.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_PLUS_DM.c; sourceTree = ""; }; + 3A48BB1405E25FE300B42EE0 /* ta_PPO.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_PPO.c; sourceTree = ""; }; + 3A48BB1505E25FE300B42EE0 /* ta_PVI.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_PVI.c; sourceTree = ""; }; + 3A48BB1605E25FE300B42EE0 /* ta_ROC.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_ROC.c; sourceTree = ""; }; + 3A48BB1705E25FE300B42EE0 /* ta_ROCP.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_ROCP.c; sourceTree = ""; }; + 3A48BB1805E25FE300B42EE0 /* ta_ROCR.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_ROCR.c; sourceTree = ""; }; + 3A48BB1905E25FE300B42EE0 /* ta_ROCR100.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_ROCR100.c; sourceTree = ""; }; + 3A48BB1A05E25FE300B42EE0 /* ta_RSI.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_RSI.c; sourceTree = ""; }; + 3A48BB1B05E25FE300B42EE0 /* ta_SAR.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_SAR.c; sourceTree = ""; }; + 3A48BB1C05E25FE300B42EE0 /* ta_SAREXT.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_SAREXT.c; sourceTree = ""; }; + 3A48BB1D05E25FE300B42EE0 /* ta_SMA.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_SMA.c; sourceTree = ""; }; + 3A48BB1E05E25FE300B42EE0 /* ta_STDDEV.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_STDDEV.c; sourceTree = ""; }; + 3A48BB1F05E25FE300B42EE0 /* ta_STOCH.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_STOCH.c; sourceTree = ""; }; + 3A48BB2005E25FE300B42EE0 /* ta_STOCHF.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_STOCHF.c; sourceTree = ""; }; + 3A48BB2105E25FE300B42EE0 /* ta_STOCHRSI.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_STOCHRSI.c; sourceTree = ""; }; + 3A48BB2205E25FE300B42EE0 /* ta_T3.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_T3.c; sourceTree = ""; }; + 3A48BB2305E25FE300B42EE0 /* ta_TEMA.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_TEMA.c; sourceTree = ""; }; + 3A48BB2405E25FE300B42EE0 /* ta_TRANGE.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_TRANGE.c; sourceTree = ""; }; + 3A48BB2505E25FE300B42EE0 /* ta_TRIMA.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_TRIMA.c; sourceTree = ""; }; + 3A48BB2605E25FE300B42EE0 /* ta_TRIX.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_TRIX.c; sourceTree = ""; }; + 3A48BB2705E25FE300B42EE0 /* ta_TSF.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_TSF.c; sourceTree = ""; }; + 3A48BB2805E25FE300B42EE0 /* ta_TYPPRICE.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_TYPPRICE.c; sourceTree = ""; }; + 3A48BB2905E25FE300B42EE0 /* ta_utility.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_utility.c; sourceTree = ""; }; + 3A48BB2A05E25FE300B42EE0 /* ta_utility.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ta_utility.h; sourceTree = ""; }; + 3A48BB2B05E25FE300B42EE0 /* ta_VAR.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_VAR.c; sourceTree = ""; }; + 3A48BB2C05E25FE300B42EE0 /* ta_WCLPRICE.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_WCLPRICE.c; sourceTree = ""; }; + 3A48BB2D05E25FE300B42EE0 /* ta_WILLR.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_WILLR.c; sourceTree = ""; }; + 3A48BB2E05E25FE300B42EE0 /* ta_WMA.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_WMA.c; sourceTree = ""; }; + 3A48BC3B05E25FE400B42EE0 /* CHANGELOG.TXT */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = CHANGELOG.TXT; path = ../../../../CHANGELOG.TXT; sourceTree = SOURCE_ROOT; }; + 3A48BC3C05E25FE400B42EE0 /* HISTORY.TXT */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = HISTORY.TXT; path = ../../../../HISTORY.TXT; sourceTree = SOURCE_ROOT; }; + 3A48BC3D05E25FE400B42EE0 /* LICENSE.TXT */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = LICENSE.TXT; path = ../../../../LICENSE.TXT; sourceTree = SOURCE_ROOT; }; + 3A48BC3E05E25FE400B42EE0 /* README.TXT */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = README.TXT; path = ../../../../README.TXT; sourceTree = SOURCE_ROOT; }; + 3A59A17105F09E96005A4582 /* ta_frame.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_frame.c; sourceTree = ""; }; + 3A59A17205F09E96005A4582 /* ta_frame.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ta_frame.h; sourceTree = ""; }; + 3A59A17305F09E96005A4582 /* ta_abstract.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_abstract.c; sourceTree = ""; }; + 3A59A17405F09E96005A4582 /* ta_def_ui.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_def_ui.c; sourceTree = ""; }; + 3A59A17505F09E96005A4582 /* ta_def_ui.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ta_def_ui.h; sourceTree = ""; }; + 3A59A17605F09E96005A4582 /* ta_frame_priv.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ta_frame_priv.h; sourceTree = ""; }; + 3A59A17705F09E96005A4582 /* ta_group_idx.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_group_idx.c; sourceTree = ""; }; + 3A59A17905F09E96005A4582 /* table_a.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = table_a.c; sourceTree = ""; }; + 3A59A17A05F09E96005A4582 /* table_b.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = table_b.c; sourceTree = ""; }; + 3A59A17B05F09E96005A4582 /* table_c.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = table_c.c; sourceTree = ""; }; + 3A59A17C05F09E96005A4582 /* table_d.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = table_d.c; sourceTree = ""; }; + 3A59A17D05F09E96005A4582 /* table_e.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = table_e.c; sourceTree = ""; }; + 3A59A17E05F09E96005A4582 /* table_f.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = table_f.c; sourceTree = ""; }; + 3A59A17F05F09E96005A4582 /* table_g.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = table_g.c; sourceTree = ""; }; + 3A59A18005F09E96005A4582 /* table_h.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = table_h.c; sourceTree = ""; }; + 3A59A18105F09E96005A4582 /* table_i.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = table_i.c; sourceTree = ""; }; + 3A59A18205F09E96005A4582 /* table_j.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = table_j.c; sourceTree = ""; }; + 3A59A18305F09E96005A4582 /* table_k.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = table_k.c; sourceTree = ""; }; + 3A59A18405F09E96005A4582 /* table_l.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = table_l.c; sourceTree = ""; }; + 3A59A18505F09E97005A4582 /* table_m.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = table_m.c; sourceTree = ""; }; + 3A59A18605F09E97005A4582 /* table_n.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = table_n.c; sourceTree = ""; }; + 3A59A18705F09E97005A4582 /* table_o.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = table_o.c; sourceTree = ""; }; + 3A59A18805F09E97005A4582 /* table_p.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = table_p.c; sourceTree = ""; }; + 3A59A18905F09E97005A4582 /* table_q.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = table_q.c; sourceTree = ""; }; + 3A59A18A05F09E97005A4582 /* table_r.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = table_r.c; sourceTree = ""; }; + 3A59A18B05F09E97005A4582 /* table_s.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = table_s.c; sourceTree = ""; }; + 3A59A18C05F09E97005A4582 /* table_t.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = table_t.c; sourceTree = ""; }; + 3A59A18D05F09E97005A4582 /* table_u.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = table_u.c; sourceTree = ""; }; + 3A59A18E05F09E97005A4582 /* table_v.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = table_v.c; sourceTree = ""; }; + 3A59A18F05F09E97005A4582 /* table_w.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = table_w.c; sourceTree = ""; }; + 3A59A19005F09E97005A4582 /* table_x.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = table_x.c; sourceTree = ""; }; + 3A59A19105F09E97005A4582 /* table_y.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = table_y.c; sourceTree = ""; }; + 3A59A19205F09E97005A4582 /* table_z.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = table_z.c; sourceTree = ""; }; + 3A742EC706E8458B004F675D /* ta_CDLHIGHWAVE.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLHIGHWAVE.c; path = ../../../src/ta_func/ta_CDLHIGHWAVE.c; sourceTree = SOURCE_ROOT; }; + 3A742EC806E8458B004F675D /* ta_CDLLONGLINE.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLLONGLINE.c; path = ../../../src/ta_func/ta_CDLLONGLINE.c; sourceTree = SOURCE_ROOT; }; + 3A742EC906E8458B004F675D /* ta_CDLSHORTLINE.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLSHORTLINE.c; path = ../../../src/ta_func/ta_CDLSHORTLINE.c; sourceTree = SOURCE_ROOT; }; + 3A742ECA06E8458B004F675D /* ta_CDLSPINNINGTOP.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLSPINNINGTOP.c; path = ../../../src/ta_func/ta_CDLSPINNINGTOP.c; sourceTree = SOURCE_ROOT; }; + 3A9C4D8C0BA7361A00B6D766 /* ta_BETA.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_BETA.c; sourceTree = ""; }; + 3A9C4D8D0BA7361A00B6D766 /* ta_MAVP.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_MAVP.c; sourceTree = ""; }; + 3A9C4D8E0BA7361A00B6D766 /* ta_MAXINDEX.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_MAXINDEX.c; sourceTree = ""; }; + 3A9C4D8F0BA7361A00B6D766 /* ta_MININDEX.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_MININDEX.c; sourceTree = ""; }; + 3A9C4D900BA7361A00B6D766 /* ta_MINMAX.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_MINMAX.c; sourceTree = ""; }; + 3A9C4D910BA7361A00B6D766 /* ta_MINMAXINDEX.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_MINMAXINDEX.c; sourceTree = ""; }; + 3A9C4D920BA7361A00B6D766 /* ta_NATR.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_NATR.c; sourceTree = ""; }; + 3AA0ADD10C95AB080072E088 /* ta_CEIL.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_CEIL.c; sourceTree = ""; }; + 3AA0ADD20C95AB080072E088 /* ta_COS.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_COS.c; sourceTree = ""; }; + 3AA0ADD30C95AB080072E088 /* ta_COSH.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_COSH.c; sourceTree = ""; }; + 3AA0ADD40C95AB080072E088 /* ta_DIV.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_DIV.c; sourceTree = ""; }; + 3AA0ADD50C95AB080072E088 /* ta_EXP.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_EXP.c; sourceTree = ""; }; + 3AA0ADD60C95AB080072E088 /* ta_FLOOR.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_FLOOR.c; sourceTree = ""; }; + 3AA0ADD70C95AB080072E088 /* ta_LN.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_LN.c; sourceTree = ""; }; + 3AA0ADD80C95AB080072E088 /* ta_LOG10.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_LOG10.c; sourceTree = ""; }; + 3AA0ADD90C95AB080072E088 /* ta_MULT.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_MULT.c; sourceTree = ""; }; + 3AA0ADDA0C95AB080072E088 /* ta_SIN.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_SIN.c; sourceTree = ""; }; + 3AA0ADDB0C95AB080072E088 /* ta_SINH.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_SINH.c; sourceTree = ""; }; + 3AA0ADDC0C95AB080072E088 /* ta_SQRT.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_SQRT.c; sourceTree = ""; }; + 3AA0ADDD0C95AB080072E088 /* ta_SUB.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_SUB.c; sourceTree = ""; }; + 3AA0ADDE0C95AB080072E088 /* ta_TAN.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_TAN.c; sourceTree = ""; }; + 3AA0ADDF0C95AB080072E088 /* ta_TANH.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_TANH.c; sourceTree = ""; }; + 3AA0ADF70C95AC010072E088 /* ta_ACOS.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_ACOS.c; sourceTree = ""; }; + 3AA0ADF80C95AC010072E088 /* ta_ADD.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_ADD.c; sourceTree = ""; }; + 3AA0ADF90C95AC010072E088 /* ta_ASIN.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_ASIN.c; sourceTree = ""; }; + 3AA0ADFA0C95AC010072E088 /* ta_ATAN.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_ATAN.c; sourceTree = ""; }; + 3AC7C3CD080C313900D11B6F /* ta_CDL2CROWS.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDL2CROWS.c; path = ../../../src/ta_func/ta_CDL2CROWS.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3CE080C313900D11B6F /* ta_CDL3INSIDE.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDL3INSIDE.c; path = ../../../src/ta_func/ta_CDL3INSIDE.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3CF080C313900D11B6F /* ta_CDL3LINESTRIKE.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDL3LINESTRIKE.c; path = ../../../src/ta_func/ta_CDL3LINESTRIKE.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3D0080C313900D11B6F /* ta_CDL3OUTSIDE.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDL3OUTSIDE.c; path = ../../../src/ta_func/ta_CDL3OUTSIDE.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3D1080C313900D11B6F /* ta_CDL3STARSINSOUTH.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDL3STARSINSOUTH.c; path = ../../../src/ta_func/ta_CDL3STARSINSOUTH.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3D2080C313900D11B6F /* ta_CDL3WHITESOLDIERS.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDL3WHITESOLDIERS.c; path = ../../../src/ta_func/ta_CDL3WHITESOLDIERS.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3D3080C313900D11B6F /* ta_CDLADVANCEBLOCK.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLADVANCEBLOCK.c; path = ../../../src/ta_func/ta_CDLADVANCEBLOCK.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3D4080C313900D11B6F /* ta_CDLBELTHOLD.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLBELTHOLD.c; path = ../../../src/ta_func/ta_CDLBELTHOLD.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3D5080C313900D11B6F /* ta_CDLBREAKAWAY.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLBREAKAWAY.c; path = ../../../src/ta_func/ta_CDLBREAKAWAY.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3D6080C313900D11B6F /* ta_CDLCLOSINGMARUBOZU.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLCLOSINGMARUBOZU.c; path = ../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3D7080C313900D11B6F /* ta_CDLCONCEALBABYSWALL.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLCONCEALBABYSWALL.c; path = ../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3D8080C313900D11B6F /* ta_CDLCOUNTERATTACK.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLCOUNTERATTACK.c; path = ../../../src/ta_func/ta_CDLCOUNTERATTACK.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3D9080C313900D11B6F /* ta_CDLDARKCLOUDCOVER.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLDARKCLOUDCOVER.c; path = ../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3DA080C313900D11B6F /* ta_CDLDOJI.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLDOJI.c; path = ../../../src/ta_func/ta_CDLDOJI.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3DB080C313900D11B6F /* ta_CDLDRAGONFLYDOJI.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLDRAGONFLYDOJI.c; path = ../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3DC080C313900D11B6F /* ta_CDLGAPSIDESIDEWHITE.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLGAPSIDESIDEWHITE.c; path = ../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3DD080C313900D11B6F /* ta_CDLGRAVESTONEDOJI.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLGRAVESTONEDOJI.c; path = ../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3DE080C313900D11B6F /* ta_CDLHOMINGPIGEON.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLHOMINGPIGEON.c; path = ../../../src/ta_func/ta_CDLHOMINGPIGEON.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3DF080C313900D11B6F /* ta_CDLINNECK.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLINNECK.c; path = ../../../src/ta_func/ta_CDLINNECK.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3E0080C313900D11B6F /* ta_CDLKICKING.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLKICKING.c; path = ../../../src/ta_func/ta_CDLKICKING.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3E1080C313900D11B6F /* ta_CDLKICKINGBYLENGTH.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLKICKINGBYLENGTH.c; path = ../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3E2080C313900D11B6F /* ta_CDLLADDERBOTTOM.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLLADDERBOTTOM.c; path = ../../../src/ta_func/ta_CDLLADDERBOTTOM.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3E3080C313900D11B6F /* ta_CDLLONGLEGGEDDOJI.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLLONGLEGGEDDOJI.c; path = ../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3E4080C313900D11B6F /* ta_CDLMARUBOZU.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLMARUBOZU.c; path = ../../../src/ta_func/ta_CDLMARUBOZU.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3E5080C313900D11B6F /* ta_CDLMATCHINGLOW.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLMATCHINGLOW.c; path = ../../../src/ta_func/ta_CDLMATCHINGLOW.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3E6080C313900D11B6F /* ta_CDLMATHOLD.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLMATHOLD.c; path = ../../../src/ta_func/ta_CDLMATHOLD.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3E7080C313900D11B6F /* ta_CDLONNECK.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLONNECK.c; path = ../../../src/ta_func/ta_CDLONNECK.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3E8080C313900D11B6F /* ta_CDLPIERCING.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLPIERCING.c; path = ../../../src/ta_func/ta_CDLPIERCING.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3E9080C313900D11B6F /* ta_CDLRICKSHAWMAN.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLRICKSHAWMAN.c; path = ../../../src/ta_func/ta_CDLRICKSHAWMAN.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3EA080C313900D11B6F /* ta_CDLRISEFALL3METHODS.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLRISEFALL3METHODS.c; path = ../../../src/ta_func/ta_CDLRISEFALL3METHODS.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3EB080C313900D11B6F /* ta_CDLSEPARATINGLINES.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLSEPARATINGLINES.c; path = ../../../src/ta_func/ta_CDLSEPARATINGLINES.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3EC080C313900D11B6F /* ta_CDLSTALLEDPATTERN.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLSTALLEDPATTERN.c; path = ../../../src/ta_func/ta_CDLSTALLEDPATTERN.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3ED080C313900D11B6F /* ta_CDLSTICKSANDWICH.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLSTICKSANDWICH.c; path = ../../../src/ta_func/ta_CDLSTICKSANDWICH.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3EE080C313900D11B6F /* ta_CDLTAKURI.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLTAKURI.c; path = ../../../src/ta_func/ta_CDLTAKURI.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3EF080C313900D11B6F /* ta_CDLTASUKIGAP.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLTASUKIGAP.c; path = ../../../src/ta_func/ta_CDLTASUKIGAP.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3F0080C313900D11B6F /* ta_CDLTHRUSTING.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLTHRUSTING.c; path = ../../../src/ta_func/ta_CDLTHRUSTING.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3F1080C313900D11B6F /* ta_CDLUNIQUE3RIVER.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLUNIQUE3RIVER.c; path = ../../../src/ta_func/ta_CDLUNIQUE3RIVER.c; sourceTree = SOURCE_ROOT; }; + 3AC7C3F2080C313900D11B6F /* ta_CDLXSIDEGAP3METHODS.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLXSIDEGAP3METHODS.c; path = ../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c; sourceTree = SOURCE_ROOT; }; + 3ADCEA8F075875960004A780 /* ta_CDL3BLACKCROWS.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDL3BLACKCROWS.c; path = ../../../src/ta_func/ta_CDL3BLACKCROWS.c; sourceTree = SOURCE_ROOT; }; + 3ADCEA90075875960004A780 /* ta_CDLABANDONEDBABY.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLABANDONEDBABY.c; path = ../../../src/ta_func/ta_CDLABANDONEDBABY.c; sourceTree = SOURCE_ROOT; }; + 3ADCEA91075875960004A780 /* ta_CDLENGULFING.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLENGULFING.c; path = ../../../src/ta_func/ta_CDLENGULFING.c; sourceTree = SOURCE_ROOT; }; + 3ADCEA92075875960004A780 /* ta_CDLHAMMER.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLHAMMER.c; path = ../../../src/ta_func/ta_CDLHAMMER.c; sourceTree = SOURCE_ROOT; }; + 3ADCEA93075875960004A780 /* ta_CDLHANGINGMAN.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLHANGINGMAN.c; path = ../../../src/ta_func/ta_CDLHANGINGMAN.c; sourceTree = SOURCE_ROOT; }; + 3ADCEA94075875960004A780 /* ta_CDLHARAMI.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLHARAMI.c; path = ../../../src/ta_func/ta_CDLHARAMI.c; sourceTree = SOURCE_ROOT; }; + 3ADCEA95075875960004A780 /* ta_CDLHARAMICROSS.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLHARAMICROSS.c; path = ../../../src/ta_func/ta_CDLHARAMICROSS.c; sourceTree = SOURCE_ROOT; }; + 3ADCEA96075875960004A780 /* ta_CDLIDENTICAL3CROWS.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLIDENTICAL3CROWS.c; path = ../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c; sourceTree = SOURCE_ROOT; }; + 3ADCEA97075875960004A780 /* ta_CDLINVERTEDHAMMER.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLINVERTEDHAMMER.c; path = ../../../src/ta_func/ta_CDLINVERTEDHAMMER.c; sourceTree = SOURCE_ROOT; }; + 3ADCEA98075875960004A780 /* ta_CDLSHOOTINGSTAR.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLSHOOTINGSTAR.c; path = ../../../src/ta_func/ta_CDLSHOOTINGSTAR.c; sourceTree = SOURCE_ROOT; }; + 3ADCEA99075875960004A780 /* ta_CDLUPSIDEGAP2CROWS.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_CDLUPSIDEGAP2CROWS.c; path = ../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c; sourceTree = SOURCE_ROOT; }; + 8D07F2C70486CC7A007CD1D0 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 8D07F2C80486CC7A007CD1D0 /* TALib.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TALib.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + CCF3214B0BA7887D0014ABA6 /* Regression Tests */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = "compiled.mach-o.executable"; path = "Regression Tests"; sourceTree = BUILT_PRODUCTS_DIR; }; + CCF321610BA789CC0014ABA6 /* ReadMe.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = ReadMe.txt; path = ../../../src/tools/ta_regtest/ReadMe.txt; sourceTree = SOURCE_ROOT; }; + CCF321620BA789CC0014ABA6 /* ta_error_number.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ta_error_number.h; path = ../../../src/tools/ta_regtest/ta_error_number.h; sourceTree = SOURCE_ROOT; }; + CCF321630BA789CC0014ABA6 /* ta_regtest.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ta_regtest.c; path = ../../../src/tools/ta_regtest/ta_regtest.c; sourceTree = SOURCE_ROOT; }; + CCF321650BA789CC0014ABA6 /* test_1in_1out.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = test_1in_1out.c; sourceTree = ""; }; + CCF321660BA789CC0014ABA6 /* test_1in_2out.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = test_1in_2out.c; sourceTree = ""; }; + CCF321670BA789CC0014ABA6 /* test_adx.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = test_adx.c; sourceTree = ""; }; + CCF321680BA789CC0014ABA6 /* test_bbands.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = test_bbands.c; sourceTree = ""; }; + CCF321690BA789CC0014ABA6 /* test_candlestick.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = test_candlestick.c; sourceTree = ""; }; + CCF3216A0BA789CC0014ABA6 /* test_ma.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = test_ma.c; sourceTree = ""; }; + CCF3216B0BA789CC0014ABA6 /* test_macd.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = test_macd.c; sourceTree = ""; }; + CCF3216C0BA789CC0014ABA6 /* test_minmax.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = test_minmax.c; sourceTree = ""; }; + CCF3216D0BA789CC0014ABA6 /* test_mom.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = test_mom.c; sourceTree = ""; }; + CCF3216E0BA789CC0014ABA6 /* test_per_ema.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = test_per_ema.c; sourceTree = ""; }; + CCF3216F0BA789CC0014ABA6 /* test_per_hl.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = test_per_hl.c; sourceTree = ""; }; + CCF321700BA789CC0014ABA6 /* test_per_hlc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = test_per_hlc.c; sourceTree = ""; }; + CCF321710BA789CC0014ABA6 /* test_per_hlcv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = test_per_hlcv.c; sourceTree = ""; }; + CCF321720BA789CC0014ABA6 /* test_per_ohlc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = test_per_ohlc.c; sourceTree = ""; }; + CCF321730BA789CC0014ABA6 /* test_po.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = test_po.c; sourceTree = ""; }; + CCF321740BA789CC0014ABA6 /* test_rsi.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = test_rsi.c; sourceTree = ""; }; + CCF321750BA789CC0014ABA6 /* test_sar.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = test_sar.c; sourceTree = ""; }; + CCF321760BA789CC0014ABA6 /* test_stddev.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = test_stddev.c; sourceTree = ""; }; + CCF321770BA789CC0014ABA6 /* test_stoch.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = test_stoch.c; sourceTree = ""; }; + CCF321780BA789CC0014ABA6 /* test_trange.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = test_trange.c; sourceTree = ""; }; + CCF321790BA789CC0014ABA6 /* ta_test_func.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ta_test_func.h; path = ../../../src/tools/ta_regtest/ta_test_func.h; sourceTree = SOURCE_ROOT; }; + CCF3217A0BA789CC0014ABA6 /* ta_test_priv.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ta_test_priv.h; path = ../../../src/tools/ta_regtest/ta_test_priv.h; sourceTree = SOURCE_ROOT; }; + CCF3217B0BA789CC0014ABA6 /* test_abstract.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = test_abstract.c; path = ../../../src/tools/ta_regtest/test_abstract.c; sourceTree = SOURCE_ROOT; }; + CCF3217C0BA789CC0014ABA6 /* test_data.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = test_data.c; path = ../../../src/tools/ta_regtest/test_data.c; sourceTree = SOURCE_ROOT; }; + CCF3217D0BA789CC0014ABA6 /* test_internals.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = test_internals.c; path = ../../../src/tools/ta_regtest/test_internals.c; sourceTree = SOURCE_ROOT; }; + CCF3217E0BA789CC0014ABA6 /* test_util.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = test_util.c; path = ../../../src/tools/ta_regtest/test_util.c; sourceTree = SOURCE_ROOT; }; + CCF321D10BA792540014ABA6 /* ta_func_api.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = ta_func_api.c; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8D07F2C30486CC7A007CD1D0 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 3A2E9574082A714D00778A6E /* libcurl.3.dylib in Frameworks */, + 3A5D775309A5106100AFB481 /* libbz2.1.0.2.dylib in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CCF321490BA7887D0014ABA6 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + CCF3219E0BA78A290014ABA6 /* TALib.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 034768DDFF38A45A11DB9C8B /* Products */ = { + isa = PBXGroup; + children = ( + 8D07F2C80486CC7A007CD1D0 /* TALib.framework */, + CCF3214B0BA7887D0014ABA6 /* Regression Tests */, + ); + name = Products; + sourceTree = ""; + }; + 0867D691FE84028FC02AAC07 /* TALib */ = { + isa = PBXGroup; + children = ( + 08FB77ACFE841707C02AAC07 /* Source */, + 089C1665FE841158C02AAC07 /* Resources */, + 0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */, + 034768DDFF38A45A11DB9C8B /* Products */, + CCF321600BA789470014ABA6 /* Regression Tests */, + ); + name = TALib; + sourceTree = ""; + }; + 0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + 3A2E9575082A716B00778A6E /* libbz2.1.0.2.dylib */, + 3A2E9573082A714D00778A6E /* libcurl.3.dylib */, + ); + name = "External Frameworks and Libraries"; + sourceTree = ""; + }; + 089C1665FE841158C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 3A1FA1C905F220F100605309 /* README_XCODE.TXT */, + 3A48BC3E05E25FE400B42EE0 /* README.TXT */, + 3A48BC3B05E25FE400B42EE0 /* CHANGELOG.TXT */, + 3A48BC3C05E25FE400B42EE0 /* HISTORY.TXT */, + 3A48BC3D05E25FE400B42EE0 /* LICENSE.TXT */, + 8D07F2C70486CC7A007CD1D0 /* Info.plist */, + 089C1666FE841158C02AAC07 /* InfoPlist.strings */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ACFE841707C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 3A48B5AF05E25FDC00B42EE0 /* c */, + ); + name = Source; + sourceTree = ""; + }; + 3A48B5AF05E25FDC00B42EE0 /* c */ = { + isa = PBXGroup; + children = ( + 3A48B5DE05E25FDC00B42EE0 /* include */, + 3A48B97705E25FE100B42EE0 /* src */, + ); + name = c; + path = ../../..; + sourceTree = SOURCE_ROOT; + }; + 3A48B5DE05E25FDC00B42EE0 /* include */ = { + isa = PBXGroup; + children = ( + 3A48B5E005E25FDC00B42EE0 /* ta_abstract.h */, + 3A48B5E105E25FDC00B42EE0 /* ta_common.h */, + 3A48B5E305E25FDC00B42EE0 /* ta_defs.h */, + 3A48B5E405E25FDC00B42EE0 /* ta_func.h */, + 3A48B5E505E25FDC00B42EE0 /* ta_libc.h */, + ); + path = include; + sourceTree = ""; + }; + 3A48B97705E25FE100B42EE0 /* src */ = { + isa = PBXGroup; + children = ( + 3A59A16E05F09E96005A4582 /* ta_abstract */, + 3A48B9B105E25FE100B42EE0 /* ta_common */, + 3A48BAE705E25FE300B42EE0 /* ta_func */, + ); + path = src; + sourceTree = ""; + }; + 3A48B9B105E25FE100B42EE0 /* ta_common */ = { + isa = PBXGroup; + children = ( + 3A48BA7A05E25FE200B42EE0 /* ta_global.c */, + 3A48BA7B05E25FE200B42EE0 /* ta_global.h */, + 3A48BA7E05E25FE200B42EE0 /* ta_magic_nb.h */, + 3A48BA8005E25FE200B42EE0 /* ta_memory.h */, + 3A48BA8305E25FE200B42EE0 /* ta_retcode.c */, + 3A48BA8405E25FE200B42EE0 /* ta_retcode.csv */, + 3A48BA8E05E25FE200B42EE0 /* ta_version.c */, + ); + path = ta_common; + sourceTree = ""; + }; + 3A48BAE705E25FE300B42EE0 /* ta_func */ = { + isa = PBXGroup; + children = ( + 3AA0ADF70C95AC010072E088 /* ta_ACOS.c */, + 3AA0ADF80C95AC010072E088 /* ta_ADD.c */, + 3AA0ADF90C95AC010072E088 /* ta_ASIN.c */, + 3AA0ADFA0C95AC010072E088 /* ta_ATAN.c */, + 3AA0ADD10C95AB080072E088 /* ta_CEIL.c */, + 3AA0ADD20C95AB080072E088 /* ta_COS.c */, + 3AA0ADD30C95AB080072E088 /* ta_COSH.c */, + 3AA0ADD40C95AB080072E088 /* ta_DIV.c */, + 3AA0ADD50C95AB080072E088 /* ta_EXP.c */, + 3AA0ADD60C95AB080072E088 /* ta_FLOOR.c */, + 3AA0ADD70C95AB080072E088 /* ta_LN.c */, + 3AA0ADD80C95AB080072E088 /* ta_LOG10.c */, + 3AA0ADD90C95AB080072E088 /* ta_MULT.c */, + 3AA0ADDA0C95AB080072E088 /* ta_SIN.c */, + 3AA0ADDB0C95AB080072E088 /* ta_SINH.c */, + 3AA0ADDC0C95AB080072E088 /* ta_SQRT.c */, + 3AA0ADDD0C95AB080072E088 /* ta_SUB.c */, + 3AA0ADDE0C95AB080072E088 /* ta_TAN.c */, + 3AA0ADDF0C95AB080072E088 /* ta_TANH.c */, + 3A9C4D8C0BA7361A00B6D766 /* ta_BETA.c */, + 3A9C4D8D0BA7361A00B6D766 /* ta_MAVP.c */, + 3A9C4D8E0BA7361A00B6D766 /* ta_MAXINDEX.c */, + 3A9C4D8F0BA7361A00B6D766 /* ta_MININDEX.c */, + 3A9C4D900BA7361A00B6D766 /* ta_MINMAX.c */, + 3A9C4D910BA7361A00B6D766 /* ta_MINMAXINDEX.c */, + 3A9C4D920BA7361A00B6D766 /* ta_NATR.c */, + 3A1B2BC509E909F2000A8E98 /* ta_SUM.c */, + 3A3370F9097E1DDC00082D6C /* ta_BOP.c */, + 3A3370FA097E1DDC00082D6C /* ta_CDLHIKKAKE.c */, + 3A3370FB097E1DDC00082D6C /* ta_CDLHIKKAKEMOD.c */, + 3A3370FC097E1DDC00082D6C /* ta_CMO.c */, + 3AC7C3CD080C313900D11B6F /* ta_CDL2CROWS.c */, + 3AC7C3CE080C313900D11B6F /* ta_CDL3INSIDE.c */, + 3AC7C3CF080C313900D11B6F /* ta_CDL3LINESTRIKE.c */, + 3AC7C3D0080C313900D11B6F /* ta_CDL3OUTSIDE.c */, + 3AC7C3D1080C313900D11B6F /* ta_CDL3STARSINSOUTH.c */, + 3AC7C3D2080C313900D11B6F /* ta_CDL3WHITESOLDIERS.c */, + 3AC7C3D3080C313900D11B6F /* ta_CDLADVANCEBLOCK.c */, + 3AC7C3D4080C313900D11B6F /* ta_CDLBELTHOLD.c */, + 3AC7C3D5080C313900D11B6F /* ta_CDLBREAKAWAY.c */, + 3AC7C3D6080C313900D11B6F /* ta_CDLCLOSINGMARUBOZU.c */, + 3AC7C3D7080C313900D11B6F /* ta_CDLCONCEALBABYSWALL.c */, + 3AC7C3D8080C313900D11B6F /* ta_CDLCOUNTERATTACK.c */, + 3AC7C3D9080C313900D11B6F /* ta_CDLDARKCLOUDCOVER.c */, + 3AC7C3DA080C313900D11B6F /* ta_CDLDOJI.c */, + 3AC7C3DB080C313900D11B6F /* ta_CDLDRAGONFLYDOJI.c */, + 3AC7C3DC080C313900D11B6F /* ta_CDLGAPSIDESIDEWHITE.c */, + 3AC7C3DD080C313900D11B6F /* ta_CDLGRAVESTONEDOJI.c */, + 3AC7C3DE080C313900D11B6F /* ta_CDLHOMINGPIGEON.c */, + 3AC7C3DF080C313900D11B6F /* ta_CDLINNECK.c */, + 3AC7C3E0080C313900D11B6F /* ta_CDLKICKING.c */, + 3AC7C3E1080C313900D11B6F /* ta_CDLKICKINGBYLENGTH.c */, + 3AC7C3E2080C313900D11B6F /* ta_CDLLADDERBOTTOM.c */, + 3AC7C3E3080C313900D11B6F /* ta_CDLLONGLEGGEDDOJI.c */, + 3AC7C3E4080C313900D11B6F /* ta_CDLMARUBOZU.c */, + 3AC7C3E5080C313900D11B6F /* ta_CDLMATCHINGLOW.c */, + 3AC7C3E6080C313900D11B6F /* ta_CDLMATHOLD.c */, + 3AC7C3E7080C313900D11B6F /* ta_CDLONNECK.c */, + 3AC7C3E8080C313900D11B6F /* ta_CDLPIERCING.c */, + 3AC7C3E9080C313900D11B6F /* ta_CDLRICKSHAWMAN.c */, + 3AC7C3EA080C313900D11B6F /* ta_CDLRISEFALL3METHODS.c */, + 3AC7C3EB080C313900D11B6F /* ta_CDLSEPARATINGLINES.c */, + 3AC7C3EC080C313900D11B6F /* ta_CDLSTALLEDPATTERN.c */, + 3AC7C3ED080C313900D11B6F /* ta_CDLSTICKSANDWICH.c */, + 3AC7C3EE080C313900D11B6F /* ta_CDLTAKURI.c */, + 3AC7C3EF080C313900D11B6F /* ta_CDLTASUKIGAP.c */, + 3AC7C3F0080C313900D11B6F /* ta_CDLTHRUSTING.c */, + 3AC7C3F1080C313900D11B6F /* ta_CDLUNIQUE3RIVER.c */, + 3AC7C3F2080C313900D11B6F /* ta_CDLXSIDEGAP3METHODS.c */, + 3ADCEA8F075875960004A780 /* ta_CDL3BLACKCROWS.c */, + 3ADCEA90075875960004A780 /* ta_CDLABANDONEDBABY.c */, + 3ADCEA91075875960004A780 /* ta_CDLENGULFING.c */, + 3ADCEA92075875960004A780 /* ta_CDLHAMMER.c */, + 3ADCEA93075875960004A780 /* ta_CDLHANGINGMAN.c */, + 3ADCEA94075875960004A780 /* ta_CDLHARAMI.c */, + 3ADCEA95075875960004A780 /* ta_CDLHARAMICROSS.c */, + 3ADCEA96075875960004A780 /* ta_CDLIDENTICAL3CROWS.c */, + 3ADCEA97075875960004A780 /* ta_CDLINVERTEDHAMMER.c */, + 3ADCEA98075875960004A780 /* ta_CDLSHOOTINGSTAR.c */, + 3ADCEA99075875960004A780 /* ta_CDLUPSIDEGAP2CROWS.c */, + 3A35CD8A0735FAC1001993D0 /* ta_CDLDOJISTAR.c */, + 3A35CD8B0735FAC1001993D0 /* ta_CDLEVENINGDOJISTAR.c */, + 3A35CD8C0735FAC1001993D0 /* ta_CDLEVENINGSTAR.c */, + 3A35CD8D0735FAC1001993D0 /* ta_CDLMORNINGDOJISTAR.c */, + 3A35CD8E0735FAC1001993D0 /* ta_CDLMORNINGSTAR.c */, + 3A35CD8F0735FAC1001993D0 /* ta_CDLTRISTAR.c */, + 3A742EC706E8458B004F675D /* ta_CDLHIGHWAVE.c */, + 3A742EC806E8458B004F675D /* ta_CDLLONGLINE.c */, + 3A742EC906E8458B004F675D /* ta_CDLSHORTLINE.c */, + 3A742ECA06E8458B004F675D /* ta_CDLSPINNINGTOP.c */, + 3A48BAE805E25FE300B42EE0 /* ta_AD.c */, + 3A48BAE905E25FE300B42EE0 /* ta_ADOSC.c */, + 3A48BAEA05E25FE300B42EE0 /* ta_ADX.c */, + 3A48BAEB05E25FE300B42EE0 /* ta_ADXR.c */, + 3A48BAEC05E25FE300B42EE0 /* ta_APO.c */, + 3A48BAED05E25FE300B42EE0 /* ta_AROON.c */, + 3A48BAEE05E25FE300B42EE0 /* ta_AROONOSC.c */, + 3A48BAEF05E25FE300B42EE0 /* ta_ATR.c */, + 3A48BAF005E25FE300B42EE0 /* ta_AVGPRICE.c */, + 3A48BAF105E25FE300B42EE0 /* ta_BBANDS.c */, + 3A48BAF205E25FE300B42EE0 /* ta_CCI.c */, + 3A48BAF305E25FE300B42EE0 /* ta_CORREL.c */, + 3A48BAF405E25FE300B42EE0 /* ta_DEMA.c */, + 3A48BAF505E25FE300B42EE0 /* ta_DX.c */, + 3A48BAF605E25FE300B42EE0 /* ta_EMA.c */, + 3A48BAF705E25FE300B42EE0 /* ta_HT_DCPERIOD.c */, + 3A48BAF805E25FE300B42EE0 /* ta_HT_DCPHASE.c */, + 3A48BAF905E25FE300B42EE0 /* ta_HT_PHASOR.c */, + 3A48BAFA05E25FE300B42EE0 /* ta_HT_SINE.c */, + 3A48BAFB05E25FE300B42EE0 /* ta_HT_TRENDLINE.c */, + 3A48BAFC05E25FE300B42EE0 /* ta_HT_TRENDMODE.c */, + 3A48BAFD05E25FE300B42EE0 /* ta_KAMA.c */, + 3A48BAFE05E25FE300B42EE0 /* ta_LINEARREG.c */, + 3A48BAFF05E25FE300B42EE0 /* ta_LINEARREG_ANGLE.c */, + 3A48BB0005E25FE300B42EE0 /* ta_LINEARREG_INTERCEPT.c */, + 3A48BB0105E25FE300B42EE0 /* ta_LINEARREG_SLOPE.c */, + 3A48BB0205E25FE300B42EE0 /* ta_MA.c */, + 3A48BB0305E25FE300B42EE0 /* ta_MACD.c */, + 3A48BB0405E25FE300B42EE0 /* ta_MACDEXT.c */, + 3A48BB0505E25FE300B42EE0 /* ta_MACDFIX.c */, + 3A48BB0605E25FE300B42EE0 /* ta_MAMA.c */, + 3A48BB0705E25FE300B42EE0 /* ta_MAX.c */, + 3A48BB0805E25FE300B42EE0 /* ta_MEDPRICE.c */, + 3A48BB0905E25FE300B42EE0 /* ta_MFI.c */, + 3A48BB0A05E25FE300B42EE0 /* ta_MIDPOINT.c */, + 3A48BB0B05E25FE300B42EE0 /* ta_MIDPRICE.c */, + 3A48BB0C05E25FE300B42EE0 /* ta_MIN.c */, + 3A48BB0D05E25FE300B42EE0 /* ta_MINUS_DI.c */, + 3A48BB0E05E25FE300B42EE0 /* ta_MINUS_DM.c */, + 3A48BB0F05E25FE300B42EE0 /* ta_MOM.c */, + 3A48BB1005E25FE300B42EE0 /* ta_NVI.c */, + 3A48BB1105E25FE300B42EE0 /* ta_OBV.c */, + 3A48BB1205E25FE300B42EE0 /* ta_PLUS_DI.c */, + 3A48BB1305E25FE300B42EE0 /* ta_PLUS_DM.c */, + 3A48BB1405E25FE300B42EE0 /* ta_PPO.c */, + 3A48BB1505E25FE300B42EE0 /* ta_PVI.c */, + 3A48BB1605E25FE300B42EE0 /* ta_ROC.c */, + 3A48BB1705E25FE300B42EE0 /* ta_ROCP.c */, + 3A48BB1805E25FE300B42EE0 /* ta_ROCR.c */, + 3A48BB1905E25FE300B42EE0 /* ta_ROCR100.c */, + 3A48BB1A05E25FE300B42EE0 /* ta_RSI.c */, + 3A48BB1B05E25FE300B42EE0 /* ta_SAR.c */, + 3A48BB1C05E25FE300B42EE0 /* ta_SAREXT.c */, + 3A48BB1D05E25FE300B42EE0 /* ta_SMA.c */, + 3A48BB1E05E25FE300B42EE0 /* ta_STDDEV.c */, + 3A48BB1F05E25FE300B42EE0 /* ta_STOCH.c */, + 3A48BB2005E25FE300B42EE0 /* ta_STOCHF.c */, + 3A48BB2105E25FE300B42EE0 /* ta_STOCHRSI.c */, + 3A48BB2205E25FE300B42EE0 /* ta_T3.c */, + 3A48BB2305E25FE300B42EE0 /* ta_TEMA.c */, + 3A48BB2405E25FE300B42EE0 /* ta_TRANGE.c */, + 3A48BB2505E25FE300B42EE0 /* ta_TRIMA.c */, + 3A48BB2605E25FE300B42EE0 /* ta_TRIX.c */, + 3A48BB2705E25FE300B42EE0 /* ta_TSF.c */, + 3A48BB2805E25FE300B42EE0 /* ta_TYPPRICE.c */, + 3A48BB2905E25FE300B42EE0 /* ta_utility.c */, + 3A48BB2A05E25FE300B42EE0 /* ta_utility.h */, + 3A3370FD097E1DDC00082D6C /* ta_ULTOSC.c */, + 3A48BB2B05E25FE300B42EE0 /* ta_VAR.c */, + 3A48BB2C05E25FE300B42EE0 /* ta_WCLPRICE.c */, + 3A48BB2D05E25FE300B42EE0 /* ta_WILLR.c */, + 3A48BB2E05E25FE300B42EE0 /* ta_WMA.c */, + ); + path = ta_func; + sourceTree = ""; + }; + 3A59A16E05F09E96005A4582 /* ta_abstract */ = { + isa = PBXGroup; + children = ( + 3A59A17005F09E96005A4582 /* frames */, + 3A59A17305F09E96005A4582 /* ta_abstract.c */, + 3A59A17405F09E96005A4582 /* ta_def_ui.c */, + 3A59A17505F09E96005A4582 /* ta_def_ui.h */, + 3A59A17605F09E96005A4582 /* ta_frame_priv.h */, + CCF321D10BA792540014ABA6 /* ta_func_api.c */, + 3A59A17705F09E96005A4582 /* ta_group_idx.c */, + 3A59A17805F09E96005A4582 /* tables */, + ); + name = ta_abstract; + path = ../../../src/ta_abstract; + sourceTree = SOURCE_ROOT; + }; + 3A59A17005F09E96005A4582 /* frames */ = { + isa = PBXGroup; + children = ( + 3A59A17105F09E96005A4582 /* ta_frame.c */, + 3A59A17205F09E96005A4582 /* ta_frame.h */, + ); + path = frames; + sourceTree = ""; + }; + 3A59A17805F09E96005A4582 /* tables */ = { + isa = PBXGroup; + children = ( + 3A59A17905F09E96005A4582 /* table_a.c */, + 3A59A17A05F09E96005A4582 /* table_b.c */, + 3A59A17B05F09E96005A4582 /* table_c.c */, + 3A59A17C05F09E96005A4582 /* table_d.c */, + 3A59A17D05F09E96005A4582 /* table_e.c */, + 3A59A17E05F09E96005A4582 /* table_f.c */, + 3A59A17F05F09E96005A4582 /* table_g.c */, + 3A59A18005F09E96005A4582 /* table_h.c */, + 3A59A18105F09E96005A4582 /* table_i.c */, + 3A59A18205F09E96005A4582 /* table_j.c */, + 3A59A18305F09E96005A4582 /* table_k.c */, + 3A59A18405F09E96005A4582 /* table_l.c */, + 3A59A18505F09E97005A4582 /* table_m.c */, + 3A59A18605F09E97005A4582 /* table_n.c */, + 3A59A18705F09E97005A4582 /* table_o.c */, + 3A59A18805F09E97005A4582 /* table_p.c */, + 3A59A18905F09E97005A4582 /* table_q.c */, + 3A59A18A05F09E97005A4582 /* table_r.c */, + 3A59A18B05F09E97005A4582 /* table_s.c */, + 3A59A18C05F09E97005A4582 /* table_t.c */, + 3A59A18D05F09E97005A4582 /* table_u.c */, + 3A59A18E05F09E97005A4582 /* table_v.c */, + 3A59A18F05F09E97005A4582 /* table_w.c */, + 3A59A19005F09E97005A4582 /* table_x.c */, + 3A59A19105F09E97005A4582 /* table_y.c */, + 3A59A19205F09E97005A4582 /* table_z.c */, + ); + path = tables; + sourceTree = ""; + }; + CCF321600BA789470014ABA6 /* Regression Tests */ = { + isa = PBXGroup; + children = ( + CCF321610BA789CC0014ABA6 /* ReadMe.txt */, + CCF321620BA789CC0014ABA6 /* ta_error_number.h */, + CCF321630BA789CC0014ABA6 /* ta_regtest.c */, + CCF321640BA789CC0014ABA6 /* ta_test_func */, + CCF321790BA789CC0014ABA6 /* ta_test_func.h */, + CCF3217A0BA789CC0014ABA6 /* ta_test_priv.h */, + CCF3217B0BA789CC0014ABA6 /* test_abstract.c */, + CCF3217C0BA789CC0014ABA6 /* test_data.c */, + CCF3217D0BA789CC0014ABA6 /* test_internals.c */, + CCF3217E0BA789CC0014ABA6 /* test_util.c */, + ); + name = "Regression Tests"; + sourceTree = ""; + }; + CCF321640BA789CC0014ABA6 /* ta_test_func */ = { + isa = PBXGroup; + children = ( + CCF321650BA789CC0014ABA6 /* test_1in_1out.c */, + CCF321660BA789CC0014ABA6 /* test_1in_2out.c */, + CCF321670BA789CC0014ABA6 /* test_adx.c */, + CCF321680BA789CC0014ABA6 /* test_bbands.c */, + CCF321690BA789CC0014ABA6 /* test_candlestick.c */, + CCF3216A0BA789CC0014ABA6 /* test_ma.c */, + CCF3216B0BA789CC0014ABA6 /* test_macd.c */, + CCF3216C0BA789CC0014ABA6 /* test_minmax.c */, + CCF3216D0BA789CC0014ABA6 /* test_mom.c */, + CCF3216E0BA789CC0014ABA6 /* test_per_ema.c */, + CCF3216F0BA789CC0014ABA6 /* test_per_hl.c */, + CCF321700BA789CC0014ABA6 /* test_per_hlc.c */, + CCF321710BA789CC0014ABA6 /* test_per_hlcv.c */, + CCF321720BA789CC0014ABA6 /* test_per_ohlc.c */, + CCF321730BA789CC0014ABA6 /* test_po.c */, + CCF321740BA789CC0014ABA6 /* test_rsi.c */, + CCF321750BA789CC0014ABA6 /* test_sar.c */, + CCF321760BA789CC0014ABA6 /* test_stddev.c */, + CCF321770BA789CC0014ABA6 /* test_stoch.c */, + CCF321780BA789CC0014ABA6 /* test_trange.c */, + ); + name = ta_test_func; + path = ../../../src/tools/ta_regtest/ta_test_func; + sourceTree = SOURCE_ROOT; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D07F2BD0486CC7A007CD1D0 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 3A48BC5605E25FE500B42EE0 /* ta_abstract.h in Headers */, + 3A48BC5705E25FE500B42EE0 /* ta_common.h in Headers */, + 3A48BC5905E25FE500B42EE0 /* ta_defs.h in Headers */, + 3A48BC5A05E25FE500B42EE0 /* ta_func.h in Headers */, + 3A48BC5B05E25FE500B42EE0 /* ta_libc.h in Headers */, + 3A48BF2105E25FE600B42EE0 /* ta_global.h in Headers */, + 3A48BF2405E25FE600B42EE0 /* ta_magic_nb.h in Headers */, + 3A48BF2605E25FE600B42EE0 /* ta_memory.h in Headers */, + 3A48BFC305E25FE600B42EE0 /* ta_utility.h in Headers */, + 3A59A19D05F09E97005A4582 /* ta_frame.h in Headers */, + 3A59A1A005F09E97005A4582 /* ta_def_ui.h in Headers */, + 3A59A1A105F09E97005A4582 /* ta_frame_priv.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D07F2BC0486CC7A007CD1D0 /* TALib */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3A17093C089D33AE00A96AC2 /* Build configuration list for PBXNativeTarget "TALib" */; + buildPhases = ( + 8D07F2BD0486CC7A007CD1D0 /* Headers */, + 8D07F2BF0486CC7A007CD1D0 /* Resources */, + 8D07F2C10486CC7A007CD1D0 /* Sources */, + 8D07F2C30486CC7A007CD1D0 /* Frameworks */, + 8D07F2C50486CC7A007CD1D0 /* Rez */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = TALib; + productInstallPath = "$(HOME)/Library/Frameworks"; + productName = TALib; + productReference = 8D07F2C80486CC7A007CD1D0 /* TALib.framework */; + productType = "com.apple.product-type.framework"; + }; + CCF3214A0BA7887D0014ABA6 /* Regression Tests */ = { + isa = PBXNativeTarget; + buildConfigurationList = CCF3214D0BA788B10014ABA6 /* Build configuration list for PBXNativeTarget "Regression Tests" */; + buildPhases = ( + CCF321480BA7887D0014ABA6 /* Sources */, + CCF321490BA7887D0014ABA6 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + CCF321510BA788D40014ABA6 /* PBXTargetDependency */, + ); + name = "Regression Tests"; + productName = "Regression Tests"; + productReference = CCF3214B0BA7887D0014ABA6 /* Regression Tests */; + productType = "com.apple.product-type.tool"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 0867D690FE84028FC02AAC07 /* Project object */ = { + isa = PBXProject; + buildConfigurationList = 3A170940089D33AE00A96AC2 /* Build configuration list for PBXProject "TALib" */; + hasScannedForEncodings = 1; + mainGroup = 0867D691FE84028FC02AAC07 /* TALib */; + productRefGroup = 034768DDFF38A45A11DB9C8B /* Products */; + projectDirPath = ""; + targets = ( + 8D07F2BC0486CC7A007CD1D0 /* TALib */, + CCF3214A0BA7887D0014ABA6 /* Regression Tests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D07F2BF0486CC7A007CD1D0 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D07F2C00486CC7A007CD1D0 /* InfoPlist.strings in Resources */, + 3A48BF2A05E25FE600B42EE0 /* ta_retcode.csv in Resources */, + 3A9C4D8B0BA735E500B6D766 /* Info.plist in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXRezBuildPhase section */ + 8D07F2C50486CC7A007CD1D0 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXRezBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D07F2C10486CC7A007CD1D0 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3A48BF2005E25FE600B42EE0 /* ta_global.c in Sources */, + 3A48BF2905E25FE600B42EE0 /* ta_retcode.c in Sources */, + 3A48BF3405E25FE600B42EE0 /* ta_version.c in Sources */, + 3A48BF8105E25FE600B42EE0 /* ta_AD.c in Sources */, + 3A48BF8205E25FE600B42EE0 /* ta_ADOSC.c in Sources */, + 3A48BF8305E25FE600B42EE0 /* ta_ADX.c in Sources */, + 3A48BF8405E25FE600B42EE0 /* ta_ADXR.c in Sources */, + 3A48BF8505E25FE600B42EE0 /* ta_APO.c in Sources */, + 3A48BF8605E25FE600B42EE0 /* ta_AROON.c in Sources */, + 3A48BF8705E25FE600B42EE0 /* ta_AROONOSC.c in Sources */, + 3A48BF8805E25FE600B42EE0 /* ta_ATR.c in Sources */, + 3A48BF8905E25FE600B42EE0 /* ta_AVGPRICE.c in Sources */, + 3A48BF8A05E25FE600B42EE0 /* ta_BBANDS.c in Sources */, + 3A48BF8B05E25FE600B42EE0 /* ta_CCI.c in Sources */, + 3A48BF8C05E25FE600B42EE0 /* ta_CORREL.c in Sources */, + 3A48BF8D05E25FE600B42EE0 /* ta_DEMA.c in Sources */, + 3A48BF8E05E25FE600B42EE0 /* ta_DX.c in Sources */, + 3A48BF8F05E25FE600B42EE0 /* ta_EMA.c in Sources */, + 3A48BF9005E25FE600B42EE0 /* ta_HT_DCPERIOD.c in Sources */, + 3A48BF9105E25FE600B42EE0 /* ta_HT_DCPHASE.c in Sources */, + 3A48BF9205E25FE600B42EE0 /* ta_HT_PHASOR.c in Sources */, + 3A48BF9305E25FE600B42EE0 /* ta_HT_SINE.c in Sources */, + 3A48BF9405E25FE600B42EE0 /* ta_HT_TRENDLINE.c in Sources */, + 3A48BF9505E25FE600B42EE0 /* ta_HT_TRENDMODE.c in Sources */, + 3A48BF9605E25FE600B42EE0 /* ta_KAMA.c in Sources */, + 3A48BF9705E25FE600B42EE0 /* ta_LINEARREG.c in Sources */, + 3A48BF9805E25FE600B42EE0 /* ta_LINEARREG_ANGLE.c in Sources */, + 3A48BF9905E25FE600B42EE0 /* ta_LINEARREG_INTERCEPT.c in Sources */, + 3A48BF9A05E25FE600B42EE0 /* ta_LINEARREG_SLOPE.c in Sources */, + 3A48BF9B05E25FE600B42EE0 /* ta_MA.c in Sources */, + 3A48BF9C05E25FE600B42EE0 /* ta_MACD.c in Sources */, + 3A48BF9D05E25FE600B42EE0 /* ta_MACDEXT.c in Sources */, + 3A48BF9E05E25FE600B42EE0 /* ta_MACDFIX.c in Sources */, + 3A48BF9F05E25FE600B42EE0 /* ta_MAMA.c in Sources */, + 3A48BFA005E25FE600B42EE0 /* ta_MAX.c in Sources */, + 3A48BFA105E25FE600B42EE0 /* ta_MEDPRICE.c in Sources */, + 3A48BFA205E25FE600B42EE0 /* ta_MFI.c in Sources */, + 3A48BFA305E25FE600B42EE0 /* ta_MIDPOINT.c in Sources */, + 3A48BFA405E25FE600B42EE0 /* ta_MIDPRICE.c in Sources */, + 3A48BFA505E25FE600B42EE0 /* ta_MIN.c in Sources */, + 3A48BFA605E25FE600B42EE0 /* ta_MINUS_DI.c in Sources */, + 3A48BFA705E25FE600B42EE0 /* ta_MINUS_DM.c in Sources */, + 3A48BFA805E25FE600B42EE0 /* ta_MOM.c in Sources */, + 3A48BFA905E25FE600B42EE0 /* ta_NVI.c in Sources */, + 3A48BFAA05E25FE600B42EE0 /* ta_OBV.c in Sources */, + 3A48BFAB05E25FE600B42EE0 /* ta_PLUS_DI.c in Sources */, + 3A48BFAC05E25FE600B42EE0 /* ta_PLUS_DM.c in Sources */, + 3A48BFAD05E25FE600B42EE0 /* ta_PPO.c in Sources */, + 3A48BFAE05E25FE600B42EE0 /* ta_PVI.c in Sources */, + 3A48BFAF05E25FE600B42EE0 /* ta_ROC.c in Sources */, + 3A48BFB005E25FE600B42EE0 /* ta_ROCP.c in Sources */, + 3A48BFB105E25FE600B42EE0 /* ta_ROCR.c in Sources */, + 3A48BFB205E25FE600B42EE0 /* ta_ROCR100.c in Sources */, + 3A48BFB305E25FE600B42EE0 /* ta_RSI.c in Sources */, + 3A48BFB405E25FE600B42EE0 /* ta_SAR.c in Sources */, + 3A48BFB505E25FE600B42EE0 /* ta_SAREXT.c in Sources */, + 3A48BFB605E25FE600B42EE0 /* ta_SMA.c in Sources */, + 3A48BFB705E25FE600B42EE0 /* ta_STDDEV.c in Sources */, + 3A48BFB805E25FE600B42EE0 /* ta_STOCH.c in Sources */, + 3A48BFB905E25FE600B42EE0 /* ta_STOCHF.c in Sources */, + 3A48BFBA05E25FE600B42EE0 /* ta_STOCHRSI.c in Sources */, + 3A48BFBB05E25FE600B42EE0 /* ta_T3.c in Sources */, + 3A48BFBC05E25FE600B42EE0 /* ta_TEMA.c in Sources */, + 3A48BFBD05E25FE600B42EE0 /* ta_TRANGE.c in Sources */, + 3A48BFBE05E25FE600B42EE0 /* ta_TRIMA.c in Sources */, + 3A48BFBF05E25FE600B42EE0 /* ta_TRIX.c in Sources */, + 3A48BFC005E25FE600B42EE0 /* ta_TSF.c in Sources */, + 3A48BFC105E25FE600B42EE0 /* ta_TYPPRICE.c in Sources */, + 3A48BFC205E25FE600B42EE0 /* ta_utility.c in Sources */, + 3A48BFC405E25FE600B42EE0 /* ta_VAR.c in Sources */, + 3A48BFC505E25FE600B42EE0 /* ta_WCLPRICE.c in Sources */, + 3A48BFC605E25FE600B42EE0 /* ta_WILLR.c in Sources */, + 3A48BFC705E25FE600B42EE0 /* ta_WMA.c in Sources */, + 3A59A19C05F09E97005A4582 /* ta_frame.c in Sources */, + 3A59A19E05F09E97005A4582 /* ta_abstract.c in Sources */, + 3A59A19F05F09E97005A4582 /* ta_def_ui.c in Sources */, + 3A59A1A205F09E97005A4582 /* ta_group_idx.c in Sources */, + 3A59A1A305F09E97005A4582 /* table_a.c in Sources */, + 3A59A1A405F09E97005A4582 /* table_b.c in Sources */, + 3A59A1A505F09E97005A4582 /* table_c.c in Sources */, + 3A59A1A605F09E97005A4582 /* table_d.c in Sources */, + 3A59A1A705F09E97005A4582 /* table_e.c in Sources */, + 3A59A1A805F09E97005A4582 /* table_f.c in Sources */, + 3A59A1A905F09E97005A4582 /* table_g.c in Sources */, + 3A59A1AA05F09E97005A4582 /* table_h.c in Sources */, + 3A59A1AB05F09E97005A4582 /* table_i.c in Sources */, + 3A59A1AC05F09E97005A4582 /* table_j.c in Sources */, + 3A59A1AD05F09E97005A4582 /* table_k.c in Sources */, + 3A59A1AE05F09E97005A4582 /* table_l.c in Sources */, + 3A59A1AF05F09E97005A4582 /* table_m.c in Sources */, + 3A59A1B005F09E97005A4582 /* table_n.c in Sources */, + 3A59A1B105F09E97005A4582 /* table_o.c in Sources */, + 3A59A1B205F09E97005A4582 /* table_p.c in Sources */, + 3A59A1B305F09E97005A4582 /* table_q.c in Sources */, + 3A59A1B405F09E97005A4582 /* table_r.c in Sources */, + 3A59A1B505F09E97005A4582 /* table_s.c in Sources */, + 3A59A1B605F09E97005A4582 /* table_t.c in Sources */, + 3A59A1B705F09E97005A4582 /* table_u.c in Sources */, + 3A59A1B805F09E97005A4582 /* table_v.c in Sources */, + 3A59A1B905F09E97005A4582 /* table_w.c in Sources */, + 3A59A1BA05F09E97005A4582 /* table_x.c in Sources */, + 3A59A1BB05F09E97005A4582 /* table_y.c in Sources */, + 3A59A1BC05F09E97005A4582 /* table_z.c in Sources */, + 3A742ECB06E8458C004F675D /* ta_CDLHIGHWAVE.c in Sources */, + 3A742ECC06E8458C004F675D /* ta_CDLLONGLINE.c in Sources */, + 3A742ECD06E8458C004F675D /* ta_CDLSHORTLINE.c in Sources */, + 3A742ECE06E8458C004F675D /* ta_CDLSPINNINGTOP.c in Sources */, + 3A35CD900735FAC1001993D0 /* ta_CDLDOJISTAR.c in Sources */, + 3A35CD910735FAC1001993D0 /* ta_CDLEVENINGDOJISTAR.c in Sources */, + 3A35CD920735FAC1001993D0 /* ta_CDLEVENINGSTAR.c in Sources */, + 3A35CD930735FAC1001993D0 /* ta_CDLMORNINGDOJISTAR.c in Sources */, + 3A35CD940735FAC1001993D0 /* ta_CDLMORNINGSTAR.c in Sources */, + 3A35CD950735FAC1001993D0 /* ta_CDLTRISTAR.c in Sources */, + 3ADCEA9A075875960004A780 /* ta_CDL3BLACKCROWS.c in Sources */, + 3ADCEA9B075875960004A780 /* ta_CDLABANDONEDBABY.c in Sources */, + 3ADCEA9C075875960004A780 /* ta_CDLENGULFING.c in Sources */, + 3ADCEA9D075875960004A780 /* ta_CDLHAMMER.c in Sources */, + 3ADCEA9E075875960004A780 /* ta_CDLHANGINGMAN.c in Sources */, + 3ADCEA9F075875960004A780 /* ta_CDLHARAMI.c in Sources */, + 3ADCEAA0075875960004A780 /* ta_CDLHARAMICROSS.c in Sources */, + 3ADCEAA1075875960004A780 /* ta_CDLIDENTICAL3CROWS.c in Sources */, + 3ADCEAA2075875960004A780 /* ta_CDLINVERTEDHAMMER.c in Sources */, + 3ADCEAA3075875960004A780 /* ta_CDLSHOOTINGSTAR.c in Sources */, + 3ADCEAA4075875960004A780 /* ta_CDLUPSIDEGAP2CROWS.c in Sources */, + 3AC7C3F3080C313900D11B6F /* ta_CDL2CROWS.c in Sources */, + 3AC7C3F4080C313900D11B6F /* ta_CDL3INSIDE.c in Sources */, + 3AC7C3F5080C313900D11B6F /* ta_CDL3LINESTRIKE.c in Sources */, + 3AC7C3F6080C313900D11B6F /* ta_CDL3OUTSIDE.c in Sources */, + 3AC7C3F7080C313900D11B6F /* ta_CDL3STARSINSOUTH.c in Sources */, + 3AC7C3F8080C313900D11B6F /* ta_CDL3WHITESOLDIERS.c in Sources */, + 3AC7C3F9080C313900D11B6F /* ta_CDLADVANCEBLOCK.c in Sources */, + 3AC7C3FA080C313900D11B6F /* ta_CDLBELTHOLD.c in Sources */, + 3AC7C3FB080C313900D11B6F /* ta_CDLBREAKAWAY.c in Sources */, + 3AC7C3FC080C313900D11B6F /* ta_CDLCLOSINGMARUBOZU.c in Sources */, + 3AC7C3FD080C313900D11B6F /* ta_CDLCONCEALBABYSWALL.c in Sources */, + 3AC7C3FE080C313900D11B6F /* ta_CDLCOUNTERATTACK.c in Sources */, + 3AC7C3FF080C313900D11B6F /* ta_CDLDARKCLOUDCOVER.c in Sources */, + 3AC7C400080C313900D11B6F /* ta_CDLDOJI.c in Sources */, + 3AC7C401080C313900D11B6F /* ta_CDLDRAGONFLYDOJI.c in Sources */, + 3AC7C402080C313900D11B6F /* ta_CDLGAPSIDESIDEWHITE.c in Sources */, + 3AC7C403080C313900D11B6F /* ta_CDLGRAVESTONEDOJI.c in Sources */, + 3AC7C404080C313900D11B6F /* ta_CDLHOMINGPIGEON.c in Sources */, + 3AC7C405080C313900D11B6F /* ta_CDLINNECK.c in Sources */, + 3AC7C406080C313900D11B6F /* ta_CDLKICKING.c in Sources */, + 3AC7C407080C313900D11B6F /* ta_CDLKICKINGBYLENGTH.c in Sources */, + 3AC7C408080C313900D11B6F /* ta_CDLLADDERBOTTOM.c in Sources */, + 3AC7C409080C313900D11B6F /* ta_CDLLONGLEGGEDDOJI.c in Sources */, + 3AC7C40A080C313900D11B6F /* ta_CDLMARUBOZU.c in Sources */, + 3AC7C40B080C313900D11B6F /* ta_CDLMATCHINGLOW.c in Sources */, + 3AC7C40C080C313900D11B6F /* ta_CDLMATHOLD.c in Sources */, + 3AC7C40D080C313900D11B6F /* ta_CDLONNECK.c in Sources */, + 3AC7C40E080C313900D11B6F /* ta_CDLPIERCING.c in Sources */, + 3AC7C40F080C313900D11B6F /* ta_CDLRICKSHAWMAN.c in Sources */, + 3AC7C410080C313900D11B6F /* ta_CDLRISEFALL3METHODS.c in Sources */, + 3AC7C411080C313900D11B6F /* ta_CDLSEPARATINGLINES.c in Sources */, + 3AC7C412080C313900D11B6F /* ta_CDLSTALLEDPATTERN.c in Sources */, + 3AC7C413080C313900D11B6F /* ta_CDLSTICKSANDWICH.c in Sources */, + 3AC7C414080C313900D11B6F /* ta_CDLTAKURI.c in Sources */, + 3AC7C415080C313900D11B6F /* ta_CDLTASUKIGAP.c in Sources */, + 3AC7C416080C313900D11B6F /* ta_CDLTHRUSTING.c in Sources */, + 3AC7C417080C313900D11B6F /* ta_CDLUNIQUE3RIVER.c in Sources */, + 3AC7C418080C313900D11B6F /* ta_CDLXSIDEGAP3METHODS.c in Sources */, + 3A3370FE097E1DDC00082D6C /* ta_BOP.c in Sources */, + 3A3370FF097E1DDC00082D6C /* ta_CDLHIKKAKE.c in Sources */, + 3A337100097E1DDC00082D6C /* ta_CDLHIKKAKEMOD.c in Sources */, + 3A337101097E1DDC00082D6C /* ta_CMO.c in Sources */, + 3A337102097E1DDC00082D6C /* ta_ULTOSC.c in Sources */, + 3A1B2BC609E909F2000A8E98 /* ta_SUM.c in Sources */, + 3A9C4D930BA7361A00B6D766 /* ta_BETA.c in Sources */, + 3A9C4D940BA7361A00B6D766 /* ta_MAVP.c in Sources */, + 3A9C4D950BA7361A00B6D766 /* ta_MAXINDEX.c in Sources */, + 3A9C4D960BA7361A00B6D766 /* ta_MININDEX.c in Sources */, + 3A9C4D970BA7361A00B6D766 /* ta_MINMAX.c in Sources */, + 3A9C4D980BA7361A00B6D766 /* ta_MINMAXINDEX.c in Sources */, + 3A9C4D990BA7361A00B6D766 /* ta_NATR.c in Sources */, + CCF321D20BA792540014ABA6 /* ta_func_api.c in Sources */, + 3AA0ADE00C95AB080072E088 /* ta_CEIL.c in Sources */, + 3AA0ADE10C95AB080072E088 /* ta_COS.c in Sources */, + 3AA0ADE20C95AB080072E088 /* ta_COSH.c in Sources */, + 3AA0ADE30C95AB080072E088 /* ta_DIV.c in Sources */, + 3AA0ADE40C95AB080072E088 /* ta_EXP.c in Sources */, + 3AA0ADE50C95AB080072E088 /* ta_FLOOR.c in Sources */, + 3AA0ADE60C95AB080072E088 /* ta_LN.c in Sources */, + 3AA0ADE70C95AB080072E088 /* ta_LOG10.c in Sources */, + 3AA0ADE80C95AB080072E088 /* ta_MULT.c in Sources */, + 3AA0ADE90C95AB080072E088 /* ta_SIN.c in Sources */, + 3AA0ADEA0C95AB080072E088 /* ta_SINH.c in Sources */, + 3AA0ADEB0C95AB080072E088 /* ta_SQRT.c in Sources */, + 3AA0ADEC0C95AB080072E088 /* ta_SUB.c in Sources */, + 3AA0ADED0C95AB080072E088 /* ta_TAN.c in Sources */, + 3AA0ADEE0C95AB080072E088 /* ta_TANH.c in Sources */, + 3AA0ADFB0C95AC010072E088 /* ta_ACOS.c in Sources */, + 3AA0ADFC0C95AC010072E088 /* ta_ADD.c in Sources */, + 3AA0ADFD0C95AC010072E088 /* ta_ASIN.c in Sources */, + 3AA0ADFE0C95AC010072E088 /* ta_ATAN.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CCF321480BA7887D0014ABA6 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CCF3217F0BA789CC0014ABA6 /* ta_regtest.c in Sources */, + CCF321800BA789CC0014ABA6 /* test_1in_1out.c in Sources */, + CCF321810BA789CC0014ABA6 /* test_1in_2out.c in Sources */, + CCF321820BA789CC0014ABA6 /* test_adx.c in Sources */, + CCF321830BA789CC0014ABA6 /* test_bbands.c in Sources */, + CCF321840BA789CC0014ABA6 /* test_candlestick.c in Sources */, + CCF321850BA789CC0014ABA6 /* test_ma.c in Sources */, + CCF321860BA789CC0014ABA6 /* test_macd.c in Sources */, + CCF321870BA789CC0014ABA6 /* test_minmax.c in Sources */, + CCF321880BA789CC0014ABA6 /* test_mom.c in Sources */, + CCF321890BA789CC0014ABA6 /* test_per_ema.c in Sources */, + CCF3218A0BA789CC0014ABA6 /* test_per_hl.c in Sources */, + CCF3218B0BA789CC0014ABA6 /* test_per_hlc.c in Sources */, + CCF3218C0BA789CC0014ABA6 /* test_per_hlcv.c in Sources */, + CCF3218D0BA789CC0014ABA6 /* test_per_ohlc.c in Sources */, + CCF3218E0BA789CC0014ABA6 /* test_po.c in Sources */, + CCF3218F0BA789CC0014ABA6 /* test_rsi.c in Sources */, + CCF321900BA789CC0014ABA6 /* test_sar.c in Sources */, + CCF321910BA789CC0014ABA6 /* test_stddev.c in Sources */, + CCF321920BA789CC0014ABA6 /* test_stoch.c in Sources */, + CCF321930BA789CC0014ABA6 /* test_trange.c in Sources */, + CCF321940BA789CC0014ABA6 /* test_abstract.c in Sources */, + CCF321950BA789CC0014ABA6 /* test_data.c in Sources */, + CCF321960BA789CC0014ABA6 /* test_internals.c in Sources */, + CCF321970BA789CC0014ABA6 /* test_util.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + CCF321510BA788D40014ABA6 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 8D07F2BC0486CC7A007CD1D0 /* TALib */; + targetProxy = CCF321500BA788D40014ABA6 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 089C1666FE841158C02AAC07 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 089C1667FE841158C02AAC07 /* English */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 3A17093D089D33AE00A96AC2 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + DEBUGGING_SYMBOLS = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 0.1.5; + FRAMEWORK_SEARCH_PATHS = ""; + FRAMEWORK_VERSION = A; + GCC_ENABLE_TRIGRAPHS = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = ""; + GCC_PREPROCESSOR_DEFINITIONS = ( + __UNIX__, + __unix__, + NO_DEBUG, + USE_NAMED_SEMAPHORES, + _REENTRANT, + QT_THREAD_SUPPORT, + ); + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = ( + /usr/include/malloc, + /usr/include, + ); + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "@executable_path/../Frameworks"; + LIBRARY_SEARCH_PATHS = /usr/lib; + LIBRARY_STYLE = DYNAMIC; + MACH_O_TYPE = mh_dylib; + OTHER_CFLAGS = "-fno-strict-aliasing"; + OTHER_LDFLAGS = ( + "-seg1addr", + 0x4f000000, + ); + PREBINDING = YES; + PRODUCT_NAME = TALib; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = framework; + }; + name = Debug; + }; + 3A17093E089D33AE00A96AC2 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 0.1.5; + FRAMEWORK_SEARCH_PATHS = ""; + FRAMEWORK_VERSION = A; + GCC_ENABLE_TRIGRAPHS = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = ""; + GCC_PREPROCESSOR_DEFINITIONS = ( + __UNIX__, + __unix__, + NO_DEBUG, + USE_NAMED_SEMAPHORES, + _REENTRANT, + QT_THREAD_SUPPORT, + ); + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = ( + /usr/include/malloc, + /usr/include, + ); + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "@executable_path/../Frameworks"; + LIBRARY_SEARCH_PATHS = /usr/lib; + LIBRARY_STYLE = DYNAMIC; + MACH_O_TYPE = mh_dylib; + OTHER_CFLAGS = "-fno-strict-aliasing"; + OTHER_LDFLAGS = ( + "-seg1addr", + 0x4f000000, + ); + PREBINDING = YES; + PRODUCT_NAME = TALib; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = framework; + }; + name = Release; + }; + 3A170941089D33AE00A96AC2 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + ); + }; + name = Debug; + }; + 3A170942089D33AE00A96AC2 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + ); + }; + name = Release; + }; + CCF3214E0BA788B10014ABA6 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + ); + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + INSTALL_PATH = "$(HOME)/bin"; + PREBINDING = NO; + PRODUCT_NAME = "Regression Tests"; + ZERO_LINK = NO; + }; + name = Debug; + }; + CCF3214F0BA788B10014ABA6 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + ); + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_MODEL_TUNING = G5; + INSTALL_PATH = "$(HOME)/bin"; + PREBINDING = NO; + PRODUCT_NAME = "Regression Tests"; + ZERO_LINK = NO; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 3A17093C089D33AE00A96AC2 /* Build configuration list for PBXNativeTarget "TALib" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3A17093D089D33AE00A96AC2 /* Debug */, + 3A17093E089D33AE00A96AC2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 3A170940089D33AE00A96AC2 /* Build configuration list for PBXProject "TALib" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3A170941089D33AE00A96AC2 /* Debug */, + 3A170942089D33AE00A96AC2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + CCF3214D0BA788B10014ABA6 /* Build configuration list for PBXNativeTarget "Regression Tests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CCF3214E0BA788B10014ABA6 /* Debug */, + CCF3214F0BA788B10014ABA6 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 0867D690FE84028FC02AAC07 /* Project object */; +} diff --git a/vendor/ta-lib/ide/xcode/TALib/TALib_Prefix.pch b/vendor/ta-lib/ide/xcode/TALib/TALib_Prefix.pch new file mode 100644 index 000000000..7ea5cbfa2 --- /dev/null +++ b/vendor/ta-lib/ide/xcode/TALib/TALib_Prefix.pch @@ -0,0 +1,5 @@ +// +// Prefix header for all source files of the 'TALib' target in the 'TALib' project. +// + +#include diff --git a/vendor/ta-lib/ide/xcode/TALib/main.c b/vendor/ta-lib/ide/xcode/TALib/main.c new file mode 100644 index 000000000..416b14dc5 --- /dev/null +++ b/vendor/ta-lib/ide/xcode/TALib/main.c @@ -0,0 +1,3 @@ +/* This is the default source file for new frameworks. */ + +/* You can either fill in code here or remove this and create or add new files. */ diff --git a/vendor/ta-lib/ide/xcode/TALib/version.plist b/vendor/ta-lib/ide/xcode/TALib/version.plist new file mode 100644 index 000000000..169b5fae8 --- /dev/null +++ b/vendor/ta-lib/ide/xcode/TALib/version.plist @@ -0,0 +1,16 @@ + + + + + BuildVersion + 38 + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + ProjectName + CarbonProjectTemplates + SourceVersion + 140000 + + diff --git a/vendor/ta-lib/include/Makefile.am b/vendor/ta-lib/include/Makefile.am new file mode 100644 index 000000000..b99b6f178 --- /dev/null +++ b/vendor/ta-lib/include/Makefile.am @@ -0,0 +1,11 @@ + +bin_PRORAMS = libta_include + +libta_includedir=$(includedir)/ta-lib/ + +libta_include_HEADERS = ta_abstract.h + ta_defs.h \ + ta_libc.h \ + ta_common.h \ + ta_func.h \ + func_list.txt diff --git a/vendor/ta-lib/include/ta_abstract.h b/vendor/ta-lib/include/ta_abstract.h new file mode 100644 index 000000000..808b5ae43 --- /dev/null +++ b/vendor/ta-lib/include/ta_abstract.h @@ -0,0 +1,559 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef TA_ABSTRACT_H +#define TA_ABSTRACT_H + +#ifndef TA_COMMON_H + #include "ta_common.h" +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* This file defines the interface for calling all the TA functions without + * knowing at priori the parameters. + * + * This capability is particularly useful for an application who needs + * to support the complete list of TA functions without having to + * re-write new code each time a new function is added to TA-Lib. + * + * Example 1: + * Lets say you are doing a charting software. When the user select + * a price bar, a side list offers blindly all the TA functions + * that could be applied to a price bar. The user selects one of + * these, then a dialog open for allowing to adjust some parameter + * (TA-LIB will tell your software which parameter are needed and the + * valid range for each). Once all the parameter are set, you can + * call blindly the corresponding TA function. The returned + * information can then also blindly be drawn on the chart (some + * output flags allows to get some hint about how the data shall be + * displayed). + * The same "abstract" logic apply to all the TA functions. + * Some TA Functions works only on volume, or can work indiferently + * with any time serie data (the open, close, another indicator...). + * All the applicable functions to the currently selected/available + * data can be determined through this "virtual" interface. + * + * Example 2: + * Let's say you do not like the direct interface for + * calling the TA Functions, you can write a code that + * re-generate a different interface. This is already + * done even for the 'C' interface (ta_func.h is generated). + * + * Example 3: + * With the abstract interface you can easily generate + * glue code. Like generating an interface that integrates + * well within Perl... see the project SWIG if you are + * interested by such things. + * + * The abstract interface is used within TA-Lib to perform at least + * the following: + * - used by gen_code to generate all the glue code. + * - used by the Excel interface to call all the TA functions. + * - used to generate a XML representation of the TA functions. + */ + +/* The following functions are used to obtain the name of all the + * TA function groups ("Market Strength", "Trend Indicator" etc...). + * + * On success, it becomes the responsibility of the caller to + * call TA_GroupTableFree once the 'table' is no longuer needed. + * + * Example: + * This code snippet will print out the name of all the supported + * function group available: + * + * TA_StringTable *table; + * TA_RetCode retCode; + * int i; + * + * retCode = TA_GroupTableAlloc( &table ); + * + * if( retCode == TA_SUCCESS ) + * { + * for( i=0; i < table->size; i++ ) + * printf( "%s\n", table->string[i] ); + * + * TA_GroupTableFree( table ); + * } + */ +TA_RetCode TA_GroupTableAlloc( TA_StringTable **table ); +TA_RetCode TA_GroupTableFree ( TA_StringTable *table ); + +/* The following functions are used to obtain the name of all the + * function provided in a certain group. + * + * On success, it becomes the responsibility of the caller to + * call TA_FuncTableFree once the 'table' is no longuer needed. + * + * Passing NULL as the group string will return ALL the TA functions. + * (Note: All TA_Functions have a unique string identifier even when in + * seperate group). + * + * Example: + * This code snippet will print out the name of all the supported + * function in the "market strength" category: + * + * TA_StringTable *table; + * TA_RetCode retCode; + * int i; + * + * retCode = TA_FuncTableAlloc( "Market Strength", &table ); + * + * if( retCode == TA_SUCCESS ) + * { + * for( i=0; i < table->size; i++ ) + * printf( "%s\n", table->string[i] ); + * + * TA_FuncTableFree( table ); + * } + */ +TA_RetCode TA_FuncTableAlloc( const char *group, TA_StringTable **table ); +TA_RetCode TA_FuncTableFree ( TA_StringTable *table ); + +/* Using the name, you can obtain an handle unique to this function. + * This handle is further used for obtaining information on the + * parameters needed and also for potentially calling this TA function. + * + * For convenience, this handle can also be found in + * the TA_FuncInfo structure (see below). + */ +typedef unsigned int TA_FuncHandle; +TA_RetCode TA_GetFuncHandle( const char *name, + const TA_FuncHandle **handle ); + +/* Get some basic information about a function. + * + * A const pointer will be set on the corresponding TA_FuncInfo structure. + * The whole structure are hard coded constants and it can be assumed they + * will not change at runtime. + * + * Example: + * Print the number of inputs used by the MA (moving average) function. + * + * TA_RetCode retCode; + * TA_FuncHandle *handle; + * const TA_FuncInfo *theInfo; + * + * retCode = TA_GetFuncHandle( "MA", &handle ); + * + * if( retCode == TA_SUCCESS ) + * { + * retCode = TA_GetFuncInfo( handle, &theInfo ); + * if( retCode == TA_SUCCESS ) + * printf( "Nb Input = %d\n", theInfo->nbInput ); + * } + * + */ +typedef int TA_FuncFlags; +#define TA_FUNC_FLG_OVERLAP 0x01000000 /* Output scale same as input data. */ +#define TA_FUNC_FLG_VOLUME 0x04000000 /* Output shall be over the volume data. */ +#define TA_FUNC_FLG_UNST_PER 0x08000000 /* Indicate if this function have an unstable + * initial period. Some additional code exist + * for these functions for allowing to set that + * unstable period. See Documentation. + */ +#define TA_FUNC_FLG_CANDLESTICK 0x10000000 /* Output shall be a candlestick */ + +typedef struct TA_FuncInfo +{ + /* Constant information about the function. The + * information found in this structure is guarantee + * to not change at runtime. + */ + const char * name; + const char * group; + + const char * hint; + const char * camelCaseName; + TA_FuncFlags flags; + + unsigned int nbInput; + unsigned int nbOptInput; + unsigned int nbOutput; + + const TA_FuncHandle *handle; +} TA_FuncInfo; + +TA_RetCode TA_GetFuncInfo( const TA_FuncHandle *handle, + const TA_FuncInfo **funcInfo ); + + +/* An alternate way to access all the functions is through the + * use of the TA_ForEachFunc(). You can setup a function to be + * call back for each TA function in the TA-Lib. + * + * Example: + * This code will print the group and name of all available functions. + * + * void printFuncInfo( const TA_FuncInfo *funcInfo, void *opaqueData ) + * { + * printf( "Group=%s Name=%s\n", funcInfo->group, funcInfo->name ); + * } + * + * void displayListOfTAFunctions( void ) + * { + * TA_ForEachFunc( printFuncInfo, NULL ); + * } + */ +typedef void (*TA_CallForEachFunc)(const TA_FuncInfo *funcInfo, void *opaqueData ); + +TA_RetCode TA_ForEachFunc( TA_CallForEachFunc functionToCall, void *opaqueData ); + +/* The next section includes the data structures and function allowing to + * proceed with the call of a Tech. Analysis function. + * + * At first, it may seems a little bit complicated, but it is worth to take the + * effort to learn about it. Once you succeed to interface with TA-Abstract you get + * access to the complete library of TA functions at once without further effort. + */ + +/* Structures representing extended information on a parameter. */ + +typedef struct TA_RealRange +{ + TA_Real min; + TA_Real max; + TA_Integer precision; /* nb of digit after the '.' */ + + /* The following suggested value are used by Tech. Analysis software + * doing parameter "optimization". Can be ignored by most user. + */ + TA_Real suggested_start; + TA_Real suggested_end; + TA_Real suggested_increment; +} TA_RealRange; + +typedef struct TA_IntegerRange +{ + TA_Integer min; + TA_Integer max; + + /* The following suggested value are used by Tech. Analysis software + * doing parameter "optimization". Can be ignored by most user. + */ + TA_Integer suggested_start; + TA_Integer suggested_end; + TA_Integer suggested_increment; +} TA_IntegerRange; + +typedef struct TA_RealDataPair +{ + /* A TA_Real value and the corresponding string. */ + TA_Real value; + const char *string; +} TA_RealDataPair; + +typedef struct TA_IntegerDataPair +{ + /* A TA_Integer value and the corresponding string. */ + TA_Integer value; + const char *string; +} TA_IntegerDataPair; + +typedef struct TA_RealList +{ + const TA_RealDataPair *data; + unsigned int nbElement; +} TA_RealList; + +typedef struct TA_IntegerList +{ + const TA_IntegerDataPair *data; + unsigned int nbElement; +} TA_IntegerList; + +typedef enum +{ + TA_Input_Price, + TA_Input_Real, + TA_Input_Integer +} TA_InputParameterType; + +typedef enum +{ + TA_OptInput_RealRange, + TA_OptInput_RealList, + TA_OptInput_IntegerRange, + TA_OptInput_IntegerList +} TA_OptInputParameterType; + +typedef enum +{ + TA_Output_Real, + TA_Output_Integer +} TA_OutputParameterType; + +/* When the input is a TA_Input_Price, the following + * TA_InputFlags indicates the required components. + * These can be combined for functions requiring more + * than one component. + * + * Example: + * (TA_IN_PRICE_OPEN|TA_IN_PRICE_HIGH) + * Indicates that the functions requires two inputs + * that must be specifically the open and the high. + */ +typedef int TA_InputFlags; +#define TA_IN_PRICE_OPEN 0x00000001 +#define TA_IN_PRICE_HIGH 0x00000002 +#define TA_IN_PRICE_LOW 0x00000004 +#define TA_IN_PRICE_CLOSE 0x00000008 +#define TA_IN_PRICE_VOLUME 0x00000010 +#define TA_IN_PRICE_OPENINTEREST 0x00000020 +#define TA_IN_PRICE_TIMESTAMP 0x00000040 + +/* The following are flags for optional inputs. + * + * TA_OPTIN_IS_PERCENT: Input is a percentage. + * + * TA_OPTIN_IS_DEGREE: Input is a degree (0-360). + * + * TA_OPTIN_IS_CURRENCY: Input is a currency. + * + * TA_OPTIN_ADVANCED: + * Used for parameters who are rarely changed. + * Most application can hide these advanced optional inputs to their + * end-user (or make it harder to change). + */ +typedef int TA_OptInputFlags; +#define TA_OPTIN_IS_PERCENT 0x00100000 /* Input is a percentage. */ +#define TA_OPTIN_IS_DEGREE 0x00200000 /* Input is a degree (0-360). */ +#define TA_OPTIN_IS_CURRENCY 0x00400000 /* Input is a currency. */ +#define TA_OPTIN_ADVANCED 0x01000000 + + +/* The following are flags giving hint on what + * could be done with the output. + */ +typedef int TA_OutputFlags; +#define TA_OUT_LINE 0x00000001 /* Suggest to display as a connected line. */ +#define TA_OUT_DOT_LINE 0x00000002 /* Suggest to display as a 'dotted' line. */ +#define TA_OUT_DASH_LINE 0x00000004 /* Suggest to display as a 'dashed' line. */ +#define TA_OUT_DOT 0x00000008 /* Suggest to display with dots only. */ +#define TA_OUT_HISTO 0x00000010 /* Suggest to display as an histogram. */ +#define TA_OUT_PATTERN_BOOL 0x00000020 /* Indicates if pattern exists (!=0) or not (0) */ +#define TA_OUT_PATTERN_BULL_BEAR 0x00000040 /* =0 no pattern, > 0 bullish, < 0 bearish */ +#define TA_OUT_PATTERN_STRENGTH 0x00000080 /* =0 neutral, ]0..100] getting bullish, ]100..200] bullish, [-100..0[ getting bearish, [-200..100[ bearish */ +#define TA_OUT_POSITIVE 0x00000100 /* Output can be positive */ +#define TA_OUT_NEGATIVE 0x00000200 /* Output can be negative */ +#define TA_OUT_ZERO 0x00000400 /* Output can be zero */ +#define TA_OUT_UPPER_LIMIT 0x00000800 /* Indicates that the values represent an upper limit. */ +#define TA_OUT_LOWER_LIMIT 0x00001000 /* Indicates that the values represent a lower limit. */ + + +/* The following 3 structures will exist for each input, optional + * input and output. + * + * These structures tells you everything you need to know for identifying + * the parameters applicable to the function. + */ +typedef struct TA_InputParameterInfo +{ + TA_InputParameterType type; + const char *paramName; + TA_InputFlags flags; + +} TA_InputParameterInfo; + +typedef struct TA_OptInputParameterInfo +{ + TA_OptInputParameterType type; + const char *paramName; + TA_OptInputFlags flags; + + const char *displayName; + const void *dataSet; + TA_Real defaultValue; + const char *hint; + const char *helpFile; + +} TA_OptInputParameterInfo; + +typedef struct TA_OutputParameterInfo +{ + TA_OutputParameterType type; + const char *paramName; + TA_OutputFlags flags; + +} TA_OutputParameterInfo; + +/* Functions to get a const ptr on the "TA_XXXXXXParameterInfo". + * Max value for the 'paramIndex' can be found in the TA_FuncInfo structure. + * The 'handle' can be obtained from TA_GetFuncHandle or from a TA_FuncInfo. + * + * Short example: + * + * void displayInputType( const TA_FuncInfo *funcInfo ) + * { + * unsigned int i; + * const TA_InputParameterInfo *paramInfo; + * + * for( i=0; i < funcInfo->nbInput; i++ ) + * { + * TA_GetInputParameterInfo( funcInfo->handle, i, ¶mInfo ); + * switch( paramInfo->type ) + * { + * case TA_Input_Price: + * printf( "This function needs price bars as input\n" ); + * break; + * case TA_Input_Real: + * printf( "This function needs an array of floats as input\n" ); + * break; + * (... etc. ...) + * } + * } + * } + */ +TA_RetCode TA_GetInputParameterInfo( const TA_FuncHandle *handle, + unsigned int paramIndex, + const TA_InputParameterInfo **info ); + +TA_RetCode TA_GetOptInputParameterInfo( const TA_FuncHandle *handle, + unsigned int paramIndex, + const TA_OptInputParameterInfo **info ); + +TA_RetCode TA_GetOutputParameterInfo( const TA_FuncHandle *handle, + unsigned int paramIndex, + const TA_OutputParameterInfo **info ); + +/* Alloc a structure allowing to build the list of parameters + * for doing a call. + * + * All input and output parameters must be setup. If not, TA_BAD_PARAM + * will be returned when TA_CallFunc is called. + * + * The optional input are not required to be setup. A default value + * will always be used in that case. + * + * If there is an attempts to set a parameter with the wrong function + * (and thus the wrong type), TA_BAD_PARAM will be immediatly returned. + * + * Although this mechanism looks complicated, it is written for being fairly solid. + * If you provide a wrong parameter value, or wrong type, or wrong pointer etc. the + * library shall return TA_BAD_PARAM or TA_BAD_OBJECT and not hang. + */ +typedef struct TA_ParamHolder +{ + /* Implementation is hidden. */ + void *hiddenData; +} TA_ParamHolder; + +TA_RetCode TA_ParamHolderAlloc( const TA_FuncHandle *handle, + TA_ParamHolder **allocatedParams ); + +TA_RetCode TA_ParamHolderFree( TA_ParamHolder *params ); + +/* Setup the values of the data input parameters. + * + * paramIndex is zero for the first input. + */ +TA_RetCode TA_SetInputParamIntegerPtr( TA_ParamHolder *params, + unsigned int paramIndex, + const TA_Integer *value ); + +TA_RetCode TA_SetInputParamRealPtr( TA_ParamHolder *params, + unsigned int paramIndex, + const TA_Real *value ); + +TA_RetCode TA_SetInputParamPricePtr( TA_ParamHolder *params, + unsigned int paramIndex, + const TA_Real *open, + const TA_Real *high, + const TA_Real *low, + const TA_Real *close, + const TA_Real *volume, + const TA_Real *openInterest ); + +/* Setup the values of the optional input parameters. + * If an optional input is not set, a default value will be used. + * + * paramIndex is zero for the first optional input. + */ +TA_RetCode TA_SetOptInputParamInteger( TA_ParamHolder *params, + unsigned int paramIndex, + TA_Integer optInValue ); + +TA_RetCode TA_SetOptInputParamReal( TA_ParamHolder *params, + unsigned int paramIndex, + TA_Real optInValue ); + +/* Setup the parameters indicating where to store the output. + * + * The caller is responsible to allocate sufficient memory. A safe bet is to + * always do: nb of output elements == (endIdx-startIdx+1) + * + * paramIndex is zero for the first output. + * + */ +TA_RetCode TA_SetOutputParamIntegerPtr( TA_ParamHolder *params, + unsigned int paramIndex, + TA_Integer *out ); + +TA_RetCode TA_SetOutputParamRealPtr( TA_ParamHolder *params, + unsigned int paramIndex, + TA_Real *out ); + +/* Once the optional parameter are set, it is possible to + * get the lookback for this call. This information can be + * used to calculate the optimal size for the output buffers. + * (See the documentation for method to calculate the output size). + */ +TA_RetCode TA_GetLookback( const TA_ParamHolder *params, + TA_Integer *lookback ); + +/* Finally, call the TA function with the parameters. + * + * The TA function who is going to be called was specified + * when the TA_ParamHolderAlloc was done. + */ +TA_RetCode TA_CallFunc( const TA_ParamHolder *params, + TA_Integer startIdx, + TA_Integer endIdx, + TA_Integer *outBegIdx, + TA_Integer *outNbElement ); + + +/* Return XML representation of all the TA functions. + * The returned array is the same as the ta_func_api.xml file. + */ +const char *TA_FunctionDescriptionXML( void ); + +#ifdef __cplusplus +} +#endif + +#endif + diff --git a/vendor/ta-lib/include/ta_common.h b/vendor/ta-lib/include/ta_common.h new file mode 100644 index 000000000..5d7c2449e --- /dev/null +++ b/vendor/ta-lib/include/ta_common.h @@ -0,0 +1,149 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef TA_COMMON_H +#define TA_COMMON_H + +/* The following macros are used to return internal errors. + * The Id can be from 1 to 999 and translate to the user + * as the return code 5000 to 5999. + * + * Everytime you wish to add a new fatal error code, + * use the "NEXT AVAILABLE NUMBER" and increment the + * number in this file. + * + * NEXT AVAILABLE NUMBER: 181 + */ +#define TA_INTERNAL_ERROR(Id) ((TA_RetCode)(TA_INTERNAL_ERROR+Id)) + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +#ifndef TA_DEFS_H + #include "ta_defs.h" +#endif + +/* Some functions to get the version of TA-Lib. + * + * Format is "Major.Minor.Patch (Month Day Year Hour:Min:Sec)" + * + * Example: "1.2.0 (Jan 17 2004 23:59:59)" + * + * Major increments indicates an "Highly Recommended" update. + * + * Minor increments indicates arbitrary milestones in the + * development of the next major version. + * + * Patch are fixes to a "Major.Minor" release. + */ +const char *TA_GetVersionString( void ); + +/* Get individual component of the Version string */ +const char *TA_GetVersionMajor ( void ); +const char *TA_GetVersionMinor ( void ); +const char *TA_GetVersionBuild ( void ); +const char *TA_GetVersionDate ( void ); +const char *TA_GetVersionTime ( void ); + +/* Misc. declaration used throughout the library code. */ +typedef double TA_Real; +typedef int TA_Integer; + +/* General purpose structure containing an array of string. + * + * Example of usage: + * void printStringTable( TA_StringTable *table ) + * { + * int i; + * for( i=0; i < table->size; i++ ) + * cout << table->string[i] << endl; + * } + * + */ +typedef struct TA_StringTable +{ + unsigned int size; /* Number of string. */ + const char **string; /* Pointer to the strings. */ + + /* Hidden data for internal use by TA-Lib. Do not modify. */ + void *hiddenData; +} TA_StringTable; +/* End-user can get additional information related to a TA_RetCode. + * + * Example: + * TA_RetCodeInfo info; + * + * retCode = TA_Initialize( ... ); + * + * if( retCode != TA_SUCCESS ) + * { + * TA_SetRetCodeInfo( retCode, &info ); + * printf( "Error %d(%s): %s\n", + * retCode, + * info.enumStr, + * info.infoStr ); + * } + * + * Would display: + * "Error 1(TA_LIB_NOT_INITIALIZE): TA_Initialize was not sucessfully called" + */ +typedef struct TA_RetCodeInfo +{ + const char *enumStr; /* Like "TA_IP_SOCKETERROR" */ + const char *infoStr; /* Like "Error creating socket" */ +} TA_RetCodeInfo; + +/* Info is always returned, even when 'theRetCode' is invalid. */ +void TA_SetRetCodeInfo( TA_RetCode theRetCode, TA_RetCodeInfo *retCodeInfo ); + +/* TA_Initialize() initialize the ressources used by TA-Lib. This + * function must be called once prior to any other functions declared in + * this file. + * + * TA_Shutdown() allows to free all ressources used by TA-Lib. Following + * a shutdown, TA_Initialize() must be called again for re-using TA-Lib. + * + * TA_Shutdown() should be called prior to exiting the application code. + */ +TA_RetCode TA_Initialize( void ); +TA_RetCode TA_Shutdown( void ); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/vendor/ta-lib/include/ta_defs.h b/vendor/ta-lib/include/ta_defs.h new file mode 100644 index 000000000..2c36143b1 --- /dev/null +++ b/vendor/ta-lib/include/ta_defs.h @@ -0,0 +1,319 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef TA_DEFS_H +#define TA_DEFS_H + +/*** The following block of code is to define: + *** + *** UInt32 : 32 bits unsigned integer. + *** Int32 : 32 bits signed integer. + *** UInt64 : 64 bits unsigned integer. + *** Int64 : 64 bits signed integer. + *** + *** INT_MIN : The minimal value for Int32 + *** INT_MAX : The maximal value for Int32 + ***/ +#ifndef FD_DEFS_H + #if defined( _MANAGED ) + /* Int32, UInt32, Int64 and UInt64 are built-in for .NET */ + #define INT_MIN (Int32::MinValue) + #define INT_MAX (Int32::MaxValue) + #elif defined( _JAVA ) + #define INT_MIN Integer.MIN_VALUE + #define INT_MAX Integer.MAX_VALUE + #else + #include + + /* Identify if 64 bits platform with __64BIT__. + * Can also be done from compiler command line. + */ + #if defined(_WIN64) + #define __64BIT__ 1 + #endif + + #if defined( __LP64__ ) || defined( _LP64 ) + #define __64BIT__ 1 + #endif + + /* Check also for some known GCC def for 64 bits platform. */ + #if defined(__alpha__)\ + ||defined(__ia64__)\ + ||defined(__ppc64__)\ + ||defined(__s390x__)\ + ||defined(__x86_64__) + #define __64BIT__ 1 + #endif + + #if !defined(__MACTYPES__) + typedef signed int Int32; + typedef unsigned int UInt32; + + #if defined(_WIN32) || defined(_WIN64) + /* See "Windows Data Types". Platform SDK. MSDN documentation. */ + typedef signed __int64 Int64; + typedef unsigned __int64 UInt64; + #else + #if defined(__64BIT__) + /* Standard LP64 model for 64 bits Unix platform. */ + typedef signed long Int64; + typedef unsigned long UInt64; + #else + /* Standard ILP32 model for 32 bits Unix platform. */ + typedef signed long long Int64; + typedef unsigned long long UInt64; + #endif + #endif + #endif + #endif +#endif + +/* Enumeration and macros to abstract syntax differences + * between C, C++, managed C++ and Java. + */ +#if defined( _MANAGED ) + + /* CMJ is the "CManagedJava" macro. It allows to write variant + * for the 3 different languages. + */ + #define CMJ(c,managed,java) managed + + /* Enumeration abstraction */ + #define ENUM_BEGIN(w) enum class w { + #define ENUM_DEFINE(x,y) y + #define ENUM_VALUE(w,x,y) (w::y) + #define ENUM_CASE(w,x,y) (w::y) + #define ENUM_DECLARATION(w) w + #define ENUM_END(w) }; + + /* Structure abstraction */ + #define STRUCT_BEGIN(x) struct x { + #define STRUCT_END(x) }; + + /* Pointer/reference abstraction */ + #define VALUE_HANDLE_INT(name) int name + #define VALUE_HANDLE_DEREF(name) name + #define VALUE_HANDLE_DEREF_TO_ZERO(name) name = 0 + #define VALUE_HANDLE_OUT(name) name + + #define VALUE_HANDLE_GET(name) name + #define VALUE_HANDLE_SET(name,x) name = x + + /* Misc. */ + #define CONSTANT_DOUBLE(x) const double x + #define NAMESPACE(x) x:: + #define UNUSED_VARIABLE(x) (void)x + +#elif defined( _JAVA ) + #define CMJ(c,managed,java) java + + #define ENUM_BEGIN(w) public enum w { + #define ENUM_DEFINE(x,y) y + #define ENUM_VALUE(w,x,y) w.y + #define ENUM_CASE(w,x,y) y + #define ENUM_DECLARATION(w) w + #define ENUM_END(w) }; + + #define STRUCT_BEGIN(x) public class x { + #define STRUCT_END(x) }; + + #define VALUE_HANDLE_INT(name) MInteger name = new MInteger() + #define VALUE_HANDLE_DEREF(name) name.value + #define VALUE_HANDLE_DEREF_TO_ZERO(name) name.value = 0 + #define VALUE_HANDLE_OUT(name) name + + #define VALUE_HANDLE_GET(name) name.value + #define VALUE_HANDLE_SET(name,x) name.value = x + + #define CONSTANT_DOUBLE(x) final double x + #define NAMESPACE(x) x. + #define UNUSED_VARIABLE(x) + +#else + + #define CMJ(c,managed,java) c + + #define ENUM_BEGIN(w) typedef enum { + #define ENUM_DEFINE(x,y) x + #define ENUM_VALUE(w,x,y) x + #define ENUM_CASE(w,x,y) x + #define ENUM_DECLARATION(w) TA_##w + #define ENUM_END(w) } TA_##w; + + #define STRUCT_BEGIN(x) typedef struct { + #define STRUCT_END(x) } x; + + #define VALUE_HANDLE_INT(name) int name + #define VALUE_HANDLE_DEREF(name) (*name) + #define VALUE_HANDLE_DEREF_TO_ZERO(name) (*name) = 0 + #define VALUE_HANDLE_OUT(name) &name + + #define VALUE_HANDLE_GET(name) name + #define VALUE_HANDLE_SET(name,x) name = x + + #define CONSTANT_DOUBLE(x) const double x + #define NAMESPACE(x) + #define UNUSED_VARIABLE(x) (void)x +#endif + +/* Abstraction of function calls within the library. + * Needed because Java/.NET allows overloading, while for C the + * TA_PREFIX allows to select variant of the same function. + */ +#define FUNCTION_CALL(x) TA_PREFIX(x) +#define FUNCTION_CALL_DOUBLE(x) TA_##x +#define LOOKBACK_CALL(x) TA_##x##_Lookback + +/* min/max value for a TA_Integer */ +#define TA_INTEGER_MIN (INT_MIN+1) +#define TA_INTEGER_MAX (INT_MAX) + +/* min/max value for a TA_Real + * + * Use fix value making sense in the + * context of TA-Lib (avoid to use DBL_MIN + * and DBL_MAX standard macro because they + * are troublesome with some compiler). + */ +#define TA_REAL_MIN (-3e+37) +#define TA_REAL_MAX (3e+37) + +/* A value outside of the min/max range + * indicates an undefined or default value. + */ +#define TA_INTEGER_DEFAULT (INT_MIN) +#define TA_REAL_DEFAULT (-4e+37) + +/* Part of this file is generated by gen_code */ + +ENUM_BEGIN( RetCode ) + /* 0 */ ENUM_DEFINE( TA_SUCCESS, Success ), /* No error */ + /* 1 */ ENUM_DEFINE( TA_LIB_NOT_INITIALIZE, LibNotInitialize ), /* TA_Initialize was not sucessfully called */ + /* 2 */ ENUM_DEFINE( TA_BAD_PARAM, BadParam ), /* A parameter is out of range */ + /* 3 */ ENUM_DEFINE( TA_ALLOC_ERR, AllocErr ), /* Possibly out-of-memory */ + /* 4 */ ENUM_DEFINE( TA_GROUP_NOT_FOUND, GroupNotFound ), + /* 5 */ ENUM_DEFINE( TA_FUNC_NOT_FOUND, FuncNotFound ), + /* 6 */ ENUM_DEFINE( TA_INVALID_HANDLE, InvalidHandle ), + /* 7 */ ENUM_DEFINE( TA_INVALID_PARAM_HOLDER, InvalidParamHolder ), + /* 8 */ ENUM_DEFINE( TA_INVALID_PARAM_HOLDER_TYPE, InvalidParamHolderType ), + /* 9 */ ENUM_DEFINE( TA_INVALID_PARAM_FUNCTION, InvalidParamFunction ), + /* 10 */ ENUM_DEFINE( TA_INPUT_NOT_ALL_INITIALIZE, InputNotAllInitialize ), + /* 11 */ ENUM_DEFINE( TA_OUTPUT_NOT_ALL_INITIALIZE, OutputNotAllInitialize ), + /* 12 */ ENUM_DEFINE( TA_OUT_OF_RANGE_START_INDEX, OutOfRangeStartIndex ), + /* 13 */ ENUM_DEFINE( TA_OUT_OF_RANGE_END_INDEX, OutOfRangeEndIndex ), + /* 14 */ ENUM_DEFINE( TA_INVALID_LIST_TYPE, InvalidListType ), + /* 15 */ ENUM_DEFINE( TA_BAD_OBJECT, BadObject ), + /* 16 */ ENUM_DEFINE( TA_NOT_SUPPORTED, NotSupported ), + /* 5000 */ ENUM_DEFINE( TA_INTERNAL_ERROR, InternalError ) = 5000, + /* 0xFFFF */ ENUM_DEFINE( TA_UNKNOWN_ERR, UnknownErr ) = 0xFFFF +ENUM_END( RetCode ) + +ENUM_BEGIN( Compatibility ) + ENUM_DEFINE( TA_COMPATIBILITY_DEFAULT, Default ), + ENUM_DEFINE( TA_COMPATIBILITY_METASTOCK, Metastock ) +ENUM_END( Compatibility ) + +ENUM_BEGIN( MAType ) + ENUM_DEFINE( TA_MAType_SMA, Sma ) =0, + ENUM_DEFINE( TA_MAType_EMA, Ema ) =1, + ENUM_DEFINE( TA_MAType_WMA, Wma ) =2, + ENUM_DEFINE( TA_MAType_DEMA, Dema ) =3, + ENUM_DEFINE( TA_MAType_TEMA, Tema ) =4, + ENUM_DEFINE( TA_MAType_TRIMA, Trima ) =5, + ENUM_DEFINE( TA_MAType_KAMA, Kama ) =6, + ENUM_DEFINE( TA_MAType_MAMA, Mama ) =7, + ENUM_DEFINE( TA_MAType_T3, T3 ) =8 +ENUM_END( MAType ) + + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ ENUM_BEGIN( FuncUnstId ) +/* Generated */ /* 000 */ ENUM_DEFINE( TA_FUNC_UNST_ADX, Adx), +/* Generated */ /* 001 */ ENUM_DEFINE( TA_FUNC_UNST_ADXR, Adxr), +/* Generated */ /* 002 */ ENUM_DEFINE( TA_FUNC_UNST_ATR, Atr), +/* Generated */ /* 003 */ ENUM_DEFINE( TA_FUNC_UNST_CMO, Cmo), +/* Generated */ /* 004 */ ENUM_DEFINE( TA_FUNC_UNST_DX, Dx), +/* Generated */ /* 005 */ ENUM_DEFINE( TA_FUNC_UNST_EMA, Ema), +/* Generated */ /* 006 */ ENUM_DEFINE( TA_FUNC_UNST_HT_DCPERIOD, HtDcPeriod), +/* Generated */ /* 007 */ ENUM_DEFINE( TA_FUNC_UNST_HT_DCPHASE, HtDcPhase), +/* Generated */ /* 008 */ ENUM_DEFINE( TA_FUNC_UNST_HT_PHASOR, HtPhasor), +/* Generated */ /* 009 */ ENUM_DEFINE( TA_FUNC_UNST_HT_SINE, HtSine), +/* Generated */ /* 010 */ ENUM_DEFINE( TA_FUNC_UNST_HT_TRENDLINE, HtTrendline), +/* Generated */ /* 011 */ ENUM_DEFINE( TA_FUNC_UNST_HT_TRENDMODE, HtTrendMode), +/* Generated */ /* 012 */ ENUM_DEFINE( TA_FUNC_UNST_KAMA, Kama), +/* Generated */ /* 013 */ ENUM_DEFINE( TA_FUNC_UNST_MAMA, Mama), +/* Generated */ /* 014 */ ENUM_DEFINE( TA_FUNC_UNST_MFI, Mfi), +/* Generated */ /* 015 */ ENUM_DEFINE( TA_FUNC_UNST_MINUS_DI, MinusDI), +/* Generated */ /* 016 */ ENUM_DEFINE( TA_FUNC_UNST_MINUS_DM, MinusDM), +/* Generated */ /* 017 */ ENUM_DEFINE( TA_FUNC_UNST_NATR, Natr), +/* Generated */ /* 018 */ ENUM_DEFINE( TA_FUNC_UNST_PLUS_DI, PlusDI), +/* Generated */ /* 019 */ ENUM_DEFINE( TA_FUNC_UNST_PLUS_DM, PlusDM), +/* Generated */ /* 020 */ ENUM_DEFINE( TA_FUNC_UNST_RSI, Rsi), +/* Generated */ /* 021 */ ENUM_DEFINE( TA_FUNC_UNST_STOCHRSI, StochRsi), +/* Generated */ /* 022 */ ENUM_DEFINE( TA_FUNC_UNST_T3, T3), +/* Generated */ ENUM_DEFINE( TA_FUNC_UNST_ALL, FuncUnstAll), +/* Generated */ ENUM_DEFINE( TA_FUNC_UNST_NONE, FuncUnstNone) = -1 +/* Generated */ ENUM_END( FuncUnstId ) +/* Generated */ +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ + +/* The TA_RangeType enum specifies the types of range that can be considered + * when to compare a part of a candle to other candles + */ + +ENUM_BEGIN( RangeType ) + ENUM_DEFINE( TA_RangeType_RealBody, RealBody ), + ENUM_DEFINE( TA_RangeType_HighLow, HighLow ), + ENUM_DEFINE( TA_RangeType_Shadows, Shadows ) +ENUM_END( RangeType ) + +/* The TA_CandleSettingType enum specifies which kind of setting to consider; + * the settings are based on the parts of the candle and the common words + * indicating the length (short, long, very long) + */ +ENUM_BEGIN( CandleSettingType ) + ENUM_DEFINE( TA_BodyLong, BodyLong ), + ENUM_DEFINE( TA_BodyVeryLong, BodyVeryLong ), + ENUM_DEFINE( TA_BodyShort, BodyShort ), + ENUM_DEFINE( TA_BodyDoji, BodyDoji ), + ENUM_DEFINE( TA_ShadowLong, ShadowLong ), + ENUM_DEFINE( TA_ShadowVeryLong, ShadowVeryLong ), + ENUM_DEFINE( TA_ShadowShort, ShadowShort ), + ENUM_DEFINE( TA_ShadowVeryShort, ShadowVeryShort ), + ENUM_DEFINE( TA_Near, Near ), + ENUM_DEFINE( TA_Far, Far ), + ENUM_DEFINE( TA_Equal, Equal ), + ENUM_DEFINE( TA_AllCandleSettings, AllCandleSettings ) +ENUM_END( CandleSettingType ) + +#endif diff --git a/vendor/ta-lib/include/ta_func.h b/vendor/ta-lib/include/ta_func.h new file mode 100644 index 000000000..918b4dc88 --- /dev/null +++ b/vendor/ta-lib/include/ta_func.h @@ -0,0 +1,5240 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef TA_FUNC_H +#define TA_FUNC_H + +#ifndef TA_COMMON_H + #include "ta_common.h" +#endif + +/* This header contains the prototype of all the Technical Analysis + * function provided by TA-LIB. + */ + +/* TA-LIB Developer Note: Do not modify this file, it is automaticaly + * generated by gen_code. + */ +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef TA_DEFS_H + #include "ta_defs.h" +#endif + + +/* + * TA_ACOS - Vector Trigonometric ACos + * + * Input = double + * Output = double + * + */ +TA_RetCode TA_ACOS( int startIdx, + int endIdx, + const double inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_ACOS( int startIdx, + int endIdx, + const float inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_ACOS_Lookback( void ); + + +/* + * TA_AD - Chaikin A/D Line + * + * Input = High, Low, Close, Volume + * Output = double + * + */ +TA_RetCode TA_AD( int startIdx, + int endIdx, + const double inHigh[], + const double inLow[], + const double inClose[], + const double inVolume[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_AD( int startIdx, + int endIdx, + const float inHigh[], + const float inLow[], + const float inClose[], + const float inVolume[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_AD_Lookback( void ); + + +/* + * TA_ADD - Vector Arithmetic Add + * + * Input = double, double + * Output = double + * + */ +TA_RetCode TA_ADD( int startIdx, + int endIdx, + const double inReal0[], + const double inReal1[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_ADD( int startIdx, + int endIdx, + const float inReal0[], + const float inReal1[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_ADD_Lookback( void ); + + +/* + * TA_ADOSC - Chaikin A/D Oscillator + * + * Input = High, Low, Close, Volume + * Output = double + * + * Optional Parameters + * ------------------- + * optInFastPeriod:(From 2 to 100000) + * Number of period for the fast MA + * + * optInSlowPeriod:(From 2 to 100000) + * Number of period for the slow MA + * + * + */ +TA_RetCode TA_ADOSC( int startIdx, + int endIdx, + const double inHigh[], + const double inLow[], + const double inClose[], + const double inVolume[], + int optInFastPeriod, /* From 2 to 100000 */ + int optInSlowPeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_ADOSC( int startIdx, + int endIdx, + const float inHigh[], + const float inLow[], + const float inClose[], + const float inVolume[], + int optInFastPeriod, /* From 2 to 100000 */ + int optInSlowPeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_ADOSC_Lookback( int optInFastPeriod, /* From 2 to 100000 */ + int optInSlowPeriod ); /* From 2 to 100000 */ + + +/* + * TA_ADX - Average Directional Movement Index + * + * Input = High, Low, Close + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_ADX( int startIdx, + int endIdx, + const double inHigh[], + const double inLow[], + const double inClose[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_ADX( int startIdx, + int endIdx, + const float inHigh[], + const float inLow[], + const float inClose[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_ADX_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_ADXR - Average Directional Movement Index Rating + * + * Input = High, Low, Close + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_ADXR( int startIdx, + int endIdx, + const double inHigh[], + const double inLow[], + const double inClose[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_ADXR( int startIdx, + int endIdx, + const float inHigh[], + const float inLow[], + const float inClose[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_ADXR_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_APO - Absolute Price Oscillator + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInFastPeriod:(From 2 to 100000) + * Number of period for the fast MA + * + * optInSlowPeriod:(From 2 to 100000) + * Number of period for the slow MA + * + * optInMAType: + * Type of Moving Average + * + * + */ +TA_RetCode TA_APO( int startIdx, + int endIdx, + const double inReal[], + int optInFastPeriod, /* From 2 to 100000 */ + int optInSlowPeriod, /* From 2 to 100000 */ + TA_MAType optInMAType, + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_APO( int startIdx, + int endIdx, + const float inReal[], + int optInFastPeriod, /* From 2 to 100000 */ + int optInSlowPeriod, /* From 2 to 100000 */ + TA_MAType optInMAType, + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_APO_Lookback( int optInFastPeriod, /* From 2 to 100000 */ + int optInSlowPeriod, /* From 2 to 100000 */ + TA_MAType optInMAType ); + +/* + * TA_AROON - Aroon + * + * Input = High, Low + * Output = double, double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_AROON( int startIdx, + int endIdx, + const double inHigh[], + const double inLow[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outAroonDown[], + double outAroonUp[] ); + +TA_RetCode TA_S_AROON( int startIdx, + int endIdx, + const float inHigh[], + const float inLow[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outAroonDown[], + double outAroonUp[] ); + +int TA_AROON_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_AROONOSC - Aroon Oscillator + * + * Input = High, Low + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_AROONOSC( int startIdx, + int endIdx, + const double inHigh[], + const double inLow[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_AROONOSC( int startIdx, + int endIdx, + const float inHigh[], + const float inLow[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_AROONOSC_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_ASIN - Vector Trigonometric ASin + * + * Input = double + * Output = double + * + */ +TA_RetCode TA_ASIN( int startIdx, + int endIdx, + const double inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_ASIN( int startIdx, + int endIdx, + const float inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_ASIN_Lookback( void ); + + +/* + * TA_ATAN - Vector Trigonometric ATan + * + * Input = double + * Output = double + * + */ +TA_RetCode TA_ATAN( int startIdx, + int endIdx, + const double inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_ATAN( int startIdx, + int endIdx, + const float inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_ATAN_Lookback( void ); + + +/* + * TA_ATR - Average True Range + * + * Input = High, Low, Close + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_ATR( int startIdx, + int endIdx, + const double inHigh[], + const double inLow[], + const double inClose[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_ATR( int startIdx, + int endIdx, + const float inHigh[], + const float inLow[], + const float inClose[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_ATR_Lookback( int optInTimePeriod ); /* From 1 to 100000 */ + + +/* + * TA_AVGPRICE - Average Price + * + * Input = Open, High, Low, Close + * Output = double + * + */ +TA_RetCode TA_AVGPRICE( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_AVGPRICE( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_AVGPRICE_Lookback( void ); + + +/* + * TA_BBANDS - Bollinger Bands + * + * Input = double + * Output = double, double, double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * optInNbDevUp:(From TA_REAL_MIN to TA_REAL_MAX) + * Deviation multiplier for upper band + * + * optInNbDevDn:(From TA_REAL_MIN to TA_REAL_MAX) + * Deviation multiplier for lower band + * + * optInMAType: + * Type of Moving Average + * + * + */ +TA_RetCode TA_BBANDS( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + double optInNbDevUp, /* From TA_REAL_MIN to TA_REAL_MAX */ + double optInNbDevDn, /* From TA_REAL_MIN to TA_REAL_MAX */ + TA_MAType optInMAType, + int *outBegIdx, + int *outNBElement, + double outRealUpperBand[], + double outRealMiddleBand[], + double outRealLowerBand[] ); + +TA_RetCode TA_S_BBANDS( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + double optInNbDevUp, /* From TA_REAL_MIN to TA_REAL_MAX */ + double optInNbDevDn, /* From TA_REAL_MIN to TA_REAL_MAX */ + TA_MAType optInMAType, + int *outBegIdx, + int *outNBElement, + double outRealUpperBand[], + double outRealMiddleBand[], + double outRealLowerBand[] ); + +int TA_BBANDS_Lookback( int optInTimePeriod, /* From 2 to 100000 */ + double optInNbDevUp, /* From TA_REAL_MIN to TA_REAL_MAX */ + double optInNbDevDn, /* From TA_REAL_MIN to TA_REAL_MAX */ + TA_MAType optInMAType ); + +/* + * TA_BETA - Beta + * + * Input = double, double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_BETA( int startIdx, + int endIdx, + const double inReal0[], + const double inReal1[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_BETA( int startIdx, + int endIdx, + const float inReal0[], + const float inReal1[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_BETA_Lookback( int optInTimePeriod ); /* From 1 to 100000 */ + + +/* + * TA_BOP - Balance Of Power + * + * Input = Open, High, Low, Close + * Output = double + * + */ +TA_RetCode TA_BOP( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_BOP( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_BOP_Lookback( void ); + + +/* + * TA_CCI - Commodity Channel Index + * + * Input = High, Low, Close + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_CCI( int startIdx, + int endIdx, + const double inHigh[], + const double inLow[], + const double inClose[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_CCI( int startIdx, + int endIdx, + const float inHigh[], + const float inLow[], + const float inClose[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_CCI_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_CDL2CROWS - Two Crows + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDL2CROWS( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDL2CROWS( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDL2CROWS_Lookback( void ); + + +/* + * TA_CDL3BLACKCROWS - Three Black Crows + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDL3BLACKCROWS( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDL3BLACKCROWS( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDL3BLACKCROWS_Lookback( void ); + + +/* + * TA_CDL3INSIDE - Three Inside Up/Down + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDL3INSIDE( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDL3INSIDE( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDL3INSIDE_Lookback( void ); + + +/* + * TA_CDL3LINESTRIKE - Three-Line Strike + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDL3LINESTRIKE( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDL3LINESTRIKE( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDL3LINESTRIKE_Lookback( void ); + + +/* + * TA_CDL3OUTSIDE - Three Outside Up/Down + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDL3OUTSIDE( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDL3OUTSIDE( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDL3OUTSIDE_Lookback( void ); + + +/* + * TA_CDL3STARSINSOUTH - Three Stars In The South + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDL3STARSINSOUTH( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDL3STARSINSOUTH( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDL3STARSINSOUTH_Lookback( void ); + + +/* + * TA_CDL3WHITESOLDIERS - Three Advancing White Soldiers + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDL3WHITESOLDIERS( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDL3WHITESOLDIERS( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDL3WHITESOLDIERS_Lookback( void ); + + +/* + * TA_CDLABANDONEDBABY - Abandoned Baby + * + * Input = Open, High, Low, Close + * Output = int + * + * Optional Parameters + * ------------------- + * optInPenetration:(From 0 to TA_REAL_MAX) + * Percentage of penetration of a candle within another candle + * + * + */ +TA_RetCode TA_CDLABANDONEDBABY( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + double optInPenetration, /* From 0 to TA_REAL_MAX */ + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLABANDONEDBABY( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + double optInPenetration, /* From 0 to TA_REAL_MAX */ + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLABANDONEDBABY_Lookback( double optInPenetration ); /* From 0 to TA_REAL_MAX */ + + +/* + * TA_CDLADVANCEBLOCK - Advance Block + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLADVANCEBLOCK( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLADVANCEBLOCK( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLADVANCEBLOCK_Lookback( void ); + + +/* + * TA_CDLBELTHOLD - Belt-hold + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLBELTHOLD( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLBELTHOLD( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLBELTHOLD_Lookback( void ); + + +/* + * TA_CDLBREAKAWAY - Breakaway + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLBREAKAWAY( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLBREAKAWAY( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLBREAKAWAY_Lookback( void ); + + +/* + * TA_CDLCLOSINGMARUBOZU - Closing Marubozu + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLCLOSINGMARUBOZU( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLCLOSINGMARUBOZU( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLCLOSINGMARUBOZU_Lookback( void ); + + +/* + * TA_CDLCONCEALBABYSWALL - Concealing Baby Swallow + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLCONCEALBABYSWALL( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLCONCEALBABYSWALL( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLCONCEALBABYSWALL_Lookback( void ); + + +/* + * TA_CDLCOUNTERATTACK - Counterattack + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLCOUNTERATTACK( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLCOUNTERATTACK( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLCOUNTERATTACK_Lookback( void ); + + +/* + * TA_CDLDARKCLOUDCOVER - Dark Cloud Cover + * + * Input = Open, High, Low, Close + * Output = int + * + * Optional Parameters + * ------------------- + * optInPenetration:(From 0 to TA_REAL_MAX) + * Percentage of penetration of a candle within another candle + * + * + */ +TA_RetCode TA_CDLDARKCLOUDCOVER( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + double optInPenetration, /* From 0 to TA_REAL_MAX */ + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLDARKCLOUDCOVER( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + double optInPenetration, /* From 0 to TA_REAL_MAX */ + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLDARKCLOUDCOVER_Lookback( double optInPenetration ); /* From 0 to TA_REAL_MAX */ + + +/* + * TA_CDLDOJI - Doji + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLDOJI( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLDOJI( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLDOJI_Lookback( void ); + + +/* + * TA_CDLDOJISTAR - Doji Star + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLDOJISTAR( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLDOJISTAR( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLDOJISTAR_Lookback( void ); + + +/* + * TA_CDLDRAGONFLYDOJI - Dragonfly Doji + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLDRAGONFLYDOJI( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLDRAGONFLYDOJI( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLDRAGONFLYDOJI_Lookback( void ); + + +/* + * TA_CDLENGULFING - Engulfing Pattern + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLENGULFING( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLENGULFING( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLENGULFING_Lookback( void ); + + +/* + * TA_CDLEVENINGDOJISTAR - Evening Doji Star + * + * Input = Open, High, Low, Close + * Output = int + * + * Optional Parameters + * ------------------- + * optInPenetration:(From 0 to TA_REAL_MAX) + * Percentage of penetration of a candle within another candle + * + * + */ +TA_RetCode TA_CDLEVENINGDOJISTAR( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + double optInPenetration, /* From 0 to TA_REAL_MAX */ + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLEVENINGDOJISTAR( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + double optInPenetration, /* From 0 to TA_REAL_MAX */ + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLEVENINGDOJISTAR_Lookback( double optInPenetration ); /* From 0 to TA_REAL_MAX */ + + +/* + * TA_CDLEVENINGSTAR - Evening Star + * + * Input = Open, High, Low, Close + * Output = int + * + * Optional Parameters + * ------------------- + * optInPenetration:(From 0 to TA_REAL_MAX) + * Percentage of penetration of a candle within another candle + * + * + */ +TA_RetCode TA_CDLEVENINGSTAR( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + double optInPenetration, /* From 0 to TA_REAL_MAX */ + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLEVENINGSTAR( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + double optInPenetration, /* From 0 to TA_REAL_MAX */ + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLEVENINGSTAR_Lookback( double optInPenetration ); /* From 0 to TA_REAL_MAX */ + + +/* + * TA_CDLGAPSIDESIDEWHITE - Up/Down-gap side-by-side white lines + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLGAPSIDESIDEWHITE( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLGAPSIDESIDEWHITE( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLGAPSIDESIDEWHITE_Lookback( void ); + + +/* + * TA_CDLGRAVESTONEDOJI - Gravestone Doji + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLGRAVESTONEDOJI( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLGRAVESTONEDOJI( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLGRAVESTONEDOJI_Lookback( void ); + + +/* + * TA_CDLHAMMER - Hammer + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLHAMMER( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLHAMMER( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLHAMMER_Lookback( void ); + + +/* + * TA_CDLHANGINGMAN - Hanging Man + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLHANGINGMAN( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLHANGINGMAN( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLHANGINGMAN_Lookback( void ); + + +/* + * TA_CDLHARAMI - Harami Pattern + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLHARAMI( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLHARAMI( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLHARAMI_Lookback( void ); + + +/* + * TA_CDLHARAMICROSS - Harami Cross Pattern + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLHARAMICROSS( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLHARAMICROSS( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLHARAMICROSS_Lookback( void ); + + +/* + * TA_CDLHIGHWAVE - High-Wave Candle + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLHIGHWAVE( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLHIGHWAVE( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLHIGHWAVE_Lookback( void ); + + +/* + * TA_CDLHIKKAKE - Hikkake Pattern + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLHIKKAKE( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLHIKKAKE( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLHIKKAKE_Lookback( void ); + + +/* + * TA_CDLHIKKAKEMOD - Modified Hikkake Pattern + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLHIKKAKEMOD( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLHIKKAKEMOD( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLHIKKAKEMOD_Lookback( void ); + + +/* + * TA_CDLHOMINGPIGEON - Homing Pigeon + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLHOMINGPIGEON( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLHOMINGPIGEON( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLHOMINGPIGEON_Lookback( void ); + + +/* + * TA_CDLIDENTICAL3CROWS - Identical Three Crows + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLIDENTICAL3CROWS( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLIDENTICAL3CROWS( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLIDENTICAL3CROWS_Lookback( void ); + + +/* + * TA_CDLINNECK - In-Neck Pattern + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLINNECK( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLINNECK( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLINNECK_Lookback( void ); + + +/* + * TA_CDLINVERTEDHAMMER - Inverted Hammer + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLINVERTEDHAMMER( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLINVERTEDHAMMER( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLINVERTEDHAMMER_Lookback( void ); + + +/* + * TA_CDLKICKING - Kicking + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLKICKING( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLKICKING( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLKICKING_Lookback( void ); + + +/* + * TA_CDLKICKINGBYLENGTH - Kicking - bull/bear determined by the longer marubozu + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLKICKINGBYLENGTH( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLKICKINGBYLENGTH( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLKICKINGBYLENGTH_Lookback( void ); + + +/* + * TA_CDLLADDERBOTTOM - Ladder Bottom + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLLADDERBOTTOM( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLLADDERBOTTOM( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLLADDERBOTTOM_Lookback( void ); + + +/* + * TA_CDLLONGLEGGEDDOJI - Long Legged Doji + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLLONGLEGGEDDOJI( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLLONGLEGGEDDOJI( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLLONGLEGGEDDOJI_Lookback( void ); + + +/* + * TA_CDLLONGLINE - Long Line Candle + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLLONGLINE( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLLONGLINE( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLLONGLINE_Lookback( void ); + + +/* + * TA_CDLMARUBOZU - Marubozu + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLMARUBOZU( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLMARUBOZU( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLMARUBOZU_Lookback( void ); + + +/* + * TA_CDLMATCHINGLOW - Matching Low + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLMATCHINGLOW( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLMATCHINGLOW( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLMATCHINGLOW_Lookback( void ); + + +/* + * TA_CDLMATHOLD - Mat Hold + * + * Input = Open, High, Low, Close + * Output = int + * + * Optional Parameters + * ------------------- + * optInPenetration:(From 0 to TA_REAL_MAX) + * Percentage of penetration of a candle within another candle + * + * + */ +TA_RetCode TA_CDLMATHOLD( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + double optInPenetration, /* From 0 to TA_REAL_MAX */ + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLMATHOLD( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + double optInPenetration, /* From 0 to TA_REAL_MAX */ + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLMATHOLD_Lookback( double optInPenetration ); /* From 0 to TA_REAL_MAX */ + + +/* + * TA_CDLMORNINGDOJISTAR - Morning Doji Star + * + * Input = Open, High, Low, Close + * Output = int + * + * Optional Parameters + * ------------------- + * optInPenetration:(From 0 to TA_REAL_MAX) + * Percentage of penetration of a candle within another candle + * + * + */ +TA_RetCode TA_CDLMORNINGDOJISTAR( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + double optInPenetration, /* From 0 to TA_REAL_MAX */ + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLMORNINGDOJISTAR( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + double optInPenetration, /* From 0 to TA_REAL_MAX */ + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLMORNINGDOJISTAR_Lookback( double optInPenetration ); /* From 0 to TA_REAL_MAX */ + + +/* + * TA_CDLMORNINGSTAR - Morning Star + * + * Input = Open, High, Low, Close + * Output = int + * + * Optional Parameters + * ------------------- + * optInPenetration:(From 0 to TA_REAL_MAX) + * Percentage of penetration of a candle within another candle + * + * + */ +TA_RetCode TA_CDLMORNINGSTAR( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + double optInPenetration, /* From 0 to TA_REAL_MAX */ + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLMORNINGSTAR( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + double optInPenetration, /* From 0 to TA_REAL_MAX */ + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLMORNINGSTAR_Lookback( double optInPenetration ); /* From 0 to TA_REAL_MAX */ + + +/* + * TA_CDLONNECK - On-Neck Pattern + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLONNECK( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLONNECK( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLONNECK_Lookback( void ); + + +/* + * TA_CDLPIERCING - Piercing Pattern + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLPIERCING( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLPIERCING( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLPIERCING_Lookback( void ); + + +/* + * TA_CDLRICKSHAWMAN - Rickshaw Man + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLRICKSHAWMAN( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLRICKSHAWMAN( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLRICKSHAWMAN_Lookback( void ); + + +/* + * TA_CDLRISEFALL3METHODS - Rising/Falling Three Methods + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLRISEFALL3METHODS( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLRISEFALL3METHODS( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLRISEFALL3METHODS_Lookback( void ); + + +/* + * TA_CDLSEPARATINGLINES - Separating Lines + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLSEPARATINGLINES( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLSEPARATINGLINES( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLSEPARATINGLINES_Lookback( void ); + + +/* + * TA_CDLSHOOTINGSTAR - Shooting Star + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLSHOOTINGSTAR( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLSHOOTINGSTAR( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLSHOOTINGSTAR_Lookback( void ); + + +/* + * TA_CDLSHORTLINE - Short Line Candle + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLSHORTLINE( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLSHORTLINE( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLSHORTLINE_Lookback( void ); + + +/* + * TA_CDLSPINNINGTOP - Spinning Top + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLSPINNINGTOP( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLSPINNINGTOP( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLSPINNINGTOP_Lookback( void ); + + +/* + * TA_CDLSTALLEDPATTERN - Stalled Pattern + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLSTALLEDPATTERN( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLSTALLEDPATTERN( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLSTALLEDPATTERN_Lookback( void ); + + +/* + * TA_CDLSTICKSANDWICH - Stick Sandwich + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLSTICKSANDWICH( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLSTICKSANDWICH( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLSTICKSANDWICH_Lookback( void ); + + +/* + * TA_CDLTAKURI - Takuri (Dragonfly Doji with very long lower shadow) + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLTAKURI( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLTAKURI( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLTAKURI_Lookback( void ); + + +/* + * TA_CDLTASUKIGAP - Tasuki Gap + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLTASUKIGAP( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLTASUKIGAP( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLTASUKIGAP_Lookback( void ); + + +/* + * TA_CDLTHRUSTING - Thrusting Pattern + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLTHRUSTING( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLTHRUSTING( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLTHRUSTING_Lookback( void ); + + +/* + * TA_CDLTRISTAR - Tristar Pattern + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLTRISTAR( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLTRISTAR( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLTRISTAR_Lookback( void ); + + +/* + * TA_CDLUNIQUE3RIVER - Unique 3 River + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLUNIQUE3RIVER( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLUNIQUE3RIVER( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLUNIQUE3RIVER_Lookback( void ); + + +/* + * TA_CDLUPSIDEGAP2CROWS - Upside Gap Two Crows + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLUPSIDEGAP2CROWS( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLUPSIDEGAP2CROWS( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLUPSIDEGAP2CROWS_Lookback( void ); + + +/* + * TA_CDLXSIDEGAP3METHODS - Upside/Downside Gap Three Methods + * + * Input = Open, High, Low, Close + * Output = int + * + */ +TA_RetCode TA_CDLXSIDEGAP3METHODS( int startIdx, + int endIdx, + const double inOpen[], + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_CDLXSIDEGAP3METHODS( int startIdx, + int endIdx, + const float inOpen[], + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_CDLXSIDEGAP3METHODS_Lookback( void ); + + +/* + * TA_CEIL - Vector Ceil + * + * Input = double + * Output = double + * + */ +TA_RetCode TA_CEIL( int startIdx, + int endIdx, + const double inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_CEIL( int startIdx, + int endIdx, + const float inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_CEIL_Lookback( void ); + + +/* + * TA_CMO - Chande Momentum Oscillator + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_CMO( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_CMO( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_CMO_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_CORREL - Pearson's Correlation Coefficient (r) + * + * Input = double, double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_CORREL( int startIdx, + int endIdx, + const double inReal0[], + const double inReal1[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_CORREL( int startIdx, + int endIdx, + const float inReal0[], + const float inReal1[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_CORREL_Lookback( int optInTimePeriod ); /* From 1 to 100000 */ + + +/* + * TA_COS - Vector Trigonometric Cos + * + * Input = double + * Output = double + * + */ +TA_RetCode TA_COS( int startIdx, + int endIdx, + const double inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_COS( int startIdx, + int endIdx, + const float inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_COS_Lookback( void ); + + +/* + * TA_COSH - Vector Trigonometric Cosh + * + * Input = double + * Output = double + * + */ +TA_RetCode TA_COSH( int startIdx, + int endIdx, + const double inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_COSH( int startIdx, + int endIdx, + const float inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_COSH_Lookback( void ); + + +/* + * TA_DEMA - Double Exponential Moving Average + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_DEMA( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_DEMA( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_DEMA_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_DIV - Vector Arithmetic Div + * + * Input = double, double + * Output = double + * + */ +TA_RetCode TA_DIV( int startIdx, + int endIdx, + const double inReal0[], + const double inReal1[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_DIV( int startIdx, + int endIdx, + const float inReal0[], + const float inReal1[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_DIV_Lookback( void ); + + +/* + * TA_DX - Directional Movement Index + * + * Input = High, Low, Close + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_DX( int startIdx, + int endIdx, + const double inHigh[], + const double inLow[], + const double inClose[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_DX( int startIdx, + int endIdx, + const float inHigh[], + const float inLow[], + const float inClose[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_DX_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_EMA - Exponential Moving Average + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_EMA( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_EMA( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_EMA_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_EXP - Vector Arithmetic Exp + * + * Input = double + * Output = double + * + */ +TA_RetCode TA_EXP( int startIdx, + int endIdx, + const double inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_EXP( int startIdx, + int endIdx, + const float inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_EXP_Lookback( void ); + + +/* + * TA_FLOOR - Vector Floor + * + * Input = double + * Output = double + * + */ +TA_RetCode TA_FLOOR( int startIdx, + int endIdx, + const double inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_FLOOR( int startIdx, + int endIdx, + const float inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_FLOOR_Lookback( void ); + + +/* + * TA_HT_DCPERIOD - Hilbert Transform - Dominant Cycle Period + * + * Input = double + * Output = double + * + */ +TA_RetCode TA_HT_DCPERIOD( int startIdx, + int endIdx, + const double inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_HT_DCPERIOD( int startIdx, + int endIdx, + const float inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_HT_DCPERIOD_Lookback( void ); + + +/* + * TA_HT_DCPHASE - Hilbert Transform - Dominant Cycle Phase + * + * Input = double + * Output = double + * + */ +TA_RetCode TA_HT_DCPHASE( int startIdx, + int endIdx, + const double inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_HT_DCPHASE( int startIdx, + int endIdx, + const float inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_HT_DCPHASE_Lookback( void ); + + +/* + * TA_HT_PHASOR - Hilbert Transform - Phasor Components + * + * Input = double + * Output = double, double + * + */ +TA_RetCode TA_HT_PHASOR( int startIdx, + int endIdx, + const double inReal[], + int *outBegIdx, + int *outNBElement, + double outInPhase[], + double outQuadrature[] ); + +TA_RetCode TA_S_HT_PHASOR( int startIdx, + int endIdx, + const float inReal[], + int *outBegIdx, + int *outNBElement, + double outInPhase[], + double outQuadrature[] ); + +int TA_HT_PHASOR_Lookback( void ); + + +/* + * TA_HT_SINE - Hilbert Transform - SineWave + * + * Input = double + * Output = double, double + * + */ +TA_RetCode TA_HT_SINE( int startIdx, + int endIdx, + const double inReal[], + int *outBegIdx, + int *outNBElement, + double outSine[], + double outLeadSine[] ); + +TA_RetCode TA_S_HT_SINE( int startIdx, + int endIdx, + const float inReal[], + int *outBegIdx, + int *outNBElement, + double outSine[], + double outLeadSine[] ); + +int TA_HT_SINE_Lookback( void ); + + +/* + * TA_HT_TRENDLINE - Hilbert Transform - Instantaneous Trendline + * + * Input = double + * Output = double + * + */ +TA_RetCode TA_HT_TRENDLINE( int startIdx, + int endIdx, + const double inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_HT_TRENDLINE( int startIdx, + int endIdx, + const float inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_HT_TRENDLINE_Lookback( void ); + + +/* + * TA_HT_TRENDMODE - Hilbert Transform - Trend vs Cycle Mode + * + * Input = double + * Output = int + * + */ +TA_RetCode TA_HT_TRENDMODE( int startIdx, + int endIdx, + const double inReal[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_HT_TRENDMODE( int startIdx, + int endIdx, + const float inReal[], + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_HT_TRENDMODE_Lookback( void ); + + +/* + * TA_KAMA - Kaufman Adaptive Moving Average + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_KAMA( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_KAMA( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_KAMA_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_LINEARREG - Linear Regression + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_LINEARREG( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_LINEARREG( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_LINEARREG_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_LINEARREG_ANGLE - Linear Regression Angle + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_LINEARREG_ANGLE( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_LINEARREG_ANGLE( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_LINEARREG_ANGLE_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_LINEARREG_INTERCEPT - Linear Regression Intercept + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_LINEARREG_INTERCEPT( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_LINEARREG_INTERCEPT( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_LINEARREG_INTERCEPT_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_LINEARREG_SLOPE - Linear Regression Slope + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_LINEARREG_SLOPE( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_LINEARREG_SLOPE( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_LINEARREG_SLOPE_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_LN - Vector Log Natural + * + * Input = double + * Output = double + * + */ +TA_RetCode TA_LN( int startIdx, + int endIdx, + const double inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_LN( int startIdx, + int endIdx, + const float inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_LN_Lookback( void ); + + +/* + * TA_LOG10 - Vector Log10 + * + * Input = double + * Output = double + * + */ +TA_RetCode TA_LOG10( int startIdx, + int endIdx, + const double inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_LOG10( int startIdx, + int endIdx, + const float inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_LOG10_Lookback( void ); + + +/* + * TA_MA - Moving average + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * optInMAType: + * Type of Moving Average + * + * + */ +TA_RetCode TA_MA( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 1 to 100000 */ + TA_MAType optInMAType, + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_MA( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 1 to 100000 */ + TA_MAType optInMAType, + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_MA_Lookback( int optInTimePeriod, /* From 1 to 100000 */ + TA_MAType optInMAType ); + +/* + * TA_MACD - Moving Average Convergence/Divergence + * + * Input = double + * Output = double, double, double + * + * Optional Parameters + * ------------------- + * optInFastPeriod:(From 2 to 100000) + * Number of period for the fast MA + * + * optInSlowPeriod:(From 2 to 100000) + * Number of period for the slow MA + * + * optInSignalPeriod:(From 1 to 100000) + * Smoothing for the signal line (nb of period) + * + * + */ +TA_RetCode TA_MACD( int startIdx, + int endIdx, + const double inReal[], + int optInFastPeriod, /* From 2 to 100000 */ + int optInSlowPeriod, /* From 2 to 100000 */ + int optInSignalPeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outMACD[], + double outMACDSignal[], + double outMACDHist[] ); + +TA_RetCode TA_S_MACD( int startIdx, + int endIdx, + const float inReal[], + int optInFastPeriod, /* From 2 to 100000 */ + int optInSlowPeriod, /* From 2 to 100000 */ + int optInSignalPeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outMACD[], + double outMACDSignal[], + double outMACDHist[] ); + +int TA_MACD_Lookback( int optInFastPeriod, /* From 2 to 100000 */ + int optInSlowPeriod, /* From 2 to 100000 */ + int optInSignalPeriod ); /* From 1 to 100000 */ + + +/* + * TA_MACDEXT - MACD with controllable MA type + * + * Input = double + * Output = double, double, double + * + * Optional Parameters + * ------------------- + * optInFastPeriod:(From 2 to 100000) + * Number of period for the fast MA + * + * optInFastMAType: + * Type of Moving Average for fast MA + * + * optInSlowPeriod:(From 2 to 100000) + * Number of period for the slow MA + * + * optInSlowMAType: + * Type of Moving Average for slow MA + * + * optInSignalPeriod:(From 1 to 100000) + * Smoothing for the signal line (nb of period) + * + * optInSignalMAType: + * Type of Moving Average for signal line + * + * + */ +TA_RetCode TA_MACDEXT( int startIdx, + int endIdx, + const double inReal[], + int optInFastPeriod, /* From 2 to 100000 */ + TA_MAType optInFastMAType, + int optInSlowPeriod, /* From 2 to 100000 */ + TA_MAType optInSlowMAType, + int optInSignalPeriod, /* From 1 to 100000 */ + TA_MAType optInSignalMAType, + int *outBegIdx, + int *outNBElement, + double outMACD[], + double outMACDSignal[], + double outMACDHist[] ); + +TA_RetCode TA_S_MACDEXT( int startIdx, + int endIdx, + const float inReal[], + int optInFastPeriod, /* From 2 to 100000 */ + TA_MAType optInFastMAType, + int optInSlowPeriod, /* From 2 to 100000 */ + TA_MAType optInSlowMAType, + int optInSignalPeriod, /* From 1 to 100000 */ + TA_MAType optInSignalMAType, + int *outBegIdx, + int *outNBElement, + double outMACD[], + double outMACDSignal[], + double outMACDHist[] ); + +int TA_MACDEXT_Lookback( int optInFastPeriod, /* From 2 to 100000 */ + TA_MAType optInFastMAType, + int optInSlowPeriod, /* From 2 to 100000 */ + TA_MAType optInSlowMAType, + int optInSignalPeriod, /* From 1 to 100000 */ + TA_MAType optInSignalMAType ); + +/* + * TA_MACDFIX - Moving Average Convergence/Divergence Fix 12/26 + * + * Input = double + * Output = double, double, double + * + * Optional Parameters + * ------------------- + * optInSignalPeriod:(From 1 to 100000) + * Smoothing for the signal line (nb of period) + * + * + */ +TA_RetCode TA_MACDFIX( int startIdx, + int endIdx, + const double inReal[], + int optInSignalPeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outMACD[], + double outMACDSignal[], + double outMACDHist[] ); + +TA_RetCode TA_S_MACDFIX( int startIdx, + int endIdx, + const float inReal[], + int optInSignalPeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outMACD[], + double outMACDSignal[], + double outMACDHist[] ); + +int TA_MACDFIX_Lookback( int optInSignalPeriod ); /* From 1 to 100000 */ + + +/* + * TA_MAMA - MESA Adaptive Moving Average + * + * Input = double + * Output = double, double + * + * Optional Parameters + * ------------------- + * optInFastLimit:(From 0.01 to 0.99) + * Upper limit use in the adaptive algorithm + * + * optInSlowLimit:(From 0.01 to 0.99) + * Lower limit use in the adaptive algorithm + * + * + */ +TA_RetCode TA_MAMA( int startIdx, + int endIdx, + const double inReal[], + double optInFastLimit, /* From 0.01 to 0.99 */ + double optInSlowLimit, /* From 0.01 to 0.99 */ + int *outBegIdx, + int *outNBElement, + double outMAMA[], + double outFAMA[] ); + +TA_RetCode TA_S_MAMA( int startIdx, + int endIdx, + const float inReal[], + double optInFastLimit, /* From 0.01 to 0.99 */ + double optInSlowLimit, /* From 0.01 to 0.99 */ + int *outBegIdx, + int *outNBElement, + double outMAMA[], + double outFAMA[] ); + +int TA_MAMA_Lookback( double optInFastLimit, /* From 0.01 to 0.99 */ + double optInSlowLimit ); /* From 0.01 to 0.99 */ + + +/* + * TA_MAVP - Moving average with variable period + * + * Input = double, double + * Output = double + * + * Optional Parameters + * ------------------- + * optInMinPeriod:(From 2 to 100000) + * Value less than minimum will be changed to Minimum period + * + * optInMaxPeriod:(From 2 to 100000) + * Value higher than maximum will be changed to Maximum period + * + * optInMAType: + * Type of Moving Average + * + * + */ +TA_RetCode TA_MAVP( int startIdx, + int endIdx, + const double inReal[], + const double inPeriods[], + int optInMinPeriod, /* From 2 to 100000 */ + int optInMaxPeriod, /* From 2 to 100000 */ + TA_MAType optInMAType, + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_MAVP( int startIdx, + int endIdx, + const float inReal[], + const float inPeriods[], + int optInMinPeriod, /* From 2 to 100000 */ + int optInMaxPeriod, /* From 2 to 100000 */ + TA_MAType optInMAType, + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_MAVP_Lookback( int optInMinPeriod, /* From 2 to 100000 */ + int optInMaxPeriod, /* From 2 to 100000 */ + TA_MAType optInMAType ); + +/* + * TA_MAX - Highest value over a specified period + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_MAX( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_MAX( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_MAX_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_MAXINDEX - Index of highest value over a specified period + * + * Input = double + * Output = int + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_MAXINDEX( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_MAXINDEX( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_MAXINDEX_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_MEDPRICE - Median Price + * + * Input = High, Low + * Output = double + * + */ +TA_RetCode TA_MEDPRICE( int startIdx, + int endIdx, + const double inHigh[], + const double inLow[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_MEDPRICE( int startIdx, + int endIdx, + const float inHigh[], + const float inLow[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_MEDPRICE_Lookback( void ); + + +/* + * TA_MFI - Money Flow Index + * + * Input = High, Low, Close, Volume + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_MFI( int startIdx, + int endIdx, + const double inHigh[], + const double inLow[], + const double inClose[], + const double inVolume[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_MFI( int startIdx, + int endIdx, + const float inHigh[], + const float inLow[], + const float inClose[], + const float inVolume[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_MFI_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_MIDPOINT - MidPoint over period + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_MIDPOINT( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_MIDPOINT( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_MIDPOINT_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_MIDPRICE - Midpoint Price over period + * + * Input = High, Low + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_MIDPRICE( int startIdx, + int endIdx, + const double inHigh[], + const double inLow[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_MIDPRICE( int startIdx, + int endIdx, + const float inHigh[], + const float inLow[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_MIDPRICE_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_MIN - Lowest value over a specified period + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_MIN( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_MIN( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_MIN_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_MININDEX - Index of lowest value over a specified period + * + * Input = double + * Output = int + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_MININDEX( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +TA_RetCode TA_S_MININDEX( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + int outInteger[] ); + +int TA_MININDEX_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_MINMAX - Lowest and highest values over a specified period + * + * Input = double + * Output = double, double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_MINMAX( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outMin[], + double outMax[] ); + +TA_RetCode TA_S_MINMAX( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outMin[], + double outMax[] ); + +int TA_MINMAX_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_MINMAXINDEX - Indexes of lowest and highest values over a specified period + * + * Input = double + * Output = int, int + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_MINMAXINDEX( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + int outMinIdx[], + int outMaxIdx[] ); + +TA_RetCode TA_S_MINMAXINDEX( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + int outMinIdx[], + int outMaxIdx[] ); + +int TA_MINMAXINDEX_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_MINUS_DI - Minus Directional Indicator + * + * Input = High, Low, Close + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_MINUS_DI( int startIdx, + int endIdx, + const double inHigh[], + const double inLow[], + const double inClose[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_MINUS_DI( int startIdx, + int endIdx, + const float inHigh[], + const float inLow[], + const float inClose[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_MINUS_DI_Lookback( int optInTimePeriod ); /* From 1 to 100000 */ + + +/* + * TA_MINUS_DM - Minus Directional Movement + * + * Input = High, Low + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_MINUS_DM( int startIdx, + int endIdx, + const double inHigh[], + const double inLow[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_MINUS_DM( int startIdx, + int endIdx, + const float inHigh[], + const float inLow[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_MINUS_DM_Lookback( int optInTimePeriod ); /* From 1 to 100000 */ + + +/* + * TA_MOM - Momentum + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_MOM( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_MOM( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_MOM_Lookback( int optInTimePeriod ); /* From 1 to 100000 */ + + +/* + * TA_MULT - Vector Arithmetic Mult + * + * Input = double, double + * Output = double + * + */ +TA_RetCode TA_MULT( int startIdx, + int endIdx, + const double inReal0[], + const double inReal1[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_MULT( int startIdx, + int endIdx, + const float inReal0[], + const float inReal1[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_MULT_Lookback( void ); + + +/* + * TA_NATR - Normalized Average True Range + * + * Input = High, Low, Close + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_NATR( int startIdx, + int endIdx, + const double inHigh[], + const double inLow[], + const double inClose[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_NATR( int startIdx, + int endIdx, + const float inHigh[], + const float inLow[], + const float inClose[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_NATR_Lookback( int optInTimePeriod ); /* From 1 to 100000 */ + + +/* + * TA_OBV - On Balance Volume + * + * Input = double, Volume + * Output = double + * + */ +TA_RetCode TA_OBV( int startIdx, + int endIdx, + const double inReal[], + const double inVolume[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_OBV( int startIdx, + int endIdx, + const float inReal[], + const float inVolume[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_OBV_Lookback( void ); + + +/* + * TA_PLUS_DI - Plus Directional Indicator + * + * Input = High, Low, Close + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_PLUS_DI( int startIdx, + int endIdx, + const double inHigh[], + const double inLow[], + const double inClose[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_PLUS_DI( int startIdx, + int endIdx, + const float inHigh[], + const float inLow[], + const float inClose[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_PLUS_DI_Lookback( int optInTimePeriod ); /* From 1 to 100000 */ + + +/* + * TA_PLUS_DM - Plus Directional Movement + * + * Input = High, Low + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_PLUS_DM( int startIdx, + int endIdx, + const double inHigh[], + const double inLow[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_PLUS_DM( int startIdx, + int endIdx, + const float inHigh[], + const float inLow[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_PLUS_DM_Lookback( int optInTimePeriod ); /* From 1 to 100000 */ + + +/* + * TA_PPO - Percentage Price Oscillator + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInFastPeriod:(From 2 to 100000) + * Number of period for the fast MA + * + * optInSlowPeriod:(From 2 to 100000) + * Number of period for the slow MA + * + * optInMAType: + * Type of Moving Average + * + * + */ +TA_RetCode TA_PPO( int startIdx, + int endIdx, + const double inReal[], + int optInFastPeriod, /* From 2 to 100000 */ + int optInSlowPeriod, /* From 2 to 100000 */ + TA_MAType optInMAType, + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_PPO( int startIdx, + int endIdx, + const float inReal[], + int optInFastPeriod, /* From 2 to 100000 */ + int optInSlowPeriod, /* From 2 to 100000 */ + TA_MAType optInMAType, + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_PPO_Lookback( int optInFastPeriod, /* From 2 to 100000 */ + int optInSlowPeriod, /* From 2 to 100000 */ + TA_MAType optInMAType ); + +/* + * TA_ROC - Rate of change : ((price/prevPrice)-1)*100 + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_ROC( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_ROC( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_ROC_Lookback( int optInTimePeriod ); /* From 1 to 100000 */ + + +/* + * TA_ROCP - Rate of change Percentage: (price-prevPrice)/prevPrice + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_ROCP( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_ROCP( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_ROCP_Lookback( int optInTimePeriod ); /* From 1 to 100000 */ + + +/* + * TA_ROCR - Rate of change ratio: (price/prevPrice) + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_ROCR( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_ROCR( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_ROCR_Lookback( int optInTimePeriod ); /* From 1 to 100000 */ + + +/* + * TA_ROCR100 - Rate of change ratio 100 scale: (price/prevPrice)*100 + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_ROCR100( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_ROCR100( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_ROCR100_Lookback( int optInTimePeriod ); /* From 1 to 100000 */ + + +/* + * TA_RSI - Relative Strength Index + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_RSI( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_RSI( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_RSI_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_SAR - Parabolic SAR + * + * Input = High, Low + * Output = double + * + * Optional Parameters + * ------------------- + * optInAcceleration:(From 0 to TA_REAL_MAX) + * Acceleration Factor used up to the Maximum value + * + * optInMaximum:(From 0 to TA_REAL_MAX) + * Acceleration Factor Maximum value + * + * + */ +TA_RetCode TA_SAR( int startIdx, + int endIdx, + const double inHigh[], + const double inLow[], + double optInAcceleration, /* From 0 to TA_REAL_MAX */ + double optInMaximum, /* From 0 to TA_REAL_MAX */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_SAR( int startIdx, + int endIdx, + const float inHigh[], + const float inLow[], + double optInAcceleration, /* From 0 to TA_REAL_MAX */ + double optInMaximum, /* From 0 to TA_REAL_MAX */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_SAR_Lookback( double optInAcceleration, /* From 0 to TA_REAL_MAX */ + double optInMaximum ); /* From 0 to TA_REAL_MAX */ + + +/* + * TA_SAREXT - Parabolic SAR - Extended + * + * Input = High, Low + * Output = double + * + * Optional Parameters + * ------------------- + * optInStartValue:(From TA_REAL_MIN to TA_REAL_MAX) + * Start value and direction. 0 for Auto, >0 for Long, <0 for Short + * + * optInOffsetOnReverse:(From 0 to TA_REAL_MAX) + * Percent offset added/removed to initial stop on short/long reversal + * + * optInAccelerationInitLong:(From 0 to TA_REAL_MAX) + * Acceleration Factor initial value for the Long direction + * + * optInAccelerationLong:(From 0 to TA_REAL_MAX) + * Acceleration Factor for the Long direction + * + * optInAccelerationMaxLong:(From 0 to TA_REAL_MAX) + * Acceleration Factor maximum value for the Long direction + * + * optInAccelerationInitShort:(From 0 to TA_REAL_MAX) + * Acceleration Factor initial value for the Short direction + * + * optInAccelerationShort:(From 0 to TA_REAL_MAX) + * Acceleration Factor for the Short direction + * + * optInAccelerationMaxShort:(From 0 to TA_REAL_MAX) + * Acceleration Factor maximum value for the Short direction + * + * + */ +TA_RetCode TA_SAREXT( int startIdx, + int endIdx, + const double inHigh[], + const double inLow[], + double optInStartValue, /* From TA_REAL_MIN to TA_REAL_MAX */ + double optInOffsetOnReverse, /* From 0 to TA_REAL_MAX */ + double optInAccelerationInitLong, /* From 0 to TA_REAL_MAX */ + double optInAccelerationLong, /* From 0 to TA_REAL_MAX */ + double optInAccelerationMaxLong, /* From 0 to TA_REAL_MAX */ + double optInAccelerationInitShort, /* From 0 to TA_REAL_MAX */ + double optInAccelerationShort, /* From 0 to TA_REAL_MAX */ + double optInAccelerationMaxShort, /* From 0 to TA_REAL_MAX */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_SAREXT( int startIdx, + int endIdx, + const float inHigh[], + const float inLow[], + double optInStartValue, /* From TA_REAL_MIN to TA_REAL_MAX */ + double optInOffsetOnReverse, /* From 0 to TA_REAL_MAX */ + double optInAccelerationInitLong, /* From 0 to TA_REAL_MAX */ + double optInAccelerationLong, /* From 0 to TA_REAL_MAX */ + double optInAccelerationMaxLong, /* From 0 to TA_REAL_MAX */ + double optInAccelerationInitShort, /* From 0 to TA_REAL_MAX */ + double optInAccelerationShort, /* From 0 to TA_REAL_MAX */ + double optInAccelerationMaxShort, /* From 0 to TA_REAL_MAX */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_SAREXT_Lookback( double optInStartValue, /* From TA_REAL_MIN to TA_REAL_MAX */ + double optInOffsetOnReverse, /* From 0 to TA_REAL_MAX */ + double optInAccelerationInitLong, /* From 0 to TA_REAL_MAX */ + double optInAccelerationLong, /* From 0 to TA_REAL_MAX */ + double optInAccelerationMaxLong, /* From 0 to TA_REAL_MAX */ + double optInAccelerationInitShort, /* From 0 to TA_REAL_MAX */ + double optInAccelerationShort, /* From 0 to TA_REAL_MAX */ + double optInAccelerationMaxShort ); /* From 0 to TA_REAL_MAX */ + + +/* + * TA_SIN - Vector Trigonometric Sin + * + * Input = double + * Output = double + * + */ +TA_RetCode TA_SIN( int startIdx, + int endIdx, + const double inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_SIN( int startIdx, + int endIdx, + const float inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_SIN_Lookback( void ); + + +/* + * TA_SINH - Vector Trigonometric Sinh + * + * Input = double + * Output = double + * + */ +TA_RetCode TA_SINH( int startIdx, + int endIdx, + const double inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_SINH( int startIdx, + int endIdx, + const float inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_SINH_Lookback( void ); + + +/* + * TA_SMA - Simple Moving Average + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_SMA( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_SMA( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_SMA_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_SQRT - Vector Square Root + * + * Input = double + * Output = double + * + */ +TA_RetCode TA_SQRT( int startIdx, + int endIdx, + const double inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_SQRT( int startIdx, + int endIdx, + const float inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_SQRT_Lookback( void ); + + +/* + * TA_STDDEV - Standard Deviation + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * optInNbDev:(From TA_REAL_MIN to TA_REAL_MAX) + * Nb of deviations + * + * + */ +TA_RetCode TA_STDDEV( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + double optInNbDev, /* From TA_REAL_MIN to TA_REAL_MAX */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_STDDEV( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + double optInNbDev, /* From TA_REAL_MIN to TA_REAL_MAX */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_STDDEV_Lookback( int optInTimePeriod, /* From 2 to 100000 */ + double optInNbDev ); /* From TA_REAL_MIN to TA_REAL_MAX */ + + +/* + * TA_STOCH - Stochastic + * + * Input = High, Low, Close + * Output = double, double + * + * Optional Parameters + * ------------------- + * optInFastK_Period:(From 1 to 100000) + * Time period for building the Fast-K line + * + * optInSlowK_Period:(From 1 to 100000) + * Smoothing for making the Slow-K line. Usually set to 3 + * + * optInSlowK_MAType: + * Type of Moving Average for Slow-K + * + * optInSlowD_Period:(From 1 to 100000) + * Smoothing for making the Slow-D line + * + * optInSlowD_MAType: + * Type of Moving Average for Slow-D + * + * + */ +TA_RetCode TA_STOCH( int startIdx, + int endIdx, + const double inHigh[], + const double inLow[], + const double inClose[], + int optInFastK_Period, /* From 1 to 100000 */ + int optInSlowK_Period, /* From 1 to 100000 */ + TA_MAType optInSlowK_MAType, + int optInSlowD_Period, /* From 1 to 100000 */ + TA_MAType optInSlowD_MAType, + int *outBegIdx, + int *outNBElement, + double outSlowK[], + double outSlowD[] ); + +TA_RetCode TA_S_STOCH( int startIdx, + int endIdx, + const float inHigh[], + const float inLow[], + const float inClose[], + int optInFastK_Period, /* From 1 to 100000 */ + int optInSlowK_Period, /* From 1 to 100000 */ + TA_MAType optInSlowK_MAType, + int optInSlowD_Period, /* From 1 to 100000 */ + TA_MAType optInSlowD_MAType, + int *outBegIdx, + int *outNBElement, + double outSlowK[], + double outSlowD[] ); + +int TA_STOCH_Lookback( int optInFastK_Period, /* From 1 to 100000 */ + int optInSlowK_Period, /* From 1 to 100000 */ + TA_MAType optInSlowK_MAType, + int optInSlowD_Period, /* From 1 to 100000 */ + TA_MAType optInSlowD_MAType ); + +/* + * TA_STOCHF - Stochastic Fast + * + * Input = High, Low, Close + * Output = double, double + * + * Optional Parameters + * ------------------- + * optInFastK_Period:(From 1 to 100000) + * Time period for building the Fast-K line + * + * optInFastD_Period:(From 1 to 100000) + * Smoothing for making the Fast-D line. Usually set to 3 + * + * optInFastD_MAType: + * Type of Moving Average for Fast-D + * + * + */ +TA_RetCode TA_STOCHF( int startIdx, + int endIdx, + const double inHigh[], + const double inLow[], + const double inClose[], + int optInFastK_Period, /* From 1 to 100000 */ + int optInFastD_Period, /* From 1 to 100000 */ + TA_MAType optInFastD_MAType, + int *outBegIdx, + int *outNBElement, + double outFastK[], + double outFastD[] ); + +TA_RetCode TA_S_STOCHF( int startIdx, + int endIdx, + const float inHigh[], + const float inLow[], + const float inClose[], + int optInFastK_Period, /* From 1 to 100000 */ + int optInFastD_Period, /* From 1 to 100000 */ + TA_MAType optInFastD_MAType, + int *outBegIdx, + int *outNBElement, + double outFastK[], + double outFastD[] ); + +int TA_STOCHF_Lookback( int optInFastK_Period, /* From 1 to 100000 */ + int optInFastD_Period, /* From 1 to 100000 */ + TA_MAType optInFastD_MAType ); + +/* + * TA_STOCHRSI - Stochastic Relative Strength Index + * + * Input = double + * Output = double, double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * optInFastK_Period:(From 1 to 100000) + * Time period for building the Fast-K line + * + * optInFastD_Period:(From 1 to 100000) + * Smoothing for making the Fast-D line. Usually set to 3 + * + * optInFastD_MAType: + * Type of Moving Average for Fast-D + * + * + */ +TA_RetCode TA_STOCHRSI( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int optInFastK_Period, /* From 1 to 100000 */ + int optInFastD_Period, /* From 1 to 100000 */ + TA_MAType optInFastD_MAType, + int *outBegIdx, + int *outNBElement, + double outFastK[], + double outFastD[] ); + +TA_RetCode TA_S_STOCHRSI( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int optInFastK_Period, /* From 1 to 100000 */ + int optInFastD_Period, /* From 1 to 100000 */ + TA_MAType optInFastD_MAType, + int *outBegIdx, + int *outNBElement, + double outFastK[], + double outFastD[] ); + +int TA_STOCHRSI_Lookback( int optInTimePeriod, /* From 2 to 100000 */ + int optInFastK_Period, /* From 1 to 100000 */ + int optInFastD_Period, /* From 1 to 100000 */ + TA_MAType optInFastD_MAType ); + +/* + * TA_SUB - Vector Arithmetic Substraction + * + * Input = double, double + * Output = double + * + */ +TA_RetCode TA_SUB( int startIdx, + int endIdx, + const double inReal0[], + const double inReal1[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_SUB( int startIdx, + int endIdx, + const float inReal0[], + const float inReal1[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_SUB_Lookback( void ); + + +/* + * TA_SUM - Summation + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_SUM( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_SUM( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_SUM_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_T3 - Triple Exponential Moving Average (T3) + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * optInVFactor:(From 0 to 1) + * Volume Factor + * + * + */ +TA_RetCode TA_T3( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + double optInVFactor, /* From 0 to 1 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_T3( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + double optInVFactor, /* From 0 to 1 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_T3_Lookback( int optInTimePeriod, /* From 2 to 100000 */ + double optInVFactor ); /* From 0 to 1 */ + + +/* + * TA_TAN - Vector Trigonometric Tan + * + * Input = double + * Output = double + * + */ +TA_RetCode TA_TAN( int startIdx, + int endIdx, + const double inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_TAN( int startIdx, + int endIdx, + const float inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_TAN_Lookback( void ); + + +/* + * TA_TANH - Vector Trigonometric Tanh + * + * Input = double + * Output = double + * + */ +TA_RetCode TA_TANH( int startIdx, + int endIdx, + const double inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_TANH( int startIdx, + int endIdx, + const float inReal[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_TANH_Lookback( void ); + + +/* + * TA_TEMA - Triple Exponential Moving Average + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_TEMA( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_TEMA( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_TEMA_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_TRANGE - True Range + * + * Input = High, Low, Close + * Output = double + * + */ +TA_RetCode TA_TRANGE( int startIdx, + int endIdx, + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_TRANGE( int startIdx, + int endIdx, + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_TRANGE_Lookback( void ); + + +/* + * TA_TRIMA - Triangular Moving Average + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_TRIMA( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_TRIMA( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_TRIMA_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_TRIX - 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_TRIX( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_TRIX( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_TRIX_Lookback( int optInTimePeriod ); /* From 1 to 100000 */ + + +/* + * TA_TSF - Time Series Forecast + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_TSF( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_TSF( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_TSF_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_TYPPRICE - Typical Price + * + * Input = High, Low, Close + * Output = double + * + */ +TA_RetCode TA_TYPPRICE( int startIdx, + int endIdx, + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_TYPPRICE( int startIdx, + int endIdx, + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_TYPPRICE_Lookback( void ); + + +/* + * TA_ULTOSC - Ultimate Oscillator + * + * Input = High, Low, Close + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod1:(From 1 to 100000) + * Number of bars for 1st period. + * + * optInTimePeriod2:(From 1 to 100000) + * Number of bars fro 2nd period + * + * optInTimePeriod3:(From 1 to 100000) + * Number of bars for 3rd period + * + * + */ +TA_RetCode TA_ULTOSC( int startIdx, + int endIdx, + const double inHigh[], + const double inLow[], + const double inClose[], + int optInTimePeriod1, /* From 1 to 100000 */ + int optInTimePeriod2, /* From 1 to 100000 */ + int optInTimePeriod3, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_ULTOSC( int startIdx, + int endIdx, + const float inHigh[], + const float inLow[], + const float inClose[], + int optInTimePeriod1, /* From 1 to 100000 */ + int optInTimePeriod2, /* From 1 to 100000 */ + int optInTimePeriod3, /* From 1 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_ULTOSC_Lookback( int optInTimePeriod1, /* From 1 to 100000 */ + int optInTimePeriod2, /* From 1 to 100000 */ + int optInTimePeriod3 ); /* From 1 to 100000 */ + + +/* + * TA_VAR - Variance + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * optInNbDev:(From TA_REAL_MIN to TA_REAL_MAX) + * Nb of deviations + * + * + */ +TA_RetCode TA_VAR( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 1 to 100000 */ + double optInNbDev, /* From TA_REAL_MIN to TA_REAL_MAX */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_VAR( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 1 to 100000 */ + double optInNbDev, /* From TA_REAL_MIN to TA_REAL_MAX */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_VAR_Lookback( int optInTimePeriod, /* From 1 to 100000 */ + double optInNbDev ); /* From TA_REAL_MIN to TA_REAL_MAX */ + + +/* + * TA_WCLPRICE - Weighted Close Price + * + * Input = High, Low, Close + * Output = double + * + */ +TA_RetCode TA_WCLPRICE( int startIdx, + int endIdx, + const double inHigh[], + const double inLow[], + const double inClose[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_WCLPRICE( int startIdx, + int endIdx, + const float inHigh[], + const float inLow[], + const float inClose[], + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_WCLPRICE_Lookback( void ); + + +/* + * TA_WILLR - Williams' %R + * + * Input = High, Low, Close + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_WILLR( int startIdx, + int endIdx, + const double inHigh[], + const double inLow[], + const double inClose[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_WILLR( int startIdx, + int endIdx, + const float inHigh[], + const float inLow[], + const float inClose[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_WILLR_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* + * TA_WMA - Weighted Moving Average + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +TA_RetCode TA_WMA( int startIdx, + int endIdx, + const double inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +TA_RetCode TA_S_WMA( int startIdx, + int endIdx, + const float inReal[], + int optInTimePeriod, /* From 2 to 100000 */ + int *outBegIdx, + int *outNBElement, + double outReal[] ); + +int TA_WMA_Lookback( int optInTimePeriod ); /* From 2 to 100000 */ + + +/* Some TA functions takes a certain amount of input data + * before stabilizing and outputing meaningful data. This is + * a behavior pertaining to the algo of some TA functions and + * is not particular to the TA-Lib implementation. + * TA-Lib allows you to automatically strip off these unstabl + * data from your output and from any internal processing. + * (See documentation for more info) + * + * Examples: + * TA_SetUnstablePeriod( TA_FUNC_UNST_EMA, 30 ); + * Always strip off 30 price bar for the TA_EMA function. + * + * TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 30 ); + * Always strip off 30 price bar from ALL functions + * having an unstable period. + * + * See ta_defs.h for the enumeration TA_FuncUnstId + */ + +TA_RetCode TA_SetUnstablePeriod( TA_FuncUnstId id, + unsigned int unstablePeriod ); + +unsigned int TA_GetUnstablePeriod( TA_FuncUnstId id ); + +/* You can change slightly the behavior of the TA functions + * by requesting compatibiliy with some existing software. + * + * By default, the behavior is as close as the original + * author of the TA functions intend it to be. + * + * See ta_defs.h for the enumeration TA_Compatibility. + */ +TA_RetCode TA_SetCompatibility( TA_Compatibility value ); +TA_Compatibility TA_GetCompatibility( void ); + +/* Candlesticks struct and functions + * Because candlestick patterns are subjective, it is necessary + * to allow the user to specify what should be the meaning of + * 'long body', 'short shadows', etc. + */ + +/* Call TA_SetCandleSettings to set that when comparing a candle + * basing on settingType it must be compared with the average + * of the last avgPeriod candles' rangeType multiplied by factor. + * This setting is valid until TA_RestoreCandleDefaultSettings is called + */ +TA_RetCode TA_SetCandleSettings( TA_CandleSettingType settingType, + TA_RangeType rangeType, + int avgPeriod, + double factor ); + +/* Call TA_RestoreCandleDefaultSettings after using custom settings + * to restore the default settings for the specified settingType + */ +TA_RetCode TA_RestoreCandleDefaultSettings( TA_CandleSettingType settingType ); + +#ifdef __cplusplus +} +#endif + +#endif + +/***************/ +/* End of File */ +/***************/ + diff --git a/vendor/ta-lib/include/ta_libc.h b/vendor/ta-lib/include/ta_libc.h new file mode 100644 index 000000000..a2d95598f --- /dev/null +++ b/vendor/ta-lib/include/ta_libc.h @@ -0,0 +1,51 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef TA_LIBC_H +#define TA_LIBC_H + +/* Includes all headers needed for using the ta-lib 'C' library. */ + +#ifndef TA_COMMON_H + #include "ta_common.h" +#endif + +#ifndef TA_FUNC_H + #include "ta_func.h" +#endif + +#ifndef TA_ABSTRACT_H + #include "ta_abstract.h" +#endif + +#endif + diff --git a/vendor/ta-lib/lib/HOLDER b/vendor/ta-lib/lib/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/lib/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/make/README.TXT b/vendor/ta-lib/make/README.TXT new file mode 100644 index 000000000..b003ca549 --- /dev/null +++ b/vendor/ta-lib/make/README.TXT @@ -0,0 +1,25 @@ +These directories contains the Makefiles +for building TA-Lib. + +The first level of directory allows to identify +the kind of application environment in which the +static library is going to be used: + + CSR - Single thread + CMR - Multi thread + CSD - Single thread with debug options + CMD - Multi thread with debug options + CSP - Single thread with profiling options + CMP - Multi thread with profiling options + CDR - DLL Release (Win32 only) + CDD - DLL Debug (Win32 only) + +Choose the most appropriate directory depending of +your platform/compiler and run "make" or "nmake" +from there. + +See the API Documentation for more information +on how to build and link with TA-Lib. + +The directory gen_make contains the perl scripts +automating the generation of all the makefiles. diff --git a/vendor/ta-lib/make/cdd/win32/msvc/Makefile b/vendor/ta-lib/make/cdd/win32/msvc/Makefile new file mode 100644 index 000000000..317a98ad5 --- /dev/null +++ b/vendor/ta-lib/make/cdd/win32/msvc/Makefile @@ -0,0 +1,97 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +ta_common: FORCE + cd ta_common + $(MAKE) /nologo + @cd .. + +ta_func: FORCE + cd ta_func + $(MAKE) /nologo + @cd .. + +ta_abstract: FORCE + cd ta_abstract + $(MAKE) /nologo + @cd .. + +ta_libc: FORCE + cd ta_libc + $(MAKE) /nologo + @cd .. + +gen_code: FORCE + cd gen_code + $(MAKE) /nologo + @cd .. + +ta_regtest: FORCE + cd ta_regtest + $(MAKE) /nologo + @cd .. + + +tmake: ../cdd/win32/msvc/Makefile + +../cdd/win32/msvc/Makefile: rootmake.pro + tmake rootmake.pro -o ../cdd/win32/msvc/Makefile + +tmake_all: + cd ta_common + $(TMAKE) ta_common.pro -o $(MAKEFILE) + @cd .. + cd ta_func + $(TMAKE) ta_func.pro -o $(MAKEFILE) + @cd .. + cd ta_abstract + $(TMAKE) ta_abstract.pro -o $(MAKEFILE) + @cd .. + cd ta_libc + $(TMAKE) ta_libc.pro -o $(MAKEFILE) + @cd .. + cd gen_code + $(TMAKE) gen_code.pro -o $(MAKEFILE) + @cd .. + cd ta_regtest + $(TMAKE) ta_regtest.pro -o $(MAKEFILE) + @cd .. + + +clean: + cd ta_common + $(MAKE) clean + @cd .. + cd ta_func + $(MAKE) clean + @cd .. + cd ta_abstract + $(MAKE) clean + @cd .. + cd ta_libc + $(MAKE) clean + @cd .. + cd gen_code + $(MAKE) clean + @cd .. + cd ta_regtest + $(MAKE) clean + @cd .. + +FORCE: diff --git a/vendor/ta-lib/make/cdd/win32/msvc/gen_code/Makefile b/vendor/ta-lib/make/cdd/win32/msvc/gen_code/Makefile new file mode 100644 index 000000000..568442282 --- /dev/null +++ b/vendor/ta-lib/make/cdd/win32/msvc/gen_code/Makefile @@ -0,0 +1,263 @@ +############################################################################# +# Makefile for building gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -MDd -Zi -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +CXXFLAGS= -nologo -W3 -MDd -Zi -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" +LINK = link +LFLAGS = /NOLOGO /DEBUG /SUBSYSTEM:console +LIBS = ..\..\..\..\..\lib\ta_common_cdd.lib +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\gen_code\gen_code.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\cdd\gen_code\gen_code.obj \ + ..\..\..\..\..\temp\cdd\gen_code\ta_abstract.obj \ + ..\..\..\..\..\temp\cdd\gen_code\ta_def_ui.obj \ + ..\..\..\..\..\temp\cdd\gen_code\table_a.obj \ + ..\..\..\..\..\temp\cdd\gen_code\table_b.obj \ + ..\..\..\..\..\temp\cdd\gen_code\table_c.obj \ + ..\..\..\..\..\temp\cdd\gen_code\table_d.obj \ + ..\..\..\..\..\temp\cdd\gen_code\table_e.obj \ + ..\..\..\..\..\temp\cdd\gen_code\table_f.obj \ + ..\..\..\..\..\temp\cdd\gen_code\table_g.obj \ + ..\..\..\..\..\temp\cdd\gen_code\table_h.obj \ + ..\..\..\..\..\temp\cdd\gen_code\table_i.obj \ + ..\..\..\..\..\temp\cdd\gen_code\table_j.obj \ + ..\..\..\..\..\temp\cdd\gen_code\table_k.obj \ + ..\..\..\..\..\temp\cdd\gen_code\table_l.obj \ + ..\..\..\..\..\temp\cdd\gen_code\table_m.obj \ + ..\..\..\..\..\temp\cdd\gen_code\table_n.obj \ + ..\..\..\..\..\temp\cdd\gen_code\table_o.obj \ + ..\..\..\..\..\temp\cdd\gen_code\table_p.obj \ + ..\..\..\..\..\temp\cdd\gen_code\table_q.obj \ + ..\..\..\..\..\temp\cdd\gen_code\table_r.obj \ + ..\..\..\..\..\temp\cdd\gen_code\table_s.obj \ + ..\..\..\..\..\temp\cdd\gen_code\table_t.obj \ + ..\..\..\..\..\temp\cdd\gen_code\table_u.obj \ + ..\..\..\..\..\temp\cdd\gen_code\table_v.obj \ + ..\..\..\..\..\temp\cdd\gen_code\table_w.obj \ + ..\..\..\..\..\temp\cdd\gen_code\table_x.obj \ + ..\..\..\..\..\temp\cdd\gen_code\table_y.obj \ + ..\..\..\..\..\temp\cdd\gen_code\table_z.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\gen_code.exe +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) $(LIBS) +<< + +moc: $(SRCMOC) + +tmake: ../cdd/win32/msvc/gen_code/Makefile + +../cdd/win32/msvc/gen_code/Makefile: gen_code/gen_code.pro + tmake gen_code/gen_code.pro -o ../cdd/win32/msvc/gen_code/Makefile + +dist: + $(ZIP) gen_code/gen_code.zip gen_code/gen_code.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\cdd\gen_code\gen_code.obj + -del ..\..\..\..\..\temp\cdd\gen_code\ta_abstract.obj + -del ..\..\..\..\..\temp\cdd\gen_code\ta_def_ui.obj + -del ..\..\..\..\..\temp\cdd\gen_code\table_a.obj + -del ..\..\..\..\..\temp\cdd\gen_code\table_b.obj + -del ..\..\..\..\..\temp\cdd\gen_code\table_c.obj + -del ..\..\..\..\..\temp\cdd\gen_code\table_d.obj + -del ..\..\..\..\..\temp\cdd\gen_code\table_e.obj + -del ..\..\..\..\..\temp\cdd\gen_code\table_f.obj + -del ..\..\..\..\..\temp\cdd\gen_code\table_g.obj + -del ..\..\..\..\..\temp\cdd\gen_code\table_h.obj + -del ..\..\..\..\..\temp\cdd\gen_code\table_i.obj + -del ..\..\..\..\..\temp\cdd\gen_code\table_j.obj + -del ..\..\..\..\..\temp\cdd\gen_code\table_k.obj + -del ..\..\..\..\..\temp\cdd\gen_code\table_l.obj + -del ..\..\..\..\..\temp\cdd\gen_code\table_m.obj + -del ..\..\..\..\..\temp\cdd\gen_code\table_n.obj + -del ..\..\..\..\..\temp\cdd\gen_code\table_o.obj + -del ..\..\..\..\..\temp\cdd\gen_code\table_p.obj + -del ..\..\..\..\..\temp\cdd\gen_code\table_q.obj + -del ..\..\..\..\..\temp\cdd\gen_code\table_r.obj + -del ..\..\..\..\..\temp\cdd\gen_code\table_s.obj + -del ..\..\..\..\..\temp\cdd\gen_code\table_t.obj + -del ..\..\..\..\..\temp\cdd\gen_code\table_u.obj + -del ..\..\..\..\..\temp\cdd\gen_code\table_v.obj + -del ..\..\..\..\..\temp\cdd\gen_code\table_w.obj + -del ..\..\..\..\..\temp\cdd\gen_code\table_x.obj + -del ..\..\..\..\..\temp\cdd\gen_code\table_y.obj + -del ..\..\..\..\..\temp\cdd\gen_code\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cdd/*.pch + -del ../../../../../temp/cdd/*.idb + -del ../../../../../temp/cdd/gen_code/*.pch + -del ../../../../../temp/cdd/gen_code/*.idb + -del ../../../../../temp/cdd/gen_code/*.obj + -del gen_code.pdb + -del vc*.pdb + -del gen_code.ilk + +####### Compile + +..\..\..\..\..\temp\cdd\gen_code\gen_code.obj: ..\..\..\..\..\src\tools\gen_code\gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\gen_code.obj ..\..\..\..\..\src\tools\gen_code\gen_code.c + +..\..\..\..\..\temp\cdd\gen_code\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cdd\gen_code\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cdd\gen_code\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cdd\gen_code\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cdd\gen_code\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cdd\gen_code\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cdd\gen_code\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cdd\gen_code\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cdd\gen_code\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cdd\gen_code\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cdd\gen_code\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cdd\gen_code\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cdd\gen_code\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cdd\gen_code\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cdd\gen_code\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cdd\gen_code\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cdd\gen_code\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cdd\gen_code\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cdd\gen_code\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cdd\gen_code\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cdd\gen_code\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cdd\gen_code\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cdd\gen_code\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cdd\gen_code\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cdd\gen_code\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cdd\gen_code\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cdd\gen_code\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cdd\gen_code\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\gen_code\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/cdd/win32/msvc/ta_abstract/Makefile b/vendor/ta-lib/make/cdd/win32/msvc/ta_abstract/Makefile new file mode 100644 index 000000000..ad9da7094 --- /dev/null +++ b/vendor/ta-lib/make/cdd/win32/msvc/ta_abstract/Makefile @@ -0,0 +1,273 @@ +############################################################################# +# Makefile for building ta_abstract_cdd +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -MDd -Zi -DTA_DEBUG -D_DEBUG -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +CXXFLAGS= -nologo -W3 -MDd -Zi -DTA_DEBUG -D_DEBUG -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"..\..\..\..\..\include" +LIB = lib /NOLOGO +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\cdd\ta_abstract.obj \ + ..\..\..\..\..\temp\cdd\ta_def_ui.obj \ + ..\..\..\..\..\temp\cdd\ta_func_api.obj \ + ..\..\..\..\..\temp\cdd\ta_group_idx.obj \ + ..\..\..\..\..\temp\cdd\ta_frame.obj \ + ..\..\..\..\..\temp\cdd\table_a.obj \ + ..\..\..\..\..\temp\cdd\table_b.obj \ + ..\..\..\..\..\temp\cdd\table_c.obj \ + ..\..\..\..\..\temp\cdd\table_d.obj \ + ..\..\..\..\..\temp\cdd\table_e.obj \ + ..\..\..\..\..\temp\cdd\table_f.obj \ + ..\..\..\..\..\temp\cdd\table_g.obj \ + ..\..\..\..\..\temp\cdd\table_h.obj \ + ..\..\..\..\..\temp\cdd\table_i.obj \ + ..\..\..\..\..\temp\cdd\table_j.obj \ + ..\..\..\..\..\temp\cdd\table_k.obj \ + ..\..\..\..\..\temp\cdd\table_l.obj \ + ..\..\..\..\..\temp\cdd\table_m.obj \ + ..\..\..\..\..\temp\cdd\table_n.obj \ + ..\..\..\..\..\temp\cdd\table_o.obj \ + ..\..\..\..\..\temp\cdd\table_p.obj \ + ..\..\..\..\..\temp\cdd\table_q.obj \ + ..\..\..\..\..\temp\cdd\table_r.obj \ + ..\..\..\..\..\temp\cdd\table_s.obj \ + ..\..\..\..\..\temp\cdd\table_t.obj \ + ..\..\..\..\..\temp\cdd\table_u.obj \ + ..\..\..\..\..\temp\cdd\table_v.obj \ + ..\..\..\..\..\temp\cdd\table_w.obj \ + ..\..\..\..\..\temp\cdd\table_x.obj \ + ..\..\..\..\..\temp\cdd\table_y.obj \ + ..\..\..\..\..\temp\cdd\table_z.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_abstract_cdd.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LIB) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) +<< + +moc: $(SRCMOC) + +tmake: ../cdd/win32/msvc/ta_abstract/Makefile + +../cdd/win32/msvc/ta_abstract/Makefile: ta_abstract/ta_abstract.pro + tmake ta_abstract/ta_abstract.pro -o ../cdd/win32/msvc/ta_abstract/Makefile + +dist: + $(ZIP) ta_abstract/ta_abstract.zip ta_abstract/ta_abstract.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\cdd\ta_abstract.obj + -del ..\..\..\..\..\temp\cdd\ta_def_ui.obj + -del ..\..\..\..\..\temp\cdd\ta_func_api.obj + -del ..\..\..\..\..\temp\cdd\ta_group_idx.obj + -del ..\..\..\..\..\temp\cdd\ta_frame.obj + -del ..\..\..\..\..\temp\cdd\table_a.obj + -del ..\..\..\..\..\temp\cdd\table_b.obj + -del ..\..\..\..\..\temp\cdd\table_c.obj + -del ..\..\..\..\..\temp\cdd\table_d.obj + -del ..\..\..\..\..\temp\cdd\table_e.obj + -del ..\..\..\..\..\temp\cdd\table_f.obj + -del ..\..\..\..\..\temp\cdd\table_g.obj + -del ..\..\..\..\..\temp\cdd\table_h.obj + -del ..\..\..\..\..\temp\cdd\table_i.obj + -del ..\..\..\..\..\temp\cdd\table_j.obj + -del ..\..\..\..\..\temp\cdd\table_k.obj + -del ..\..\..\..\..\temp\cdd\table_l.obj + -del ..\..\..\..\..\temp\cdd\table_m.obj + -del ..\..\..\..\..\temp\cdd\table_n.obj + -del ..\..\..\..\..\temp\cdd\table_o.obj + -del ..\..\..\..\..\temp\cdd\table_p.obj + -del ..\..\..\..\..\temp\cdd\table_q.obj + -del ..\..\..\..\..\temp\cdd\table_r.obj + -del ..\..\..\..\..\temp\cdd\table_s.obj + -del ..\..\..\..\..\temp\cdd\table_t.obj + -del ..\..\..\..\..\temp\cdd\table_u.obj + -del ..\..\..\..\..\temp\cdd\table_v.obj + -del ..\..\..\..\..\temp\cdd\table_w.obj + -del ..\..\..\..\..\temp\cdd\table_x.obj + -del ..\..\..\..\..\temp\cdd\table_y.obj + -del ..\..\..\..\..\temp\cdd\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cdd/*.pch + -del ../../../../../temp/cdd/*.idb + -del ../../../../../temp/cdd/ta_abstract/*.pch + -del ../../../../../temp/cdd/ta_abstract/*.idb + -del ../../../../../temp/cdd/ta_abstract/*.obj + -del ta_abstract_cdd.pdb + -del vc*.pdb + -del ta_abstract_cdd.ilk + +####### Compile + +..\..\..\..\..\temp\cdd\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cdd\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cdd\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\cdd\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\cdd\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\cdd\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cdd\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cdd\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cdd\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cdd\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cdd\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cdd\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cdd\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cdd\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cdd\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cdd\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cdd\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cdd\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cdd\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cdd\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cdd\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cdd\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cdd\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cdd\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cdd\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cdd\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cdd\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cdd\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cdd\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cdd\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cdd\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/cdd/win32/msvc/ta_common/Makefile b/vendor/ta-lib/make/cdd/win32/msvc/ta_common/Makefile new file mode 100644 index 000000000..aec82909c --- /dev/null +++ b/vendor/ta-lib/make/cdd/win32/msvc/ta_common/Makefile @@ -0,0 +1,105 @@ +############################################################################# +# Makefile for building ta_common_cdd +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -MDd -Zi -DTA_DEBUG -D_DEBUG -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +CXXFLAGS= -nologo -W3 -MDd -Zi -DTA_DEBUG -D_DEBUG -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" +LIB = lib /NOLOGO +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c +OBJECTS = ..\..\..\..\..\temp\cdd\ta_global.obj \ + ..\..\..\..\..\temp\cdd\ta_retcode.obj \ + ..\..\..\..\..\temp\cdd\ta_version.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_common_cdd.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LIB) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) +<< + +moc: $(SRCMOC) + +tmake: ../cdd/win32/msvc/ta_common/Makefile + +../cdd/win32/msvc/ta_common/Makefile: ta_common/ta_common.pro + tmake ta_common/ta_common.pro -o ../cdd/win32/msvc/ta_common/Makefile + +dist: + $(ZIP) ta_common/ta_common.zip ta_common/ta_common.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\cdd\ta_global.obj + -del ..\..\..\..\..\temp\cdd\ta_retcode.obj + -del ..\..\..\..\..\temp\cdd\ta_version.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cdd/*.pch + -del ../../../../../temp/cdd/*.idb + -del ../../../../../temp/cdd/ta_common_cdd/*.pch + -del ../../../../../temp/cdd/ta_common_cdd/*.idb + -del ../../../../../temp/cdd/ta_common_cdd/*.obj + -del ta_common_cdd.pdb + -del vc*.pdb + -del ta_common_cdd.ilk + +####### Compile + +..\..\..\..\..\temp\cdd\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\cdd\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\cdd\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + diff --git a/vendor/ta-lib/make/cdd/win32/msvc/ta_func/Makefile b/vendor/ta-lib/make/cdd/win32/msvc/ta_func/Makefile new file mode 100644 index 000000000..d00843585 --- /dev/null +++ b/vendor/ta-lib/make/cdd/win32/msvc/ta_func/Makefile @@ -0,0 +1,1041 @@ +############################################################################# +# Makefile for building ta_func_cdd +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -MDd -Zi -DTA_DEBUG -D_DEBUG -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +CXXFLAGS= -nologo -W3 -MDd -Zi -DTA_DEBUG -D_DEBUG -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"\n" -I"..\..\..\..\..\include" +LIB = lib /NOLOGO +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\cdd\ta_utility.obj \ + ..\..\..\..\..\temp\cdd\ta_ACOS.obj \ + ..\..\..\..\..\temp\cdd\ta_AD.obj \ + ..\..\..\..\..\temp\cdd\ta_ADD.obj \ + ..\..\..\..\..\temp\cdd\ta_ADOSC.obj \ + ..\..\..\..\..\temp\cdd\ta_ADX.obj \ + ..\..\..\..\..\temp\cdd\ta_ADXR.obj \ + ..\..\..\..\..\temp\cdd\ta_APO.obj \ + ..\..\..\..\..\temp\cdd\ta_AROON.obj \ + ..\..\..\..\..\temp\cdd\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\cdd\ta_ASIN.obj \ + ..\..\..\..\..\temp\cdd\ta_ATAN.obj \ + ..\..\..\..\..\temp\cdd\ta_ATR.obj \ + ..\..\..\..\..\temp\cdd\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\cdd\ta_BBANDS.obj \ + ..\..\..\..\..\temp\cdd\ta_BETA.obj \ + ..\..\..\..\..\temp\cdd\ta_BOP.obj \ + ..\..\..\..\..\temp\cdd\ta_CCI.obj \ + ..\..\..\..\..\temp\cdd\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\cdd\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\cdd\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\cdd\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\cdd\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\cdd\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\cdd\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\cdd\ta_CEIL.obj \ + ..\..\..\..\..\temp\cdd\ta_CMO.obj \ + ..\..\..\..\..\temp\cdd\ta_CORREL.obj \ + ..\..\..\..\..\temp\cdd\ta_COS.obj \ + ..\..\..\..\..\temp\cdd\ta_COSH.obj \ + ..\..\..\..\..\temp\cdd\ta_DEMA.obj \ + ..\..\..\..\..\temp\cdd\ta_DIV.obj \ + ..\..\..\..\..\temp\cdd\ta_DX.obj \ + ..\..\..\..\..\temp\cdd\ta_EMA.obj \ + ..\..\..\..\..\temp\cdd\ta_EXP.obj \ + ..\..\..\..\..\temp\cdd\ta_FLOOR.obj \ + ..\..\..\..\..\temp\cdd\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\cdd\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\cdd\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\cdd\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\cdd\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\cdd\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\cdd\ta_KAMA.obj \ + ..\..\..\..\..\temp\cdd\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\cdd\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\cdd\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\cdd\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\cdd\ta_LN.obj \ + ..\..\..\..\..\temp\cdd\ta_LOG10.obj \ + ..\..\..\..\..\temp\cdd\ta_MA.obj \ + ..\..\..\..\..\temp\cdd\ta_MACD.obj \ + ..\..\..\..\..\temp\cdd\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\cdd\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\cdd\ta_MAMA.obj \ + ..\..\..\..\..\temp\cdd\ta_MAVP.obj \ + ..\..\..\..\..\temp\cdd\ta_MAX.obj \ + ..\..\..\..\..\temp\cdd\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\cdd\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\cdd\ta_MFI.obj \ + ..\..\..\..\..\temp\cdd\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\cdd\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\cdd\ta_MIN.obj \ + ..\..\..\..\..\temp\cdd\ta_MININDEX.obj \ + ..\..\..\..\..\temp\cdd\ta_MINMAX.obj \ + ..\..\..\..\..\temp\cdd\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\cdd\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\cdd\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\cdd\ta_MOM.obj \ + ..\..\..\..\..\temp\cdd\ta_MULT.obj \ + ..\..\..\..\..\temp\cdd\ta_NATR.obj \ + ..\..\..\..\..\temp\cdd\ta_OBV.obj \ + ..\..\..\..\..\temp\cdd\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\cdd\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\cdd\ta_PPO.obj \ + ..\..\..\..\..\temp\cdd\ta_ROC.obj \ + ..\..\..\..\..\temp\cdd\ta_ROCP.obj \ + ..\..\..\..\..\temp\cdd\ta_ROCR.obj \ + ..\..\..\..\..\temp\cdd\ta_ROCR100.obj \ + ..\..\..\..\..\temp\cdd\ta_RSI.obj \ + ..\..\..\..\..\temp\cdd\ta_SAR.obj \ + ..\..\..\..\..\temp\cdd\ta_SAREXT.obj \ + ..\..\..\..\..\temp\cdd\ta_SIN.obj \ + ..\..\..\..\..\temp\cdd\ta_SINH.obj \ + ..\..\..\..\..\temp\cdd\ta_SMA.obj \ + ..\..\..\..\..\temp\cdd\ta_SQRT.obj \ + ..\..\..\..\..\temp\cdd\ta_STDDEV.obj \ + ..\..\..\..\..\temp\cdd\ta_STOCH.obj \ + ..\..\..\..\..\temp\cdd\ta_STOCHF.obj \ + ..\..\..\..\..\temp\cdd\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\cdd\ta_SUB.obj \ + ..\..\..\..\..\temp\cdd\ta_SUM.obj \ + ..\..\..\..\..\temp\cdd\ta_T3.obj \ + ..\..\..\..\..\temp\cdd\ta_TAN.obj \ + ..\..\..\..\..\temp\cdd\ta_TANH.obj \ + ..\..\..\..\..\temp\cdd\ta_TEMA.obj \ + ..\..\..\..\..\temp\cdd\ta_TRANGE.obj \ + ..\..\..\..\..\temp\cdd\ta_TRIMA.obj \ + ..\..\..\..\..\temp\cdd\ta_TRIX.obj \ + ..\..\..\..\..\temp\cdd\ta_TSF.obj \ + ..\..\..\..\..\temp\cdd\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\cdd\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\cdd\ta_VAR.obj \ + ..\..\..\..\..\temp\cdd\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\cdd\ta_WILLR.obj \ + ..\..\..\..\..\temp\cdd\ta_WMA.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_func_cdd.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LIB) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) +<< + +moc: $(SRCMOC) + +tmake: ../cdd/win32/msvc/ta_func/Makefile + +../cdd/win32/msvc/ta_func/Makefile: ta_func/ta_func.pro + tmake ta_func/ta_func.pro -o ../cdd/win32/msvc/ta_func/Makefile + +dist: + $(ZIP) ta_func/ta_func.zip ta_func/ta_func.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\cdd\ta_utility.obj + -del ..\..\..\..\..\temp\cdd\ta_ACOS.obj + -del ..\..\..\..\..\temp\cdd\ta_AD.obj + -del ..\..\..\..\..\temp\cdd\ta_ADD.obj + -del ..\..\..\..\..\temp\cdd\ta_ADOSC.obj + -del ..\..\..\..\..\temp\cdd\ta_ADX.obj + -del ..\..\..\..\..\temp\cdd\ta_ADXR.obj + -del ..\..\..\..\..\temp\cdd\ta_APO.obj + -del ..\..\..\..\..\temp\cdd\ta_AROON.obj + -del ..\..\..\..\..\temp\cdd\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\cdd\ta_ASIN.obj + -del ..\..\..\..\..\temp\cdd\ta_ATAN.obj + -del ..\..\..\..\..\temp\cdd\ta_ATR.obj + -del ..\..\..\..\..\temp\cdd\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\cdd\ta_BBANDS.obj + -del ..\..\..\..\..\temp\cdd\ta_BETA.obj + -del ..\..\..\..\..\temp\cdd\ta_BOP.obj + -del ..\..\..\..\..\temp\cdd\ta_CCI.obj + -del ..\..\..\..\..\temp\cdd\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\cdd\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\cdd\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\cdd\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\cdd\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\cdd\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\cdd\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\cdd\ta_CEIL.obj + -del ..\..\..\..\..\temp\cdd\ta_CMO.obj + -del ..\..\..\..\..\temp\cdd\ta_CORREL.obj + -del ..\..\..\..\..\temp\cdd\ta_COS.obj + -del ..\..\..\..\..\temp\cdd\ta_COSH.obj + -del ..\..\..\..\..\temp\cdd\ta_DEMA.obj + -del ..\..\..\..\..\temp\cdd\ta_DIV.obj + -del ..\..\..\..\..\temp\cdd\ta_DX.obj + -del ..\..\..\..\..\temp\cdd\ta_EMA.obj + -del ..\..\..\..\..\temp\cdd\ta_EXP.obj + -del ..\..\..\..\..\temp\cdd\ta_FLOOR.obj + -del ..\..\..\..\..\temp\cdd\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\cdd\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\cdd\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\cdd\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\cdd\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\cdd\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\cdd\ta_KAMA.obj + -del ..\..\..\..\..\temp\cdd\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\cdd\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\cdd\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\cdd\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\cdd\ta_LN.obj + -del ..\..\..\..\..\temp\cdd\ta_LOG10.obj + -del ..\..\..\..\..\temp\cdd\ta_MA.obj + -del ..\..\..\..\..\temp\cdd\ta_MACD.obj + -del ..\..\..\..\..\temp\cdd\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\cdd\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\cdd\ta_MAMA.obj + -del ..\..\..\..\..\temp\cdd\ta_MAVP.obj + -del ..\..\..\..\..\temp\cdd\ta_MAX.obj + -del ..\..\..\..\..\temp\cdd\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\cdd\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\cdd\ta_MFI.obj + -del ..\..\..\..\..\temp\cdd\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\cdd\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\cdd\ta_MIN.obj + -del ..\..\..\..\..\temp\cdd\ta_MININDEX.obj + -del ..\..\..\..\..\temp\cdd\ta_MINMAX.obj + -del ..\..\..\..\..\temp\cdd\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\cdd\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\cdd\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\cdd\ta_MOM.obj + -del ..\..\..\..\..\temp\cdd\ta_MULT.obj + -del ..\..\..\..\..\temp\cdd\ta_NATR.obj + -del ..\..\..\..\..\temp\cdd\ta_OBV.obj + -del ..\..\..\..\..\temp\cdd\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\cdd\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\cdd\ta_PPO.obj + -del ..\..\..\..\..\temp\cdd\ta_ROC.obj + -del ..\..\..\..\..\temp\cdd\ta_ROCP.obj + -del ..\..\..\..\..\temp\cdd\ta_ROCR.obj + -del ..\..\..\..\..\temp\cdd\ta_ROCR100.obj + -del ..\..\..\..\..\temp\cdd\ta_RSI.obj + -del ..\..\..\..\..\temp\cdd\ta_SAR.obj + -del ..\..\..\..\..\temp\cdd\ta_SAREXT.obj + -del ..\..\..\..\..\temp\cdd\ta_SIN.obj + -del ..\..\..\..\..\temp\cdd\ta_SINH.obj + -del ..\..\..\..\..\temp\cdd\ta_SMA.obj + -del ..\..\..\..\..\temp\cdd\ta_SQRT.obj + -del ..\..\..\..\..\temp\cdd\ta_STDDEV.obj + -del ..\..\..\..\..\temp\cdd\ta_STOCH.obj + -del ..\..\..\..\..\temp\cdd\ta_STOCHF.obj + -del ..\..\..\..\..\temp\cdd\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\cdd\ta_SUB.obj + -del ..\..\..\..\..\temp\cdd\ta_SUM.obj + -del ..\..\..\..\..\temp\cdd\ta_T3.obj + -del ..\..\..\..\..\temp\cdd\ta_TAN.obj + -del ..\..\..\..\..\temp\cdd\ta_TANH.obj + -del ..\..\..\..\..\temp\cdd\ta_TEMA.obj + -del ..\..\..\..\..\temp\cdd\ta_TRANGE.obj + -del ..\..\..\..\..\temp\cdd\ta_TRIMA.obj + -del ..\..\..\..\..\temp\cdd\ta_TRIX.obj + -del ..\..\..\..\..\temp\cdd\ta_TSF.obj + -del ..\..\..\..\..\temp\cdd\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\cdd\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\cdd\ta_VAR.obj + -del ..\..\..\..\..\temp\cdd\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\cdd\ta_WILLR.obj + -del ..\..\..\..\..\temp\cdd\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cdd/*.pch + -del ../../../../../temp/cdd/*.idb + -del ../../../../../temp/cdd/ta_func/*.pch + -del ../../../../../temp/cdd/ta_func/*.idb + -del ../../../../../temp/cdd/ta_func/*.obj + -del ta_func_cdd.pdb + -del vc*.pdb + -del ta_func_cdd.ilk + +####### Compile + +..\..\..\..\..\temp\cdd\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\cdd\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\cdd\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\cdd\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\cdd\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\cdd\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\cdd\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\cdd\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\cdd\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\cdd\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\cdd\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\cdd\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\cdd\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\cdd\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\cdd\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\cdd\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\cdd\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\cdd\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\cdd\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\cdd\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\cdd\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\cdd\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\cdd\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\cdd\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\cdd\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\cdd\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\cdd\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\cdd\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\cdd\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\cdd\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\cdd\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\cdd\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\cdd\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\cdd\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\cdd\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\cdd\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\cdd\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\cdd\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\cdd\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\cdd\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\cdd\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\cdd\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\cdd\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\cdd\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\cdd\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\cdd\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\cdd\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\cdd\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\cdd\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\cdd\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\cdd\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\cdd\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\cdd\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\cdd\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\cdd\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\cdd\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\cdd\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\cdd\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\cdd\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\cdd\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\cdd\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\cdd\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\cdd\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\cdd\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\cdd\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\cdd\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\cdd\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\cdd\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\cdd\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\cdd\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\cdd\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\cdd\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\cdd\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\cdd\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\cdd\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\cdd\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\cdd\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\cdd\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\cdd\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\cdd\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\cdd\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\cdd\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\cdd\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\cdd\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\cdd\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\cdd\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\cdd\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\cdd\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\cdd\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\cdd\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\cdd\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\cdd\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\cdd\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\cdd\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\cdd\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\cdd\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\cdd\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\cdd\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\cdd\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\cdd\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\cdd\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\cdd\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\cdd\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\cdd\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\cdd\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\cdd\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\cdd\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\cdd\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\cdd\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\cdd\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\cdd\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\cdd\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\cdd\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\cdd\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\cdd\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\cdd\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\cdd\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\cdd\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\cdd\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\cdd\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\cdd\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\cdd\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\cdd\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\cdd\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\cdd\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\cdd\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\cdd\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\cdd\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\cdd\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\cdd\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\cdd\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\cdd\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\cdd\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\cdd\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\cdd\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\cdd\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\cdd\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\cdd\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\cdd\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\cdd\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\cdd\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\cdd\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\cdd\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\cdd\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\cdd\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\cdd\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\cdd\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\cdd\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\cdd\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\cdd\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\cdd\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\cdd\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\cdd\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\cdd\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\cdd\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\cdd\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\cdd\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\cdd\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\cdd\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/cdd/win32/msvc/ta_libc/Makefile b/vendor/ta-lib/make/cdd/win32/msvc/ta_libc/Makefile new file mode 100644 index 000000000..606be2dcd --- /dev/null +++ b/vendor/ta-lib/make/cdd/win32/msvc/ta_libc/Makefile @@ -0,0 +1,1240 @@ +############################################################################# +# Makefile for building ta_libc_cdd +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -MDd -Zi -DTA_DEBUG -D_DEBUG -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +CXXFLAGS= -nologo -W3 -MDd -Zi -DTA_DEBUG -D_DEBUG -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"$(QTDIR)\include" +LIB = lib /NOLOGO +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c \ + ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\cdd\ta_global.obj \ + ..\..\..\..\..\temp\cdd\ta_retcode.obj \ + ..\..\..\..\..\temp\cdd\ta_version.obj \ + ..\..\..\..\..\temp\cdd\ta_abstract.obj \ + ..\..\..\..\..\temp\cdd\ta_def_ui.obj \ + ..\..\..\..\..\temp\cdd\ta_func_api.obj \ + ..\..\..\..\..\temp\cdd\ta_group_idx.obj \ + ..\..\..\..\..\temp\cdd\ta_frame.obj \ + ..\..\..\..\..\temp\cdd\table_a.obj \ + ..\..\..\..\..\temp\cdd\table_b.obj \ + ..\..\..\..\..\temp\cdd\table_c.obj \ + ..\..\..\..\..\temp\cdd\table_d.obj \ + ..\..\..\..\..\temp\cdd\table_e.obj \ + ..\..\..\..\..\temp\cdd\table_f.obj \ + ..\..\..\..\..\temp\cdd\table_g.obj \ + ..\..\..\..\..\temp\cdd\table_h.obj \ + ..\..\..\..\..\temp\cdd\table_i.obj \ + ..\..\..\..\..\temp\cdd\table_j.obj \ + ..\..\..\..\..\temp\cdd\table_k.obj \ + ..\..\..\..\..\temp\cdd\table_l.obj \ + ..\..\..\..\..\temp\cdd\table_m.obj \ + ..\..\..\..\..\temp\cdd\table_n.obj \ + ..\..\..\..\..\temp\cdd\table_o.obj \ + ..\..\..\..\..\temp\cdd\table_p.obj \ + ..\..\..\..\..\temp\cdd\table_q.obj \ + ..\..\..\..\..\temp\cdd\table_r.obj \ + ..\..\..\..\..\temp\cdd\table_s.obj \ + ..\..\..\..\..\temp\cdd\table_t.obj \ + ..\..\..\..\..\temp\cdd\table_u.obj \ + ..\..\..\..\..\temp\cdd\table_v.obj \ + ..\..\..\..\..\temp\cdd\table_w.obj \ + ..\..\..\..\..\temp\cdd\table_x.obj \ + ..\..\..\..\..\temp\cdd\table_y.obj \ + ..\..\..\..\..\temp\cdd\table_z.obj \ + ..\..\..\..\..\temp\cdd\ta_utility.obj \ + ..\..\..\..\..\temp\cdd\ta_ACOS.obj \ + ..\..\..\..\..\temp\cdd\ta_AD.obj \ + ..\..\..\..\..\temp\cdd\ta_ADD.obj \ + ..\..\..\..\..\temp\cdd\ta_ADOSC.obj \ + ..\..\..\..\..\temp\cdd\ta_ADX.obj \ + ..\..\..\..\..\temp\cdd\ta_ADXR.obj \ + ..\..\..\..\..\temp\cdd\ta_APO.obj \ + ..\..\..\..\..\temp\cdd\ta_AROON.obj \ + ..\..\..\..\..\temp\cdd\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\cdd\ta_ASIN.obj \ + ..\..\..\..\..\temp\cdd\ta_ATAN.obj \ + ..\..\..\..\..\temp\cdd\ta_ATR.obj \ + ..\..\..\..\..\temp\cdd\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\cdd\ta_BBANDS.obj \ + ..\..\..\..\..\temp\cdd\ta_BETA.obj \ + ..\..\..\..\..\temp\cdd\ta_BOP.obj \ + ..\..\..\..\..\temp\cdd\ta_CCI.obj \ + ..\..\..\..\..\temp\cdd\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\cdd\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\cdd\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\cdd\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\cdd\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\cdd\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\cdd\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\cdd\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\cdd\ta_CEIL.obj \ + ..\..\..\..\..\temp\cdd\ta_CMO.obj \ + ..\..\..\..\..\temp\cdd\ta_CORREL.obj \ + ..\..\..\..\..\temp\cdd\ta_COS.obj \ + ..\..\..\..\..\temp\cdd\ta_COSH.obj \ + ..\..\..\..\..\temp\cdd\ta_DEMA.obj \ + ..\..\..\..\..\temp\cdd\ta_DIV.obj \ + ..\..\..\..\..\temp\cdd\ta_DX.obj \ + ..\..\..\..\..\temp\cdd\ta_EMA.obj \ + ..\..\..\..\..\temp\cdd\ta_EXP.obj \ + ..\..\..\..\..\temp\cdd\ta_FLOOR.obj \ + ..\..\..\..\..\temp\cdd\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\cdd\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\cdd\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\cdd\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\cdd\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\cdd\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\cdd\ta_KAMA.obj \ + ..\..\..\..\..\temp\cdd\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\cdd\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\cdd\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\cdd\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\cdd\ta_LN.obj \ + ..\..\..\..\..\temp\cdd\ta_LOG10.obj \ + ..\..\..\..\..\temp\cdd\ta_MA.obj \ + ..\..\..\..\..\temp\cdd\ta_MACD.obj \ + ..\..\..\..\..\temp\cdd\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\cdd\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\cdd\ta_MAMA.obj \ + ..\..\..\..\..\temp\cdd\ta_MAVP.obj \ + ..\..\..\..\..\temp\cdd\ta_MAX.obj \ + ..\..\..\..\..\temp\cdd\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\cdd\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\cdd\ta_MFI.obj \ + ..\..\..\..\..\temp\cdd\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\cdd\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\cdd\ta_MIN.obj \ + ..\..\..\..\..\temp\cdd\ta_MININDEX.obj \ + ..\..\..\..\..\temp\cdd\ta_MINMAX.obj \ + ..\..\..\..\..\temp\cdd\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\cdd\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\cdd\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\cdd\ta_MOM.obj \ + ..\..\..\..\..\temp\cdd\ta_MULT.obj \ + ..\..\..\..\..\temp\cdd\ta_NATR.obj \ + ..\..\..\..\..\temp\cdd\ta_OBV.obj \ + ..\..\..\..\..\temp\cdd\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\cdd\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\cdd\ta_PPO.obj \ + ..\..\..\..\..\temp\cdd\ta_ROC.obj \ + ..\..\..\..\..\temp\cdd\ta_ROCP.obj \ + ..\..\..\..\..\temp\cdd\ta_ROCR.obj \ + ..\..\..\..\..\temp\cdd\ta_ROCR100.obj \ + ..\..\..\..\..\temp\cdd\ta_RSI.obj \ + ..\..\..\..\..\temp\cdd\ta_SAR.obj \ + ..\..\..\..\..\temp\cdd\ta_SAREXT.obj \ + ..\..\..\..\..\temp\cdd\ta_SIN.obj \ + ..\..\..\..\..\temp\cdd\ta_SINH.obj \ + ..\..\..\..\..\temp\cdd\ta_SMA.obj \ + ..\..\..\..\..\temp\cdd\ta_SQRT.obj \ + ..\..\..\..\..\temp\cdd\ta_STDDEV.obj \ + ..\..\..\..\..\temp\cdd\ta_STOCH.obj \ + ..\..\..\..\..\temp\cdd\ta_STOCHF.obj \ + ..\..\..\..\..\temp\cdd\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\cdd\ta_SUB.obj \ + ..\..\..\..\..\temp\cdd\ta_SUM.obj \ + ..\..\..\..\..\temp\cdd\ta_T3.obj \ + ..\..\..\..\..\temp\cdd\ta_TAN.obj \ + ..\..\..\..\..\temp\cdd\ta_TANH.obj \ + ..\..\..\..\..\temp\cdd\ta_TEMA.obj \ + ..\..\..\..\..\temp\cdd\ta_TRANGE.obj \ + ..\..\..\..\..\temp\cdd\ta_TRIMA.obj \ + ..\..\..\..\..\temp\cdd\ta_TRIX.obj \ + ..\..\..\..\..\temp\cdd\ta_TSF.obj \ + ..\..\..\..\..\temp\cdd\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\cdd\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\cdd\ta_VAR.obj \ + ..\..\..\..\..\temp\cdd\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\cdd\ta_WILLR.obj \ + ..\..\..\..\..\temp\cdd\ta_WMA.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_libc_cdd.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LIB) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) +<< + +moc: $(SRCMOC) + +tmake: ../cdd/win32/msvc/ta_libc/Makefile + +../cdd/win32/msvc/ta_libc/Makefile: ta_libc/ta_libc.pro + tmake ta_libc/ta_libc.pro -o ../cdd/win32/msvc/ta_libc/Makefile + +dist: + $(ZIP) ta_libc/ta_libc.zip ta_libc/ta_libc.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\cdd\ta_global.obj + -del ..\..\..\..\..\temp\cdd\ta_retcode.obj + -del ..\..\..\..\..\temp\cdd\ta_version.obj + -del ..\..\..\..\..\temp\cdd\ta_abstract.obj + -del ..\..\..\..\..\temp\cdd\ta_def_ui.obj + -del ..\..\..\..\..\temp\cdd\ta_func_api.obj + -del ..\..\..\..\..\temp\cdd\ta_group_idx.obj + -del ..\..\..\..\..\temp\cdd\ta_frame.obj + -del ..\..\..\..\..\temp\cdd\table_a.obj + -del ..\..\..\..\..\temp\cdd\table_b.obj + -del ..\..\..\..\..\temp\cdd\table_c.obj + -del ..\..\..\..\..\temp\cdd\table_d.obj + -del ..\..\..\..\..\temp\cdd\table_e.obj + -del ..\..\..\..\..\temp\cdd\table_f.obj + -del ..\..\..\..\..\temp\cdd\table_g.obj + -del ..\..\..\..\..\temp\cdd\table_h.obj + -del ..\..\..\..\..\temp\cdd\table_i.obj + -del ..\..\..\..\..\temp\cdd\table_j.obj + -del ..\..\..\..\..\temp\cdd\table_k.obj + -del ..\..\..\..\..\temp\cdd\table_l.obj + -del ..\..\..\..\..\temp\cdd\table_m.obj + -del ..\..\..\..\..\temp\cdd\table_n.obj + -del ..\..\..\..\..\temp\cdd\table_o.obj + -del ..\..\..\..\..\temp\cdd\table_p.obj + -del ..\..\..\..\..\temp\cdd\table_q.obj + -del ..\..\..\..\..\temp\cdd\table_r.obj + -del ..\..\..\..\..\temp\cdd\table_s.obj + -del ..\..\..\..\..\temp\cdd\table_t.obj + -del ..\..\..\..\..\temp\cdd\table_u.obj + -del ..\..\..\..\..\temp\cdd\table_v.obj + -del ..\..\..\..\..\temp\cdd\table_w.obj + -del ..\..\..\..\..\temp\cdd\table_x.obj + -del ..\..\..\..\..\temp\cdd\table_y.obj + -del ..\..\..\..\..\temp\cdd\table_z.obj + -del ..\..\..\..\..\temp\cdd\ta_utility.obj + -del ..\..\..\..\..\temp\cdd\ta_ACOS.obj + -del ..\..\..\..\..\temp\cdd\ta_AD.obj + -del ..\..\..\..\..\temp\cdd\ta_ADD.obj + -del ..\..\..\..\..\temp\cdd\ta_ADOSC.obj + -del ..\..\..\..\..\temp\cdd\ta_ADX.obj + -del ..\..\..\..\..\temp\cdd\ta_ADXR.obj + -del ..\..\..\..\..\temp\cdd\ta_APO.obj + -del ..\..\..\..\..\temp\cdd\ta_AROON.obj + -del ..\..\..\..\..\temp\cdd\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\cdd\ta_ASIN.obj + -del ..\..\..\..\..\temp\cdd\ta_ATAN.obj + -del ..\..\..\..\..\temp\cdd\ta_ATR.obj + -del ..\..\..\..\..\temp\cdd\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\cdd\ta_BBANDS.obj + -del ..\..\..\..\..\temp\cdd\ta_BETA.obj + -del ..\..\..\..\..\temp\cdd\ta_BOP.obj + -del ..\..\..\..\..\temp\cdd\ta_CCI.obj + -del ..\..\..\..\..\temp\cdd\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\cdd\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\cdd\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\cdd\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\cdd\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\cdd\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\cdd\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\cdd\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\cdd\ta_CEIL.obj + -del ..\..\..\..\..\temp\cdd\ta_CMO.obj + -del ..\..\..\..\..\temp\cdd\ta_CORREL.obj + -del ..\..\..\..\..\temp\cdd\ta_COS.obj + -del ..\..\..\..\..\temp\cdd\ta_COSH.obj + -del ..\..\..\..\..\temp\cdd\ta_DEMA.obj + -del ..\..\..\..\..\temp\cdd\ta_DIV.obj + -del ..\..\..\..\..\temp\cdd\ta_DX.obj + -del ..\..\..\..\..\temp\cdd\ta_EMA.obj + -del ..\..\..\..\..\temp\cdd\ta_EXP.obj + -del ..\..\..\..\..\temp\cdd\ta_FLOOR.obj + -del ..\..\..\..\..\temp\cdd\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\cdd\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\cdd\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\cdd\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\cdd\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\cdd\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\cdd\ta_KAMA.obj + -del ..\..\..\..\..\temp\cdd\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\cdd\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\cdd\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\cdd\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\cdd\ta_LN.obj + -del ..\..\..\..\..\temp\cdd\ta_LOG10.obj + -del ..\..\..\..\..\temp\cdd\ta_MA.obj + -del ..\..\..\..\..\temp\cdd\ta_MACD.obj + -del ..\..\..\..\..\temp\cdd\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\cdd\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\cdd\ta_MAMA.obj + -del ..\..\..\..\..\temp\cdd\ta_MAVP.obj + -del ..\..\..\..\..\temp\cdd\ta_MAX.obj + -del ..\..\..\..\..\temp\cdd\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\cdd\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\cdd\ta_MFI.obj + -del ..\..\..\..\..\temp\cdd\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\cdd\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\cdd\ta_MIN.obj + -del ..\..\..\..\..\temp\cdd\ta_MININDEX.obj + -del ..\..\..\..\..\temp\cdd\ta_MINMAX.obj + -del ..\..\..\..\..\temp\cdd\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\cdd\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\cdd\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\cdd\ta_MOM.obj + -del ..\..\..\..\..\temp\cdd\ta_MULT.obj + -del ..\..\..\..\..\temp\cdd\ta_NATR.obj + -del ..\..\..\..\..\temp\cdd\ta_OBV.obj + -del ..\..\..\..\..\temp\cdd\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\cdd\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\cdd\ta_PPO.obj + -del ..\..\..\..\..\temp\cdd\ta_ROC.obj + -del ..\..\..\..\..\temp\cdd\ta_ROCP.obj + -del ..\..\..\..\..\temp\cdd\ta_ROCR.obj + -del ..\..\..\..\..\temp\cdd\ta_ROCR100.obj + -del ..\..\..\..\..\temp\cdd\ta_RSI.obj + -del ..\..\..\..\..\temp\cdd\ta_SAR.obj + -del ..\..\..\..\..\temp\cdd\ta_SAREXT.obj + -del ..\..\..\..\..\temp\cdd\ta_SIN.obj + -del ..\..\..\..\..\temp\cdd\ta_SINH.obj + -del ..\..\..\..\..\temp\cdd\ta_SMA.obj + -del ..\..\..\..\..\temp\cdd\ta_SQRT.obj + -del ..\..\..\..\..\temp\cdd\ta_STDDEV.obj + -del ..\..\..\..\..\temp\cdd\ta_STOCH.obj + -del ..\..\..\..\..\temp\cdd\ta_STOCHF.obj + -del ..\..\..\..\..\temp\cdd\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\cdd\ta_SUB.obj + -del ..\..\..\..\..\temp\cdd\ta_SUM.obj + -del ..\..\..\..\..\temp\cdd\ta_T3.obj + -del ..\..\..\..\..\temp\cdd\ta_TAN.obj + -del ..\..\..\..\..\temp\cdd\ta_TANH.obj + -del ..\..\..\..\..\temp\cdd\ta_TEMA.obj + -del ..\..\..\..\..\temp\cdd\ta_TRANGE.obj + -del ..\..\..\..\..\temp\cdd\ta_TRIMA.obj + -del ..\..\..\..\..\temp\cdd\ta_TRIX.obj + -del ..\..\..\..\..\temp\cdd\ta_TSF.obj + -del ..\..\..\..\..\temp\cdd\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\cdd\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\cdd\ta_VAR.obj + -del ..\..\..\..\..\temp\cdd\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\cdd\ta_WILLR.obj + -del ..\..\..\..\..\temp\cdd\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ta_libc_cdd.pdb + -del vc*.pdb + -del ta_libc_cdd.ilk + +####### Compile + +..\..\..\..\..\temp\cdd\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\cdd\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\cdd\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + +..\..\..\..\..\temp\cdd\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cdd\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cdd\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\cdd\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\cdd\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\cdd\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cdd\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cdd\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cdd\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cdd\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cdd\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cdd\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cdd\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cdd\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cdd\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cdd\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cdd\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cdd\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cdd\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cdd\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cdd\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cdd\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cdd\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cdd\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cdd\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cdd\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cdd\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cdd\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cdd\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cdd\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cdd\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + +..\..\..\..\..\temp\cdd\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\cdd\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\cdd\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\cdd\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\cdd\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\cdd\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\cdd\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\cdd\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\cdd\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\cdd\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\cdd\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\cdd\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\cdd\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\cdd\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\cdd\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\cdd\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\cdd\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\cdd\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\cdd\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\cdd\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\cdd\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\cdd\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\cdd\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\cdd\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\cdd\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\cdd\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\cdd\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\cdd\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\cdd\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\cdd\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\cdd\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\cdd\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\cdd\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\cdd\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\cdd\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\cdd\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\cdd\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\cdd\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\cdd\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\cdd\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\cdd\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\cdd\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\cdd\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\cdd\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\cdd\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\cdd\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\cdd\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\cdd\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\cdd\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\cdd\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\cdd\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\cdd\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\cdd\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\cdd\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\cdd\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\cdd\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\cdd\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\cdd\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\cdd\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\cdd\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\cdd\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\cdd\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\cdd\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\cdd\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\cdd\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\cdd\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\cdd\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\cdd\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\cdd\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\cdd\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\cdd\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\cdd\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\cdd\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\cdd\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\cdd\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\cdd\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\cdd\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\cdd\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\cdd\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\cdd\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\cdd\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\cdd\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\cdd\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\cdd\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\cdd\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\cdd\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\cdd\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\cdd\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\cdd\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\cdd\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\cdd\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\cdd\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\cdd\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\cdd\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\cdd\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\cdd\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\cdd\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\cdd\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\cdd\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\cdd\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\cdd\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\cdd\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\cdd\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\cdd\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\cdd\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\cdd\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\cdd\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\cdd\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\cdd\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\cdd\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\cdd\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\cdd\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\cdd\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\cdd\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\cdd\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\cdd\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\cdd\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\cdd\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\cdd\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\cdd\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\cdd\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\cdd\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\cdd\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\cdd\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\cdd\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\cdd\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\cdd\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\cdd\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\cdd\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\cdd\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\cdd\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\cdd\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\cdd\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\cdd\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\cdd\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\cdd\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\cdd\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\cdd\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\cdd\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\cdd\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\cdd\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\cdd\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\cdd\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\cdd\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\cdd\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\cdd\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\cdd\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\cdd\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\cdd\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\cdd\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\cdd\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\cdd\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\cdd\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\cdd\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\cdd\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\cdd\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\cdd\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\cdd\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\cdd\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/cdd/win32/msvc/ta_regtest/Makefile b/vendor/ta-lib/make/cdd/win32/msvc/ta_regtest/Makefile new file mode 100644 index 000000000..e8a2445c5 --- /dev/null +++ b/vendor/ta-lib/make/cdd/win32/msvc/ta_regtest/Makefile @@ -0,0 +1,239 @@ +############################################################################# +# Makefile for building ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -MDd -Zi -DTA_DEBUG -D_DEBUG -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +CXXFLAGS= -nologo -W3 -MDd -Zi -DTA_DEBUG -D_DEBUG -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\tools\ta_regtest" -I"..\..\..\..\..\src\ta_func" -I"..\..\..\..\..\include" +LINK = link +LFLAGS = /NOLOGO /DEBUG /SUBSYSTEM:console +LIBS = ..\..\..\..\..\lib\ta_libc_cdd.lib +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_internals.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_util.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_data.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c +OBJECTS = ..\..\..\..\..\temp\cdd\ta_regtest.obj \ + ..\..\..\..\..\temp\cdd\test_candlestick.obj \ + ..\..\..\..\..\temp\cdd\test_1in_1out.obj \ + ..\..\..\..\..\temp\cdd\test_1in_2out.obj \ + ..\..\..\..\..\temp\cdd\test_internals.obj \ + ..\..\..\..\..\temp\cdd\test_adx.obj \ + ..\..\..\..\..\temp\cdd\test_bbands.obj \ + ..\..\..\..\..\temp\cdd\test_ma.obj \ + ..\..\..\..\..\temp\cdd\test_macd.obj \ + ..\..\..\..\..\temp\cdd\test_minmax.obj \ + ..\..\..\..\..\temp\cdd\test_mom.obj \ + ..\..\..\..\..\temp\cdd\test_per_ema.obj \ + ..\..\..\..\..\temp\cdd\test_per_hl.obj \ + ..\..\..\..\..\temp\cdd\test_per_hlc.obj \ + ..\..\..\..\..\temp\cdd\test_per_hlcv.obj \ + ..\..\..\..\..\temp\cdd\test_per_ohlc.obj \ + ..\..\..\..\..\temp\cdd\test_po.obj \ + ..\..\..\..\..\temp\cdd\test_rsi.obj \ + ..\..\..\..\..\temp\cdd\test_sar.obj \ + ..\..\..\..\..\temp\cdd\test_stddev.obj \ + ..\..\..\..\..\temp\cdd\test_stoch.obj \ + ..\..\..\..\..\temp\cdd\test_trange.obj \ + ..\..\..\..\..\temp\cdd\test_util.obj \ + ..\..\..\..\..\temp\cdd\test_data.obj \ + ..\..\..\..\..\temp\cdd\test_abstract.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\ta_regtest.exe +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) $(LIBS) +<< + +moc: $(SRCMOC) + +tmake: ../cdd/win32/msvc/ta_regtest/Makefile + +../cdd/win32/msvc/ta_regtest/Makefile: ta_regtest/ta_regtest.pro + tmake ta_regtest/ta_regtest.pro -o ../cdd/win32/msvc/ta_regtest/Makefile + +dist: + $(ZIP) ta_regtest/ta_regtest.zip ta_regtest/ta_regtest.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\cdd\ta_regtest.obj + -del ..\..\..\..\..\temp\cdd\test_candlestick.obj + -del ..\..\..\..\..\temp\cdd\test_1in_1out.obj + -del ..\..\..\..\..\temp\cdd\test_1in_2out.obj + -del ..\..\..\..\..\temp\cdd\test_internals.obj + -del ..\..\..\..\..\temp\cdd\test_adx.obj + -del ..\..\..\..\..\temp\cdd\test_bbands.obj + -del ..\..\..\..\..\temp\cdd\test_ma.obj + -del ..\..\..\..\..\temp\cdd\test_macd.obj + -del ..\..\..\..\..\temp\cdd\test_minmax.obj + -del ..\..\..\..\..\temp\cdd\test_mom.obj + -del ..\..\..\..\..\temp\cdd\test_per_ema.obj + -del ..\..\..\..\..\temp\cdd\test_per_hl.obj + -del ..\..\..\..\..\temp\cdd\test_per_hlc.obj + -del ..\..\..\..\..\temp\cdd\test_per_hlcv.obj + -del ..\..\..\..\..\temp\cdd\test_per_ohlc.obj + -del ..\..\..\..\..\temp\cdd\test_po.obj + -del ..\..\..\..\..\temp\cdd\test_rsi.obj + -del ..\..\..\..\..\temp\cdd\test_sar.obj + -del ..\..\..\..\..\temp\cdd\test_stddev.obj + -del ..\..\..\..\..\temp\cdd\test_stoch.obj + -del ..\..\..\..\..\temp\cdd\test_trange.obj + -del ..\..\..\..\..\temp\cdd\test_util.obj + -del ..\..\..\..\..\temp\cdd\test_data.obj + -del ..\..\..\..\..\temp\cdd\test_abstract.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cdd/*.pch + -del ../../../../../temp/cdd/*.idb + -del ../../../../../temp/cdd/ta_regtest/*.pch + -del ../../../../../temp/cdd/ta_regtest/*.idb + -del ../../../../../temp/cdd/ta_regtest/*.obj + -del ta_regtest.pdb + -del vc*.pdb + -del ta_regtest.ilk + +####### Compile + +..\..\..\..\..\temp\cdd\ta_regtest.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\ta_regtest.obj ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + +..\..\..\..\..\temp\cdd\test_candlestick.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\test_candlestick.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + +..\..\..\..\..\temp\cdd\test_1in_1out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\test_1in_1out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + +..\..\..\..\..\temp\cdd\test_1in_2out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\test_1in_2out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + +..\..\..\..\..\temp\cdd\test_internals.obj: ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\test_internals.obj ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + +..\..\..\..\..\temp\cdd\test_adx.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\test_adx.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + +..\..\..\..\..\temp\cdd\test_bbands.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\test_bbands.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + +..\..\..\..\..\temp\cdd\test_ma.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\test_ma.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + +..\..\..\..\..\temp\cdd\test_macd.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\test_macd.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + +..\..\..\..\..\temp\cdd\test_minmax.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\test_minmax.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + +..\..\..\..\..\temp\cdd\test_mom.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\test_mom.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + +..\..\..\..\..\temp\cdd\test_per_ema.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\test_per_ema.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + +..\..\..\..\..\temp\cdd\test_per_hl.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\test_per_hl.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + +..\..\..\..\..\temp\cdd\test_per_hlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\test_per_hlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + +..\..\..\..\..\temp\cdd\test_per_hlcv.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\test_per_hlcv.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + +..\..\..\..\..\temp\cdd\test_per_ohlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\test_per_ohlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + +..\..\..\..\..\temp\cdd\test_po.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\test_po.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + +..\..\..\..\..\temp\cdd\test_rsi.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\test_rsi.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + +..\..\..\..\..\temp\cdd\test_sar.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\test_sar.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + +..\..\..\..\..\temp\cdd\test_stddev.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\test_stddev.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + +..\..\..\..\..\temp\cdd\test_stoch.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\test_stoch.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + +..\..\..\..\..\temp\cdd\test_trange.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\test_trange.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + +..\..\..\..\..\temp\cdd\test_util.obj: ..\..\..\..\..\src\tools\ta_regtest\test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\test_util.obj ..\..\..\..\..\src\tools\ta_regtest\test_util.c + +..\..\..\..\..\temp\cdd\test_data.obj: ..\..\..\..\..\src\tools\ta_regtest\test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\test_data.obj ..\..\..\..\..\src\tools\ta_regtest\test_data.c + +..\..\..\..\..\temp\cdd\test_abstract.obj: ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdd\test_abstract.obj ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + diff --git a/vendor/ta-lib/make/cdr/win32/msvc/Makefile b/vendor/ta-lib/make/cdr/win32/msvc/Makefile new file mode 100644 index 000000000..5cd9cfeaf --- /dev/null +++ b/vendor/ta-lib/make/cdr/win32/msvc/Makefile @@ -0,0 +1,97 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +ta_common: FORCE + cd ta_common + $(MAKE) /nologo + @cd .. + +ta_func: FORCE + cd ta_func + $(MAKE) /nologo + @cd .. + +ta_abstract: FORCE + cd ta_abstract + $(MAKE) /nologo + @cd .. + +ta_libc: FORCE + cd ta_libc + $(MAKE) /nologo + @cd .. + +gen_code: FORCE + cd gen_code + $(MAKE) /nologo + @cd .. + +ta_regtest: FORCE + cd ta_regtest + $(MAKE) /nologo + @cd .. + + +tmake: ../cdr/win32/msvc/Makefile + +../cdr/win32/msvc/Makefile: rootmake.pro + tmake rootmake.pro -o ../cdr/win32/msvc/Makefile + +tmake_all: + cd ta_common + $(TMAKE) ta_common.pro -o $(MAKEFILE) + @cd .. + cd ta_func + $(TMAKE) ta_func.pro -o $(MAKEFILE) + @cd .. + cd ta_abstract + $(TMAKE) ta_abstract.pro -o $(MAKEFILE) + @cd .. + cd ta_libc + $(TMAKE) ta_libc.pro -o $(MAKEFILE) + @cd .. + cd gen_code + $(TMAKE) gen_code.pro -o $(MAKEFILE) + @cd .. + cd ta_regtest + $(TMAKE) ta_regtest.pro -o $(MAKEFILE) + @cd .. + + +clean: + cd ta_common + $(MAKE) clean + @cd .. + cd ta_func + $(MAKE) clean + @cd .. + cd ta_abstract + $(MAKE) clean + @cd .. + cd ta_libc + $(MAKE) clean + @cd .. + cd gen_code + $(MAKE) clean + @cd .. + cd ta_regtest + $(MAKE) clean + @cd .. + +FORCE: diff --git a/vendor/ta-lib/make/cdr/win32/msvc/gen_code/Makefile b/vendor/ta-lib/make/cdr/win32/msvc/gen_code/Makefile new file mode 100644 index 000000000..df6d6399e --- /dev/null +++ b/vendor/ta-lib/make/cdr/win32/msvc/gen_code/Makefile @@ -0,0 +1,260 @@ +############################################################################# +# Makefile for building gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -MD -O2 -DTA_GEN_CODE -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +CXXFLAGS= -nologo -W3 -MD -O2 -DTA_GEN_CODE -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" +LINK = link +LFLAGS = /NOLOGO /SUBSYSTEM:console +LIBS = ..\..\..\..\..\lib\ta_common_cdr.lib +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\gen_code\gen_code.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\cdr\gen_code\gen_code.obj \ + ..\..\..\..\..\temp\cdr\gen_code\ta_abstract.obj \ + ..\..\..\..\..\temp\cdr\gen_code\ta_def_ui.obj \ + ..\..\..\..\..\temp\cdr\gen_code\table_a.obj \ + ..\..\..\..\..\temp\cdr\gen_code\table_b.obj \ + ..\..\..\..\..\temp\cdr\gen_code\table_c.obj \ + ..\..\..\..\..\temp\cdr\gen_code\table_d.obj \ + ..\..\..\..\..\temp\cdr\gen_code\table_e.obj \ + ..\..\..\..\..\temp\cdr\gen_code\table_f.obj \ + ..\..\..\..\..\temp\cdr\gen_code\table_g.obj \ + ..\..\..\..\..\temp\cdr\gen_code\table_h.obj \ + ..\..\..\..\..\temp\cdr\gen_code\table_i.obj \ + ..\..\..\..\..\temp\cdr\gen_code\table_j.obj \ + ..\..\..\..\..\temp\cdr\gen_code\table_k.obj \ + ..\..\..\..\..\temp\cdr\gen_code\table_l.obj \ + ..\..\..\..\..\temp\cdr\gen_code\table_m.obj \ + ..\..\..\..\..\temp\cdr\gen_code\table_n.obj \ + ..\..\..\..\..\temp\cdr\gen_code\table_o.obj \ + ..\..\..\..\..\temp\cdr\gen_code\table_p.obj \ + ..\..\..\..\..\temp\cdr\gen_code\table_q.obj \ + ..\..\..\..\..\temp\cdr\gen_code\table_r.obj \ + ..\..\..\..\..\temp\cdr\gen_code\table_s.obj \ + ..\..\..\..\..\temp\cdr\gen_code\table_t.obj \ + ..\..\..\..\..\temp\cdr\gen_code\table_u.obj \ + ..\..\..\..\..\temp\cdr\gen_code\table_v.obj \ + ..\..\..\..\..\temp\cdr\gen_code\table_w.obj \ + ..\..\..\..\..\temp\cdr\gen_code\table_x.obj \ + ..\..\..\..\..\temp\cdr\gen_code\table_y.obj \ + ..\..\..\..\..\temp\cdr\gen_code\table_z.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\gen_code.exe +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) $(LIBS) +<< + +moc: $(SRCMOC) + +tmake: ../cdr/win32/msvc/gen_code/Makefile + +../cdr/win32/msvc/gen_code/Makefile: gen_code/gen_code.pro + tmake gen_code/gen_code.pro -o ../cdr/win32/msvc/gen_code/Makefile + +dist: + $(ZIP) gen_code/gen_code.zip gen_code/gen_code.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\cdr\gen_code\gen_code.obj + -del ..\..\..\..\..\temp\cdr\gen_code\ta_abstract.obj + -del ..\..\..\..\..\temp\cdr\gen_code\ta_def_ui.obj + -del ..\..\..\..\..\temp\cdr\gen_code\table_a.obj + -del ..\..\..\..\..\temp\cdr\gen_code\table_b.obj + -del ..\..\..\..\..\temp\cdr\gen_code\table_c.obj + -del ..\..\..\..\..\temp\cdr\gen_code\table_d.obj + -del ..\..\..\..\..\temp\cdr\gen_code\table_e.obj + -del ..\..\..\..\..\temp\cdr\gen_code\table_f.obj + -del ..\..\..\..\..\temp\cdr\gen_code\table_g.obj + -del ..\..\..\..\..\temp\cdr\gen_code\table_h.obj + -del ..\..\..\..\..\temp\cdr\gen_code\table_i.obj + -del ..\..\..\..\..\temp\cdr\gen_code\table_j.obj + -del ..\..\..\..\..\temp\cdr\gen_code\table_k.obj + -del ..\..\..\..\..\temp\cdr\gen_code\table_l.obj + -del ..\..\..\..\..\temp\cdr\gen_code\table_m.obj + -del ..\..\..\..\..\temp\cdr\gen_code\table_n.obj + -del ..\..\..\..\..\temp\cdr\gen_code\table_o.obj + -del ..\..\..\..\..\temp\cdr\gen_code\table_p.obj + -del ..\..\..\..\..\temp\cdr\gen_code\table_q.obj + -del ..\..\..\..\..\temp\cdr\gen_code\table_r.obj + -del ..\..\..\..\..\temp\cdr\gen_code\table_s.obj + -del ..\..\..\..\..\temp\cdr\gen_code\table_t.obj + -del ..\..\..\..\..\temp\cdr\gen_code\table_u.obj + -del ..\..\..\..\..\temp\cdr\gen_code\table_v.obj + -del ..\..\..\..\..\temp\cdr\gen_code\table_w.obj + -del ..\..\..\..\..\temp\cdr\gen_code\table_x.obj + -del ..\..\..\..\..\temp\cdr\gen_code\table_y.obj + -del ..\..\..\..\..\temp\cdr\gen_code\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cdr/*.pch + -del ../../../../../temp/cdr/*.idb + -del ../../../../../temp/cdr/gen_code/*.pch + -del ../../../../../temp/cdr/gen_code/*.idb + -del ../../../../../temp/cdr/gen_code/*.obj + +####### Compile + +..\..\..\..\..\temp\cdr\gen_code\gen_code.obj: ..\..\..\..\..\src\tools\gen_code\gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\gen_code.obj ..\..\..\..\..\src\tools\gen_code\gen_code.c + +..\..\..\..\..\temp\cdr\gen_code\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cdr\gen_code\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cdr\gen_code\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cdr\gen_code\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cdr\gen_code\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cdr\gen_code\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cdr\gen_code\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cdr\gen_code\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cdr\gen_code\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cdr\gen_code\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cdr\gen_code\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cdr\gen_code\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cdr\gen_code\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cdr\gen_code\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cdr\gen_code\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cdr\gen_code\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cdr\gen_code\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cdr\gen_code\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cdr\gen_code\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cdr\gen_code\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cdr\gen_code\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cdr\gen_code\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cdr\gen_code\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cdr\gen_code\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cdr\gen_code\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cdr\gen_code\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cdr\gen_code\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cdr\gen_code\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\gen_code\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/cdr/win32/msvc/ta_abstract/Makefile b/vendor/ta-lib/make/cdr/win32/msvc/ta_abstract/Makefile new file mode 100644 index 000000000..d301a0168 --- /dev/null +++ b/vendor/ta-lib/make/cdr/win32/msvc/ta_abstract/Makefile @@ -0,0 +1,270 @@ +############################################################################# +# Makefile for building ta_abstract_cdr +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -MD -O2 -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +CXXFLAGS= -nologo -W3 -MD -O2 -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"..\..\..\..\..\include" +LIB = lib /NOLOGO +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\cdr\ta_abstract.obj \ + ..\..\..\..\..\temp\cdr\ta_def_ui.obj \ + ..\..\..\..\..\temp\cdr\ta_func_api.obj \ + ..\..\..\..\..\temp\cdr\ta_group_idx.obj \ + ..\..\..\..\..\temp\cdr\ta_frame.obj \ + ..\..\..\..\..\temp\cdr\table_a.obj \ + ..\..\..\..\..\temp\cdr\table_b.obj \ + ..\..\..\..\..\temp\cdr\table_c.obj \ + ..\..\..\..\..\temp\cdr\table_d.obj \ + ..\..\..\..\..\temp\cdr\table_e.obj \ + ..\..\..\..\..\temp\cdr\table_f.obj \ + ..\..\..\..\..\temp\cdr\table_g.obj \ + ..\..\..\..\..\temp\cdr\table_h.obj \ + ..\..\..\..\..\temp\cdr\table_i.obj \ + ..\..\..\..\..\temp\cdr\table_j.obj \ + ..\..\..\..\..\temp\cdr\table_k.obj \ + ..\..\..\..\..\temp\cdr\table_l.obj \ + ..\..\..\..\..\temp\cdr\table_m.obj \ + ..\..\..\..\..\temp\cdr\table_n.obj \ + ..\..\..\..\..\temp\cdr\table_o.obj \ + ..\..\..\..\..\temp\cdr\table_p.obj \ + ..\..\..\..\..\temp\cdr\table_q.obj \ + ..\..\..\..\..\temp\cdr\table_r.obj \ + ..\..\..\..\..\temp\cdr\table_s.obj \ + ..\..\..\..\..\temp\cdr\table_t.obj \ + ..\..\..\..\..\temp\cdr\table_u.obj \ + ..\..\..\..\..\temp\cdr\table_v.obj \ + ..\..\..\..\..\temp\cdr\table_w.obj \ + ..\..\..\..\..\temp\cdr\table_x.obj \ + ..\..\..\..\..\temp\cdr\table_y.obj \ + ..\..\..\..\..\temp\cdr\table_z.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_abstract_cdr.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LIB) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) +<< + +moc: $(SRCMOC) + +tmake: ../cdr/win32/msvc/ta_abstract/Makefile + +../cdr/win32/msvc/ta_abstract/Makefile: ta_abstract/ta_abstract.pro + tmake ta_abstract/ta_abstract.pro -o ../cdr/win32/msvc/ta_abstract/Makefile + +dist: + $(ZIP) ta_abstract/ta_abstract.zip ta_abstract/ta_abstract.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\cdr\ta_abstract.obj + -del ..\..\..\..\..\temp\cdr\ta_def_ui.obj + -del ..\..\..\..\..\temp\cdr\ta_func_api.obj + -del ..\..\..\..\..\temp\cdr\ta_group_idx.obj + -del ..\..\..\..\..\temp\cdr\ta_frame.obj + -del ..\..\..\..\..\temp\cdr\table_a.obj + -del ..\..\..\..\..\temp\cdr\table_b.obj + -del ..\..\..\..\..\temp\cdr\table_c.obj + -del ..\..\..\..\..\temp\cdr\table_d.obj + -del ..\..\..\..\..\temp\cdr\table_e.obj + -del ..\..\..\..\..\temp\cdr\table_f.obj + -del ..\..\..\..\..\temp\cdr\table_g.obj + -del ..\..\..\..\..\temp\cdr\table_h.obj + -del ..\..\..\..\..\temp\cdr\table_i.obj + -del ..\..\..\..\..\temp\cdr\table_j.obj + -del ..\..\..\..\..\temp\cdr\table_k.obj + -del ..\..\..\..\..\temp\cdr\table_l.obj + -del ..\..\..\..\..\temp\cdr\table_m.obj + -del ..\..\..\..\..\temp\cdr\table_n.obj + -del ..\..\..\..\..\temp\cdr\table_o.obj + -del ..\..\..\..\..\temp\cdr\table_p.obj + -del ..\..\..\..\..\temp\cdr\table_q.obj + -del ..\..\..\..\..\temp\cdr\table_r.obj + -del ..\..\..\..\..\temp\cdr\table_s.obj + -del ..\..\..\..\..\temp\cdr\table_t.obj + -del ..\..\..\..\..\temp\cdr\table_u.obj + -del ..\..\..\..\..\temp\cdr\table_v.obj + -del ..\..\..\..\..\temp\cdr\table_w.obj + -del ..\..\..\..\..\temp\cdr\table_x.obj + -del ..\..\..\..\..\temp\cdr\table_y.obj + -del ..\..\..\..\..\temp\cdr\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cdr/*.pch + -del ../../../../../temp/cdr/*.idb + -del ../../../../../temp/cdr/ta_abstract/*.pch + -del ../../../../../temp/cdr/ta_abstract/*.idb + -del ../../../../../temp/cdr/ta_abstract/*.obj + +####### Compile + +..\..\..\..\..\temp\cdr\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cdr\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cdr\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\cdr\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\cdr\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\cdr\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cdr\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cdr\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cdr\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cdr\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cdr\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cdr\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cdr\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cdr\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cdr\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cdr\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cdr\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cdr\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cdr\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cdr\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cdr\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cdr\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cdr\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cdr\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cdr\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cdr\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cdr\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cdr\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cdr\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cdr\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cdr\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/cdr/win32/msvc/ta_common/Makefile b/vendor/ta-lib/make/cdr/win32/msvc/ta_common/Makefile new file mode 100644 index 000000000..0d7ca6ed7 --- /dev/null +++ b/vendor/ta-lib/make/cdr/win32/msvc/ta_common/Makefile @@ -0,0 +1,102 @@ +############################################################################# +# Makefile for building ta_common_cdr +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -MD -O2 -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +CXXFLAGS= -nologo -W3 -MD -O2 -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" +LIB = lib /NOLOGO +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c +OBJECTS = ..\..\..\..\..\temp\cdr\ta_global.obj \ + ..\..\..\..\..\temp\cdr\ta_retcode.obj \ + ..\..\..\..\..\temp\cdr\ta_version.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_common_cdr.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LIB) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) +<< + +moc: $(SRCMOC) + +tmake: ../cdr/win32/msvc/ta_common/Makefile + +../cdr/win32/msvc/ta_common/Makefile: ta_common/ta_common.pro + tmake ta_common/ta_common.pro -o ../cdr/win32/msvc/ta_common/Makefile + +dist: + $(ZIP) ta_common/ta_common.zip ta_common/ta_common.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\cdr\ta_global.obj + -del ..\..\..\..\..\temp\cdr\ta_retcode.obj + -del ..\..\..\..\..\temp\cdr\ta_version.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cdr/*.pch + -del ../../../../../temp/cdr/*.idb + -del ../../../../../temp/cdr/ta_common_cdr/*.pch + -del ../../../../../temp/cdr/ta_common_cdr/*.idb + -del ../../../../../temp/cdr/ta_common_cdr/*.obj + +####### Compile + +..\..\..\..\..\temp\cdr\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\cdr\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\cdr\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + diff --git a/vendor/ta-lib/make/cdr/win32/msvc/ta_func/Makefile b/vendor/ta-lib/make/cdr/win32/msvc/ta_func/Makefile new file mode 100644 index 000000000..d22e9b139 --- /dev/null +++ b/vendor/ta-lib/make/cdr/win32/msvc/ta_func/Makefile @@ -0,0 +1,1038 @@ +############################################################################# +# Makefile for building ta_func_cdr +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -MD -O2 -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +CXXFLAGS= -nologo -W3 -MD -O2 -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"\n" -I"..\..\..\..\..\include" +LIB = lib /NOLOGO +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\cdr\ta_utility.obj \ + ..\..\..\..\..\temp\cdr\ta_ACOS.obj \ + ..\..\..\..\..\temp\cdr\ta_AD.obj \ + ..\..\..\..\..\temp\cdr\ta_ADD.obj \ + ..\..\..\..\..\temp\cdr\ta_ADOSC.obj \ + ..\..\..\..\..\temp\cdr\ta_ADX.obj \ + ..\..\..\..\..\temp\cdr\ta_ADXR.obj \ + ..\..\..\..\..\temp\cdr\ta_APO.obj \ + ..\..\..\..\..\temp\cdr\ta_AROON.obj \ + ..\..\..\..\..\temp\cdr\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\cdr\ta_ASIN.obj \ + ..\..\..\..\..\temp\cdr\ta_ATAN.obj \ + ..\..\..\..\..\temp\cdr\ta_ATR.obj \ + ..\..\..\..\..\temp\cdr\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\cdr\ta_BBANDS.obj \ + ..\..\..\..\..\temp\cdr\ta_BETA.obj \ + ..\..\..\..\..\temp\cdr\ta_BOP.obj \ + ..\..\..\..\..\temp\cdr\ta_CCI.obj \ + ..\..\..\..\..\temp\cdr\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\cdr\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\cdr\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\cdr\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\cdr\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\cdr\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\cdr\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\cdr\ta_CEIL.obj \ + ..\..\..\..\..\temp\cdr\ta_CMO.obj \ + ..\..\..\..\..\temp\cdr\ta_CORREL.obj \ + ..\..\..\..\..\temp\cdr\ta_COS.obj \ + ..\..\..\..\..\temp\cdr\ta_COSH.obj \ + ..\..\..\..\..\temp\cdr\ta_DEMA.obj \ + ..\..\..\..\..\temp\cdr\ta_DIV.obj \ + ..\..\..\..\..\temp\cdr\ta_DX.obj \ + ..\..\..\..\..\temp\cdr\ta_EMA.obj \ + ..\..\..\..\..\temp\cdr\ta_EXP.obj \ + ..\..\..\..\..\temp\cdr\ta_FLOOR.obj \ + ..\..\..\..\..\temp\cdr\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\cdr\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\cdr\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\cdr\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\cdr\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\cdr\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\cdr\ta_KAMA.obj \ + ..\..\..\..\..\temp\cdr\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\cdr\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\cdr\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\cdr\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\cdr\ta_LN.obj \ + ..\..\..\..\..\temp\cdr\ta_LOG10.obj \ + ..\..\..\..\..\temp\cdr\ta_MA.obj \ + ..\..\..\..\..\temp\cdr\ta_MACD.obj \ + ..\..\..\..\..\temp\cdr\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\cdr\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\cdr\ta_MAMA.obj \ + ..\..\..\..\..\temp\cdr\ta_MAVP.obj \ + ..\..\..\..\..\temp\cdr\ta_MAX.obj \ + ..\..\..\..\..\temp\cdr\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\cdr\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\cdr\ta_MFI.obj \ + ..\..\..\..\..\temp\cdr\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\cdr\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\cdr\ta_MIN.obj \ + ..\..\..\..\..\temp\cdr\ta_MININDEX.obj \ + ..\..\..\..\..\temp\cdr\ta_MINMAX.obj \ + ..\..\..\..\..\temp\cdr\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\cdr\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\cdr\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\cdr\ta_MOM.obj \ + ..\..\..\..\..\temp\cdr\ta_MULT.obj \ + ..\..\..\..\..\temp\cdr\ta_NATR.obj \ + ..\..\..\..\..\temp\cdr\ta_OBV.obj \ + ..\..\..\..\..\temp\cdr\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\cdr\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\cdr\ta_PPO.obj \ + ..\..\..\..\..\temp\cdr\ta_ROC.obj \ + ..\..\..\..\..\temp\cdr\ta_ROCP.obj \ + ..\..\..\..\..\temp\cdr\ta_ROCR.obj \ + ..\..\..\..\..\temp\cdr\ta_ROCR100.obj \ + ..\..\..\..\..\temp\cdr\ta_RSI.obj \ + ..\..\..\..\..\temp\cdr\ta_SAR.obj \ + ..\..\..\..\..\temp\cdr\ta_SAREXT.obj \ + ..\..\..\..\..\temp\cdr\ta_SIN.obj \ + ..\..\..\..\..\temp\cdr\ta_SINH.obj \ + ..\..\..\..\..\temp\cdr\ta_SMA.obj \ + ..\..\..\..\..\temp\cdr\ta_SQRT.obj \ + ..\..\..\..\..\temp\cdr\ta_STDDEV.obj \ + ..\..\..\..\..\temp\cdr\ta_STOCH.obj \ + ..\..\..\..\..\temp\cdr\ta_STOCHF.obj \ + ..\..\..\..\..\temp\cdr\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\cdr\ta_SUB.obj \ + ..\..\..\..\..\temp\cdr\ta_SUM.obj \ + ..\..\..\..\..\temp\cdr\ta_T3.obj \ + ..\..\..\..\..\temp\cdr\ta_TAN.obj \ + ..\..\..\..\..\temp\cdr\ta_TANH.obj \ + ..\..\..\..\..\temp\cdr\ta_TEMA.obj \ + ..\..\..\..\..\temp\cdr\ta_TRANGE.obj \ + ..\..\..\..\..\temp\cdr\ta_TRIMA.obj \ + ..\..\..\..\..\temp\cdr\ta_TRIX.obj \ + ..\..\..\..\..\temp\cdr\ta_TSF.obj \ + ..\..\..\..\..\temp\cdr\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\cdr\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\cdr\ta_VAR.obj \ + ..\..\..\..\..\temp\cdr\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\cdr\ta_WILLR.obj \ + ..\..\..\..\..\temp\cdr\ta_WMA.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_func_cdr.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LIB) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) +<< + +moc: $(SRCMOC) + +tmake: ../cdr/win32/msvc/ta_func/Makefile + +../cdr/win32/msvc/ta_func/Makefile: ta_func/ta_func.pro + tmake ta_func/ta_func.pro -o ../cdr/win32/msvc/ta_func/Makefile + +dist: + $(ZIP) ta_func/ta_func.zip ta_func/ta_func.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\cdr\ta_utility.obj + -del ..\..\..\..\..\temp\cdr\ta_ACOS.obj + -del ..\..\..\..\..\temp\cdr\ta_AD.obj + -del ..\..\..\..\..\temp\cdr\ta_ADD.obj + -del ..\..\..\..\..\temp\cdr\ta_ADOSC.obj + -del ..\..\..\..\..\temp\cdr\ta_ADX.obj + -del ..\..\..\..\..\temp\cdr\ta_ADXR.obj + -del ..\..\..\..\..\temp\cdr\ta_APO.obj + -del ..\..\..\..\..\temp\cdr\ta_AROON.obj + -del ..\..\..\..\..\temp\cdr\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\cdr\ta_ASIN.obj + -del ..\..\..\..\..\temp\cdr\ta_ATAN.obj + -del ..\..\..\..\..\temp\cdr\ta_ATR.obj + -del ..\..\..\..\..\temp\cdr\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\cdr\ta_BBANDS.obj + -del ..\..\..\..\..\temp\cdr\ta_BETA.obj + -del ..\..\..\..\..\temp\cdr\ta_BOP.obj + -del ..\..\..\..\..\temp\cdr\ta_CCI.obj + -del ..\..\..\..\..\temp\cdr\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\cdr\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\cdr\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\cdr\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\cdr\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\cdr\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\cdr\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\cdr\ta_CEIL.obj + -del ..\..\..\..\..\temp\cdr\ta_CMO.obj + -del ..\..\..\..\..\temp\cdr\ta_CORREL.obj + -del ..\..\..\..\..\temp\cdr\ta_COS.obj + -del ..\..\..\..\..\temp\cdr\ta_COSH.obj + -del ..\..\..\..\..\temp\cdr\ta_DEMA.obj + -del ..\..\..\..\..\temp\cdr\ta_DIV.obj + -del ..\..\..\..\..\temp\cdr\ta_DX.obj + -del ..\..\..\..\..\temp\cdr\ta_EMA.obj + -del ..\..\..\..\..\temp\cdr\ta_EXP.obj + -del ..\..\..\..\..\temp\cdr\ta_FLOOR.obj + -del ..\..\..\..\..\temp\cdr\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\cdr\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\cdr\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\cdr\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\cdr\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\cdr\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\cdr\ta_KAMA.obj + -del ..\..\..\..\..\temp\cdr\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\cdr\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\cdr\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\cdr\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\cdr\ta_LN.obj + -del ..\..\..\..\..\temp\cdr\ta_LOG10.obj + -del ..\..\..\..\..\temp\cdr\ta_MA.obj + -del ..\..\..\..\..\temp\cdr\ta_MACD.obj + -del ..\..\..\..\..\temp\cdr\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\cdr\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\cdr\ta_MAMA.obj + -del ..\..\..\..\..\temp\cdr\ta_MAVP.obj + -del ..\..\..\..\..\temp\cdr\ta_MAX.obj + -del ..\..\..\..\..\temp\cdr\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\cdr\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\cdr\ta_MFI.obj + -del ..\..\..\..\..\temp\cdr\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\cdr\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\cdr\ta_MIN.obj + -del ..\..\..\..\..\temp\cdr\ta_MININDEX.obj + -del ..\..\..\..\..\temp\cdr\ta_MINMAX.obj + -del ..\..\..\..\..\temp\cdr\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\cdr\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\cdr\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\cdr\ta_MOM.obj + -del ..\..\..\..\..\temp\cdr\ta_MULT.obj + -del ..\..\..\..\..\temp\cdr\ta_NATR.obj + -del ..\..\..\..\..\temp\cdr\ta_OBV.obj + -del ..\..\..\..\..\temp\cdr\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\cdr\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\cdr\ta_PPO.obj + -del ..\..\..\..\..\temp\cdr\ta_ROC.obj + -del ..\..\..\..\..\temp\cdr\ta_ROCP.obj + -del ..\..\..\..\..\temp\cdr\ta_ROCR.obj + -del ..\..\..\..\..\temp\cdr\ta_ROCR100.obj + -del ..\..\..\..\..\temp\cdr\ta_RSI.obj + -del ..\..\..\..\..\temp\cdr\ta_SAR.obj + -del ..\..\..\..\..\temp\cdr\ta_SAREXT.obj + -del ..\..\..\..\..\temp\cdr\ta_SIN.obj + -del ..\..\..\..\..\temp\cdr\ta_SINH.obj + -del ..\..\..\..\..\temp\cdr\ta_SMA.obj + -del ..\..\..\..\..\temp\cdr\ta_SQRT.obj + -del ..\..\..\..\..\temp\cdr\ta_STDDEV.obj + -del ..\..\..\..\..\temp\cdr\ta_STOCH.obj + -del ..\..\..\..\..\temp\cdr\ta_STOCHF.obj + -del ..\..\..\..\..\temp\cdr\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\cdr\ta_SUB.obj + -del ..\..\..\..\..\temp\cdr\ta_SUM.obj + -del ..\..\..\..\..\temp\cdr\ta_T3.obj + -del ..\..\..\..\..\temp\cdr\ta_TAN.obj + -del ..\..\..\..\..\temp\cdr\ta_TANH.obj + -del ..\..\..\..\..\temp\cdr\ta_TEMA.obj + -del ..\..\..\..\..\temp\cdr\ta_TRANGE.obj + -del ..\..\..\..\..\temp\cdr\ta_TRIMA.obj + -del ..\..\..\..\..\temp\cdr\ta_TRIX.obj + -del ..\..\..\..\..\temp\cdr\ta_TSF.obj + -del ..\..\..\..\..\temp\cdr\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\cdr\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\cdr\ta_VAR.obj + -del ..\..\..\..\..\temp\cdr\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\cdr\ta_WILLR.obj + -del ..\..\..\..\..\temp\cdr\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cdr/*.pch + -del ../../../../../temp/cdr/*.idb + -del ../../../../../temp/cdr/ta_func/*.pch + -del ../../../../../temp/cdr/ta_func/*.idb + -del ../../../../../temp/cdr/ta_func/*.obj + +####### Compile + +..\..\..\..\..\temp\cdr\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\cdr\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\cdr\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\cdr\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\cdr\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\cdr\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\cdr\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\cdr\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\cdr\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\cdr\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\cdr\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\cdr\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\cdr\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\cdr\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\cdr\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\cdr\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\cdr\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\cdr\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\cdr\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\cdr\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\cdr\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\cdr\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\cdr\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\cdr\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\cdr\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\cdr\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\cdr\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\cdr\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\cdr\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\cdr\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\cdr\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\cdr\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\cdr\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\cdr\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\cdr\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\cdr\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\cdr\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\cdr\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\cdr\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\cdr\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\cdr\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\cdr\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\cdr\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\cdr\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\cdr\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\cdr\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\cdr\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\cdr\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\cdr\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\cdr\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\cdr\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\cdr\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\cdr\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\cdr\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\cdr\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\cdr\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\cdr\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\cdr\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\cdr\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\cdr\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\cdr\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\cdr\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\cdr\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\cdr\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\cdr\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\cdr\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\cdr\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\cdr\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\cdr\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\cdr\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\cdr\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\cdr\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\cdr\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\cdr\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\cdr\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\cdr\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\cdr\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\cdr\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\cdr\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\cdr\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\cdr\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\cdr\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\cdr\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\cdr\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\cdr\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\cdr\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\cdr\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\cdr\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\cdr\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\cdr\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\cdr\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\cdr\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\cdr\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\cdr\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\cdr\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\cdr\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\cdr\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\cdr\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\cdr\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\cdr\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\cdr\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\cdr\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\cdr\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\cdr\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\cdr\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\cdr\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\cdr\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\cdr\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\cdr\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\cdr\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\cdr\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\cdr\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\cdr\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\cdr\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\cdr\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\cdr\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\cdr\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\cdr\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\cdr\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\cdr\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\cdr\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\cdr\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\cdr\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\cdr\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\cdr\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\cdr\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\cdr\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\cdr\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\cdr\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\cdr\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\cdr\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\cdr\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\cdr\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\cdr\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\cdr\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\cdr\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\cdr\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\cdr\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\cdr\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\cdr\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\cdr\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\cdr\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\cdr\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\cdr\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\cdr\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\cdr\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\cdr\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\cdr\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\cdr\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\cdr\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\cdr\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\cdr\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\cdr\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\cdr\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\cdr\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\cdr\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\cdr\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\cdr\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\cdr\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/cdr/win32/msvc/ta_libc/Makefile b/vendor/ta-lib/make/cdr/win32/msvc/ta_libc/Makefile new file mode 100644 index 000000000..bbf9dd0fd --- /dev/null +++ b/vendor/ta-lib/make/cdr/win32/msvc/ta_libc/Makefile @@ -0,0 +1,1237 @@ +############################################################################# +# Makefile for building ta_libc_cdr +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -MD -O2 -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT -DNO_DEBUG +CXXFLAGS= -nologo -W3 -MD -O2 -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT -DNO_DEBUG +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"$(QTDIR)\include" +LIB = lib /NOLOGO +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c \ + ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\cdr\ta_global.obj \ + ..\..\..\..\..\temp\cdr\ta_retcode.obj \ + ..\..\..\..\..\temp\cdr\ta_version.obj \ + ..\..\..\..\..\temp\cdr\ta_abstract.obj \ + ..\..\..\..\..\temp\cdr\ta_def_ui.obj \ + ..\..\..\..\..\temp\cdr\ta_func_api.obj \ + ..\..\..\..\..\temp\cdr\ta_group_idx.obj \ + ..\..\..\..\..\temp\cdr\ta_frame.obj \ + ..\..\..\..\..\temp\cdr\table_a.obj \ + ..\..\..\..\..\temp\cdr\table_b.obj \ + ..\..\..\..\..\temp\cdr\table_c.obj \ + ..\..\..\..\..\temp\cdr\table_d.obj \ + ..\..\..\..\..\temp\cdr\table_e.obj \ + ..\..\..\..\..\temp\cdr\table_f.obj \ + ..\..\..\..\..\temp\cdr\table_g.obj \ + ..\..\..\..\..\temp\cdr\table_h.obj \ + ..\..\..\..\..\temp\cdr\table_i.obj \ + ..\..\..\..\..\temp\cdr\table_j.obj \ + ..\..\..\..\..\temp\cdr\table_k.obj \ + ..\..\..\..\..\temp\cdr\table_l.obj \ + ..\..\..\..\..\temp\cdr\table_m.obj \ + ..\..\..\..\..\temp\cdr\table_n.obj \ + ..\..\..\..\..\temp\cdr\table_o.obj \ + ..\..\..\..\..\temp\cdr\table_p.obj \ + ..\..\..\..\..\temp\cdr\table_q.obj \ + ..\..\..\..\..\temp\cdr\table_r.obj \ + ..\..\..\..\..\temp\cdr\table_s.obj \ + ..\..\..\..\..\temp\cdr\table_t.obj \ + ..\..\..\..\..\temp\cdr\table_u.obj \ + ..\..\..\..\..\temp\cdr\table_v.obj \ + ..\..\..\..\..\temp\cdr\table_w.obj \ + ..\..\..\..\..\temp\cdr\table_x.obj \ + ..\..\..\..\..\temp\cdr\table_y.obj \ + ..\..\..\..\..\temp\cdr\table_z.obj \ + ..\..\..\..\..\temp\cdr\ta_utility.obj \ + ..\..\..\..\..\temp\cdr\ta_ACOS.obj \ + ..\..\..\..\..\temp\cdr\ta_AD.obj \ + ..\..\..\..\..\temp\cdr\ta_ADD.obj \ + ..\..\..\..\..\temp\cdr\ta_ADOSC.obj \ + ..\..\..\..\..\temp\cdr\ta_ADX.obj \ + ..\..\..\..\..\temp\cdr\ta_ADXR.obj \ + ..\..\..\..\..\temp\cdr\ta_APO.obj \ + ..\..\..\..\..\temp\cdr\ta_AROON.obj \ + ..\..\..\..\..\temp\cdr\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\cdr\ta_ASIN.obj \ + ..\..\..\..\..\temp\cdr\ta_ATAN.obj \ + ..\..\..\..\..\temp\cdr\ta_ATR.obj \ + ..\..\..\..\..\temp\cdr\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\cdr\ta_BBANDS.obj \ + ..\..\..\..\..\temp\cdr\ta_BETA.obj \ + ..\..\..\..\..\temp\cdr\ta_BOP.obj \ + ..\..\..\..\..\temp\cdr\ta_CCI.obj \ + ..\..\..\..\..\temp\cdr\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\cdr\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\cdr\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\cdr\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\cdr\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\cdr\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\cdr\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\cdr\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\cdr\ta_CEIL.obj \ + ..\..\..\..\..\temp\cdr\ta_CMO.obj \ + ..\..\..\..\..\temp\cdr\ta_CORREL.obj \ + ..\..\..\..\..\temp\cdr\ta_COS.obj \ + ..\..\..\..\..\temp\cdr\ta_COSH.obj \ + ..\..\..\..\..\temp\cdr\ta_DEMA.obj \ + ..\..\..\..\..\temp\cdr\ta_DIV.obj \ + ..\..\..\..\..\temp\cdr\ta_DX.obj \ + ..\..\..\..\..\temp\cdr\ta_EMA.obj \ + ..\..\..\..\..\temp\cdr\ta_EXP.obj \ + ..\..\..\..\..\temp\cdr\ta_FLOOR.obj \ + ..\..\..\..\..\temp\cdr\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\cdr\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\cdr\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\cdr\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\cdr\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\cdr\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\cdr\ta_KAMA.obj \ + ..\..\..\..\..\temp\cdr\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\cdr\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\cdr\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\cdr\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\cdr\ta_LN.obj \ + ..\..\..\..\..\temp\cdr\ta_LOG10.obj \ + ..\..\..\..\..\temp\cdr\ta_MA.obj \ + ..\..\..\..\..\temp\cdr\ta_MACD.obj \ + ..\..\..\..\..\temp\cdr\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\cdr\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\cdr\ta_MAMA.obj \ + ..\..\..\..\..\temp\cdr\ta_MAVP.obj \ + ..\..\..\..\..\temp\cdr\ta_MAX.obj \ + ..\..\..\..\..\temp\cdr\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\cdr\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\cdr\ta_MFI.obj \ + ..\..\..\..\..\temp\cdr\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\cdr\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\cdr\ta_MIN.obj \ + ..\..\..\..\..\temp\cdr\ta_MININDEX.obj \ + ..\..\..\..\..\temp\cdr\ta_MINMAX.obj \ + ..\..\..\..\..\temp\cdr\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\cdr\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\cdr\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\cdr\ta_MOM.obj \ + ..\..\..\..\..\temp\cdr\ta_MULT.obj \ + ..\..\..\..\..\temp\cdr\ta_NATR.obj \ + ..\..\..\..\..\temp\cdr\ta_OBV.obj \ + ..\..\..\..\..\temp\cdr\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\cdr\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\cdr\ta_PPO.obj \ + ..\..\..\..\..\temp\cdr\ta_ROC.obj \ + ..\..\..\..\..\temp\cdr\ta_ROCP.obj \ + ..\..\..\..\..\temp\cdr\ta_ROCR.obj \ + ..\..\..\..\..\temp\cdr\ta_ROCR100.obj \ + ..\..\..\..\..\temp\cdr\ta_RSI.obj \ + ..\..\..\..\..\temp\cdr\ta_SAR.obj \ + ..\..\..\..\..\temp\cdr\ta_SAREXT.obj \ + ..\..\..\..\..\temp\cdr\ta_SIN.obj \ + ..\..\..\..\..\temp\cdr\ta_SINH.obj \ + ..\..\..\..\..\temp\cdr\ta_SMA.obj \ + ..\..\..\..\..\temp\cdr\ta_SQRT.obj \ + ..\..\..\..\..\temp\cdr\ta_STDDEV.obj \ + ..\..\..\..\..\temp\cdr\ta_STOCH.obj \ + ..\..\..\..\..\temp\cdr\ta_STOCHF.obj \ + ..\..\..\..\..\temp\cdr\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\cdr\ta_SUB.obj \ + ..\..\..\..\..\temp\cdr\ta_SUM.obj \ + ..\..\..\..\..\temp\cdr\ta_T3.obj \ + ..\..\..\..\..\temp\cdr\ta_TAN.obj \ + ..\..\..\..\..\temp\cdr\ta_TANH.obj \ + ..\..\..\..\..\temp\cdr\ta_TEMA.obj \ + ..\..\..\..\..\temp\cdr\ta_TRANGE.obj \ + ..\..\..\..\..\temp\cdr\ta_TRIMA.obj \ + ..\..\..\..\..\temp\cdr\ta_TRIX.obj \ + ..\..\..\..\..\temp\cdr\ta_TSF.obj \ + ..\..\..\..\..\temp\cdr\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\cdr\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\cdr\ta_VAR.obj \ + ..\..\..\..\..\temp\cdr\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\cdr\ta_WILLR.obj \ + ..\..\..\..\..\temp\cdr\ta_WMA.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_libc_cdr.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LIB) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) +<< + +moc: $(SRCMOC) + +tmake: ../cdr/win32/msvc/ta_libc/Makefile + +../cdr/win32/msvc/ta_libc/Makefile: ta_libc/ta_libc.pro + tmake ta_libc/ta_libc.pro -o ../cdr/win32/msvc/ta_libc/Makefile + +dist: + $(ZIP) ta_libc/ta_libc.zip ta_libc/ta_libc.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\cdr\ta_global.obj + -del ..\..\..\..\..\temp\cdr\ta_retcode.obj + -del ..\..\..\..\..\temp\cdr\ta_version.obj + -del ..\..\..\..\..\temp\cdr\ta_abstract.obj + -del ..\..\..\..\..\temp\cdr\ta_def_ui.obj + -del ..\..\..\..\..\temp\cdr\ta_func_api.obj + -del ..\..\..\..\..\temp\cdr\ta_group_idx.obj + -del ..\..\..\..\..\temp\cdr\ta_frame.obj + -del ..\..\..\..\..\temp\cdr\table_a.obj + -del ..\..\..\..\..\temp\cdr\table_b.obj + -del ..\..\..\..\..\temp\cdr\table_c.obj + -del ..\..\..\..\..\temp\cdr\table_d.obj + -del ..\..\..\..\..\temp\cdr\table_e.obj + -del ..\..\..\..\..\temp\cdr\table_f.obj + -del ..\..\..\..\..\temp\cdr\table_g.obj + -del ..\..\..\..\..\temp\cdr\table_h.obj + -del ..\..\..\..\..\temp\cdr\table_i.obj + -del ..\..\..\..\..\temp\cdr\table_j.obj + -del ..\..\..\..\..\temp\cdr\table_k.obj + -del ..\..\..\..\..\temp\cdr\table_l.obj + -del ..\..\..\..\..\temp\cdr\table_m.obj + -del ..\..\..\..\..\temp\cdr\table_n.obj + -del ..\..\..\..\..\temp\cdr\table_o.obj + -del ..\..\..\..\..\temp\cdr\table_p.obj + -del ..\..\..\..\..\temp\cdr\table_q.obj + -del ..\..\..\..\..\temp\cdr\table_r.obj + -del ..\..\..\..\..\temp\cdr\table_s.obj + -del ..\..\..\..\..\temp\cdr\table_t.obj + -del ..\..\..\..\..\temp\cdr\table_u.obj + -del ..\..\..\..\..\temp\cdr\table_v.obj + -del ..\..\..\..\..\temp\cdr\table_w.obj + -del ..\..\..\..\..\temp\cdr\table_x.obj + -del ..\..\..\..\..\temp\cdr\table_y.obj + -del ..\..\..\..\..\temp\cdr\table_z.obj + -del ..\..\..\..\..\temp\cdr\ta_utility.obj + -del ..\..\..\..\..\temp\cdr\ta_ACOS.obj + -del ..\..\..\..\..\temp\cdr\ta_AD.obj + -del ..\..\..\..\..\temp\cdr\ta_ADD.obj + -del ..\..\..\..\..\temp\cdr\ta_ADOSC.obj + -del ..\..\..\..\..\temp\cdr\ta_ADX.obj + -del ..\..\..\..\..\temp\cdr\ta_ADXR.obj + -del ..\..\..\..\..\temp\cdr\ta_APO.obj + -del ..\..\..\..\..\temp\cdr\ta_AROON.obj + -del ..\..\..\..\..\temp\cdr\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\cdr\ta_ASIN.obj + -del ..\..\..\..\..\temp\cdr\ta_ATAN.obj + -del ..\..\..\..\..\temp\cdr\ta_ATR.obj + -del ..\..\..\..\..\temp\cdr\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\cdr\ta_BBANDS.obj + -del ..\..\..\..\..\temp\cdr\ta_BETA.obj + -del ..\..\..\..\..\temp\cdr\ta_BOP.obj + -del ..\..\..\..\..\temp\cdr\ta_CCI.obj + -del ..\..\..\..\..\temp\cdr\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\cdr\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\cdr\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\cdr\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\cdr\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\cdr\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\cdr\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\cdr\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\cdr\ta_CEIL.obj + -del ..\..\..\..\..\temp\cdr\ta_CMO.obj + -del ..\..\..\..\..\temp\cdr\ta_CORREL.obj + -del ..\..\..\..\..\temp\cdr\ta_COS.obj + -del ..\..\..\..\..\temp\cdr\ta_COSH.obj + -del ..\..\..\..\..\temp\cdr\ta_DEMA.obj + -del ..\..\..\..\..\temp\cdr\ta_DIV.obj + -del ..\..\..\..\..\temp\cdr\ta_DX.obj + -del ..\..\..\..\..\temp\cdr\ta_EMA.obj + -del ..\..\..\..\..\temp\cdr\ta_EXP.obj + -del ..\..\..\..\..\temp\cdr\ta_FLOOR.obj + -del ..\..\..\..\..\temp\cdr\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\cdr\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\cdr\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\cdr\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\cdr\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\cdr\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\cdr\ta_KAMA.obj + -del ..\..\..\..\..\temp\cdr\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\cdr\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\cdr\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\cdr\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\cdr\ta_LN.obj + -del ..\..\..\..\..\temp\cdr\ta_LOG10.obj + -del ..\..\..\..\..\temp\cdr\ta_MA.obj + -del ..\..\..\..\..\temp\cdr\ta_MACD.obj + -del ..\..\..\..\..\temp\cdr\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\cdr\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\cdr\ta_MAMA.obj + -del ..\..\..\..\..\temp\cdr\ta_MAVP.obj + -del ..\..\..\..\..\temp\cdr\ta_MAX.obj + -del ..\..\..\..\..\temp\cdr\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\cdr\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\cdr\ta_MFI.obj + -del ..\..\..\..\..\temp\cdr\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\cdr\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\cdr\ta_MIN.obj + -del ..\..\..\..\..\temp\cdr\ta_MININDEX.obj + -del ..\..\..\..\..\temp\cdr\ta_MINMAX.obj + -del ..\..\..\..\..\temp\cdr\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\cdr\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\cdr\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\cdr\ta_MOM.obj + -del ..\..\..\..\..\temp\cdr\ta_MULT.obj + -del ..\..\..\..\..\temp\cdr\ta_NATR.obj + -del ..\..\..\..\..\temp\cdr\ta_OBV.obj + -del ..\..\..\..\..\temp\cdr\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\cdr\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\cdr\ta_PPO.obj + -del ..\..\..\..\..\temp\cdr\ta_ROC.obj + -del ..\..\..\..\..\temp\cdr\ta_ROCP.obj + -del ..\..\..\..\..\temp\cdr\ta_ROCR.obj + -del ..\..\..\..\..\temp\cdr\ta_ROCR100.obj + -del ..\..\..\..\..\temp\cdr\ta_RSI.obj + -del ..\..\..\..\..\temp\cdr\ta_SAR.obj + -del ..\..\..\..\..\temp\cdr\ta_SAREXT.obj + -del ..\..\..\..\..\temp\cdr\ta_SIN.obj + -del ..\..\..\..\..\temp\cdr\ta_SINH.obj + -del ..\..\..\..\..\temp\cdr\ta_SMA.obj + -del ..\..\..\..\..\temp\cdr\ta_SQRT.obj + -del ..\..\..\..\..\temp\cdr\ta_STDDEV.obj + -del ..\..\..\..\..\temp\cdr\ta_STOCH.obj + -del ..\..\..\..\..\temp\cdr\ta_STOCHF.obj + -del ..\..\..\..\..\temp\cdr\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\cdr\ta_SUB.obj + -del ..\..\..\..\..\temp\cdr\ta_SUM.obj + -del ..\..\..\..\..\temp\cdr\ta_T3.obj + -del ..\..\..\..\..\temp\cdr\ta_TAN.obj + -del ..\..\..\..\..\temp\cdr\ta_TANH.obj + -del ..\..\..\..\..\temp\cdr\ta_TEMA.obj + -del ..\..\..\..\..\temp\cdr\ta_TRANGE.obj + -del ..\..\..\..\..\temp\cdr\ta_TRIMA.obj + -del ..\..\..\..\..\temp\cdr\ta_TRIX.obj + -del ..\..\..\..\..\temp\cdr\ta_TSF.obj + -del ..\..\..\..\..\temp\cdr\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\cdr\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\cdr\ta_VAR.obj + -del ..\..\..\..\..\temp\cdr\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\cdr\ta_WILLR.obj + -del ..\..\..\..\..\temp\cdr\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + +####### Compile + +..\..\..\..\..\temp\cdr\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\cdr\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\cdr\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + +..\..\..\..\..\temp\cdr\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cdr\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cdr\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\cdr\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\cdr\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\cdr\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cdr\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cdr\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cdr\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cdr\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cdr\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cdr\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cdr\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cdr\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cdr\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cdr\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cdr\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cdr\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cdr\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cdr\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cdr\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cdr\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cdr\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cdr\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cdr\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cdr\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cdr\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cdr\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cdr\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cdr\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cdr\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + +..\..\..\..\..\temp\cdr\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\cdr\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\cdr\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\cdr\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\cdr\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\cdr\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\cdr\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\cdr\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\cdr\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\cdr\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\cdr\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\cdr\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\cdr\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\cdr\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\cdr\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\cdr\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\cdr\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\cdr\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\cdr\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\cdr\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\cdr\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\cdr\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\cdr\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\cdr\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\cdr\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\cdr\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\cdr\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\cdr\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\cdr\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\cdr\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\cdr\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\cdr\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\cdr\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\cdr\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\cdr\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\cdr\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\cdr\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\cdr\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\cdr\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\cdr\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\cdr\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\cdr\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\cdr\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\cdr\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\cdr\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\cdr\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\cdr\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\cdr\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\cdr\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\cdr\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\cdr\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\cdr\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\cdr\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\cdr\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\cdr\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\cdr\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\cdr\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\cdr\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\cdr\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\cdr\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\cdr\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\cdr\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\cdr\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\cdr\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\cdr\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\cdr\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\cdr\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\cdr\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\cdr\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\cdr\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\cdr\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\cdr\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\cdr\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\cdr\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\cdr\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\cdr\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\cdr\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\cdr\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\cdr\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\cdr\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\cdr\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\cdr\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\cdr\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\cdr\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\cdr\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\cdr\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\cdr\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\cdr\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\cdr\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\cdr\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\cdr\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\cdr\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\cdr\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\cdr\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\cdr\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\cdr\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\cdr\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\cdr\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\cdr\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\cdr\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\cdr\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\cdr\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\cdr\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\cdr\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\cdr\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\cdr\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\cdr\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\cdr\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\cdr\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\cdr\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\cdr\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\cdr\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\cdr\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\cdr\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\cdr\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\cdr\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\cdr\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\cdr\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\cdr\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\cdr\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\cdr\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\cdr\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\cdr\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\cdr\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\cdr\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\cdr\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\cdr\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\cdr\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\cdr\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\cdr\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\cdr\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\cdr\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\cdr\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\cdr\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\cdr\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\cdr\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\cdr\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\cdr\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\cdr\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\cdr\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\cdr\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\cdr\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\cdr\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\cdr\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\cdr\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\cdr\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\cdr\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\cdr\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\cdr\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\cdr\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\cdr\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\cdr\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\cdr\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\cdr\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\cdr\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\cdr\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\cdr\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\cdr\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\cdr\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/cdr/win32/msvc/ta_regtest/Makefile b/vendor/ta-lib/make/cdr/win32/msvc/ta_regtest/Makefile new file mode 100644 index 000000000..b78cae88a --- /dev/null +++ b/vendor/ta-lib/make/cdr/win32/msvc/ta_regtest/Makefile @@ -0,0 +1,236 @@ +############################################################################# +# Makefile for building ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -MD -O2 -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +CXXFLAGS= -nologo -W3 -MD -O2 -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\tools\ta_regtest" -I"..\..\..\..\..\src\ta_func" -I"..\..\..\..\..\include" +LINK = link +LFLAGS = /NOLOGO /SUBSYSTEM:console +LIBS = ..\..\..\..\..\lib\ta_libc_cdr.lib +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_internals.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_util.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_data.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c +OBJECTS = ..\..\..\..\..\temp\cdr\ta_regtest.obj \ + ..\..\..\..\..\temp\cdr\test_candlestick.obj \ + ..\..\..\..\..\temp\cdr\test_1in_1out.obj \ + ..\..\..\..\..\temp\cdr\test_1in_2out.obj \ + ..\..\..\..\..\temp\cdr\test_internals.obj \ + ..\..\..\..\..\temp\cdr\test_adx.obj \ + ..\..\..\..\..\temp\cdr\test_bbands.obj \ + ..\..\..\..\..\temp\cdr\test_ma.obj \ + ..\..\..\..\..\temp\cdr\test_macd.obj \ + ..\..\..\..\..\temp\cdr\test_minmax.obj \ + ..\..\..\..\..\temp\cdr\test_mom.obj \ + ..\..\..\..\..\temp\cdr\test_per_ema.obj \ + ..\..\..\..\..\temp\cdr\test_per_hl.obj \ + ..\..\..\..\..\temp\cdr\test_per_hlc.obj \ + ..\..\..\..\..\temp\cdr\test_per_hlcv.obj \ + ..\..\..\..\..\temp\cdr\test_per_ohlc.obj \ + ..\..\..\..\..\temp\cdr\test_po.obj \ + ..\..\..\..\..\temp\cdr\test_rsi.obj \ + ..\..\..\..\..\temp\cdr\test_sar.obj \ + ..\..\..\..\..\temp\cdr\test_stddev.obj \ + ..\..\..\..\..\temp\cdr\test_stoch.obj \ + ..\..\..\..\..\temp\cdr\test_trange.obj \ + ..\..\..\..\..\temp\cdr\test_util.obj \ + ..\..\..\..\..\temp\cdr\test_data.obj \ + ..\..\..\..\..\temp\cdr\test_abstract.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\ta_regtest.exe +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) $(LIBS) +<< + +moc: $(SRCMOC) + +tmake: ../cdr/win32/msvc/ta_regtest/Makefile + +../cdr/win32/msvc/ta_regtest/Makefile: ta_regtest/ta_regtest.pro + tmake ta_regtest/ta_regtest.pro -o ../cdr/win32/msvc/ta_regtest/Makefile + +dist: + $(ZIP) ta_regtest/ta_regtest.zip ta_regtest/ta_regtest.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\cdr\ta_regtest.obj + -del ..\..\..\..\..\temp\cdr\test_candlestick.obj + -del ..\..\..\..\..\temp\cdr\test_1in_1out.obj + -del ..\..\..\..\..\temp\cdr\test_1in_2out.obj + -del ..\..\..\..\..\temp\cdr\test_internals.obj + -del ..\..\..\..\..\temp\cdr\test_adx.obj + -del ..\..\..\..\..\temp\cdr\test_bbands.obj + -del ..\..\..\..\..\temp\cdr\test_ma.obj + -del ..\..\..\..\..\temp\cdr\test_macd.obj + -del ..\..\..\..\..\temp\cdr\test_minmax.obj + -del ..\..\..\..\..\temp\cdr\test_mom.obj + -del ..\..\..\..\..\temp\cdr\test_per_ema.obj + -del ..\..\..\..\..\temp\cdr\test_per_hl.obj + -del ..\..\..\..\..\temp\cdr\test_per_hlc.obj + -del ..\..\..\..\..\temp\cdr\test_per_hlcv.obj + -del ..\..\..\..\..\temp\cdr\test_per_ohlc.obj + -del ..\..\..\..\..\temp\cdr\test_po.obj + -del ..\..\..\..\..\temp\cdr\test_rsi.obj + -del ..\..\..\..\..\temp\cdr\test_sar.obj + -del ..\..\..\..\..\temp\cdr\test_stddev.obj + -del ..\..\..\..\..\temp\cdr\test_stoch.obj + -del ..\..\..\..\..\temp\cdr\test_trange.obj + -del ..\..\..\..\..\temp\cdr\test_util.obj + -del ..\..\..\..\..\temp\cdr\test_data.obj + -del ..\..\..\..\..\temp\cdr\test_abstract.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cdr/*.pch + -del ../../../../../temp/cdr/*.idb + -del ../../../../../temp/cdr/ta_regtest/*.pch + -del ../../../../../temp/cdr/ta_regtest/*.idb + -del ../../../../../temp/cdr/ta_regtest/*.obj + +####### Compile + +..\..\..\..\..\temp\cdr\ta_regtest.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\ta_regtest.obj ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + +..\..\..\..\..\temp\cdr\test_candlestick.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\test_candlestick.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + +..\..\..\..\..\temp\cdr\test_1in_1out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\test_1in_1out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + +..\..\..\..\..\temp\cdr\test_1in_2out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\test_1in_2out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + +..\..\..\..\..\temp\cdr\test_internals.obj: ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\test_internals.obj ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + +..\..\..\..\..\temp\cdr\test_adx.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\test_adx.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + +..\..\..\..\..\temp\cdr\test_bbands.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\test_bbands.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + +..\..\..\..\..\temp\cdr\test_ma.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\test_ma.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + +..\..\..\..\..\temp\cdr\test_macd.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\test_macd.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + +..\..\..\..\..\temp\cdr\test_minmax.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\test_minmax.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + +..\..\..\..\..\temp\cdr\test_mom.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\test_mom.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + +..\..\..\..\..\temp\cdr\test_per_ema.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\test_per_ema.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + +..\..\..\..\..\temp\cdr\test_per_hl.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\test_per_hl.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + +..\..\..\..\..\temp\cdr\test_per_hlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\test_per_hlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + +..\..\..\..\..\temp\cdr\test_per_hlcv.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\test_per_hlcv.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + +..\..\..\..\..\temp\cdr\test_per_ohlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\test_per_ohlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + +..\..\..\..\..\temp\cdr\test_po.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\test_po.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + +..\..\..\..\..\temp\cdr\test_rsi.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\test_rsi.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + +..\..\..\..\..\temp\cdr\test_sar.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\test_sar.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + +..\..\..\..\..\temp\cdr\test_stddev.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\test_stddev.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + +..\..\..\..\..\temp\cdr\test_stoch.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\test_stoch.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + +..\..\..\..\..\temp\cdr\test_trange.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\test_trange.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + +..\..\..\..\..\temp\cdr\test_util.obj: ..\..\..\..\..\src\tools\ta_regtest\test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\test_util.obj ..\..\..\..\..\src\tools\ta_regtest\test_util.c + +..\..\..\..\..\temp\cdr\test_data.obj: ..\..\..\..\..\src\tools\ta_regtest\test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\test_data.obj ..\..\..\..\..\src\tools\ta_regtest\test_data.c + +..\..\..\..\..\temp\cdr\test_abstract.obj: ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cdr\test_abstract.obj ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + diff --git a/vendor/ta-lib/make/cmd/cygwin/g++/Makefile b/vendor/ta-lib/make/cmd/cygwin/g++/Makefile new file mode 100644 index 000000000..0257e4662 --- /dev/null +++ b/vendor/ta-lib/make/cmd/cygwin/g++/Makefile @@ -0,0 +1,36 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +$(SUBDIRS): FORCE + cd $@; $(MAKE) + +tmake: ../cmd/cygwin/g++/Makefile + +../cmd/cygwin/g++/Makefile: rootmake.pro + tmake rootmake.pro -o ../cmd/cygwin/g++/Makefile + +tmake_all: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done + +#### $text = "\t" . 'for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; pro=`basename $$i`.pro ; $(TMAKE) $$pro -o $(MAKEFILE); grep "TEMPLATE.*subdirs" $$pro 2>/dev/null >/dev/null && $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done'; + +clean release debug: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) $@; fi; ) ; done + +FORCE: diff --git a/vendor/ta-lib/make/cmd/cygwin/g++/gen_code/Makefile b/vendor/ta-lib/make/cmd/cygwin/g++/gen_code/Makefile new file mode 100644 index 000000000..3f0002872 --- /dev/null +++ b/vendor/ta-lib/make/cmd/cygwin/g++/gen_code/Makefile @@ -0,0 +1,231 @@ +############################################################################# +# Makefile for building ../../../../../bin/gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -D_REENTRANT -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -g -D_REENTRANT -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../include -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames +LINK = g++ +LFLAGS = +LIBS = $(SUBLIBS) ../../../../../lib/libta_common_cmd.a -lpthread +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/gen_code/gen_code.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/cmd/gen_code/gen_code.o \ + ../../../../../temp/cmd/gen_code/ta_abstract.o \ + ../../../../../temp/cmd/gen_code/ta_def_ui.o \ + ../../../../../temp/cmd/gen_code/table_a.o \ + ../../../../../temp/cmd/gen_code/table_b.o \ + ../../../../../temp/cmd/gen_code/table_c.o \ + ../../../../../temp/cmd/gen_code/table_d.o \ + ../../../../../temp/cmd/gen_code/table_e.o \ + ../../../../../temp/cmd/gen_code/table_f.o \ + ../../../../../temp/cmd/gen_code/table_g.o \ + ../../../../../temp/cmd/gen_code/table_h.o \ + ../../../../../temp/cmd/gen_code/table_i.o \ + ../../../../../temp/cmd/gen_code/table_j.o \ + ../../../../../temp/cmd/gen_code/table_k.o \ + ../../../../../temp/cmd/gen_code/table_l.o \ + ../../../../../temp/cmd/gen_code/table_m.o \ + ../../../../../temp/cmd/gen_code/table_n.o \ + ../../../../../temp/cmd/gen_code/table_o.o \ + ../../../../../temp/cmd/gen_code/table_p.o \ + ../../../../../temp/cmd/gen_code/table_q.o \ + ../../../../../temp/cmd/gen_code/table_r.o \ + ../../../../../temp/cmd/gen_code/table_s.o \ + ../../../../../temp/cmd/gen_code/table_t.o \ + ../../../../../temp/cmd/gen_code/table_u.o \ + ../../../../../temp/cmd/gen_code/table_v.o \ + ../../../../../temp/cmd/gen_code/table_w.o \ + ../../../../../temp/cmd/gen_code/table_x.o \ + ../../../../../temp/cmd/gen_code/table_y.o \ + ../../../../../temp/cmd/gen_code/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/gen_code +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmd/gen_code/gen_code.o: ../../../../../src/tools/gen_code/gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/gen_code.o ../../../../../src/tools/gen_code/gen_code.c + +../../../../../temp/cmd/gen_code/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmd/gen_code/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmd/gen_code/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmd/gen_code/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmd/gen_code/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmd/gen_code/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmd/gen_code/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmd/gen_code/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmd/gen_code/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmd/gen_code/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmd/gen_code/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmd/gen_code/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmd/gen_code/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmd/gen_code/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmd/gen_code/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmd/gen_code/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmd/gen_code/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmd/gen_code/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmd/gen_code/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmd/gen_code/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmd/gen_code/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmd/gen_code/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmd/gen_code/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmd/gen_code/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmd/gen_code/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmd/gen_code/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmd/gen_code/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmd/gen_code/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/cmd/cygwin/g++/ta_abstract/Makefile b/vendor/ta-lib/make/cmd/cygwin/g++/ta_abstract/Makefile new file mode 100644 index 000000000..587997748 --- /dev/null +++ b/vendor/ta-lib/make/cmd/cygwin/g++/ta_abstract/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_abstract_cmd.a +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/cmd/ta_abstract.o \ + ../../../../../temp/cmd/ta_def_ui.o \ + ../../../../../temp/cmd/ta_func_api.o \ + ../../../../../temp/cmd/ta_group_idx.o \ + ../../../../../temp/cmd/ta_frame.o \ + ../../../../../temp/cmd/table_a.o \ + ../../../../../temp/cmd/table_b.o \ + ../../../../../temp/cmd/table_c.o \ + ../../../../../temp/cmd/table_d.o \ + ../../../../../temp/cmd/table_e.o \ + ../../../../../temp/cmd/table_f.o \ + ../../../../../temp/cmd/table_g.o \ + ../../../../../temp/cmd/table_h.o \ + ../../../../../temp/cmd/table_i.o \ + ../../../../../temp/cmd/table_j.o \ + ../../../../../temp/cmd/table_k.o \ + ../../../../../temp/cmd/table_l.o \ + ../../../../../temp/cmd/table_m.o \ + ../../../../../temp/cmd/table_n.o \ + ../../../../../temp/cmd/table_o.o \ + ../../../../../temp/cmd/table_p.o \ + ../../../../../temp/cmd/table_q.o \ + ../../../../../temp/cmd/table_r.o \ + ../../../../../temp/cmd/table_s.o \ + ../../../../../temp/cmd/table_t.o \ + ../../../../../temp/cmd/table_u.o \ + ../../../../../temp/cmd/table_v.o \ + ../../../../../temp/cmd/table_w.o \ + ../../../../../temp/cmd/table_x.o \ + ../../../../../temp/cmd/table_y.o \ + ../../../../../temp/cmd/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_abstract_cmd.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmd/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmd/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmd/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/cmd/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/cmd/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/cmd/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmd/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmd/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmd/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmd/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmd/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmd/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmd/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmd/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmd/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmd/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmd/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmd/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmd/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmd/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmd/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmd/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmd/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmd/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmd/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmd/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmd/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmd/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmd/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmd/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmd/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/cmd/cygwin/g++/ta_common/Makefile b/vendor/ta-lib/make/cmd/cygwin/g++/ta_common/Makefile new file mode 100644 index 000000000..21e06dee8 --- /dev/null +++ b/vendor/ta-lib/make/cmd/cygwin/g++/ta_common/Makefile @@ -0,0 +1,103 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_common_cmd.a +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c +OBJECTS = ../../../../../temp/cmd/ta_global.o \ + ../../../../../temp/cmd/ta_retcode.o \ + ../../../../../temp/cmd/ta_version.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_common_cmd.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmd/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/cmd/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/cmd/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_version.o ../../../../../src/ta_common/ta_version.c + diff --git a/vendor/ta-lib/make/cmd/cygwin/g++/ta_func/Makefile b/vendor/ta-lib/make/cmd/cygwin/g++/ta_func/Makefile new file mode 100644 index 000000000..cca98825f --- /dev/null +++ b/vendor/ta-lib/make/cmd/cygwin/g++/ta_func/Makefile @@ -0,0 +1,883 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_func_cmd.a +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I/n -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/cmd/ta_utility.o \ + ../../../../../temp/cmd/ta_ACOS.o \ + ../../../../../temp/cmd/ta_AD.o \ + ../../../../../temp/cmd/ta_ADD.o \ + ../../../../../temp/cmd/ta_ADOSC.o \ + ../../../../../temp/cmd/ta_ADX.o \ + ../../../../../temp/cmd/ta_ADXR.o \ + ../../../../../temp/cmd/ta_APO.o \ + ../../../../../temp/cmd/ta_AROON.o \ + ../../../../../temp/cmd/ta_AROONOSC.o \ + ../../../../../temp/cmd/ta_ASIN.o \ + ../../../../../temp/cmd/ta_ATAN.o \ + ../../../../../temp/cmd/ta_ATR.o \ + ../../../../../temp/cmd/ta_AVGPRICE.o \ + ../../../../../temp/cmd/ta_BBANDS.o \ + ../../../../../temp/cmd/ta_BETA.o \ + ../../../../../temp/cmd/ta_BOP.o \ + ../../../../../temp/cmd/ta_CCI.o \ + ../../../../../temp/cmd/ta_CDL2CROWS.o \ + ../../../../../temp/cmd/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/cmd/ta_CDL3INSIDE.o \ + ../../../../../temp/cmd/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/cmd/ta_CDL3OUTSIDE.o \ + ../../../../../temp/cmd/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/cmd/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/cmd/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/cmd/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/cmd/ta_CDLBELTHOLD.o \ + ../../../../../temp/cmd/ta_CDLBREAKAWAY.o \ + ../../../../../temp/cmd/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/cmd/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/cmd/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/cmd/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/cmd/ta_CDLDOJI.o \ + ../../../../../temp/cmd/ta_CDLDOJISTAR.o \ + ../../../../../temp/cmd/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/cmd/ta_CDLENGULFING.o \ + ../../../../../temp/cmd/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/cmd/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/cmd/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/cmd/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/cmd/ta_CDLHAMMER.o \ + ../../../../../temp/cmd/ta_CDLHANGINGMAN.o \ + ../../../../../temp/cmd/ta_CDLHARAMI.o \ + ../../../../../temp/cmd/ta_CDLHARAMICROSS.o \ + ../../../../../temp/cmd/ta_CDLHIGHWAVE.o \ + ../../../../../temp/cmd/ta_CDLHIKKAKE.o \ + ../../../../../temp/cmd/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/cmd/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/cmd/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/cmd/ta_CDLINNECK.o \ + ../../../../../temp/cmd/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/cmd/ta_CDLKICKING.o \ + ../../../../../temp/cmd/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/cmd/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/cmd/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/cmd/ta_CDLLONGLINE.o \ + ../../../../../temp/cmd/ta_CDLMARUBOZU.o \ + ../../../../../temp/cmd/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/cmd/ta_CDLMATHOLD.o \ + ../../../../../temp/cmd/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/cmd/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/cmd/ta_CDLONNECK.o \ + ../../../../../temp/cmd/ta_CDLPIERCING.o \ + ../../../../../temp/cmd/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/cmd/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/cmd/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/cmd/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/cmd/ta_CDLSHORTLINE.o \ + ../../../../../temp/cmd/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/cmd/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/cmd/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/cmd/ta_CDLTAKURI.o \ + ../../../../../temp/cmd/ta_CDLTASUKIGAP.o \ + ../../../../../temp/cmd/ta_CDLTHRUSTING.o \ + ../../../../../temp/cmd/ta_CDLTRISTAR.o \ + ../../../../../temp/cmd/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/cmd/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/cmd/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/cmd/ta_CEIL.o \ + ../../../../../temp/cmd/ta_CMO.o \ + ../../../../../temp/cmd/ta_CORREL.o \ + ../../../../../temp/cmd/ta_COS.o \ + ../../../../../temp/cmd/ta_COSH.o \ + ../../../../../temp/cmd/ta_DEMA.o \ + ../../../../../temp/cmd/ta_DIV.o \ + ../../../../../temp/cmd/ta_DX.o \ + ../../../../../temp/cmd/ta_EMA.o \ + ../../../../../temp/cmd/ta_EXP.o \ + ../../../../../temp/cmd/ta_FLOOR.o \ + ../../../../../temp/cmd/ta_HT_DCPERIOD.o \ + ../../../../../temp/cmd/ta_HT_DCPHASE.o \ + ../../../../../temp/cmd/ta_HT_PHASOR.o \ + ../../../../../temp/cmd/ta_HT_SINE.o \ + ../../../../../temp/cmd/ta_HT_TRENDLINE.o \ + ../../../../../temp/cmd/ta_HT_TRENDMODE.o \ + ../../../../../temp/cmd/ta_KAMA.o \ + ../../../../../temp/cmd/ta_LINEARREG.o \ + ../../../../../temp/cmd/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/cmd/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/cmd/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/cmd/ta_LN.o \ + ../../../../../temp/cmd/ta_LOG10.o \ + ../../../../../temp/cmd/ta_MA.o \ + ../../../../../temp/cmd/ta_MACD.o \ + ../../../../../temp/cmd/ta_MACDEXT.o \ + ../../../../../temp/cmd/ta_MACDFIX.o \ + ../../../../../temp/cmd/ta_MAMA.o \ + ../../../../../temp/cmd/ta_MAVP.o \ + ../../../../../temp/cmd/ta_MAX.o \ + ../../../../../temp/cmd/ta_MAXINDEX.o \ + ../../../../../temp/cmd/ta_MEDPRICE.o \ + ../../../../../temp/cmd/ta_MFI.o \ + ../../../../../temp/cmd/ta_MIDPOINT.o \ + ../../../../../temp/cmd/ta_MIDPRICE.o \ + ../../../../../temp/cmd/ta_MIN.o \ + ../../../../../temp/cmd/ta_MININDEX.o \ + ../../../../../temp/cmd/ta_MINMAX.o \ + ../../../../../temp/cmd/ta_MINMAXINDEX.o \ + ../../../../../temp/cmd/ta_MINUS_DI.o \ + ../../../../../temp/cmd/ta_MINUS_DM.o \ + ../../../../../temp/cmd/ta_MOM.o \ + ../../../../../temp/cmd/ta_MULT.o \ + ../../../../../temp/cmd/ta_NATR.o \ + ../../../../../temp/cmd/ta_OBV.o \ + ../../../../../temp/cmd/ta_PLUS_DI.o \ + ../../../../../temp/cmd/ta_PLUS_DM.o \ + ../../../../../temp/cmd/ta_PPO.o \ + ../../../../../temp/cmd/ta_ROC.o \ + ../../../../../temp/cmd/ta_ROCP.o \ + ../../../../../temp/cmd/ta_ROCR.o \ + ../../../../../temp/cmd/ta_ROCR100.o \ + ../../../../../temp/cmd/ta_RSI.o \ + ../../../../../temp/cmd/ta_SAR.o \ + ../../../../../temp/cmd/ta_SAREXT.o \ + ../../../../../temp/cmd/ta_SIN.o \ + ../../../../../temp/cmd/ta_SINH.o \ + ../../../../../temp/cmd/ta_SMA.o \ + ../../../../../temp/cmd/ta_SQRT.o \ + ../../../../../temp/cmd/ta_STDDEV.o \ + ../../../../../temp/cmd/ta_STOCH.o \ + ../../../../../temp/cmd/ta_STOCHF.o \ + ../../../../../temp/cmd/ta_STOCHRSI.o \ + ../../../../../temp/cmd/ta_SUB.o \ + ../../../../../temp/cmd/ta_SUM.o \ + ../../../../../temp/cmd/ta_T3.o \ + ../../../../../temp/cmd/ta_TAN.o \ + ../../../../../temp/cmd/ta_TANH.o \ + ../../../../../temp/cmd/ta_TEMA.o \ + ../../../../../temp/cmd/ta_TRANGE.o \ + ../../../../../temp/cmd/ta_TRIMA.o \ + ../../../../../temp/cmd/ta_TRIX.o \ + ../../../../../temp/cmd/ta_TSF.o \ + ../../../../../temp/cmd/ta_TYPPRICE.o \ + ../../../../../temp/cmd/ta_ULTOSC.o \ + ../../../../../temp/cmd/ta_VAR.o \ + ../../../../../temp/cmd/ta_WCLPRICE.o \ + ../../../../../temp/cmd/ta_WILLR.o \ + ../../../../../temp/cmd/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_func_cmd.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmd/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/cmd/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/cmd/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/cmd/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/cmd/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/cmd/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/cmd/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/cmd/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/cmd/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/cmd/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/cmd/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/cmd/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/cmd/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/cmd/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/cmd/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/cmd/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/cmd/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/cmd/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/cmd/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/cmd/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/cmd/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/cmd/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/cmd/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/cmd/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/cmd/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/cmd/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/cmd/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/cmd/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/cmd/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/cmd/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/cmd/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/cmd/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/cmd/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/cmd/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/cmd/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/cmd/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/cmd/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/cmd/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/cmd/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/cmd/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/cmd/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/cmd/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/cmd/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/cmd/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/cmd/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/cmd/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/cmd/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/cmd/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/cmd/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/cmd/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/cmd/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/cmd/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/cmd/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/cmd/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/cmd/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/cmd/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/cmd/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/cmd/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/cmd/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/cmd/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/cmd/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/cmd/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/cmd/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/cmd/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/cmd/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/cmd/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/cmd/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/cmd/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/cmd/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/cmd/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/cmd/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/cmd/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/cmd/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/cmd/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/cmd/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/cmd/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/cmd/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/cmd/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/cmd/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/cmd/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/cmd/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/cmd/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/cmd/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/cmd/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/cmd/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/cmd/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/cmd/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/cmd/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/cmd/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/cmd/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/cmd/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/cmd/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/cmd/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/cmd/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/cmd/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/cmd/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/cmd/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/cmd/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/cmd/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/cmd/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/cmd/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/cmd/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/cmd/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/cmd/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/cmd/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/cmd/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/cmd/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/cmd/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/cmd/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/cmd/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/cmd/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/cmd/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/cmd/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/cmd/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/cmd/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/cmd/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/cmd/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/cmd/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/cmd/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/cmd/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/cmd/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/cmd/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/cmd/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/cmd/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/cmd/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/cmd/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/cmd/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/cmd/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/cmd/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/cmd/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/cmd/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/cmd/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/cmd/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/cmd/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/cmd/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/cmd/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/cmd/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/cmd/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/cmd/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/cmd/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/cmd/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/cmd/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/cmd/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/cmd/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/cmd/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/cmd/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/cmd/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/cmd/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/cmd/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/cmd/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/cmd/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/cmd/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/cmd/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/cmd/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/cmd/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/cmd/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/cmd/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/cmd/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/cmd/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/cmd/cygwin/g++/ta_libc/Makefile b/vendor/ta-lib/make/cmd/cygwin/g++/ta_libc/Makefile new file mode 100644 index 000000000..6f651789a --- /dev/null +++ b/vendor/ta-lib/make/cmd/cygwin/g++/ta_libc/Makefile @@ -0,0 +1,1053 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_libc_cmd.a +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../include -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I$(QTDIR)/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c \ + ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/cmd/ta_global.o \ + ../../../../../temp/cmd/ta_retcode.o \ + ../../../../../temp/cmd/ta_version.o \ + ../../../../../temp/cmd/ta_abstract.o \ + ../../../../../temp/cmd/ta_def_ui.o \ + ../../../../../temp/cmd/ta_func_api.o \ + ../../../../../temp/cmd/ta_group_idx.o \ + ../../../../../temp/cmd/ta_frame.o \ + ../../../../../temp/cmd/table_a.o \ + ../../../../../temp/cmd/table_b.o \ + ../../../../../temp/cmd/table_c.o \ + ../../../../../temp/cmd/table_d.o \ + ../../../../../temp/cmd/table_e.o \ + ../../../../../temp/cmd/table_f.o \ + ../../../../../temp/cmd/table_g.o \ + ../../../../../temp/cmd/table_h.o \ + ../../../../../temp/cmd/table_i.o \ + ../../../../../temp/cmd/table_j.o \ + ../../../../../temp/cmd/table_k.o \ + ../../../../../temp/cmd/table_l.o \ + ../../../../../temp/cmd/table_m.o \ + ../../../../../temp/cmd/table_n.o \ + ../../../../../temp/cmd/table_o.o \ + ../../../../../temp/cmd/table_p.o \ + ../../../../../temp/cmd/table_q.o \ + ../../../../../temp/cmd/table_r.o \ + ../../../../../temp/cmd/table_s.o \ + ../../../../../temp/cmd/table_t.o \ + ../../../../../temp/cmd/table_u.o \ + ../../../../../temp/cmd/table_v.o \ + ../../../../../temp/cmd/table_w.o \ + ../../../../../temp/cmd/table_x.o \ + ../../../../../temp/cmd/table_y.o \ + ../../../../../temp/cmd/table_z.o \ + ../../../../../temp/cmd/ta_utility.o \ + ../../../../../temp/cmd/ta_ACOS.o \ + ../../../../../temp/cmd/ta_AD.o \ + ../../../../../temp/cmd/ta_ADD.o \ + ../../../../../temp/cmd/ta_ADOSC.o \ + ../../../../../temp/cmd/ta_ADX.o \ + ../../../../../temp/cmd/ta_ADXR.o \ + ../../../../../temp/cmd/ta_APO.o \ + ../../../../../temp/cmd/ta_AROON.o \ + ../../../../../temp/cmd/ta_AROONOSC.o \ + ../../../../../temp/cmd/ta_ASIN.o \ + ../../../../../temp/cmd/ta_ATAN.o \ + ../../../../../temp/cmd/ta_ATR.o \ + ../../../../../temp/cmd/ta_AVGPRICE.o \ + ../../../../../temp/cmd/ta_BBANDS.o \ + ../../../../../temp/cmd/ta_BETA.o \ + ../../../../../temp/cmd/ta_BOP.o \ + ../../../../../temp/cmd/ta_CCI.o \ + ../../../../../temp/cmd/ta_CDL2CROWS.o \ + ../../../../../temp/cmd/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/cmd/ta_CDL3INSIDE.o \ + ../../../../../temp/cmd/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/cmd/ta_CDL3OUTSIDE.o \ + ../../../../../temp/cmd/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/cmd/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/cmd/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/cmd/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/cmd/ta_CDLBELTHOLD.o \ + ../../../../../temp/cmd/ta_CDLBREAKAWAY.o \ + ../../../../../temp/cmd/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/cmd/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/cmd/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/cmd/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/cmd/ta_CDLDOJI.o \ + ../../../../../temp/cmd/ta_CDLDOJISTAR.o \ + ../../../../../temp/cmd/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/cmd/ta_CDLENGULFING.o \ + ../../../../../temp/cmd/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/cmd/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/cmd/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/cmd/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/cmd/ta_CDLHAMMER.o \ + ../../../../../temp/cmd/ta_CDLHANGINGMAN.o \ + ../../../../../temp/cmd/ta_CDLHARAMI.o \ + ../../../../../temp/cmd/ta_CDLHARAMICROSS.o \ + ../../../../../temp/cmd/ta_CDLHIGHWAVE.o \ + ../../../../../temp/cmd/ta_CDLHIKKAKE.o \ + ../../../../../temp/cmd/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/cmd/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/cmd/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/cmd/ta_CDLINNECK.o \ + ../../../../../temp/cmd/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/cmd/ta_CDLKICKING.o \ + ../../../../../temp/cmd/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/cmd/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/cmd/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/cmd/ta_CDLLONGLINE.o \ + ../../../../../temp/cmd/ta_CDLMARUBOZU.o \ + ../../../../../temp/cmd/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/cmd/ta_CDLMATHOLD.o \ + ../../../../../temp/cmd/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/cmd/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/cmd/ta_CDLONNECK.o \ + ../../../../../temp/cmd/ta_CDLPIERCING.o \ + ../../../../../temp/cmd/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/cmd/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/cmd/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/cmd/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/cmd/ta_CDLSHORTLINE.o \ + ../../../../../temp/cmd/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/cmd/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/cmd/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/cmd/ta_CDLTAKURI.o \ + ../../../../../temp/cmd/ta_CDLTASUKIGAP.o \ + ../../../../../temp/cmd/ta_CDLTHRUSTING.o \ + ../../../../../temp/cmd/ta_CDLTRISTAR.o \ + ../../../../../temp/cmd/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/cmd/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/cmd/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/cmd/ta_CEIL.o \ + ../../../../../temp/cmd/ta_CMO.o \ + ../../../../../temp/cmd/ta_CORREL.o \ + ../../../../../temp/cmd/ta_COS.o \ + ../../../../../temp/cmd/ta_COSH.o \ + ../../../../../temp/cmd/ta_DEMA.o \ + ../../../../../temp/cmd/ta_DIV.o \ + ../../../../../temp/cmd/ta_DX.o \ + ../../../../../temp/cmd/ta_EMA.o \ + ../../../../../temp/cmd/ta_EXP.o \ + ../../../../../temp/cmd/ta_FLOOR.o \ + ../../../../../temp/cmd/ta_HT_DCPERIOD.o \ + ../../../../../temp/cmd/ta_HT_DCPHASE.o \ + ../../../../../temp/cmd/ta_HT_PHASOR.o \ + ../../../../../temp/cmd/ta_HT_SINE.o \ + ../../../../../temp/cmd/ta_HT_TRENDLINE.o \ + ../../../../../temp/cmd/ta_HT_TRENDMODE.o \ + ../../../../../temp/cmd/ta_KAMA.o \ + ../../../../../temp/cmd/ta_LINEARREG.o \ + ../../../../../temp/cmd/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/cmd/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/cmd/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/cmd/ta_LN.o \ + ../../../../../temp/cmd/ta_LOG10.o \ + ../../../../../temp/cmd/ta_MA.o \ + ../../../../../temp/cmd/ta_MACD.o \ + ../../../../../temp/cmd/ta_MACDEXT.o \ + ../../../../../temp/cmd/ta_MACDFIX.o \ + ../../../../../temp/cmd/ta_MAMA.o \ + ../../../../../temp/cmd/ta_MAVP.o \ + ../../../../../temp/cmd/ta_MAX.o \ + ../../../../../temp/cmd/ta_MAXINDEX.o \ + ../../../../../temp/cmd/ta_MEDPRICE.o \ + ../../../../../temp/cmd/ta_MFI.o \ + ../../../../../temp/cmd/ta_MIDPOINT.o \ + ../../../../../temp/cmd/ta_MIDPRICE.o \ + ../../../../../temp/cmd/ta_MIN.o \ + ../../../../../temp/cmd/ta_MININDEX.o \ + ../../../../../temp/cmd/ta_MINMAX.o \ + ../../../../../temp/cmd/ta_MINMAXINDEX.o \ + ../../../../../temp/cmd/ta_MINUS_DI.o \ + ../../../../../temp/cmd/ta_MINUS_DM.o \ + ../../../../../temp/cmd/ta_MOM.o \ + ../../../../../temp/cmd/ta_MULT.o \ + ../../../../../temp/cmd/ta_NATR.o \ + ../../../../../temp/cmd/ta_OBV.o \ + ../../../../../temp/cmd/ta_PLUS_DI.o \ + ../../../../../temp/cmd/ta_PLUS_DM.o \ + ../../../../../temp/cmd/ta_PPO.o \ + ../../../../../temp/cmd/ta_ROC.o \ + ../../../../../temp/cmd/ta_ROCP.o \ + ../../../../../temp/cmd/ta_ROCR.o \ + ../../../../../temp/cmd/ta_ROCR100.o \ + ../../../../../temp/cmd/ta_RSI.o \ + ../../../../../temp/cmd/ta_SAR.o \ + ../../../../../temp/cmd/ta_SAREXT.o \ + ../../../../../temp/cmd/ta_SIN.o \ + ../../../../../temp/cmd/ta_SINH.o \ + ../../../../../temp/cmd/ta_SMA.o \ + ../../../../../temp/cmd/ta_SQRT.o \ + ../../../../../temp/cmd/ta_STDDEV.o \ + ../../../../../temp/cmd/ta_STOCH.o \ + ../../../../../temp/cmd/ta_STOCHF.o \ + ../../../../../temp/cmd/ta_STOCHRSI.o \ + ../../../../../temp/cmd/ta_SUB.o \ + ../../../../../temp/cmd/ta_SUM.o \ + ../../../../../temp/cmd/ta_T3.o \ + ../../../../../temp/cmd/ta_TAN.o \ + ../../../../../temp/cmd/ta_TANH.o \ + ../../../../../temp/cmd/ta_TEMA.o \ + ../../../../../temp/cmd/ta_TRANGE.o \ + ../../../../../temp/cmd/ta_TRIMA.o \ + ../../../../../temp/cmd/ta_TRIX.o \ + ../../../../../temp/cmd/ta_TSF.o \ + ../../../../../temp/cmd/ta_TYPPRICE.o \ + ../../../../../temp/cmd/ta_ULTOSC.o \ + ../../../../../temp/cmd/ta_VAR.o \ + ../../../../../temp/cmd/ta_WCLPRICE.o \ + ../../../../../temp/cmd/ta_WILLR.o \ + ../../../../../temp/cmd/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_libc_cmd.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmd/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/cmd/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/cmd/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_version.o ../../../../../src/ta_common/ta_version.c + +../../../../../temp/cmd/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmd/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmd/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/cmd/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/cmd/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/cmd/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmd/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmd/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmd/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmd/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmd/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmd/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmd/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmd/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmd/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmd/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmd/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmd/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmd/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmd/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmd/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmd/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmd/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmd/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmd/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmd/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmd/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmd/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmd/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmd/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmd/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + +../../../../../temp/cmd/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/cmd/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/cmd/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/cmd/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/cmd/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/cmd/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/cmd/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/cmd/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/cmd/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/cmd/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/cmd/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/cmd/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/cmd/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/cmd/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/cmd/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/cmd/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/cmd/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/cmd/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/cmd/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/cmd/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/cmd/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/cmd/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/cmd/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/cmd/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/cmd/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/cmd/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/cmd/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/cmd/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/cmd/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/cmd/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/cmd/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/cmd/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/cmd/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/cmd/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/cmd/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/cmd/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/cmd/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/cmd/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/cmd/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/cmd/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/cmd/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/cmd/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/cmd/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/cmd/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/cmd/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/cmd/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/cmd/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/cmd/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/cmd/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/cmd/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/cmd/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/cmd/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/cmd/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/cmd/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/cmd/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/cmd/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/cmd/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/cmd/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/cmd/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/cmd/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/cmd/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/cmd/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/cmd/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/cmd/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/cmd/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/cmd/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/cmd/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/cmd/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/cmd/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/cmd/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/cmd/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/cmd/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/cmd/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/cmd/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/cmd/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/cmd/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/cmd/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/cmd/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/cmd/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/cmd/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/cmd/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/cmd/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/cmd/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/cmd/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/cmd/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/cmd/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/cmd/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/cmd/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/cmd/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/cmd/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/cmd/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/cmd/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/cmd/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/cmd/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/cmd/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/cmd/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/cmd/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/cmd/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/cmd/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/cmd/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/cmd/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/cmd/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/cmd/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/cmd/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/cmd/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/cmd/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/cmd/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/cmd/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/cmd/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/cmd/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/cmd/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/cmd/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/cmd/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/cmd/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/cmd/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/cmd/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/cmd/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/cmd/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/cmd/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/cmd/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/cmd/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/cmd/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/cmd/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/cmd/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/cmd/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/cmd/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/cmd/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/cmd/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/cmd/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/cmd/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/cmd/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/cmd/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/cmd/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/cmd/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/cmd/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/cmd/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/cmd/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/cmd/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/cmd/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/cmd/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/cmd/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/cmd/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/cmd/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/cmd/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/cmd/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/cmd/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/cmd/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/cmd/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/cmd/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/cmd/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/cmd/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/cmd/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/cmd/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/cmd/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/cmd/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/cmd/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/cmd/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/cmd/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/cmd/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/cmd/cygwin/g++/ta_regtest/Makefile b/vendor/ta-lib/make/cmd/cygwin/g++/ta_regtest/Makefile new file mode 100644 index 000000000..0c66eea9d --- /dev/null +++ b/vendor/ta-lib/make/cmd/cygwin/g++/ta_regtest/Makefile @@ -0,0 +1,211 @@ +############################################################################# +# Makefile for building ../../../../../bin/ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../src/tools/ta_regtest -I../../../../../src/ta_func -I../../../../../include +LINK = g++ +LFLAGS = +LIBS = $(SUBLIBS) ../../../../../lib/libta_libc_cmd.a -lpthread +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/ta_regtest/ta_regtest.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c \ + ../../../../../src/tools/ta_regtest/test_internals.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c \ + ../../../../../src/tools/ta_regtest/test_util.c \ + ../../../../../src/tools/ta_regtest/test_data.c \ + ../../../../../src/tools/ta_regtest/test_abstract.c +OBJECTS = ../../../../../temp/cmd/ta_regtest.o \ + ../../../../../temp/cmd/test_candlestick.o \ + ../../../../../temp/cmd/test_1in_1out.o \ + ../../../../../temp/cmd/test_1in_2out.o \ + ../../../../../temp/cmd/test_internals.o \ + ../../../../../temp/cmd/test_adx.o \ + ../../../../../temp/cmd/test_bbands.o \ + ../../../../../temp/cmd/test_ma.o \ + ../../../../../temp/cmd/test_macd.o \ + ../../../../../temp/cmd/test_minmax.o \ + ../../../../../temp/cmd/test_mom.o \ + ../../../../../temp/cmd/test_per_ema.o \ + ../../../../../temp/cmd/test_per_hl.o \ + ../../../../../temp/cmd/test_per_hlc.o \ + ../../../../../temp/cmd/test_per_hlcv.o \ + ../../../../../temp/cmd/test_per_ohlc.o \ + ../../../../../temp/cmd/test_po.o \ + ../../../../../temp/cmd/test_rsi.o \ + ../../../../../temp/cmd/test_sar.o \ + ../../../../../temp/cmd/test_stddev.o \ + ../../../../../temp/cmd/test_stoch.o \ + ../../../../../temp/cmd/test_trange.o \ + ../../../../../temp/cmd/test_util.o \ + ../../../../../temp/cmd/test_data.o \ + ../../../../../temp/cmd/test_abstract.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/ta_regtest +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmd/ta_regtest.o: ../../../../../src/tools/ta_regtest/ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_regtest.o ../../../../../src/tools/ta_regtest/ta_regtest.c + +../../../../../temp/cmd/test_candlestick.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_candlestick.o ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + +../../../../../temp/cmd/test_1in_1out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_1in_1out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + +../../../../../temp/cmd/test_1in_2out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_1in_2out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + +../../../../../temp/cmd/test_internals.o: ../../../../../src/tools/ta_regtest/test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_internals.o ../../../../../src/tools/ta_regtest/test_internals.c + +../../../../../temp/cmd/test_adx.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_adx.o ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + +../../../../../temp/cmd/test_bbands.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_bbands.o ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + +../../../../../temp/cmd/test_ma.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_ma.o ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + +../../../../../temp/cmd/test_macd.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_macd.o ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + +../../../../../temp/cmd/test_minmax.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_minmax.o ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + +../../../../../temp/cmd/test_mom.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_mom.o ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + +../../../../../temp/cmd/test_per_ema.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_per_ema.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + +../../../../../temp/cmd/test_per_hl.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_per_hl.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + +../../../../../temp/cmd/test_per_hlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_per_hlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + +../../../../../temp/cmd/test_per_hlcv.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_per_hlcv.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + +../../../../../temp/cmd/test_per_ohlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_per_ohlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + +../../../../../temp/cmd/test_po.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_po.o ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + +../../../../../temp/cmd/test_rsi.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_rsi.o ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + +../../../../../temp/cmd/test_sar.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_sar.o ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + +../../../../../temp/cmd/test_stddev.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_stddev.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + +../../../../../temp/cmd/test_stoch.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_stoch.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + +../../../../../temp/cmd/test_trange.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_trange.o ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + +../../../../../temp/cmd/test_util.o: ../../../../../src/tools/ta_regtest/test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_util.o ../../../../../src/tools/ta_regtest/test_util.c + +../../../../../temp/cmd/test_data.o: ../../../../../src/tools/ta_regtest/test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_data.o ../../../../../src/tools/ta_regtest/test_data.c + +../../../../../temp/cmd/test_abstract.o: ../../../../../src/tools/ta_regtest/test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_abstract.o ../../../../../src/tools/ta_regtest/test_abstract.c + diff --git a/vendor/ta-lib/make/cmd/freebsd/g++/Makefile b/vendor/ta-lib/make/cmd/freebsd/g++/Makefile new file mode 100644 index 000000000..b92855283 --- /dev/null +++ b/vendor/ta-lib/make/cmd/freebsd/g++/Makefile @@ -0,0 +1,36 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +$(SUBDIRS): FORCE + cd $@; $(MAKE) + +tmake: ../cmd/freebsd/g++/Makefile + +../cmd/freebsd/g++/Makefile: rootmake.pro + tmake rootmake.pro -o ../cmd/freebsd/g++/Makefile + +tmake_all: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done + +#### $text = "\t" . 'for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; pro=`basename $$i`.pro ; $(TMAKE) $$pro -o $(MAKEFILE); grep "TEMPLATE.*subdirs" $$pro 2>/dev/null >/dev/null && $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done'; + +clean release debug: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) $@; fi; ) ; done + +FORCE: diff --git a/vendor/ta-lib/make/cmd/freebsd/g++/gen_code/Makefile b/vendor/ta-lib/make/cmd/freebsd/g++/gen_code/Makefile new file mode 100644 index 000000000..f2b328b41 --- /dev/null +++ b/vendor/ta-lib/make/cmd/freebsd/g++/gen_code/Makefile @@ -0,0 +1,225 @@ +############################################################################# +# Makefile for building ../../../../../bin/gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -D_REENTRANT -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -g -D_REENTRANT -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../include -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I/usr/local/include +LINK = g++ +LFLAGS = -L/usr/local/lib +LIBS = $(SUBLIBS) ../../../../../lib/libta_common_cmd.a -pthread +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/gen_code/gen_code.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/cmd/gen_code/gen_code.o \ + ../../../../../temp/cmd/gen_code/ta_abstract.o \ + ../../../../../temp/cmd/gen_code/ta_def_ui.o \ + ../../../../../temp/cmd/gen_code/table_a.o \ + ../../../../../temp/cmd/gen_code/table_b.o \ + ../../../../../temp/cmd/gen_code/table_c.o \ + ../../../../../temp/cmd/gen_code/table_d.o \ + ../../../../../temp/cmd/gen_code/table_e.o \ + ../../../../../temp/cmd/gen_code/table_f.o \ + ../../../../../temp/cmd/gen_code/table_g.o \ + ../../../../../temp/cmd/gen_code/table_h.o \ + ../../../../../temp/cmd/gen_code/table_i.o \ + ../../../../../temp/cmd/gen_code/table_j.o \ + ../../../../../temp/cmd/gen_code/table_k.o \ + ../../../../../temp/cmd/gen_code/table_l.o \ + ../../../../../temp/cmd/gen_code/table_m.o \ + ../../../../../temp/cmd/gen_code/table_n.o \ + ../../../../../temp/cmd/gen_code/table_o.o \ + ../../../../../temp/cmd/gen_code/table_p.o \ + ../../../../../temp/cmd/gen_code/table_q.o \ + ../../../../../temp/cmd/gen_code/table_r.o \ + ../../../../../temp/cmd/gen_code/table_s.o \ + ../../../../../temp/cmd/gen_code/table_t.o \ + ../../../../../temp/cmd/gen_code/table_u.o \ + ../../../../../temp/cmd/gen_code/table_v.o \ + ../../../../../temp/cmd/gen_code/table_w.o \ + ../../../../../temp/cmd/gen_code/table_x.o \ + ../../../../../temp/cmd/gen_code/table_y.o \ + ../../../../../temp/cmd/gen_code/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/gen_code +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmd/gen_code/gen_code.o: ../../../../../src/tools/gen_code/gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/gen_code.o ../../../../../src/tools/gen_code/gen_code.c + +../../../../../temp/cmd/gen_code/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmd/gen_code/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmd/gen_code/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmd/gen_code/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmd/gen_code/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmd/gen_code/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmd/gen_code/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmd/gen_code/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmd/gen_code/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmd/gen_code/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmd/gen_code/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmd/gen_code/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmd/gen_code/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmd/gen_code/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmd/gen_code/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmd/gen_code/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmd/gen_code/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmd/gen_code/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmd/gen_code/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmd/gen_code/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmd/gen_code/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmd/gen_code/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmd/gen_code/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmd/gen_code/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmd/gen_code/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmd/gen_code/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmd/gen_code/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmd/gen_code/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/cmd/freebsd/g++/ta_abstract/Makefile b/vendor/ta-lib/make/cmd/freebsd/g++/ta_abstract/Makefile new file mode 100644 index 000000000..68e034d6b --- /dev/null +++ b/vendor/ta-lib/make/cmd/freebsd/g++/ta_abstract/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_abstract_cmd.a +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I../../../../../include -I/usr/local/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/cmd/ta_abstract.o \ + ../../../../../temp/cmd/ta_def_ui.o \ + ../../../../../temp/cmd/ta_func_api.o \ + ../../../../../temp/cmd/ta_group_idx.o \ + ../../../../../temp/cmd/ta_frame.o \ + ../../../../../temp/cmd/table_a.o \ + ../../../../../temp/cmd/table_b.o \ + ../../../../../temp/cmd/table_c.o \ + ../../../../../temp/cmd/table_d.o \ + ../../../../../temp/cmd/table_e.o \ + ../../../../../temp/cmd/table_f.o \ + ../../../../../temp/cmd/table_g.o \ + ../../../../../temp/cmd/table_h.o \ + ../../../../../temp/cmd/table_i.o \ + ../../../../../temp/cmd/table_j.o \ + ../../../../../temp/cmd/table_k.o \ + ../../../../../temp/cmd/table_l.o \ + ../../../../../temp/cmd/table_m.o \ + ../../../../../temp/cmd/table_n.o \ + ../../../../../temp/cmd/table_o.o \ + ../../../../../temp/cmd/table_p.o \ + ../../../../../temp/cmd/table_q.o \ + ../../../../../temp/cmd/table_r.o \ + ../../../../../temp/cmd/table_s.o \ + ../../../../../temp/cmd/table_t.o \ + ../../../../../temp/cmd/table_u.o \ + ../../../../../temp/cmd/table_v.o \ + ../../../../../temp/cmd/table_w.o \ + ../../../../../temp/cmd/table_x.o \ + ../../../../../temp/cmd/table_y.o \ + ../../../../../temp/cmd/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_abstract_cmd.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmd/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmd/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmd/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/cmd/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/cmd/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/cmd/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmd/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmd/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmd/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmd/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmd/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmd/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmd/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmd/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmd/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmd/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmd/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmd/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmd/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmd/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmd/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmd/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmd/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmd/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmd/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmd/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmd/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmd/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmd/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmd/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmd/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/cmd/freebsd/g++/ta_common/Makefile b/vendor/ta-lib/make/cmd/freebsd/g++/ta_common/Makefile new file mode 100644 index 000000000..848449b6d --- /dev/null +++ b/vendor/ta-lib/make/cmd/freebsd/g++/ta_common/Makefile @@ -0,0 +1,103 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_common_cmd.a +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../include -I/usr/local/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c +OBJECTS = ../../../../../temp/cmd/ta_global.o \ + ../../../../../temp/cmd/ta_retcode.o \ + ../../../../../temp/cmd/ta_version.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_common_cmd.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmd/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/cmd/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/cmd/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_version.o ../../../../../src/ta_common/ta_version.c + diff --git a/vendor/ta-lib/make/cmd/freebsd/g++/ta_func/Makefile b/vendor/ta-lib/make/cmd/freebsd/g++/ta_func/Makefile new file mode 100644 index 000000000..20f85d506 --- /dev/null +++ b/vendor/ta-lib/make/cmd/freebsd/g++/ta_func/Makefile @@ -0,0 +1,883 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_func_cmd.a +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I/n -I../../../../../include -I/usr/local/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/cmd/ta_utility.o \ + ../../../../../temp/cmd/ta_ACOS.o \ + ../../../../../temp/cmd/ta_AD.o \ + ../../../../../temp/cmd/ta_ADD.o \ + ../../../../../temp/cmd/ta_ADOSC.o \ + ../../../../../temp/cmd/ta_ADX.o \ + ../../../../../temp/cmd/ta_ADXR.o \ + ../../../../../temp/cmd/ta_APO.o \ + ../../../../../temp/cmd/ta_AROON.o \ + ../../../../../temp/cmd/ta_AROONOSC.o \ + ../../../../../temp/cmd/ta_ASIN.o \ + ../../../../../temp/cmd/ta_ATAN.o \ + ../../../../../temp/cmd/ta_ATR.o \ + ../../../../../temp/cmd/ta_AVGPRICE.o \ + ../../../../../temp/cmd/ta_BBANDS.o \ + ../../../../../temp/cmd/ta_BETA.o \ + ../../../../../temp/cmd/ta_BOP.o \ + ../../../../../temp/cmd/ta_CCI.o \ + ../../../../../temp/cmd/ta_CDL2CROWS.o \ + ../../../../../temp/cmd/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/cmd/ta_CDL3INSIDE.o \ + ../../../../../temp/cmd/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/cmd/ta_CDL3OUTSIDE.o \ + ../../../../../temp/cmd/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/cmd/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/cmd/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/cmd/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/cmd/ta_CDLBELTHOLD.o \ + ../../../../../temp/cmd/ta_CDLBREAKAWAY.o \ + ../../../../../temp/cmd/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/cmd/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/cmd/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/cmd/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/cmd/ta_CDLDOJI.o \ + ../../../../../temp/cmd/ta_CDLDOJISTAR.o \ + ../../../../../temp/cmd/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/cmd/ta_CDLENGULFING.o \ + ../../../../../temp/cmd/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/cmd/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/cmd/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/cmd/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/cmd/ta_CDLHAMMER.o \ + ../../../../../temp/cmd/ta_CDLHANGINGMAN.o \ + ../../../../../temp/cmd/ta_CDLHARAMI.o \ + ../../../../../temp/cmd/ta_CDLHARAMICROSS.o \ + ../../../../../temp/cmd/ta_CDLHIGHWAVE.o \ + ../../../../../temp/cmd/ta_CDLHIKKAKE.o \ + ../../../../../temp/cmd/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/cmd/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/cmd/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/cmd/ta_CDLINNECK.o \ + ../../../../../temp/cmd/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/cmd/ta_CDLKICKING.o \ + ../../../../../temp/cmd/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/cmd/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/cmd/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/cmd/ta_CDLLONGLINE.o \ + ../../../../../temp/cmd/ta_CDLMARUBOZU.o \ + ../../../../../temp/cmd/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/cmd/ta_CDLMATHOLD.o \ + ../../../../../temp/cmd/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/cmd/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/cmd/ta_CDLONNECK.o \ + ../../../../../temp/cmd/ta_CDLPIERCING.o \ + ../../../../../temp/cmd/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/cmd/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/cmd/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/cmd/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/cmd/ta_CDLSHORTLINE.o \ + ../../../../../temp/cmd/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/cmd/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/cmd/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/cmd/ta_CDLTAKURI.o \ + ../../../../../temp/cmd/ta_CDLTASUKIGAP.o \ + ../../../../../temp/cmd/ta_CDLTHRUSTING.o \ + ../../../../../temp/cmd/ta_CDLTRISTAR.o \ + ../../../../../temp/cmd/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/cmd/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/cmd/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/cmd/ta_CEIL.o \ + ../../../../../temp/cmd/ta_CMO.o \ + ../../../../../temp/cmd/ta_CORREL.o \ + ../../../../../temp/cmd/ta_COS.o \ + ../../../../../temp/cmd/ta_COSH.o \ + ../../../../../temp/cmd/ta_DEMA.o \ + ../../../../../temp/cmd/ta_DIV.o \ + ../../../../../temp/cmd/ta_DX.o \ + ../../../../../temp/cmd/ta_EMA.o \ + ../../../../../temp/cmd/ta_EXP.o \ + ../../../../../temp/cmd/ta_FLOOR.o \ + ../../../../../temp/cmd/ta_HT_DCPERIOD.o \ + ../../../../../temp/cmd/ta_HT_DCPHASE.o \ + ../../../../../temp/cmd/ta_HT_PHASOR.o \ + ../../../../../temp/cmd/ta_HT_SINE.o \ + ../../../../../temp/cmd/ta_HT_TRENDLINE.o \ + ../../../../../temp/cmd/ta_HT_TRENDMODE.o \ + ../../../../../temp/cmd/ta_KAMA.o \ + ../../../../../temp/cmd/ta_LINEARREG.o \ + ../../../../../temp/cmd/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/cmd/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/cmd/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/cmd/ta_LN.o \ + ../../../../../temp/cmd/ta_LOG10.o \ + ../../../../../temp/cmd/ta_MA.o \ + ../../../../../temp/cmd/ta_MACD.o \ + ../../../../../temp/cmd/ta_MACDEXT.o \ + ../../../../../temp/cmd/ta_MACDFIX.o \ + ../../../../../temp/cmd/ta_MAMA.o \ + ../../../../../temp/cmd/ta_MAVP.o \ + ../../../../../temp/cmd/ta_MAX.o \ + ../../../../../temp/cmd/ta_MAXINDEX.o \ + ../../../../../temp/cmd/ta_MEDPRICE.o \ + ../../../../../temp/cmd/ta_MFI.o \ + ../../../../../temp/cmd/ta_MIDPOINT.o \ + ../../../../../temp/cmd/ta_MIDPRICE.o \ + ../../../../../temp/cmd/ta_MIN.o \ + ../../../../../temp/cmd/ta_MININDEX.o \ + ../../../../../temp/cmd/ta_MINMAX.o \ + ../../../../../temp/cmd/ta_MINMAXINDEX.o \ + ../../../../../temp/cmd/ta_MINUS_DI.o \ + ../../../../../temp/cmd/ta_MINUS_DM.o \ + ../../../../../temp/cmd/ta_MOM.o \ + ../../../../../temp/cmd/ta_MULT.o \ + ../../../../../temp/cmd/ta_NATR.o \ + ../../../../../temp/cmd/ta_OBV.o \ + ../../../../../temp/cmd/ta_PLUS_DI.o \ + ../../../../../temp/cmd/ta_PLUS_DM.o \ + ../../../../../temp/cmd/ta_PPO.o \ + ../../../../../temp/cmd/ta_ROC.o \ + ../../../../../temp/cmd/ta_ROCP.o \ + ../../../../../temp/cmd/ta_ROCR.o \ + ../../../../../temp/cmd/ta_ROCR100.o \ + ../../../../../temp/cmd/ta_RSI.o \ + ../../../../../temp/cmd/ta_SAR.o \ + ../../../../../temp/cmd/ta_SAREXT.o \ + ../../../../../temp/cmd/ta_SIN.o \ + ../../../../../temp/cmd/ta_SINH.o \ + ../../../../../temp/cmd/ta_SMA.o \ + ../../../../../temp/cmd/ta_SQRT.o \ + ../../../../../temp/cmd/ta_STDDEV.o \ + ../../../../../temp/cmd/ta_STOCH.o \ + ../../../../../temp/cmd/ta_STOCHF.o \ + ../../../../../temp/cmd/ta_STOCHRSI.o \ + ../../../../../temp/cmd/ta_SUB.o \ + ../../../../../temp/cmd/ta_SUM.o \ + ../../../../../temp/cmd/ta_T3.o \ + ../../../../../temp/cmd/ta_TAN.o \ + ../../../../../temp/cmd/ta_TANH.o \ + ../../../../../temp/cmd/ta_TEMA.o \ + ../../../../../temp/cmd/ta_TRANGE.o \ + ../../../../../temp/cmd/ta_TRIMA.o \ + ../../../../../temp/cmd/ta_TRIX.o \ + ../../../../../temp/cmd/ta_TSF.o \ + ../../../../../temp/cmd/ta_TYPPRICE.o \ + ../../../../../temp/cmd/ta_ULTOSC.o \ + ../../../../../temp/cmd/ta_VAR.o \ + ../../../../../temp/cmd/ta_WCLPRICE.o \ + ../../../../../temp/cmd/ta_WILLR.o \ + ../../../../../temp/cmd/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_func_cmd.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmd/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/cmd/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/cmd/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/cmd/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/cmd/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/cmd/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/cmd/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/cmd/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/cmd/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/cmd/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/cmd/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/cmd/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/cmd/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/cmd/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/cmd/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/cmd/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/cmd/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/cmd/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/cmd/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/cmd/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/cmd/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/cmd/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/cmd/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/cmd/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/cmd/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/cmd/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/cmd/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/cmd/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/cmd/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/cmd/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/cmd/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/cmd/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/cmd/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/cmd/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/cmd/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/cmd/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/cmd/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/cmd/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/cmd/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/cmd/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/cmd/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/cmd/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/cmd/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/cmd/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/cmd/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/cmd/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/cmd/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/cmd/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/cmd/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/cmd/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/cmd/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/cmd/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/cmd/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/cmd/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/cmd/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/cmd/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/cmd/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/cmd/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/cmd/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/cmd/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/cmd/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/cmd/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/cmd/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/cmd/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/cmd/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/cmd/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/cmd/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/cmd/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/cmd/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/cmd/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/cmd/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/cmd/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/cmd/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/cmd/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/cmd/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/cmd/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/cmd/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/cmd/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/cmd/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/cmd/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/cmd/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/cmd/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/cmd/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/cmd/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/cmd/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/cmd/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/cmd/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/cmd/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/cmd/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/cmd/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/cmd/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/cmd/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/cmd/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/cmd/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/cmd/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/cmd/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/cmd/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/cmd/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/cmd/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/cmd/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/cmd/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/cmd/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/cmd/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/cmd/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/cmd/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/cmd/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/cmd/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/cmd/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/cmd/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/cmd/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/cmd/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/cmd/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/cmd/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/cmd/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/cmd/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/cmd/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/cmd/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/cmd/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/cmd/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/cmd/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/cmd/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/cmd/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/cmd/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/cmd/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/cmd/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/cmd/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/cmd/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/cmd/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/cmd/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/cmd/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/cmd/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/cmd/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/cmd/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/cmd/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/cmd/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/cmd/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/cmd/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/cmd/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/cmd/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/cmd/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/cmd/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/cmd/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/cmd/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/cmd/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/cmd/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/cmd/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/cmd/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/cmd/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/cmd/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/cmd/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/cmd/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/cmd/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/cmd/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/cmd/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/cmd/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/cmd/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/cmd/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/cmd/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/cmd/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/cmd/freebsd/g++/ta_libc/Makefile b/vendor/ta-lib/make/cmd/freebsd/g++/ta_libc/Makefile new file mode 100644 index 000000000..2611f693c --- /dev/null +++ b/vendor/ta-lib/make/cmd/freebsd/g++/ta_libc/Makefile @@ -0,0 +1,1053 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_libc_cmd.a +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../include -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I/usr/local/include -I$(QTDIR)/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c \ + ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/cmd/ta_global.o \ + ../../../../../temp/cmd/ta_retcode.o \ + ../../../../../temp/cmd/ta_version.o \ + ../../../../../temp/cmd/ta_abstract.o \ + ../../../../../temp/cmd/ta_def_ui.o \ + ../../../../../temp/cmd/ta_func_api.o \ + ../../../../../temp/cmd/ta_group_idx.o \ + ../../../../../temp/cmd/ta_frame.o \ + ../../../../../temp/cmd/table_a.o \ + ../../../../../temp/cmd/table_b.o \ + ../../../../../temp/cmd/table_c.o \ + ../../../../../temp/cmd/table_d.o \ + ../../../../../temp/cmd/table_e.o \ + ../../../../../temp/cmd/table_f.o \ + ../../../../../temp/cmd/table_g.o \ + ../../../../../temp/cmd/table_h.o \ + ../../../../../temp/cmd/table_i.o \ + ../../../../../temp/cmd/table_j.o \ + ../../../../../temp/cmd/table_k.o \ + ../../../../../temp/cmd/table_l.o \ + ../../../../../temp/cmd/table_m.o \ + ../../../../../temp/cmd/table_n.o \ + ../../../../../temp/cmd/table_o.o \ + ../../../../../temp/cmd/table_p.o \ + ../../../../../temp/cmd/table_q.o \ + ../../../../../temp/cmd/table_r.o \ + ../../../../../temp/cmd/table_s.o \ + ../../../../../temp/cmd/table_t.o \ + ../../../../../temp/cmd/table_u.o \ + ../../../../../temp/cmd/table_v.o \ + ../../../../../temp/cmd/table_w.o \ + ../../../../../temp/cmd/table_x.o \ + ../../../../../temp/cmd/table_y.o \ + ../../../../../temp/cmd/table_z.o \ + ../../../../../temp/cmd/ta_utility.o \ + ../../../../../temp/cmd/ta_ACOS.o \ + ../../../../../temp/cmd/ta_AD.o \ + ../../../../../temp/cmd/ta_ADD.o \ + ../../../../../temp/cmd/ta_ADOSC.o \ + ../../../../../temp/cmd/ta_ADX.o \ + ../../../../../temp/cmd/ta_ADXR.o \ + ../../../../../temp/cmd/ta_APO.o \ + ../../../../../temp/cmd/ta_AROON.o \ + ../../../../../temp/cmd/ta_AROONOSC.o \ + ../../../../../temp/cmd/ta_ASIN.o \ + ../../../../../temp/cmd/ta_ATAN.o \ + ../../../../../temp/cmd/ta_ATR.o \ + ../../../../../temp/cmd/ta_AVGPRICE.o \ + ../../../../../temp/cmd/ta_BBANDS.o \ + ../../../../../temp/cmd/ta_BETA.o \ + ../../../../../temp/cmd/ta_BOP.o \ + ../../../../../temp/cmd/ta_CCI.o \ + ../../../../../temp/cmd/ta_CDL2CROWS.o \ + ../../../../../temp/cmd/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/cmd/ta_CDL3INSIDE.o \ + ../../../../../temp/cmd/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/cmd/ta_CDL3OUTSIDE.o \ + ../../../../../temp/cmd/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/cmd/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/cmd/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/cmd/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/cmd/ta_CDLBELTHOLD.o \ + ../../../../../temp/cmd/ta_CDLBREAKAWAY.o \ + ../../../../../temp/cmd/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/cmd/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/cmd/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/cmd/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/cmd/ta_CDLDOJI.o \ + ../../../../../temp/cmd/ta_CDLDOJISTAR.o \ + ../../../../../temp/cmd/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/cmd/ta_CDLENGULFING.o \ + ../../../../../temp/cmd/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/cmd/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/cmd/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/cmd/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/cmd/ta_CDLHAMMER.o \ + ../../../../../temp/cmd/ta_CDLHANGINGMAN.o \ + ../../../../../temp/cmd/ta_CDLHARAMI.o \ + ../../../../../temp/cmd/ta_CDLHARAMICROSS.o \ + ../../../../../temp/cmd/ta_CDLHIGHWAVE.o \ + ../../../../../temp/cmd/ta_CDLHIKKAKE.o \ + ../../../../../temp/cmd/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/cmd/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/cmd/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/cmd/ta_CDLINNECK.o \ + ../../../../../temp/cmd/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/cmd/ta_CDLKICKING.o \ + ../../../../../temp/cmd/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/cmd/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/cmd/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/cmd/ta_CDLLONGLINE.o \ + ../../../../../temp/cmd/ta_CDLMARUBOZU.o \ + ../../../../../temp/cmd/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/cmd/ta_CDLMATHOLD.o \ + ../../../../../temp/cmd/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/cmd/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/cmd/ta_CDLONNECK.o \ + ../../../../../temp/cmd/ta_CDLPIERCING.o \ + ../../../../../temp/cmd/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/cmd/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/cmd/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/cmd/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/cmd/ta_CDLSHORTLINE.o \ + ../../../../../temp/cmd/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/cmd/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/cmd/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/cmd/ta_CDLTAKURI.o \ + ../../../../../temp/cmd/ta_CDLTASUKIGAP.o \ + ../../../../../temp/cmd/ta_CDLTHRUSTING.o \ + ../../../../../temp/cmd/ta_CDLTRISTAR.o \ + ../../../../../temp/cmd/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/cmd/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/cmd/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/cmd/ta_CEIL.o \ + ../../../../../temp/cmd/ta_CMO.o \ + ../../../../../temp/cmd/ta_CORREL.o \ + ../../../../../temp/cmd/ta_COS.o \ + ../../../../../temp/cmd/ta_COSH.o \ + ../../../../../temp/cmd/ta_DEMA.o \ + ../../../../../temp/cmd/ta_DIV.o \ + ../../../../../temp/cmd/ta_DX.o \ + ../../../../../temp/cmd/ta_EMA.o \ + ../../../../../temp/cmd/ta_EXP.o \ + ../../../../../temp/cmd/ta_FLOOR.o \ + ../../../../../temp/cmd/ta_HT_DCPERIOD.o \ + ../../../../../temp/cmd/ta_HT_DCPHASE.o \ + ../../../../../temp/cmd/ta_HT_PHASOR.o \ + ../../../../../temp/cmd/ta_HT_SINE.o \ + ../../../../../temp/cmd/ta_HT_TRENDLINE.o \ + ../../../../../temp/cmd/ta_HT_TRENDMODE.o \ + ../../../../../temp/cmd/ta_KAMA.o \ + ../../../../../temp/cmd/ta_LINEARREG.o \ + ../../../../../temp/cmd/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/cmd/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/cmd/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/cmd/ta_LN.o \ + ../../../../../temp/cmd/ta_LOG10.o \ + ../../../../../temp/cmd/ta_MA.o \ + ../../../../../temp/cmd/ta_MACD.o \ + ../../../../../temp/cmd/ta_MACDEXT.o \ + ../../../../../temp/cmd/ta_MACDFIX.o \ + ../../../../../temp/cmd/ta_MAMA.o \ + ../../../../../temp/cmd/ta_MAVP.o \ + ../../../../../temp/cmd/ta_MAX.o \ + ../../../../../temp/cmd/ta_MAXINDEX.o \ + ../../../../../temp/cmd/ta_MEDPRICE.o \ + ../../../../../temp/cmd/ta_MFI.o \ + ../../../../../temp/cmd/ta_MIDPOINT.o \ + ../../../../../temp/cmd/ta_MIDPRICE.o \ + ../../../../../temp/cmd/ta_MIN.o \ + ../../../../../temp/cmd/ta_MININDEX.o \ + ../../../../../temp/cmd/ta_MINMAX.o \ + ../../../../../temp/cmd/ta_MINMAXINDEX.o \ + ../../../../../temp/cmd/ta_MINUS_DI.o \ + ../../../../../temp/cmd/ta_MINUS_DM.o \ + ../../../../../temp/cmd/ta_MOM.o \ + ../../../../../temp/cmd/ta_MULT.o \ + ../../../../../temp/cmd/ta_NATR.o \ + ../../../../../temp/cmd/ta_OBV.o \ + ../../../../../temp/cmd/ta_PLUS_DI.o \ + ../../../../../temp/cmd/ta_PLUS_DM.o \ + ../../../../../temp/cmd/ta_PPO.o \ + ../../../../../temp/cmd/ta_ROC.o \ + ../../../../../temp/cmd/ta_ROCP.o \ + ../../../../../temp/cmd/ta_ROCR.o \ + ../../../../../temp/cmd/ta_ROCR100.o \ + ../../../../../temp/cmd/ta_RSI.o \ + ../../../../../temp/cmd/ta_SAR.o \ + ../../../../../temp/cmd/ta_SAREXT.o \ + ../../../../../temp/cmd/ta_SIN.o \ + ../../../../../temp/cmd/ta_SINH.o \ + ../../../../../temp/cmd/ta_SMA.o \ + ../../../../../temp/cmd/ta_SQRT.o \ + ../../../../../temp/cmd/ta_STDDEV.o \ + ../../../../../temp/cmd/ta_STOCH.o \ + ../../../../../temp/cmd/ta_STOCHF.o \ + ../../../../../temp/cmd/ta_STOCHRSI.o \ + ../../../../../temp/cmd/ta_SUB.o \ + ../../../../../temp/cmd/ta_SUM.o \ + ../../../../../temp/cmd/ta_T3.o \ + ../../../../../temp/cmd/ta_TAN.o \ + ../../../../../temp/cmd/ta_TANH.o \ + ../../../../../temp/cmd/ta_TEMA.o \ + ../../../../../temp/cmd/ta_TRANGE.o \ + ../../../../../temp/cmd/ta_TRIMA.o \ + ../../../../../temp/cmd/ta_TRIX.o \ + ../../../../../temp/cmd/ta_TSF.o \ + ../../../../../temp/cmd/ta_TYPPRICE.o \ + ../../../../../temp/cmd/ta_ULTOSC.o \ + ../../../../../temp/cmd/ta_VAR.o \ + ../../../../../temp/cmd/ta_WCLPRICE.o \ + ../../../../../temp/cmd/ta_WILLR.o \ + ../../../../../temp/cmd/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_libc_cmd.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmd/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/cmd/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/cmd/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_version.o ../../../../../src/ta_common/ta_version.c + +../../../../../temp/cmd/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmd/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmd/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/cmd/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/cmd/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/cmd/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmd/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmd/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmd/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmd/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmd/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmd/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmd/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmd/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmd/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmd/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmd/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmd/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmd/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmd/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmd/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmd/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmd/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmd/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmd/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmd/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmd/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmd/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmd/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmd/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmd/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + +../../../../../temp/cmd/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/cmd/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/cmd/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/cmd/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/cmd/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/cmd/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/cmd/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/cmd/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/cmd/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/cmd/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/cmd/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/cmd/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/cmd/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/cmd/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/cmd/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/cmd/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/cmd/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/cmd/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/cmd/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/cmd/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/cmd/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/cmd/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/cmd/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/cmd/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/cmd/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/cmd/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/cmd/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/cmd/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/cmd/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/cmd/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/cmd/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/cmd/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/cmd/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/cmd/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/cmd/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/cmd/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/cmd/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/cmd/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/cmd/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/cmd/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/cmd/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/cmd/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/cmd/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/cmd/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/cmd/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/cmd/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/cmd/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/cmd/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/cmd/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/cmd/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/cmd/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/cmd/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/cmd/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/cmd/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/cmd/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/cmd/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/cmd/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/cmd/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/cmd/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/cmd/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/cmd/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/cmd/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/cmd/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/cmd/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/cmd/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/cmd/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/cmd/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/cmd/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/cmd/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/cmd/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/cmd/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/cmd/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/cmd/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/cmd/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/cmd/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/cmd/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/cmd/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/cmd/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/cmd/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/cmd/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/cmd/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/cmd/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/cmd/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/cmd/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/cmd/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/cmd/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/cmd/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/cmd/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/cmd/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/cmd/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/cmd/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/cmd/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/cmd/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/cmd/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/cmd/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/cmd/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/cmd/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/cmd/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/cmd/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/cmd/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/cmd/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/cmd/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/cmd/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/cmd/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/cmd/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/cmd/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/cmd/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/cmd/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/cmd/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/cmd/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/cmd/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/cmd/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/cmd/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/cmd/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/cmd/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/cmd/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/cmd/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/cmd/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/cmd/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/cmd/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/cmd/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/cmd/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/cmd/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/cmd/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/cmd/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/cmd/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/cmd/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/cmd/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/cmd/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/cmd/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/cmd/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/cmd/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/cmd/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/cmd/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/cmd/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/cmd/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/cmd/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/cmd/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/cmd/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/cmd/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/cmd/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/cmd/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/cmd/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/cmd/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/cmd/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/cmd/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/cmd/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/cmd/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/cmd/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/cmd/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/cmd/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/cmd/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/cmd/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/cmd/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/cmd/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/cmd/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/cmd/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/cmd/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/cmd/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/cmd/freebsd/g++/ta_regtest/Makefile b/vendor/ta-lib/make/cmd/freebsd/g++/ta_regtest/Makefile new file mode 100644 index 000000000..167b52f1f --- /dev/null +++ b/vendor/ta-lib/make/cmd/freebsd/g++/ta_regtest/Makefile @@ -0,0 +1,205 @@ +############################################################################# +# Makefile for building ../../../../../bin/ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../src/tools/ta_regtest -I../../../../../src/ta_func -I../../../../../include -I/usr/local/include +LINK = g++ +LFLAGS = -L/usr/local/lib +LIBS = $(SUBLIBS) ../../../../../lib/libta_libc_cmd.a -pthread +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/ta_regtest/ta_regtest.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c \ + ../../../../../src/tools/ta_regtest/test_internals.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c \ + ../../../../../src/tools/ta_regtest/test_util.c \ + ../../../../../src/tools/ta_regtest/test_data.c \ + ../../../../../src/tools/ta_regtest/test_abstract.c +OBJECTS = ../../../../../temp/cmd/ta_regtest.o \ + ../../../../../temp/cmd/test_candlestick.o \ + ../../../../../temp/cmd/test_1in_1out.o \ + ../../../../../temp/cmd/test_1in_2out.o \ + ../../../../../temp/cmd/test_internals.o \ + ../../../../../temp/cmd/test_adx.o \ + ../../../../../temp/cmd/test_bbands.o \ + ../../../../../temp/cmd/test_ma.o \ + ../../../../../temp/cmd/test_macd.o \ + ../../../../../temp/cmd/test_minmax.o \ + ../../../../../temp/cmd/test_mom.o \ + ../../../../../temp/cmd/test_per_ema.o \ + ../../../../../temp/cmd/test_per_hl.o \ + ../../../../../temp/cmd/test_per_hlc.o \ + ../../../../../temp/cmd/test_per_hlcv.o \ + ../../../../../temp/cmd/test_per_ohlc.o \ + ../../../../../temp/cmd/test_po.o \ + ../../../../../temp/cmd/test_rsi.o \ + ../../../../../temp/cmd/test_sar.o \ + ../../../../../temp/cmd/test_stddev.o \ + ../../../../../temp/cmd/test_stoch.o \ + ../../../../../temp/cmd/test_trange.o \ + ../../../../../temp/cmd/test_util.o \ + ../../../../../temp/cmd/test_data.o \ + ../../../../../temp/cmd/test_abstract.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/ta_regtest +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmd/ta_regtest.o: ../../../../../src/tools/ta_regtest/ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_regtest.o ../../../../../src/tools/ta_regtest/ta_regtest.c + +../../../../../temp/cmd/test_candlestick.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_candlestick.o ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + +../../../../../temp/cmd/test_1in_1out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_1in_1out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + +../../../../../temp/cmd/test_1in_2out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_1in_2out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + +../../../../../temp/cmd/test_internals.o: ../../../../../src/tools/ta_regtest/test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_internals.o ../../../../../src/tools/ta_regtest/test_internals.c + +../../../../../temp/cmd/test_adx.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_adx.o ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + +../../../../../temp/cmd/test_bbands.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_bbands.o ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + +../../../../../temp/cmd/test_ma.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_ma.o ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + +../../../../../temp/cmd/test_macd.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_macd.o ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + +../../../../../temp/cmd/test_minmax.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_minmax.o ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + +../../../../../temp/cmd/test_mom.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_mom.o ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + +../../../../../temp/cmd/test_per_ema.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_per_ema.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + +../../../../../temp/cmd/test_per_hl.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_per_hl.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + +../../../../../temp/cmd/test_per_hlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_per_hlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + +../../../../../temp/cmd/test_per_hlcv.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_per_hlcv.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + +../../../../../temp/cmd/test_per_ohlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_per_ohlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + +../../../../../temp/cmd/test_po.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_po.o ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + +../../../../../temp/cmd/test_rsi.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_rsi.o ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + +../../../../../temp/cmd/test_sar.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_sar.o ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + +../../../../../temp/cmd/test_stddev.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_stddev.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + +../../../../../temp/cmd/test_stoch.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_stoch.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + +../../../../../temp/cmd/test_trange.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_trange.o ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + +../../../../../temp/cmd/test_util.o: ../../../../../src/tools/ta_regtest/test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_util.o ../../../../../src/tools/ta_regtest/test_util.c + +../../../../../temp/cmd/test_data.o: ../../../../../src/tools/ta_regtest/test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_data.o ../../../../../src/tools/ta_regtest/test_data.c + +../../../../../temp/cmd/test_abstract.o: ../../../../../src/tools/ta_regtest/test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_abstract.o ../../../../../src/tools/ta_regtest/test_abstract.c + diff --git a/vendor/ta-lib/make/cmd/linux/g++/Makefile b/vendor/ta-lib/make/cmd/linux/g++/Makefile new file mode 100644 index 000000000..60f7bb666 --- /dev/null +++ b/vendor/ta-lib/make/cmd/linux/g++/Makefile @@ -0,0 +1,36 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +$(SUBDIRS): FORCE + cd $@; $(MAKE) + +tmake: ../cmd/linux/g++/Makefile + +../cmd/linux/g++/Makefile: rootmake.pro + tmake rootmake.pro -o ../cmd/linux/g++/Makefile + +tmake_all: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done + +#### $text = "\t" . 'for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; pro=`basename $$i`.pro ; $(TMAKE) $$pro -o $(MAKEFILE); grep "TEMPLATE.*subdirs" $$pro 2>/dev/null >/dev/null && $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done'; + +clean release debug: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) $@; fi; ) ; done + +FORCE: diff --git a/vendor/ta-lib/make/cmd/linux/g++/gen_code/Makefile b/vendor/ta-lib/make/cmd/linux/g++/gen_code/Makefile new file mode 100644 index 000000000..665737f1d --- /dev/null +++ b/vendor/ta-lib/make/cmd/linux/g++/gen_code/Makefile @@ -0,0 +1,231 @@ +############################################################################# +# Makefile for building ../../../../../bin/gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -g -D_REENTRANT -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -fPIC -Wall -W -g -D_REENTRANT -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../include -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames +LINK = g++ +LFLAGS = +LIBS = $(SUBLIBS) ../../../../../lib/libta_common_cmd.a -ldl -lpthread +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/gen_code/gen_code.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/cmd/gen_code/gen_code.o \ + ../../../../../temp/cmd/gen_code/ta_abstract.o \ + ../../../../../temp/cmd/gen_code/ta_def_ui.o \ + ../../../../../temp/cmd/gen_code/table_a.o \ + ../../../../../temp/cmd/gen_code/table_b.o \ + ../../../../../temp/cmd/gen_code/table_c.o \ + ../../../../../temp/cmd/gen_code/table_d.o \ + ../../../../../temp/cmd/gen_code/table_e.o \ + ../../../../../temp/cmd/gen_code/table_f.o \ + ../../../../../temp/cmd/gen_code/table_g.o \ + ../../../../../temp/cmd/gen_code/table_h.o \ + ../../../../../temp/cmd/gen_code/table_i.o \ + ../../../../../temp/cmd/gen_code/table_j.o \ + ../../../../../temp/cmd/gen_code/table_k.o \ + ../../../../../temp/cmd/gen_code/table_l.o \ + ../../../../../temp/cmd/gen_code/table_m.o \ + ../../../../../temp/cmd/gen_code/table_n.o \ + ../../../../../temp/cmd/gen_code/table_o.o \ + ../../../../../temp/cmd/gen_code/table_p.o \ + ../../../../../temp/cmd/gen_code/table_q.o \ + ../../../../../temp/cmd/gen_code/table_r.o \ + ../../../../../temp/cmd/gen_code/table_s.o \ + ../../../../../temp/cmd/gen_code/table_t.o \ + ../../../../../temp/cmd/gen_code/table_u.o \ + ../../../../../temp/cmd/gen_code/table_v.o \ + ../../../../../temp/cmd/gen_code/table_w.o \ + ../../../../../temp/cmd/gen_code/table_x.o \ + ../../../../../temp/cmd/gen_code/table_y.o \ + ../../../../../temp/cmd/gen_code/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/gen_code +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmd/gen_code/gen_code.o: ../../../../../src/tools/gen_code/gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/gen_code.o ../../../../../src/tools/gen_code/gen_code.c + +../../../../../temp/cmd/gen_code/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmd/gen_code/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmd/gen_code/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmd/gen_code/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmd/gen_code/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmd/gen_code/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmd/gen_code/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmd/gen_code/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmd/gen_code/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmd/gen_code/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmd/gen_code/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmd/gen_code/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmd/gen_code/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmd/gen_code/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmd/gen_code/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmd/gen_code/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmd/gen_code/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmd/gen_code/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmd/gen_code/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmd/gen_code/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmd/gen_code/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmd/gen_code/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmd/gen_code/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmd/gen_code/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmd/gen_code/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmd/gen_code/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmd/gen_code/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmd/gen_code/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/gen_code/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/cmd/linux/g++/ta_abstract/Makefile b/vendor/ta-lib/make/cmd/linux/g++/ta_abstract/Makefile new file mode 100644 index 000000000..1b83b60f9 --- /dev/null +++ b/vendor/ta-lib/make/cmd/linux/g++/ta_abstract/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_abstract_cmd.a +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -fPIC -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/cmd/ta_abstract.o \ + ../../../../../temp/cmd/ta_def_ui.o \ + ../../../../../temp/cmd/ta_func_api.o \ + ../../../../../temp/cmd/ta_group_idx.o \ + ../../../../../temp/cmd/ta_frame.o \ + ../../../../../temp/cmd/table_a.o \ + ../../../../../temp/cmd/table_b.o \ + ../../../../../temp/cmd/table_c.o \ + ../../../../../temp/cmd/table_d.o \ + ../../../../../temp/cmd/table_e.o \ + ../../../../../temp/cmd/table_f.o \ + ../../../../../temp/cmd/table_g.o \ + ../../../../../temp/cmd/table_h.o \ + ../../../../../temp/cmd/table_i.o \ + ../../../../../temp/cmd/table_j.o \ + ../../../../../temp/cmd/table_k.o \ + ../../../../../temp/cmd/table_l.o \ + ../../../../../temp/cmd/table_m.o \ + ../../../../../temp/cmd/table_n.o \ + ../../../../../temp/cmd/table_o.o \ + ../../../../../temp/cmd/table_p.o \ + ../../../../../temp/cmd/table_q.o \ + ../../../../../temp/cmd/table_r.o \ + ../../../../../temp/cmd/table_s.o \ + ../../../../../temp/cmd/table_t.o \ + ../../../../../temp/cmd/table_u.o \ + ../../../../../temp/cmd/table_v.o \ + ../../../../../temp/cmd/table_w.o \ + ../../../../../temp/cmd/table_x.o \ + ../../../../../temp/cmd/table_y.o \ + ../../../../../temp/cmd/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_abstract_cmd.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmd/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmd/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmd/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/cmd/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/cmd/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/cmd/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmd/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmd/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmd/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmd/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmd/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmd/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmd/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmd/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmd/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmd/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmd/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmd/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmd/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmd/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmd/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmd/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmd/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmd/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmd/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmd/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmd/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmd/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmd/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmd/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmd/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/cmd/linux/g++/ta_common/Makefile b/vendor/ta-lib/make/cmd/linux/g++/ta_common/Makefile new file mode 100644 index 000000000..2b06e94ce --- /dev/null +++ b/vendor/ta-lib/make/cmd/linux/g++/ta_common/Makefile @@ -0,0 +1,103 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_common_cmd.a +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -fPIC -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c +OBJECTS = ../../../../../temp/cmd/ta_global.o \ + ../../../../../temp/cmd/ta_retcode.o \ + ../../../../../temp/cmd/ta_version.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_common_cmd.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmd/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/cmd/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/cmd/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_version.o ../../../../../src/ta_common/ta_version.c + diff --git a/vendor/ta-lib/make/cmd/linux/g++/ta_func/Makefile b/vendor/ta-lib/make/cmd/linux/g++/ta_func/Makefile new file mode 100644 index 000000000..229342539 --- /dev/null +++ b/vendor/ta-lib/make/cmd/linux/g++/ta_func/Makefile @@ -0,0 +1,883 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_func_cmd.a +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -fPIC -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I/n -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/cmd/ta_utility.o \ + ../../../../../temp/cmd/ta_ACOS.o \ + ../../../../../temp/cmd/ta_AD.o \ + ../../../../../temp/cmd/ta_ADD.o \ + ../../../../../temp/cmd/ta_ADOSC.o \ + ../../../../../temp/cmd/ta_ADX.o \ + ../../../../../temp/cmd/ta_ADXR.o \ + ../../../../../temp/cmd/ta_APO.o \ + ../../../../../temp/cmd/ta_AROON.o \ + ../../../../../temp/cmd/ta_AROONOSC.o \ + ../../../../../temp/cmd/ta_ASIN.o \ + ../../../../../temp/cmd/ta_ATAN.o \ + ../../../../../temp/cmd/ta_ATR.o \ + ../../../../../temp/cmd/ta_AVGPRICE.o \ + ../../../../../temp/cmd/ta_BBANDS.o \ + ../../../../../temp/cmd/ta_BETA.o \ + ../../../../../temp/cmd/ta_BOP.o \ + ../../../../../temp/cmd/ta_CCI.o \ + ../../../../../temp/cmd/ta_CDL2CROWS.o \ + ../../../../../temp/cmd/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/cmd/ta_CDL3INSIDE.o \ + ../../../../../temp/cmd/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/cmd/ta_CDL3OUTSIDE.o \ + ../../../../../temp/cmd/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/cmd/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/cmd/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/cmd/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/cmd/ta_CDLBELTHOLD.o \ + ../../../../../temp/cmd/ta_CDLBREAKAWAY.o \ + ../../../../../temp/cmd/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/cmd/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/cmd/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/cmd/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/cmd/ta_CDLDOJI.o \ + ../../../../../temp/cmd/ta_CDLDOJISTAR.o \ + ../../../../../temp/cmd/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/cmd/ta_CDLENGULFING.o \ + ../../../../../temp/cmd/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/cmd/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/cmd/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/cmd/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/cmd/ta_CDLHAMMER.o \ + ../../../../../temp/cmd/ta_CDLHANGINGMAN.o \ + ../../../../../temp/cmd/ta_CDLHARAMI.o \ + ../../../../../temp/cmd/ta_CDLHARAMICROSS.o \ + ../../../../../temp/cmd/ta_CDLHIGHWAVE.o \ + ../../../../../temp/cmd/ta_CDLHIKKAKE.o \ + ../../../../../temp/cmd/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/cmd/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/cmd/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/cmd/ta_CDLINNECK.o \ + ../../../../../temp/cmd/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/cmd/ta_CDLKICKING.o \ + ../../../../../temp/cmd/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/cmd/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/cmd/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/cmd/ta_CDLLONGLINE.o \ + ../../../../../temp/cmd/ta_CDLMARUBOZU.o \ + ../../../../../temp/cmd/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/cmd/ta_CDLMATHOLD.o \ + ../../../../../temp/cmd/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/cmd/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/cmd/ta_CDLONNECK.o \ + ../../../../../temp/cmd/ta_CDLPIERCING.o \ + ../../../../../temp/cmd/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/cmd/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/cmd/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/cmd/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/cmd/ta_CDLSHORTLINE.o \ + ../../../../../temp/cmd/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/cmd/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/cmd/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/cmd/ta_CDLTAKURI.o \ + ../../../../../temp/cmd/ta_CDLTASUKIGAP.o \ + ../../../../../temp/cmd/ta_CDLTHRUSTING.o \ + ../../../../../temp/cmd/ta_CDLTRISTAR.o \ + ../../../../../temp/cmd/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/cmd/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/cmd/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/cmd/ta_CEIL.o \ + ../../../../../temp/cmd/ta_CMO.o \ + ../../../../../temp/cmd/ta_CORREL.o \ + ../../../../../temp/cmd/ta_COS.o \ + ../../../../../temp/cmd/ta_COSH.o \ + ../../../../../temp/cmd/ta_DEMA.o \ + ../../../../../temp/cmd/ta_DIV.o \ + ../../../../../temp/cmd/ta_DX.o \ + ../../../../../temp/cmd/ta_EMA.o \ + ../../../../../temp/cmd/ta_EXP.o \ + ../../../../../temp/cmd/ta_FLOOR.o \ + ../../../../../temp/cmd/ta_HT_DCPERIOD.o \ + ../../../../../temp/cmd/ta_HT_DCPHASE.o \ + ../../../../../temp/cmd/ta_HT_PHASOR.o \ + ../../../../../temp/cmd/ta_HT_SINE.o \ + ../../../../../temp/cmd/ta_HT_TRENDLINE.o \ + ../../../../../temp/cmd/ta_HT_TRENDMODE.o \ + ../../../../../temp/cmd/ta_KAMA.o \ + ../../../../../temp/cmd/ta_LINEARREG.o \ + ../../../../../temp/cmd/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/cmd/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/cmd/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/cmd/ta_LN.o \ + ../../../../../temp/cmd/ta_LOG10.o \ + ../../../../../temp/cmd/ta_MA.o \ + ../../../../../temp/cmd/ta_MACD.o \ + ../../../../../temp/cmd/ta_MACDEXT.o \ + ../../../../../temp/cmd/ta_MACDFIX.o \ + ../../../../../temp/cmd/ta_MAMA.o \ + ../../../../../temp/cmd/ta_MAVP.o \ + ../../../../../temp/cmd/ta_MAX.o \ + ../../../../../temp/cmd/ta_MAXINDEX.o \ + ../../../../../temp/cmd/ta_MEDPRICE.o \ + ../../../../../temp/cmd/ta_MFI.o \ + ../../../../../temp/cmd/ta_MIDPOINT.o \ + ../../../../../temp/cmd/ta_MIDPRICE.o \ + ../../../../../temp/cmd/ta_MIN.o \ + ../../../../../temp/cmd/ta_MININDEX.o \ + ../../../../../temp/cmd/ta_MINMAX.o \ + ../../../../../temp/cmd/ta_MINMAXINDEX.o \ + ../../../../../temp/cmd/ta_MINUS_DI.o \ + ../../../../../temp/cmd/ta_MINUS_DM.o \ + ../../../../../temp/cmd/ta_MOM.o \ + ../../../../../temp/cmd/ta_MULT.o \ + ../../../../../temp/cmd/ta_NATR.o \ + ../../../../../temp/cmd/ta_OBV.o \ + ../../../../../temp/cmd/ta_PLUS_DI.o \ + ../../../../../temp/cmd/ta_PLUS_DM.o \ + ../../../../../temp/cmd/ta_PPO.o \ + ../../../../../temp/cmd/ta_ROC.o \ + ../../../../../temp/cmd/ta_ROCP.o \ + ../../../../../temp/cmd/ta_ROCR.o \ + ../../../../../temp/cmd/ta_ROCR100.o \ + ../../../../../temp/cmd/ta_RSI.o \ + ../../../../../temp/cmd/ta_SAR.o \ + ../../../../../temp/cmd/ta_SAREXT.o \ + ../../../../../temp/cmd/ta_SIN.o \ + ../../../../../temp/cmd/ta_SINH.o \ + ../../../../../temp/cmd/ta_SMA.o \ + ../../../../../temp/cmd/ta_SQRT.o \ + ../../../../../temp/cmd/ta_STDDEV.o \ + ../../../../../temp/cmd/ta_STOCH.o \ + ../../../../../temp/cmd/ta_STOCHF.o \ + ../../../../../temp/cmd/ta_STOCHRSI.o \ + ../../../../../temp/cmd/ta_SUB.o \ + ../../../../../temp/cmd/ta_SUM.o \ + ../../../../../temp/cmd/ta_T3.o \ + ../../../../../temp/cmd/ta_TAN.o \ + ../../../../../temp/cmd/ta_TANH.o \ + ../../../../../temp/cmd/ta_TEMA.o \ + ../../../../../temp/cmd/ta_TRANGE.o \ + ../../../../../temp/cmd/ta_TRIMA.o \ + ../../../../../temp/cmd/ta_TRIX.o \ + ../../../../../temp/cmd/ta_TSF.o \ + ../../../../../temp/cmd/ta_TYPPRICE.o \ + ../../../../../temp/cmd/ta_ULTOSC.o \ + ../../../../../temp/cmd/ta_VAR.o \ + ../../../../../temp/cmd/ta_WCLPRICE.o \ + ../../../../../temp/cmd/ta_WILLR.o \ + ../../../../../temp/cmd/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_func_cmd.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmd/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/cmd/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/cmd/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/cmd/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/cmd/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/cmd/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/cmd/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/cmd/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/cmd/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/cmd/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/cmd/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/cmd/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/cmd/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/cmd/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/cmd/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/cmd/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/cmd/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/cmd/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/cmd/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/cmd/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/cmd/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/cmd/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/cmd/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/cmd/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/cmd/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/cmd/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/cmd/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/cmd/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/cmd/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/cmd/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/cmd/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/cmd/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/cmd/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/cmd/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/cmd/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/cmd/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/cmd/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/cmd/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/cmd/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/cmd/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/cmd/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/cmd/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/cmd/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/cmd/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/cmd/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/cmd/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/cmd/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/cmd/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/cmd/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/cmd/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/cmd/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/cmd/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/cmd/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/cmd/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/cmd/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/cmd/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/cmd/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/cmd/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/cmd/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/cmd/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/cmd/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/cmd/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/cmd/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/cmd/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/cmd/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/cmd/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/cmd/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/cmd/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/cmd/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/cmd/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/cmd/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/cmd/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/cmd/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/cmd/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/cmd/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/cmd/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/cmd/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/cmd/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/cmd/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/cmd/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/cmd/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/cmd/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/cmd/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/cmd/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/cmd/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/cmd/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/cmd/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/cmd/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/cmd/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/cmd/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/cmd/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/cmd/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/cmd/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/cmd/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/cmd/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/cmd/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/cmd/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/cmd/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/cmd/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/cmd/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/cmd/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/cmd/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/cmd/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/cmd/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/cmd/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/cmd/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/cmd/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/cmd/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/cmd/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/cmd/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/cmd/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/cmd/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/cmd/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/cmd/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/cmd/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/cmd/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/cmd/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/cmd/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/cmd/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/cmd/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/cmd/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/cmd/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/cmd/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/cmd/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/cmd/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/cmd/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/cmd/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/cmd/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/cmd/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/cmd/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/cmd/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/cmd/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/cmd/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/cmd/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/cmd/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/cmd/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/cmd/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/cmd/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/cmd/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/cmd/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/cmd/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/cmd/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/cmd/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/cmd/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/cmd/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/cmd/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/cmd/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/cmd/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/cmd/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/cmd/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/cmd/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/cmd/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/cmd/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/cmd/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/cmd/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/cmd/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/cmd/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/cmd/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/cmd/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/cmd/linux/g++/ta_libc/Makefile b/vendor/ta-lib/make/cmd/linux/g++/ta_libc/Makefile new file mode 100644 index 000000000..ce808a882 --- /dev/null +++ b/vendor/ta-lib/make/cmd/linux/g++/ta_libc/Makefile @@ -0,0 +1,1053 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_libc_cmd.a +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -fPIC -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../include -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I$(QTDIR)/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c \ + ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/cmd/ta_global.o \ + ../../../../../temp/cmd/ta_retcode.o \ + ../../../../../temp/cmd/ta_version.o \ + ../../../../../temp/cmd/ta_abstract.o \ + ../../../../../temp/cmd/ta_def_ui.o \ + ../../../../../temp/cmd/ta_func_api.o \ + ../../../../../temp/cmd/ta_group_idx.o \ + ../../../../../temp/cmd/ta_frame.o \ + ../../../../../temp/cmd/table_a.o \ + ../../../../../temp/cmd/table_b.o \ + ../../../../../temp/cmd/table_c.o \ + ../../../../../temp/cmd/table_d.o \ + ../../../../../temp/cmd/table_e.o \ + ../../../../../temp/cmd/table_f.o \ + ../../../../../temp/cmd/table_g.o \ + ../../../../../temp/cmd/table_h.o \ + ../../../../../temp/cmd/table_i.o \ + ../../../../../temp/cmd/table_j.o \ + ../../../../../temp/cmd/table_k.o \ + ../../../../../temp/cmd/table_l.o \ + ../../../../../temp/cmd/table_m.o \ + ../../../../../temp/cmd/table_n.o \ + ../../../../../temp/cmd/table_o.o \ + ../../../../../temp/cmd/table_p.o \ + ../../../../../temp/cmd/table_q.o \ + ../../../../../temp/cmd/table_r.o \ + ../../../../../temp/cmd/table_s.o \ + ../../../../../temp/cmd/table_t.o \ + ../../../../../temp/cmd/table_u.o \ + ../../../../../temp/cmd/table_v.o \ + ../../../../../temp/cmd/table_w.o \ + ../../../../../temp/cmd/table_x.o \ + ../../../../../temp/cmd/table_y.o \ + ../../../../../temp/cmd/table_z.o \ + ../../../../../temp/cmd/ta_utility.o \ + ../../../../../temp/cmd/ta_ACOS.o \ + ../../../../../temp/cmd/ta_AD.o \ + ../../../../../temp/cmd/ta_ADD.o \ + ../../../../../temp/cmd/ta_ADOSC.o \ + ../../../../../temp/cmd/ta_ADX.o \ + ../../../../../temp/cmd/ta_ADXR.o \ + ../../../../../temp/cmd/ta_APO.o \ + ../../../../../temp/cmd/ta_AROON.o \ + ../../../../../temp/cmd/ta_AROONOSC.o \ + ../../../../../temp/cmd/ta_ASIN.o \ + ../../../../../temp/cmd/ta_ATAN.o \ + ../../../../../temp/cmd/ta_ATR.o \ + ../../../../../temp/cmd/ta_AVGPRICE.o \ + ../../../../../temp/cmd/ta_BBANDS.o \ + ../../../../../temp/cmd/ta_BETA.o \ + ../../../../../temp/cmd/ta_BOP.o \ + ../../../../../temp/cmd/ta_CCI.o \ + ../../../../../temp/cmd/ta_CDL2CROWS.o \ + ../../../../../temp/cmd/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/cmd/ta_CDL3INSIDE.o \ + ../../../../../temp/cmd/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/cmd/ta_CDL3OUTSIDE.o \ + ../../../../../temp/cmd/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/cmd/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/cmd/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/cmd/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/cmd/ta_CDLBELTHOLD.o \ + ../../../../../temp/cmd/ta_CDLBREAKAWAY.o \ + ../../../../../temp/cmd/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/cmd/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/cmd/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/cmd/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/cmd/ta_CDLDOJI.o \ + ../../../../../temp/cmd/ta_CDLDOJISTAR.o \ + ../../../../../temp/cmd/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/cmd/ta_CDLENGULFING.o \ + ../../../../../temp/cmd/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/cmd/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/cmd/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/cmd/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/cmd/ta_CDLHAMMER.o \ + ../../../../../temp/cmd/ta_CDLHANGINGMAN.o \ + ../../../../../temp/cmd/ta_CDLHARAMI.o \ + ../../../../../temp/cmd/ta_CDLHARAMICROSS.o \ + ../../../../../temp/cmd/ta_CDLHIGHWAVE.o \ + ../../../../../temp/cmd/ta_CDLHIKKAKE.o \ + ../../../../../temp/cmd/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/cmd/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/cmd/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/cmd/ta_CDLINNECK.o \ + ../../../../../temp/cmd/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/cmd/ta_CDLKICKING.o \ + ../../../../../temp/cmd/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/cmd/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/cmd/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/cmd/ta_CDLLONGLINE.o \ + ../../../../../temp/cmd/ta_CDLMARUBOZU.o \ + ../../../../../temp/cmd/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/cmd/ta_CDLMATHOLD.o \ + ../../../../../temp/cmd/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/cmd/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/cmd/ta_CDLONNECK.o \ + ../../../../../temp/cmd/ta_CDLPIERCING.o \ + ../../../../../temp/cmd/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/cmd/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/cmd/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/cmd/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/cmd/ta_CDLSHORTLINE.o \ + ../../../../../temp/cmd/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/cmd/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/cmd/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/cmd/ta_CDLTAKURI.o \ + ../../../../../temp/cmd/ta_CDLTASUKIGAP.o \ + ../../../../../temp/cmd/ta_CDLTHRUSTING.o \ + ../../../../../temp/cmd/ta_CDLTRISTAR.o \ + ../../../../../temp/cmd/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/cmd/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/cmd/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/cmd/ta_CEIL.o \ + ../../../../../temp/cmd/ta_CMO.o \ + ../../../../../temp/cmd/ta_CORREL.o \ + ../../../../../temp/cmd/ta_COS.o \ + ../../../../../temp/cmd/ta_COSH.o \ + ../../../../../temp/cmd/ta_DEMA.o \ + ../../../../../temp/cmd/ta_DIV.o \ + ../../../../../temp/cmd/ta_DX.o \ + ../../../../../temp/cmd/ta_EMA.o \ + ../../../../../temp/cmd/ta_EXP.o \ + ../../../../../temp/cmd/ta_FLOOR.o \ + ../../../../../temp/cmd/ta_HT_DCPERIOD.o \ + ../../../../../temp/cmd/ta_HT_DCPHASE.o \ + ../../../../../temp/cmd/ta_HT_PHASOR.o \ + ../../../../../temp/cmd/ta_HT_SINE.o \ + ../../../../../temp/cmd/ta_HT_TRENDLINE.o \ + ../../../../../temp/cmd/ta_HT_TRENDMODE.o \ + ../../../../../temp/cmd/ta_KAMA.o \ + ../../../../../temp/cmd/ta_LINEARREG.o \ + ../../../../../temp/cmd/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/cmd/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/cmd/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/cmd/ta_LN.o \ + ../../../../../temp/cmd/ta_LOG10.o \ + ../../../../../temp/cmd/ta_MA.o \ + ../../../../../temp/cmd/ta_MACD.o \ + ../../../../../temp/cmd/ta_MACDEXT.o \ + ../../../../../temp/cmd/ta_MACDFIX.o \ + ../../../../../temp/cmd/ta_MAMA.o \ + ../../../../../temp/cmd/ta_MAVP.o \ + ../../../../../temp/cmd/ta_MAX.o \ + ../../../../../temp/cmd/ta_MAXINDEX.o \ + ../../../../../temp/cmd/ta_MEDPRICE.o \ + ../../../../../temp/cmd/ta_MFI.o \ + ../../../../../temp/cmd/ta_MIDPOINT.o \ + ../../../../../temp/cmd/ta_MIDPRICE.o \ + ../../../../../temp/cmd/ta_MIN.o \ + ../../../../../temp/cmd/ta_MININDEX.o \ + ../../../../../temp/cmd/ta_MINMAX.o \ + ../../../../../temp/cmd/ta_MINMAXINDEX.o \ + ../../../../../temp/cmd/ta_MINUS_DI.o \ + ../../../../../temp/cmd/ta_MINUS_DM.o \ + ../../../../../temp/cmd/ta_MOM.o \ + ../../../../../temp/cmd/ta_MULT.o \ + ../../../../../temp/cmd/ta_NATR.o \ + ../../../../../temp/cmd/ta_OBV.o \ + ../../../../../temp/cmd/ta_PLUS_DI.o \ + ../../../../../temp/cmd/ta_PLUS_DM.o \ + ../../../../../temp/cmd/ta_PPO.o \ + ../../../../../temp/cmd/ta_ROC.o \ + ../../../../../temp/cmd/ta_ROCP.o \ + ../../../../../temp/cmd/ta_ROCR.o \ + ../../../../../temp/cmd/ta_ROCR100.o \ + ../../../../../temp/cmd/ta_RSI.o \ + ../../../../../temp/cmd/ta_SAR.o \ + ../../../../../temp/cmd/ta_SAREXT.o \ + ../../../../../temp/cmd/ta_SIN.o \ + ../../../../../temp/cmd/ta_SINH.o \ + ../../../../../temp/cmd/ta_SMA.o \ + ../../../../../temp/cmd/ta_SQRT.o \ + ../../../../../temp/cmd/ta_STDDEV.o \ + ../../../../../temp/cmd/ta_STOCH.o \ + ../../../../../temp/cmd/ta_STOCHF.o \ + ../../../../../temp/cmd/ta_STOCHRSI.o \ + ../../../../../temp/cmd/ta_SUB.o \ + ../../../../../temp/cmd/ta_SUM.o \ + ../../../../../temp/cmd/ta_T3.o \ + ../../../../../temp/cmd/ta_TAN.o \ + ../../../../../temp/cmd/ta_TANH.o \ + ../../../../../temp/cmd/ta_TEMA.o \ + ../../../../../temp/cmd/ta_TRANGE.o \ + ../../../../../temp/cmd/ta_TRIMA.o \ + ../../../../../temp/cmd/ta_TRIX.o \ + ../../../../../temp/cmd/ta_TSF.o \ + ../../../../../temp/cmd/ta_TYPPRICE.o \ + ../../../../../temp/cmd/ta_ULTOSC.o \ + ../../../../../temp/cmd/ta_VAR.o \ + ../../../../../temp/cmd/ta_WCLPRICE.o \ + ../../../../../temp/cmd/ta_WILLR.o \ + ../../../../../temp/cmd/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_libc_cmd.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmd/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/cmd/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/cmd/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_version.o ../../../../../src/ta_common/ta_version.c + +../../../../../temp/cmd/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmd/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmd/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/cmd/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/cmd/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/cmd/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmd/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmd/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmd/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmd/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmd/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmd/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmd/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmd/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmd/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmd/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmd/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmd/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmd/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmd/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmd/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmd/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmd/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmd/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmd/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmd/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmd/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmd/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmd/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmd/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmd/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + +../../../../../temp/cmd/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/cmd/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/cmd/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/cmd/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/cmd/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/cmd/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/cmd/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/cmd/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/cmd/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/cmd/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/cmd/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/cmd/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/cmd/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/cmd/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/cmd/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/cmd/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/cmd/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/cmd/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/cmd/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/cmd/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/cmd/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/cmd/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/cmd/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/cmd/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/cmd/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/cmd/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/cmd/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/cmd/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/cmd/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/cmd/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/cmd/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/cmd/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/cmd/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/cmd/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/cmd/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/cmd/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/cmd/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/cmd/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/cmd/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/cmd/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/cmd/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/cmd/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/cmd/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/cmd/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/cmd/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/cmd/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/cmd/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/cmd/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/cmd/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/cmd/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/cmd/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/cmd/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/cmd/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/cmd/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/cmd/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/cmd/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/cmd/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/cmd/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/cmd/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/cmd/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/cmd/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/cmd/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/cmd/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/cmd/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/cmd/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/cmd/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/cmd/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/cmd/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/cmd/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/cmd/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/cmd/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/cmd/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/cmd/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/cmd/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/cmd/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/cmd/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/cmd/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/cmd/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/cmd/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/cmd/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/cmd/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/cmd/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/cmd/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/cmd/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/cmd/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/cmd/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/cmd/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/cmd/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/cmd/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/cmd/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/cmd/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/cmd/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/cmd/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/cmd/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/cmd/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/cmd/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/cmd/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/cmd/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/cmd/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/cmd/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/cmd/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/cmd/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/cmd/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/cmd/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/cmd/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/cmd/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/cmd/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/cmd/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/cmd/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/cmd/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/cmd/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/cmd/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/cmd/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/cmd/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/cmd/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/cmd/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/cmd/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/cmd/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/cmd/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/cmd/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/cmd/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/cmd/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/cmd/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/cmd/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/cmd/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/cmd/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/cmd/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/cmd/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/cmd/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/cmd/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/cmd/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/cmd/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/cmd/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/cmd/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/cmd/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/cmd/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/cmd/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/cmd/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/cmd/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/cmd/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/cmd/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/cmd/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/cmd/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/cmd/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/cmd/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/cmd/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/cmd/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/cmd/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/cmd/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/cmd/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/cmd/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/cmd/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/cmd/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/cmd/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/cmd/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/cmd/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/cmd/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/cmd/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/cmd/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/cmd/linux/g++/ta_regtest/Makefile b/vendor/ta-lib/make/cmd/linux/g++/ta_regtest/Makefile new file mode 100644 index 000000000..163ebd5c6 --- /dev/null +++ b/vendor/ta-lib/make/cmd/linux/g++/ta_regtest/Makefile @@ -0,0 +1,211 @@ +############################################################################# +# Makefile for building ../../../../../bin/ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -fPIC -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../src/tools/ta_regtest -I../../../../../src/ta_func -I../../../../../include +LINK = g++ +LFLAGS = +LIBS = $(SUBLIBS) ../../../../../lib/libta_libc_cmd.a -ldl -lpthread +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/ta_regtest/ta_regtest.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c \ + ../../../../../src/tools/ta_regtest/test_internals.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c \ + ../../../../../src/tools/ta_regtest/test_util.c \ + ../../../../../src/tools/ta_regtest/test_data.c \ + ../../../../../src/tools/ta_regtest/test_abstract.c +OBJECTS = ../../../../../temp/cmd/ta_regtest.o \ + ../../../../../temp/cmd/test_candlestick.o \ + ../../../../../temp/cmd/test_1in_1out.o \ + ../../../../../temp/cmd/test_1in_2out.o \ + ../../../../../temp/cmd/test_internals.o \ + ../../../../../temp/cmd/test_adx.o \ + ../../../../../temp/cmd/test_bbands.o \ + ../../../../../temp/cmd/test_ma.o \ + ../../../../../temp/cmd/test_macd.o \ + ../../../../../temp/cmd/test_minmax.o \ + ../../../../../temp/cmd/test_mom.o \ + ../../../../../temp/cmd/test_per_ema.o \ + ../../../../../temp/cmd/test_per_hl.o \ + ../../../../../temp/cmd/test_per_hlc.o \ + ../../../../../temp/cmd/test_per_hlcv.o \ + ../../../../../temp/cmd/test_per_ohlc.o \ + ../../../../../temp/cmd/test_po.o \ + ../../../../../temp/cmd/test_rsi.o \ + ../../../../../temp/cmd/test_sar.o \ + ../../../../../temp/cmd/test_stddev.o \ + ../../../../../temp/cmd/test_stoch.o \ + ../../../../../temp/cmd/test_trange.o \ + ../../../../../temp/cmd/test_util.o \ + ../../../../../temp/cmd/test_data.o \ + ../../../../../temp/cmd/test_abstract.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/ta_regtest +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmd/ta_regtest.o: ../../../../../src/tools/ta_regtest/ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/ta_regtest.o ../../../../../src/tools/ta_regtest/ta_regtest.c + +../../../../../temp/cmd/test_candlestick.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_candlestick.o ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + +../../../../../temp/cmd/test_1in_1out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_1in_1out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + +../../../../../temp/cmd/test_1in_2out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_1in_2out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + +../../../../../temp/cmd/test_internals.o: ../../../../../src/tools/ta_regtest/test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_internals.o ../../../../../src/tools/ta_regtest/test_internals.c + +../../../../../temp/cmd/test_adx.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_adx.o ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + +../../../../../temp/cmd/test_bbands.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_bbands.o ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + +../../../../../temp/cmd/test_ma.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_ma.o ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + +../../../../../temp/cmd/test_macd.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_macd.o ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + +../../../../../temp/cmd/test_minmax.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_minmax.o ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + +../../../../../temp/cmd/test_mom.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_mom.o ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + +../../../../../temp/cmd/test_per_ema.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_per_ema.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + +../../../../../temp/cmd/test_per_hl.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_per_hl.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + +../../../../../temp/cmd/test_per_hlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_per_hlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + +../../../../../temp/cmd/test_per_hlcv.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_per_hlcv.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + +../../../../../temp/cmd/test_per_ohlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_per_ohlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + +../../../../../temp/cmd/test_po.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_po.o ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + +../../../../../temp/cmd/test_rsi.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_rsi.o ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + +../../../../../temp/cmd/test_sar.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_sar.o ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + +../../../../../temp/cmd/test_stddev.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_stddev.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + +../../../../../temp/cmd/test_stoch.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_stoch.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + +../../../../../temp/cmd/test_trange.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_trange.o ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + +../../../../../temp/cmd/test_util.o: ../../../../../src/tools/ta_regtest/test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_util.o ../../../../../src/tools/ta_regtest/test_util.c + +../../../../../temp/cmd/test_data.o: ../../../../../src/tools/ta_regtest/test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_data.o ../../../../../src/tools/ta_regtest/test_data.c + +../../../../../temp/cmd/test_abstract.o: ../../../../../src/tools/ta_regtest/test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmd/test_abstract.o ../../../../../src/tools/ta_regtest/test_abstract.c + diff --git a/vendor/ta-lib/make/cmd/win32/borland/Makefile b/vendor/ta-lib/make/cmd/win32/borland/Makefile new file mode 100644 index 000000000..4e18860b0 --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/borland/Makefile @@ -0,0 +1,96 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +ta_common: + cd ta_common + $(MAKE) + @cd .. + +ta_func: + cd ta_func + $(MAKE) + @cd .. + +ta_abstract: + cd ta_abstract + $(MAKE) + @cd .. + +ta_libc: + cd ta_libc + $(MAKE) + @cd .. + +gen_code: + cd gen_code + $(MAKE) + @cd .. + +ta_regtest: + cd ta_regtest + $(MAKE) + @cd .. + + +tmake: ../cmd/win32/borland/Makefile + +../cmd/win32/borland/Makefile: rootmake.pro + tmake rootmake.pro -o ../cmd/win32/borland/Makefile + +tmake_all: + cd ta_common + $(TMAKE) ta_common.pro -o $(MAKEFILE) + @cd .. + cd ta_func + $(TMAKE) ta_func.pro -o $(MAKEFILE) + @cd .. + cd ta_abstract + $(TMAKE) ta_abstract.pro -o $(MAKEFILE) + @cd .. + cd ta_libc + $(TMAKE) ta_libc.pro -o $(MAKEFILE) + @cd .. + cd gen_code + $(TMAKE) gen_code.pro -o $(MAKEFILE) + @cd .. + cd ta_regtest + $(TMAKE) ta_regtest.pro -o $(MAKEFILE) + @cd .. + + +clean: + cd ta_common + $(MAKE) clean + @cd .. + cd ta_func + $(MAKE) clean + @cd .. + cd ta_abstract + $(MAKE) clean + @cd .. + cd ta_libc + $(MAKE) clean + @cd .. + cd gen_code + $(MAKE) clean + @cd .. + cd ta_regtest + $(MAKE) clean + @cd .. + diff --git a/vendor/ta-lib/make/cmd/win32/borland/gen_code/Makefile b/vendor/ta-lib/make/cmd/win32/borland/gen_code/Makefile new file mode 100644 index 000000000..6a7a2576f --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/borland/gen_code/Makefile @@ -0,0 +1,267 @@ +############################################################################# +# Makefile for building gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +####### Compiler, tools and options + +CC = bcc32 +CXX = bcc32 +CFLAGS = -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -tWM -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DWIN32 -DQT_THREAD_SUPPORT +CXXFLAGS= -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -tWM -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DWIN32 -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" +LINK = ilink32 +LFLAGS = -L$(BCB)\lib -L$(BCB)\lib\PSDK -c -x -Gn -v -ap -Tpe c0x32.obj +LIBS = import32.lib cw32mti.lib ..\..\..\..\..\lib\ta_common_cmd.lib +MOC = moc +UIC = uic + +ZIP = zip -r -9 +DEF_FILE = +RES_FILE = + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\gen_code\gen_code.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\cmd\gen_code\gen_code.obj \ + ..\..\..\..\..\temp\cmd\gen_code\ta_abstract.obj \ + ..\..\..\..\..\temp\cmd\gen_code\ta_def_ui.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_a.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_b.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_c.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_d.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_e.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_f.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_g.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_h.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_i.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_j.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_k.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_l.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_m.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_n.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_o.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_p.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_q.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_r.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_s.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_t.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_u.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_v.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_w.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_x.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_y.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_z.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\gen_code.exe +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) @&&| + $(LFLAGS) $(OBJECTS) $(OBJMOC),$(TARGET),,$(LIBS),$(DEF_FILE),$(RES_FILE) +| + +moc: $(SRCMOC) + +tmake: ../cmd/win32/borland/gen_code/Makefile + +../cmd/win32/borland/gen_code/Makefile: gen_code/gen_code.pro + tmake gen_code/gen_code.pro -o ../cmd/win32/borland/gen_code/Makefile + +dist: + $(ZIP) gen_code/gen_code.zip gen_code/gen_code.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmd\gen_code\gen_code.obj + -del ..\..\..\..\..\temp\cmd\gen_code\ta_abstract.obj + -del ..\..\..\..\..\temp\cmd\gen_code\ta_def_ui.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_a.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_b.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_c.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_d.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_e.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_f.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_g.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_h.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_i.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_j.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_k.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_l.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_m.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_n.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_o.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_p.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_q.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_r.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_s.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_t.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_u.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_v.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_w.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_x.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_y.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_z.obj + -del $(TARGET) + -del gen_code.tds + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmd/*.pch + -del ../../../../../temp/cmd/*.idb + -del ../../../../../temp/cmd/gen_code/*.pch + -del ../../../../../temp/cmd/gen_code/*.idb + -del ../../../../../temp/cmd/gen_code/*.obj + +####### Compile + +..\..\..\..\..\temp\cmd\gen_code\gen_code.obj: ..\..\..\..\..\src\tools\gen_code\gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\gen_code.obj ..\..\..\..\..\src\tools\gen_code\gen_code.c + +..\..\..\..\..\temp\cmd\gen_code\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cmd\gen_code\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cmd\gen_code\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cmd\gen_code\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cmd\gen_code\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cmd\gen_code\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cmd\gen_code\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cmd\gen_code\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cmd\gen_code\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cmd\gen_code\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cmd\gen_code\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cmd\gen_code\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cmd\gen_code\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cmd\gen_code\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cmd\gen_code\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cmd\gen_code\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cmd\gen_code\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cmd\gen_code\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cmd\gen_code\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cmd\gen_code\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cmd\gen_code\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cmd\gen_code\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cmd\gen_code\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cmd\gen_code\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cmd\gen_code\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cmd\gen_code\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cmd\gen_code\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cmd\gen_code\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/cmd/win32/borland/ta_abstract/Makefile b/vendor/ta-lib/make/cmd/win32/borland/ta_abstract/Makefile new file mode 100644 index 000000000..82d47caa5 --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/borland/ta_abstract/Makefile @@ -0,0 +1,309 @@ +############################################################################# +# Makefile for building ta_abstract_cmd +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +####### Compiler, tools and options + +CC = bcc32 +CXX = bcc32 +CFLAGS = -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -tWM -DTA_DEBUG -D_DEBUG -DWIN32 -DQT_THREAD_SUPPORT +CXXFLAGS= -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -tWM -DTA_DEBUG -D_DEBUG -DWIN32 -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"..\..\..\..\..\include" +LIB = tlib /C /P256 +MOC = moc +UIC = uic + +ZIP = zip -r -9 +DEF_FILE = +RES_FILE = + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\cmd\ta_abstract.obj \ + ..\..\..\..\..\temp\cmd\ta_def_ui.obj \ + ..\..\..\..\..\temp\cmd\ta_func_api.obj \ + ..\..\..\..\..\temp\cmd\ta_group_idx.obj \ + ..\..\..\..\..\temp\cmd\ta_frame.obj \ + ..\..\..\..\..\temp\cmd\table_a.obj \ + ..\..\..\..\..\temp\cmd\table_b.obj \ + ..\..\..\..\..\temp\cmd\table_c.obj \ + ..\..\..\..\..\temp\cmd\table_d.obj \ + ..\..\..\..\..\temp\cmd\table_e.obj \ + ..\..\..\..\..\temp\cmd\table_f.obj \ + ..\..\..\..\..\temp\cmd\table_g.obj \ + ..\..\..\..\..\temp\cmd\table_h.obj \ + ..\..\..\..\..\temp\cmd\table_i.obj \ + ..\..\..\..\..\temp\cmd\table_j.obj \ + ..\..\..\..\..\temp\cmd\table_k.obj \ + ..\..\..\..\..\temp\cmd\table_l.obj \ + ..\..\..\..\..\temp\cmd\table_m.obj \ + ..\..\..\..\..\temp\cmd\table_n.obj \ + ..\..\..\..\..\temp\cmd\table_o.obj \ + ..\..\..\..\..\temp\cmd\table_p.obj \ + ..\..\..\..\..\temp\cmd\table_q.obj \ + ..\..\..\..\..\temp\cmd\table_r.obj \ + ..\..\..\..\..\temp\cmd\table_s.obj \ + ..\..\..\..\..\temp\cmd\table_t.obj \ + ..\..\..\..\..\temp\cmd\table_u.obj \ + ..\..\..\..\..\temp\cmd\table_v.obj \ + ..\..\..\..\..\temp\cmd\table_w.obj \ + ..\..\..\..\..\temp\cmd\table_x.obj \ + ..\..\..\..\..\temp\cmd\table_y.obj \ + ..\..\..\..\..\temp\cmd\table_z.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_abstract_cmd.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) @&&| ++..\..\..\..\..\temp\cmd\ta_abstract.obj \ ++..\..\..\..\..\temp\cmd\ta_def_ui.obj \ ++..\..\..\..\..\temp\cmd\ta_func_api.obj \ ++..\..\..\..\..\temp\cmd\ta_group_idx.obj \ ++..\..\..\..\..\temp\cmd\ta_frame.obj \ ++..\..\..\..\..\temp\cmd\table_a.obj \ ++..\..\..\..\..\temp\cmd\table_b.obj \ ++..\..\..\..\..\temp\cmd\table_c.obj \ ++..\..\..\..\..\temp\cmd\table_d.obj \ ++..\..\..\..\..\temp\cmd\table_e.obj \ ++..\..\..\..\..\temp\cmd\table_f.obj \ ++..\..\..\..\..\temp\cmd\table_g.obj \ ++..\..\..\..\..\temp\cmd\table_h.obj \ ++..\..\..\..\..\temp\cmd\table_i.obj \ ++..\..\..\..\..\temp\cmd\table_j.obj \ ++..\..\..\..\..\temp\cmd\table_k.obj \ ++..\..\..\..\..\temp\cmd\table_l.obj \ ++..\..\..\..\..\temp\cmd\table_m.obj \ ++..\..\..\..\..\temp\cmd\table_n.obj \ ++..\..\..\..\..\temp\cmd\table_o.obj \ ++..\..\..\..\..\temp\cmd\table_p.obj \ ++..\..\..\..\..\temp\cmd\table_q.obj \ ++..\..\..\..\..\temp\cmd\table_r.obj \ ++..\..\..\..\..\temp\cmd\table_s.obj \ ++..\..\..\..\..\temp\cmd\table_t.obj \ ++..\..\..\..\..\temp\cmd\table_u.obj \ ++..\..\..\..\..\temp\cmd\table_v.obj \ ++..\..\..\..\..\temp\cmd\table_w.obj \ ++..\..\..\..\..\temp\cmd\table_x.obj \ ++..\..\..\..\..\temp\cmd\table_y.obj \ ++..\..\..\..\..\temp\cmd\table_z.obj \ ++ +| + +moc: $(SRCMOC) + +tmake: ../cmd/win32/borland/ta_abstract/Makefile + +../cmd/win32/borland/ta_abstract/Makefile: ta_abstract/ta_abstract.pro + tmake ta_abstract/ta_abstract.pro -o ../cmd/win32/borland/ta_abstract/Makefile + +dist: + $(ZIP) ta_abstract/ta_abstract.zip ta_abstract/ta_abstract.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmd\ta_abstract.obj + -del ..\..\..\..\..\temp\cmd\ta_def_ui.obj + -del ..\..\..\..\..\temp\cmd\ta_func_api.obj + -del ..\..\..\..\..\temp\cmd\ta_group_idx.obj + -del ..\..\..\..\..\temp\cmd\ta_frame.obj + -del ..\..\..\..\..\temp\cmd\table_a.obj + -del ..\..\..\..\..\temp\cmd\table_b.obj + -del ..\..\..\..\..\temp\cmd\table_c.obj + -del ..\..\..\..\..\temp\cmd\table_d.obj + -del ..\..\..\..\..\temp\cmd\table_e.obj + -del ..\..\..\..\..\temp\cmd\table_f.obj + -del ..\..\..\..\..\temp\cmd\table_g.obj + -del ..\..\..\..\..\temp\cmd\table_h.obj + -del ..\..\..\..\..\temp\cmd\table_i.obj + -del ..\..\..\..\..\temp\cmd\table_j.obj + -del ..\..\..\..\..\temp\cmd\table_k.obj + -del ..\..\..\..\..\temp\cmd\table_l.obj + -del ..\..\..\..\..\temp\cmd\table_m.obj + -del ..\..\..\..\..\temp\cmd\table_n.obj + -del ..\..\..\..\..\temp\cmd\table_o.obj + -del ..\..\..\..\..\temp\cmd\table_p.obj + -del ..\..\..\..\..\temp\cmd\table_q.obj + -del ..\..\..\..\..\temp\cmd\table_r.obj + -del ..\..\..\..\..\temp\cmd\table_s.obj + -del ..\..\..\..\..\temp\cmd\table_t.obj + -del ..\..\..\..\..\temp\cmd\table_u.obj + -del ..\..\..\..\..\temp\cmd\table_v.obj + -del ..\..\..\..\..\temp\cmd\table_w.obj + -del ..\..\..\..\..\temp\cmd\table_x.obj + -del ..\..\..\..\..\temp\cmd\table_y.obj + -del ..\..\..\..\..\temp\cmd\table_z.obj + -del $(TARGET) + -del ta_abstract_cmd.tds + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmd/*.pch + -del ../../../../../temp/cmd/*.idb + -del ../../../../../temp/cmd/ta_abstract/*.pch + -del ../../../../../temp/cmd/ta_abstract/*.idb + -del ../../../../../temp/cmd/ta_abstract/*.obj + +####### Compile + +..\..\..\..\..\temp\cmd\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cmd\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cmd\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\cmd\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\cmd\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\cmd\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cmd\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cmd\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cmd\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cmd\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cmd\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cmd\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cmd\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cmd\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cmd\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cmd\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cmd\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cmd\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cmd\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cmd\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cmd\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cmd\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cmd\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cmd\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cmd\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cmd\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cmd\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cmd\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cmd\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cmd\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cmd\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/cmd/win32/borland/ta_common/Makefile b/vendor/ta-lib/make/cmd/win32/borland/ta_common/Makefile new file mode 100644 index 000000000..90d5b075b --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/borland/ta_common/Makefile @@ -0,0 +1,113 @@ +############################################################################# +# Makefile for building ta_common_cmd +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +####### Compiler, tools and options + +CC = bcc32 +CXX = bcc32 +CFLAGS = -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -tWM -DTA_DEBUG -D_DEBUG -DWIN32 -DQT_THREAD_SUPPORT +CXXFLAGS= -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -tWM -DTA_DEBUG -D_DEBUG -DWIN32 -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" +LIB = tlib /C /P256 +MOC = moc +UIC = uic + +ZIP = zip -r -9 +DEF_FILE = +RES_FILE = + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c +OBJECTS = ..\..\..\..\..\temp\cmd\ta_global.obj \ + ..\..\..\..\..\temp\cmd\ta_retcode.obj \ + ..\..\..\..\..\temp\cmd\ta_version.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_common_cmd.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) @&&| ++..\..\..\..\..\temp\cmd\ta_global.obj \ ++..\..\..\..\..\temp\cmd\ta_retcode.obj \ ++..\..\..\..\..\temp\cmd\ta_version.obj \ ++ +| + +moc: $(SRCMOC) + +tmake: ../cmd/win32/borland/ta_common/Makefile + +../cmd/win32/borland/ta_common/Makefile: ta_common/ta_common.pro + tmake ta_common/ta_common.pro -o ../cmd/win32/borland/ta_common/Makefile + +dist: + $(ZIP) ta_common/ta_common.zip ta_common/ta_common.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmd\ta_global.obj + -del ..\..\..\..\..\temp\cmd\ta_retcode.obj + -del ..\..\..\..\..\temp\cmd\ta_version.obj + -del $(TARGET) + -del ta_common_cmd.tds + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmd/*.pch + -del ../../../../../temp/cmd/*.idb + -del ../../../../../temp/cmd/ta_common_cmd/*.pch + -del ../../../../../temp/cmd/ta_common_cmd/*.idb + -del ../../../../../temp/cmd/ta_common_cmd/*.obj + +####### Compile + +..\..\..\..\..\temp\cmd\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\cmd\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\cmd\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + diff --git a/vendor/ta-lib/make/cmd/win32/borland/ta_func/Makefile b/vendor/ta-lib/make/cmd/win32/borland/ta_func/Makefile new file mode 100644 index 000000000..1aed95833 --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/borland/ta_func/Makefile @@ -0,0 +1,1205 @@ +############################################################################# +# Makefile for building ta_func_cmd +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +####### Compiler, tools and options + +CC = bcc32 +CXX = bcc32 +CFLAGS = -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -tWM -DTA_DEBUG -D_DEBUG -DWIN32 -DQT_THREAD_SUPPORT +CXXFLAGS= -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -tWM -DTA_DEBUG -D_DEBUG -DWIN32 -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"\n" -I"..\..\..\..\..\include" +LIB = tlib /C /P256 +MOC = moc +UIC = uic + +ZIP = zip -r -9 +DEF_FILE = +RES_FILE = + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\cmd\ta_utility.obj \ + ..\..\..\..\..\temp\cmd\ta_ACOS.obj \ + ..\..\..\..\..\temp\cmd\ta_AD.obj \ + ..\..\..\..\..\temp\cmd\ta_ADD.obj \ + ..\..\..\..\..\temp\cmd\ta_ADOSC.obj \ + ..\..\..\..\..\temp\cmd\ta_ADX.obj \ + ..\..\..\..\..\temp\cmd\ta_ADXR.obj \ + ..\..\..\..\..\temp\cmd\ta_APO.obj \ + ..\..\..\..\..\temp\cmd\ta_AROON.obj \ + ..\..\..\..\..\temp\cmd\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\cmd\ta_ASIN.obj \ + ..\..\..\..\..\temp\cmd\ta_ATAN.obj \ + ..\..\..\..\..\temp\cmd\ta_ATR.obj \ + ..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_BBANDS.obj \ + ..\..\..\..\..\temp\cmd\ta_BETA.obj \ + ..\..\..\..\..\temp\cmd\ta_BOP.obj \ + ..\..\..\..\..\temp\cmd\ta_CCI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\cmd\ta_CEIL.obj \ + ..\..\..\..\..\temp\cmd\ta_CMO.obj \ + ..\..\..\..\..\temp\cmd\ta_CORREL.obj \ + ..\..\..\..\..\temp\cmd\ta_COS.obj \ + ..\..\..\..\..\temp\cmd\ta_COSH.obj \ + ..\..\..\..\..\temp\cmd\ta_DEMA.obj \ + ..\..\..\..\..\temp\cmd\ta_DIV.obj \ + ..\..\..\..\..\temp\cmd\ta_DX.obj \ + ..\..\..\..\..\temp\cmd\ta_EMA.obj \ + ..\..\..\..\..\temp\cmd\ta_EXP.obj \ + ..\..\..\..\..\temp\cmd\ta_FLOOR.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\cmd\ta_KAMA.obj \ + ..\..\..\..\..\temp\cmd\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\cmd\ta_LN.obj \ + ..\..\..\..\..\temp\cmd\ta_LOG10.obj \ + ..\..\..\..\..\temp\cmd\ta_MA.obj \ + ..\..\..\..\..\temp\cmd\ta_MACD.obj \ + ..\..\..\..\..\temp\cmd\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\cmd\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\cmd\ta_MAMA.obj \ + ..\..\..\..\..\temp\cmd\ta_MAVP.obj \ + ..\..\..\..\..\temp\cmd\ta_MAX.obj \ + ..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_MFI.obj \ + ..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_MIN.obj \ + ..\..\..\..\..\temp\cmd\ta_MININDEX.obj \ + ..\..\..\..\..\temp\cmd\ta_MINMAX.obj \ + ..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\cmd\ta_MOM.obj \ + ..\..\..\..\..\temp\cmd\ta_MULT.obj \ + ..\..\..\..\..\temp\cmd\ta_NATR.obj \ + ..\..\..\..\..\temp\cmd\ta_OBV.obj \ + ..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\cmd\ta_PPO.obj \ + ..\..\..\..\..\temp\cmd\ta_ROC.obj \ + ..\..\..\..\..\temp\cmd\ta_ROCP.obj \ + ..\..\..\..\..\temp\cmd\ta_ROCR.obj \ + ..\..\..\..\..\temp\cmd\ta_ROCR100.obj \ + ..\..\..\..\..\temp\cmd\ta_RSI.obj \ + ..\..\..\..\..\temp\cmd\ta_SAR.obj \ + ..\..\..\..\..\temp\cmd\ta_SAREXT.obj \ + ..\..\..\..\..\temp\cmd\ta_SIN.obj \ + ..\..\..\..\..\temp\cmd\ta_SINH.obj \ + ..\..\..\..\..\temp\cmd\ta_SMA.obj \ + ..\..\..\..\..\temp\cmd\ta_SQRT.obj \ + ..\..\..\..\..\temp\cmd\ta_STDDEV.obj \ + ..\..\..\..\..\temp\cmd\ta_STOCH.obj \ + ..\..\..\..\..\temp\cmd\ta_STOCHF.obj \ + ..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\cmd\ta_SUB.obj \ + ..\..\..\..\..\temp\cmd\ta_SUM.obj \ + ..\..\..\..\..\temp\cmd\ta_T3.obj \ + ..\..\..\..\..\temp\cmd\ta_TAN.obj \ + ..\..\..\..\..\temp\cmd\ta_TANH.obj \ + ..\..\..\..\..\temp\cmd\ta_TEMA.obj \ + ..\..\..\..\..\temp\cmd\ta_TRANGE.obj \ + ..\..\..\..\..\temp\cmd\ta_TRIMA.obj \ + ..\..\..\..\..\temp\cmd\ta_TRIX.obj \ + ..\..\..\..\..\temp\cmd\ta_TSF.obj \ + ..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\cmd\ta_VAR.obj \ + ..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_WILLR.obj \ + ..\..\..\..\..\temp\cmd\ta_WMA.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_func_cmd.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) @&&| ++..\..\..\..\..\temp\cmd\ta_utility.obj \ ++..\..\..\..\..\temp\cmd\ta_ACOS.obj \ ++..\..\..\..\..\temp\cmd\ta_AD.obj \ ++..\..\..\..\..\temp\cmd\ta_ADD.obj \ ++..\..\..\..\..\temp\cmd\ta_ADOSC.obj \ ++..\..\..\..\..\temp\cmd\ta_ADX.obj \ ++..\..\..\..\..\temp\cmd\ta_ADXR.obj \ ++..\..\..\..\..\temp\cmd\ta_APO.obj \ ++..\..\..\..\..\temp\cmd\ta_AROON.obj \ ++..\..\..\..\..\temp\cmd\ta_AROONOSC.obj \ ++..\..\..\..\..\temp\cmd\ta_ASIN.obj \ ++..\..\..\..\..\temp\cmd\ta_ATAN.obj \ ++..\..\..\..\..\temp\cmd\ta_ATR.obj \ ++..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj \ ++..\..\..\..\..\temp\cmd\ta_BBANDS.obj \ ++..\..\..\..\..\temp\cmd\ta_BETA.obj \ ++..\..\..\..\..\temp\cmd\ta_BOP.obj \ ++..\..\..\..\..\temp\cmd\ta_CCI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj \ ++..\..\..\..\..\temp\cmd\ta_CEIL.obj \ ++..\..\..\..\..\temp\cmd\ta_CMO.obj \ ++..\..\..\..\..\temp\cmd\ta_CORREL.obj \ ++..\..\..\..\..\temp\cmd\ta_COS.obj \ ++..\..\..\..\..\temp\cmd\ta_COSH.obj \ ++..\..\..\..\..\temp\cmd\ta_DEMA.obj \ ++..\..\..\..\..\temp\cmd\ta_DIV.obj \ ++..\..\..\..\..\temp\cmd\ta_DX.obj \ ++..\..\..\..\..\temp\cmd\ta_EMA.obj \ ++..\..\..\..\..\temp\cmd\ta_EXP.obj \ ++..\..\..\..\..\temp\cmd\ta_FLOOR.obj \ ++..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj \ ++..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj \ ++..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj \ ++..\..\..\..\..\temp\cmd\ta_HT_SINE.obj \ ++..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj \ ++..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj \ ++..\..\..\..\..\temp\cmd\ta_KAMA.obj \ ++..\..\..\..\..\temp\cmd\ta_LINEARREG.obj \ ++..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj \ ++..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj \ ++..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj \ ++..\..\..\..\..\temp\cmd\ta_LN.obj \ ++..\..\..\..\..\temp\cmd\ta_LOG10.obj \ ++..\..\..\..\..\temp\cmd\ta_MA.obj \ ++..\..\..\..\..\temp\cmd\ta_MACD.obj \ ++..\..\..\..\..\temp\cmd\ta_MACDEXT.obj \ ++..\..\..\..\..\temp\cmd\ta_MACDFIX.obj \ ++..\..\..\..\..\temp\cmd\ta_MAMA.obj \ ++..\..\..\..\..\temp\cmd\ta_MAVP.obj \ ++..\..\..\..\..\temp\cmd\ta_MAX.obj \ ++..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj \ ++..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj \ ++..\..\..\..\..\temp\cmd\ta_MFI.obj \ ++..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj \ ++..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj \ ++..\..\..\..\..\temp\cmd\ta_MIN.obj \ ++..\..\..\..\..\temp\cmd\ta_MININDEX.obj \ ++..\..\..\..\..\temp\cmd\ta_MINMAX.obj \ ++..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj \ ++..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj \ ++..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj \ ++..\..\..\..\..\temp\cmd\ta_MOM.obj \ ++..\..\..\..\..\temp\cmd\ta_MULT.obj \ ++..\..\..\..\..\temp\cmd\ta_NATR.obj \ ++..\..\..\..\..\temp\cmd\ta_OBV.obj \ ++..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj \ ++..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj \ ++..\..\..\..\..\temp\cmd\ta_PPO.obj \ ++..\..\..\..\..\temp\cmd\ta_ROC.obj \ ++..\..\..\..\..\temp\cmd\ta_ROCP.obj \ ++..\..\..\..\..\temp\cmd\ta_ROCR.obj \ ++..\..\..\..\..\temp\cmd\ta_ROCR100.obj \ ++..\..\..\..\..\temp\cmd\ta_RSI.obj \ ++..\..\..\..\..\temp\cmd\ta_SAR.obj \ ++..\..\..\..\..\temp\cmd\ta_SAREXT.obj \ ++..\..\..\..\..\temp\cmd\ta_SIN.obj \ ++..\..\..\..\..\temp\cmd\ta_SINH.obj \ ++..\..\..\..\..\temp\cmd\ta_SMA.obj \ ++..\..\..\..\..\temp\cmd\ta_SQRT.obj \ ++..\..\..\..\..\temp\cmd\ta_STDDEV.obj \ ++..\..\..\..\..\temp\cmd\ta_STOCH.obj \ ++..\..\..\..\..\temp\cmd\ta_STOCHF.obj \ ++..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj \ ++..\..\..\..\..\temp\cmd\ta_SUB.obj \ ++..\..\..\..\..\temp\cmd\ta_SUM.obj \ ++..\..\..\..\..\temp\cmd\ta_T3.obj \ ++..\..\..\..\..\temp\cmd\ta_TAN.obj \ ++..\..\..\..\..\temp\cmd\ta_TANH.obj \ ++..\..\..\..\..\temp\cmd\ta_TEMA.obj \ ++..\..\..\..\..\temp\cmd\ta_TRANGE.obj \ ++..\..\..\..\..\temp\cmd\ta_TRIMA.obj \ ++..\..\..\..\..\temp\cmd\ta_TRIX.obj \ ++..\..\..\..\..\temp\cmd\ta_TSF.obj \ ++..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj \ ++..\..\..\..\..\temp\cmd\ta_ULTOSC.obj \ ++..\..\..\..\..\temp\cmd\ta_VAR.obj \ ++..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj \ ++..\..\..\..\..\temp\cmd\ta_WILLR.obj \ ++..\..\..\..\..\temp\cmd\ta_WMA.obj \ ++ +| + +moc: $(SRCMOC) + +tmake: ../cmd/win32/borland/ta_func/Makefile + +../cmd/win32/borland/ta_func/Makefile: ta_func/ta_func.pro + tmake ta_func/ta_func.pro -o ../cmd/win32/borland/ta_func/Makefile + +dist: + $(ZIP) ta_func/ta_func.zip ta_func/ta_func.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmd\ta_utility.obj + -del ..\..\..\..\..\temp\cmd\ta_ACOS.obj + -del ..\..\..\..\..\temp\cmd\ta_AD.obj + -del ..\..\..\..\..\temp\cmd\ta_ADD.obj + -del ..\..\..\..\..\temp\cmd\ta_ADOSC.obj + -del ..\..\..\..\..\temp\cmd\ta_ADX.obj + -del ..\..\..\..\..\temp\cmd\ta_ADXR.obj + -del ..\..\..\..\..\temp\cmd\ta_APO.obj + -del ..\..\..\..\..\temp\cmd\ta_AROON.obj + -del ..\..\..\..\..\temp\cmd\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\cmd\ta_ASIN.obj + -del ..\..\..\..\..\temp\cmd\ta_ATAN.obj + -del ..\..\..\..\..\temp\cmd\ta_ATR.obj + -del ..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_BBANDS.obj + -del ..\..\..\..\..\temp\cmd\ta_BETA.obj + -del ..\..\..\..\..\temp\cmd\ta_BOP.obj + -del ..\..\..\..\..\temp\cmd\ta_CCI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\cmd\ta_CEIL.obj + -del ..\..\..\..\..\temp\cmd\ta_CMO.obj + -del ..\..\..\..\..\temp\cmd\ta_CORREL.obj + -del ..\..\..\..\..\temp\cmd\ta_COS.obj + -del ..\..\..\..\..\temp\cmd\ta_COSH.obj + -del ..\..\..\..\..\temp\cmd\ta_DEMA.obj + -del ..\..\..\..\..\temp\cmd\ta_DIV.obj + -del ..\..\..\..\..\temp\cmd\ta_DX.obj + -del ..\..\..\..\..\temp\cmd\ta_EMA.obj + -del ..\..\..\..\..\temp\cmd\ta_EXP.obj + -del ..\..\..\..\..\temp\cmd\ta_FLOOR.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\cmd\ta_KAMA.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\cmd\ta_LN.obj + -del ..\..\..\..\..\temp\cmd\ta_LOG10.obj + -del ..\..\..\..\..\temp\cmd\ta_MA.obj + -del ..\..\..\..\..\temp\cmd\ta_MACD.obj + -del ..\..\..\..\..\temp\cmd\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\cmd\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\cmd\ta_MAMA.obj + -del ..\..\..\..\..\temp\cmd\ta_MAVP.obj + -del ..\..\..\..\..\temp\cmd\ta_MAX.obj + -del ..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_MFI.obj + -del ..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_MIN.obj + -del ..\..\..\..\..\temp\cmd\ta_MININDEX.obj + -del ..\..\..\..\..\temp\cmd\ta_MINMAX.obj + -del ..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\cmd\ta_MOM.obj + -del ..\..\..\..\..\temp\cmd\ta_MULT.obj + -del ..\..\..\..\..\temp\cmd\ta_NATR.obj + -del ..\..\..\..\..\temp\cmd\ta_OBV.obj + -del ..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\cmd\ta_PPO.obj + -del ..\..\..\..\..\temp\cmd\ta_ROC.obj + -del ..\..\..\..\..\temp\cmd\ta_ROCP.obj + -del ..\..\..\..\..\temp\cmd\ta_ROCR.obj + -del ..\..\..\..\..\temp\cmd\ta_ROCR100.obj + -del ..\..\..\..\..\temp\cmd\ta_RSI.obj + -del ..\..\..\..\..\temp\cmd\ta_SAR.obj + -del ..\..\..\..\..\temp\cmd\ta_SAREXT.obj + -del ..\..\..\..\..\temp\cmd\ta_SIN.obj + -del ..\..\..\..\..\temp\cmd\ta_SINH.obj + -del ..\..\..\..\..\temp\cmd\ta_SMA.obj + -del ..\..\..\..\..\temp\cmd\ta_SQRT.obj + -del ..\..\..\..\..\temp\cmd\ta_STDDEV.obj + -del ..\..\..\..\..\temp\cmd\ta_STOCH.obj + -del ..\..\..\..\..\temp\cmd\ta_STOCHF.obj + -del ..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\cmd\ta_SUB.obj + -del ..\..\..\..\..\temp\cmd\ta_SUM.obj + -del ..\..\..\..\..\temp\cmd\ta_T3.obj + -del ..\..\..\..\..\temp\cmd\ta_TAN.obj + -del ..\..\..\..\..\temp\cmd\ta_TANH.obj + -del ..\..\..\..\..\temp\cmd\ta_TEMA.obj + -del ..\..\..\..\..\temp\cmd\ta_TRANGE.obj + -del ..\..\..\..\..\temp\cmd\ta_TRIMA.obj + -del ..\..\..\..\..\temp\cmd\ta_TRIX.obj + -del ..\..\..\..\..\temp\cmd\ta_TSF.obj + -del ..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\cmd\ta_VAR.obj + -del ..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_WILLR.obj + -del ..\..\..\..\..\temp\cmd\ta_WMA.obj + -del $(TARGET) + -del ta_func_cmd.tds + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmd/*.pch + -del ../../../../../temp/cmd/*.idb + -del ../../../../../temp/cmd/ta_func/*.pch + -del ../../../../../temp/cmd/ta_func/*.idb + -del ../../../../../temp/cmd/ta_func/*.obj + +####### Compile + +..\..\..\..\..\temp\cmd\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\cmd\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\cmd\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\cmd\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\cmd\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\cmd\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\cmd\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\cmd\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\cmd\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\cmd\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\cmd\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\cmd\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\cmd\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\cmd\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\cmd\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\cmd\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\cmd\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\cmd\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\cmd\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\cmd\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\cmd\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\cmd\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\cmd\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\cmd\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\cmd\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\cmd\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\cmd\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\cmd\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\cmd\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\cmd\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\cmd\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\cmd\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\cmd\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\cmd\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\cmd\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\cmd\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\cmd\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\cmd\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\cmd\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\cmd\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\cmd\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\cmd\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\cmd\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\cmd\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\cmd\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\cmd\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\cmd\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\cmd\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\cmd\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\cmd\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\cmd\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\cmd\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\cmd\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\cmd\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\cmd\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\cmd\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\cmd\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\cmd\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\cmd\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\cmd\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\cmd\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\cmd\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\cmd\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\cmd\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\cmd\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\cmd\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\cmd\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\cmd\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\cmd\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\cmd\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\cmd\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\cmd\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\cmd\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\cmd\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\cmd\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\cmd\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/cmd/win32/borland/ta_libc/Makefile b/vendor/ta-lib/make/cmd/win32/borland/ta_libc/Makefile new file mode 100644 index 000000000..c673ccbb9 --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/borland/ta_libc/Makefile @@ -0,0 +1,1438 @@ +############################################################################# +# Makefile for building ta_libc_cmd +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +####### Compiler, tools and options + +CC = bcc32 +CXX = bcc32 +CFLAGS = -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -tWM -DTA_DEBUG -D_DEBUG -DWIN32 -DQT_THREAD_SUPPORT +CXXFLAGS= -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -tWM -DTA_DEBUG -D_DEBUG -DWIN32 -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"$(QTDIR)\include" +LIB = tlib /C /P256 +MOC = moc +UIC = uic + +ZIP = zip -r -9 +DEF_FILE = +RES_FILE = + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c \ + ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\cmd\ta_global.obj \ + ..\..\..\..\..\temp\cmd\ta_retcode.obj \ + ..\..\..\..\..\temp\cmd\ta_version.obj \ + ..\..\..\..\..\temp\cmd\ta_abstract.obj \ + ..\..\..\..\..\temp\cmd\ta_def_ui.obj \ + ..\..\..\..\..\temp\cmd\ta_func_api.obj \ + ..\..\..\..\..\temp\cmd\ta_group_idx.obj \ + ..\..\..\..\..\temp\cmd\ta_frame.obj \ + ..\..\..\..\..\temp\cmd\table_a.obj \ + ..\..\..\..\..\temp\cmd\table_b.obj \ + ..\..\..\..\..\temp\cmd\table_c.obj \ + ..\..\..\..\..\temp\cmd\table_d.obj \ + ..\..\..\..\..\temp\cmd\table_e.obj \ + ..\..\..\..\..\temp\cmd\table_f.obj \ + ..\..\..\..\..\temp\cmd\table_g.obj \ + ..\..\..\..\..\temp\cmd\table_h.obj \ + ..\..\..\..\..\temp\cmd\table_i.obj \ + ..\..\..\..\..\temp\cmd\table_j.obj \ + ..\..\..\..\..\temp\cmd\table_k.obj \ + ..\..\..\..\..\temp\cmd\table_l.obj \ + ..\..\..\..\..\temp\cmd\table_m.obj \ + ..\..\..\..\..\temp\cmd\table_n.obj \ + ..\..\..\..\..\temp\cmd\table_o.obj \ + ..\..\..\..\..\temp\cmd\table_p.obj \ + ..\..\..\..\..\temp\cmd\table_q.obj \ + ..\..\..\..\..\temp\cmd\table_r.obj \ + ..\..\..\..\..\temp\cmd\table_s.obj \ + ..\..\..\..\..\temp\cmd\table_t.obj \ + ..\..\..\..\..\temp\cmd\table_u.obj \ + ..\..\..\..\..\temp\cmd\table_v.obj \ + ..\..\..\..\..\temp\cmd\table_w.obj \ + ..\..\..\..\..\temp\cmd\table_x.obj \ + ..\..\..\..\..\temp\cmd\table_y.obj \ + ..\..\..\..\..\temp\cmd\table_z.obj \ + ..\..\..\..\..\temp\cmd\ta_utility.obj \ + ..\..\..\..\..\temp\cmd\ta_ACOS.obj \ + ..\..\..\..\..\temp\cmd\ta_AD.obj \ + ..\..\..\..\..\temp\cmd\ta_ADD.obj \ + ..\..\..\..\..\temp\cmd\ta_ADOSC.obj \ + ..\..\..\..\..\temp\cmd\ta_ADX.obj \ + ..\..\..\..\..\temp\cmd\ta_ADXR.obj \ + ..\..\..\..\..\temp\cmd\ta_APO.obj \ + ..\..\..\..\..\temp\cmd\ta_AROON.obj \ + ..\..\..\..\..\temp\cmd\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\cmd\ta_ASIN.obj \ + ..\..\..\..\..\temp\cmd\ta_ATAN.obj \ + ..\..\..\..\..\temp\cmd\ta_ATR.obj \ + ..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_BBANDS.obj \ + ..\..\..\..\..\temp\cmd\ta_BETA.obj \ + ..\..\..\..\..\temp\cmd\ta_BOP.obj \ + ..\..\..\..\..\temp\cmd\ta_CCI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\cmd\ta_CEIL.obj \ + ..\..\..\..\..\temp\cmd\ta_CMO.obj \ + ..\..\..\..\..\temp\cmd\ta_CORREL.obj \ + ..\..\..\..\..\temp\cmd\ta_COS.obj \ + ..\..\..\..\..\temp\cmd\ta_COSH.obj \ + ..\..\..\..\..\temp\cmd\ta_DEMA.obj \ + ..\..\..\..\..\temp\cmd\ta_DIV.obj \ + ..\..\..\..\..\temp\cmd\ta_DX.obj \ + ..\..\..\..\..\temp\cmd\ta_EMA.obj \ + ..\..\..\..\..\temp\cmd\ta_EXP.obj \ + ..\..\..\..\..\temp\cmd\ta_FLOOR.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\cmd\ta_KAMA.obj \ + ..\..\..\..\..\temp\cmd\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\cmd\ta_LN.obj \ + ..\..\..\..\..\temp\cmd\ta_LOG10.obj \ + ..\..\..\..\..\temp\cmd\ta_MA.obj \ + ..\..\..\..\..\temp\cmd\ta_MACD.obj \ + ..\..\..\..\..\temp\cmd\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\cmd\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\cmd\ta_MAMA.obj \ + ..\..\..\..\..\temp\cmd\ta_MAVP.obj \ + ..\..\..\..\..\temp\cmd\ta_MAX.obj \ + ..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_MFI.obj \ + ..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_MIN.obj \ + ..\..\..\..\..\temp\cmd\ta_MININDEX.obj \ + ..\..\..\..\..\temp\cmd\ta_MINMAX.obj \ + ..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\cmd\ta_MOM.obj \ + ..\..\..\..\..\temp\cmd\ta_MULT.obj \ + ..\..\..\..\..\temp\cmd\ta_NATR.obj \ + ..\..\..\..\..\temp\cmd\ta_OBV.obj \ + ..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\cmd\ta_PPO.obj \ + ..\..\..\..\..\temp\cmd\ta_ROC.obj \ + ..\..\..\..\..\temp\cmd\ta_ROCP.obj \ + ..\..\..\..\..\temp\cmd\ta_ROCR.obj \ + ..\..\..\..\..\temp\cmd\ta_ROCR100.obj \ + ..\..\..\..\..\temp\cmd\ta_RSI.obj \ + ..\..\..\..\..\temp\cmd\ta_SAR.obj \ + ..\..\..\..\..\temp\cmd\ta_SAREXT.obj \ + ..\..\..\..\..\temp\cmd\ta_SIN.obj \ + ..\..\..\..\..\temp\cmd\ta_SINH.obj \ + ..\..\..\..\..\temp\cmd\ta_SMA.obj \ + ..\..\..\..\..\temp\cmd\ta_SQRT.obj \ + ..\..\..\..\..\temp\cmd\ta_STDDEV.obj \ + ..\..\..\..\..\temp\cmd\ta_STOCH.obj \ + ..\..\..\..\..\temp\cmd\ta_STOCHF.obj \ + ..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\cmd\ta_SUB.obj \ + ..\..\..\..\..\temp\cmd\ta_SUM.obj \ + ..\..\..\..\..\temp\cmd\ta_T3.obj \ + ..\..\..\..\..\temp\cmd\ta_TAN.obj \ + ..\..\..\..\..\temp\cmd\ta_TANH.obj \ + ..\..\..\..\..\temp\cmd\ta_TEMA.obj \ + ..\..\..\..\..\temp\cmd\ta_TRANGE.obj \ + ..\..\..\..\..\temp\cmd\ta_TRIMA.obj \ + ..\..\..\..\..\temp\cmd\ta_TRIX.obj \ + ..\..\..\..\..\temp\cmd\ta_TSF.obj \ + ..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\cmd\ta_VAR.obj \ + ..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_WILLR.obj \ + ..\..\..\..\..\temp\cmd\ta_WMA.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_libc_cmd.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) @&&| ++..\..\..\..\..\temp\cmd\ta_global.obj \ ++..\..\..\..\..\temp\cmd\ta_retcode.obj \ ++..\..\..\..\..\temp\cmd\ta_version.obj \ ++..\..\..\..\..\temp\cmd\ta_abstract.obj \ ++..\..\..\..\..\temp\cmd\ta_def_ui.obj \ ++..\..\..\..\..\temp\cmd\ta_func_api.obj \ ++..\..\..\..\..\temp\cmd\ta_group_idx.obj \ ++..\..\..\..\..\temp\cmd\ta_frame.obj \ ++..\..\..\..\..\temp\cmd\table_a.obj \ ++..\..\..\..\..\temp\cmd\table_b.obj \ ++..\..\..\..\..\temp\cmd\table_c.obj \ ++..\..\..\..\..\temp\cmd\table_d.obj \ ++..\..\..\..\..\temp\cmd\table_e.obj \ ++..\..\..\..\..\temp\cmd\table_f.obj \ ++..\..\..\..\..\temp\cmd\table_g.obj \ ++..\..\..\..\..\temp\cmd\table_h.obj \ ++..\..\..\..\..\temp\cmd\table_i.obj \ ++..\..\..\..\..\temp\cmd\table_j.obj \ ++..\..\..\..\..\temp\cmd\table_k.obj \ ++..\..\..\..\..\temp\cmd\table_l.obj \ ++..\..\..\..\..\temp\cmd\table_m.obj \ ++..\..\..\..\..\temp\cmd\table_n.obj \ ++..\..\..\..\..\temp\cmd\table_o.obj \ ++..\..\..\..\..\temp\cmd\table_p.obj \ ++..\..\..\..\..\temp\cmd\table_q.obj \ ++..\..\..\..\..\temp\cmd\table_r.obj \ ++..\..\..\..\..\temp\cmd\table_s.obj \ ++..\..\..\..\..\temp\cmd\table_t.obj \ ++..\..\..\..\..\temp\cmd\table_u.obj \ ++..\..\..\..\..\temp\cmd\table_v.obj \ ++..\..\..\..\..\temp\cmd\table_w.obj \ ++..\..\..\..\..\temp\cmd\table_x.obj \ ++..\..\..\..\..\temp\cmd\table_y.obj \ ++..\..\..\..\..\temp\cmd\table_z.obj \ ++..\..\..\..\..\temp\cmd\ta_utility.obj \ ++..\..\..\..\..\temp\cmd\ta_ACOS.obj \ ++..\..\..\..\..\temp\cmd\ta_AD.obj \ ++..\..\..\..\..\temp\cmd\ta_ADD.obj \ ++..\..\..\..\..\temp\cmd\ta_ADOSC.obj \ ++..\..\..\..\..\temp\cmd\ta_ADX.obj \ ++..\..\..\..\..\temp\cmd\ta_ADXR.obj \ ++..\..\..\..\..\temp\cmd\ta_APO.obj \ ++..\..\..\..\..\temp\cmd\ta_AROON.obj \ ++..\..\..\..\..\temp\cmd\ta_AROONOSC.obj \ ++..\..\..\..\..\temp\cmd\ta_ASIN.obj \ ++..\..\..\..\..\temp\cmd\ta_ATAN.obj \ ++..\..\..\..\..\temp\cmd\ta_ATR.obj \ ++..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj \ ++..\..\..\..\..\temp\cmd\ta_BBANDS.obj \ ++..\..\..\..\..\temp\cmd\ta_BETA.obj \ ++..\..\..\..\..\temp\cmd\ta_BOP.obj \ ++..\..\..\..\..\temp\cmd\ta_CCI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj \ ++..\..\..\..\..\temp\cmd\ta_CEIL.obj \ ++..\..\..\..\..\temp\cmd\ta_CMO.obj \ ++..\..\..\..\..\temp\cmd\ta_CORREL.obj \ ++..\..\..\..\..\temp\cmd\ta_COS.obj \ ++..\..\..\..\..\temp\cmd\ta_COSH.obj \ ++..\..\..\..\..\temp\cmd\ta_DEMA.obj \ ++..\..\..\..\..\temp\cmd\ta_DIV.obj \ ++..\..\..\..\..\temp\cmd\ta_DX.obj \ ++..\..\..\..\..\temp\cmd\ta_EMA.obj \ ++..\..\..\..\..\temp\cmd\ta_EXP.obj \ ++..\..\..\..\..\temp\cmd\ta_FLOOR.obj \ ++..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj \ ++..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj \ ++..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj \ ++..\..\..\..\..\temp\cmd\ta_HT_SINE.obj \ ++..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj \ ++..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj \ ++..\..\..\..\..\temp\cmd\ta_KAMA.obj \ ++..\..\..\..\..\temp\cmd\ta_LINEARREG.obj \ ++..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj \ ++..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj \ ++..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj \ ++..\..\..\..\..\temp\cmd\ta_LN.obj \ ++..\..\..\..\..\temp\cmd\ta_LOG10.obj \ ++..\..\..\..\..\temp\cmd\ta_MA.obj \ ++..\..\..\..\..\temp\cmd\ta_MACD.obj \ ++..\..\..\..\..\temp\cmd\ta_MACDEXT.obj \ ++..\..\..\..\..\temp\cmd\ta_MACDFIX.obj \ ++..\..\..\..\..\temp\cmd\ta_MAMA.obj \ ++..\..\..\..\..\temp\cmd\ta_MAVP.obj \ ++..\..\..\..\..\temp\cmd\ta_MAX.obj \ ++..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj \ ++..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj \ ++..\..\..\..\..\temp\cmd\ta_MFI.obj \ ++..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj \ ++..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj \ ++..\..\..\..\..\temp\cmd\ta_MIN.obj \ ++..\..\..\..\..\temp\cmd\ta_MININDEX.obj \ ++..\..\..\..\..\temp\cmd\ta_MINMAX.obj \ ++..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj \ ++..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj \ ++..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj \ ++..\..\..\..\..\temp\cmd\ta_MOM.obj \ ++..\..\..\..\..\temp\cmd\ta_MULT.obj \ ++..\..\..\..\..\temp\cmd\ta_NATR.obj \ ++..\..\..\..\..\temp\cmd\ta_OBV.obj \ ++..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj \ ++..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj \ ++..\..\..\..\..\temp\cmd\ta_PPO.obj \ ++..\..\..\..\..\temp\cmd\ta_ROC.obj \ ++..\..\..\..\..\temp\cmd\ta_ROCP.obj \ ++..\..\..\..\..\temp\cmd\ta_ROCR.obj \ ++..\..\..\..\..\temp\cmd\ta_ROCR100.obj \ ++..\..\..\..\..\temp\cmd\ta_RSI.obj \ ++..\..\..\..\..\temp\cmd\ta_SAR.obj \ ++..\..\..\..\..\temp\cmd\ta_SAREXT.obj \ ++..\..\..\..\..\temp\cmd\ta_SIN.obj \ ++..\..\..\..\..\temp\cmd\ta_SINH.obj \ ++..\..\..\..\..\temp\cmd\ta_SMA.obj \ ++..\..\..\..\..\temp\cmd\ta_SQRT.obj \ ++..\..\..\..\..\temp\cmd\ta_STDDEV.obj \ ++..\..\..\..\..\temp\cmd\ta_STOCH.obj \ ++..\..\..\..\..\temp\cmd\ta_STOCHF.obj \ ++..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj \ ++..\..\..\..\..\temp\cmd\ta_SUB.obj \ ++..\..\..\..\..\temp\cmd\ta_SUM.obj \ ++..\..\..\..\..\temp\cmd\ta_T3.obj \ ++..\..\..\..\..\temp\cmd\ta_TAN.obj \ ++..\..\..\..\..\temp\cmd\ta_TANH.obj \ ++..\..\..\..\..\temp\cmd\ta_TEMA.obj \ ++..\..\..\..\..\temp\cmd\ta_TRANGE.obj \ ++..\..\..\..\..\temp\cmd\ta_TRIMA.obj \ ++..\..\..\..\..\temp\cmd\ta_TRIX.obj \ ++..\..\..\..\..\temp\cmd\ta_TSF.obj \ ++..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj \ ++..\..\..\..\..\temp\cmd\ta_ULTOSC.obj \ ++..\..\..\..\..\temp\cmd\ta_VAR.obj \ ++..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj \ ++..\..\..\..\..\temp\cmd\ta_WILLR.obj \ ++..\..\..\..\..\temp\cmd\ta_WMA.obj \ ++ +| + +moc: $(SRCMOC) + +tmake: ../cmd/win32/borland/ta_libc/Makefile + +../cmd/win32/borland/ta_libc/Makefile: ta_libc/ta_libc.pro + tmake ta_libc/ta_libc.pro -o ../cmd/win32/borland/ta_libc/Makefile + +dist: + $(ZIP) ta_libc/ta_libc.zip ta_libc/ta_libc.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmd\ta_global.obj + -del ..\..\..\..\..\temp\cmd\ta_retcode.obj + -del ..\..\..\..\..\temp\cmd\ta_version.obj + -del ..\..\..\..\..\temp\cmd\ta_abstract.obj + -del ..\..\..\..\..\temp\cmd\ta_def_ui.obj + -del ..\..\..\..\..\temp\cmd\ta_func_api.obj + -del ..\..\..\..\..\temp\cmd\ta_group_idx.obj + -del ..\..\..\..\..\temp\cmd\ta_frame.obj + -del ..\..\..\..\..\temp\cmd\table_a.obj + -del ..\..\..\..\..\temp\cmd\table_b.obj + -del ..\..\..\..\..\temp\cmd\table_c.obj + -del ..\..\..\..\..\temp\cmd\table_d.obj + -del ..\..\..\..\..\temp\cmd\table_e.obj + -del ..\..\..\..\..\temp\cmd\table_f.obj + -del ..\..\..\..\..\temp\cmd\table_g.obj + -del ..\..\..\..\..\temp\cmd\table_h.obj + -del ..\..\..\..\..\temp\cmd\table_i.obj + -del ..\..\..\..\..\temp\cmd\table_j.obj + -del ..\..\..\..\..\temp\cmd\table_k.obj + -del ..\..\..\..\..\temp\cmd\table_l.obj + -del ..\..\..\..\..\temp\cmd\table_m.obj + -del ..\..\..\..\..\temp\cmd\table_n.obj + -del ..\..\..\..\..\temp\cmd\table_o.obj + -del ..\..\..\..\..\temp\cmd\table_p.obj + -del ..\..\..\..\..\temp\cmd\table_q.obj + -del ..\..\..\..\..\temp\cmd\table_r.obj + -del ..\..\..\..\..\temp\cmd\table_s.obj + -del ..\..\..\..\..\temp\cmd\table_t.obj + -del ..\..\..\..\..\temp\cmd\table_u.obj + -del ..\..\..\..\..\temp\cmd\table_v.obj + -del ..\..\..\..\..\temp\cmd\table_w.obj + -del ..\..\..\..\..\temp\cmd\table_x.obj + -del ..\..\..\..\..\temp\cmd\table_y.obj + -del ..\..\..\..\..\temp\cmd\table_z.obj + -del ..\..\..\..\..\temp\cmd\ta_utility.obj + -del ..\..\..\..\..\temp\cmd\ta_ACOS.obj + -del ..\..\..\..\..\temp\cmd\ta_AD.obj + -del ..\..\..\..\..\temp\cmd\ta_ADD.obj + -del ..\..\..\..\..\temp\cmd\ta_ADOSC.obj + -del ..\..\..\..\..\temp\cmd\ta_ADX.obj + -del ..\..\..\..\..\temp\cmd\ta_ADXR.obj + -del ..\..\..\..\..\temp\cmd\ta_APO.obj + -del ..\..\..\..\..\temp\cmd\ta_AROON.obj + -del ..\..\..\..\..\temp\cmd\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\cmd\ta_ASIN.obj + -del ..\..\..\..\..\temp\cmd\ta_ATAN.obj + -del ..\..\..\..\..\temp\cmd\ta_ATR.obj + -del ..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_BBANDS.obj + -del ..\..\..\..\..\temp\cmd\ta_BETA.obj + -del ..\..\..\..\..\temp\cmd\ta_BOP.obj + -del ..\..\..\..\..\temp\cmd\ta_CCI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\cmd\ta_CEIL.obj + -del ..\..\..\..\..\temp\cmd\ta_CMO.obj + -del ..\..\..\..\..\temp\cmd\ta_CORREL.obj + -del ..\..\..\..\..\temp\cmd\ta_COS.obj + -del ..\..\..\..\..\temp\cmd\ta_COSH.obj + -del ..\..\..\..\..\temp\cmd\ta_DEMA.obj + -del ..\..\..\..\..\temp\cmd\ta_DIV.obj + -del ..\..\..\..\..\temp\cmd\ta_DX.obj + -del ..\..\..\..\..\temp\cmd\ta_EMA.obj + -del ..\..\..\..\..\temp\cmd\ta_EXP.obj + -del ..\..\..\..\..\temp\cmd\ta_FLOOR.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\cmd\ta_KAMA.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\cmd\ta_LN.obj + -del ..\..\..\..\..\temp\cmd\ta_LOG10.obj + -del ..\..\..\..\..\temp\cmd\ta_MA.obj + -del ..\..\..\..\..\temp\cmd\ta_MACD.obj + -del ..\..\..\..\..\temp\cmd\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\cmd\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\cmd\ta_MAMA.obj + -del ..\..\..\..\..\temp\cmd\ta_MAVP.obj + -del ..\..\..\..\..\temp\cmd\ta_MAX.obj + -del ..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_MFI.obj + -del ..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_MIN.obj + -del ..\..\..\..\..\temp\cmd\ta_MININDEX.obj + -del ..\..\..\..\..\temp\cmd\ta_MINMAX.obj + -del ..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\cmd\ta_MOM.obj + -del ..\..\..\..\..\temp\cmd\ta_MULT.obj + -del ..\..\..\..\..\temp\cmd\ta_NATR.obj + -del ..\..\..\..\..\temp\cmd\ta_OBV.obj + -del ..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\cmd\ta_PPO.obj + -del ..\..\..\..\..\temp\cmd\ta_ROC.obj + -del ..\..\..\..\..\temp\cmd\ta_ROCP.obj + -del ..\..\..\..\..\temp\cmd\ta_ROCR.obj + -del ..\..\..\..\..\temp\cmd\ta_ROCR100.obj + -del ..\..\..\..\..\temp\cmd\ta_RSI.obj + -del ..\..\..\..\..\temp\cmd\ta_SAR.obj + -del ..\..\..\..\..\temp\cmd\ta_SAREXT.obj + -del ..\..\..\..\..\temp\cmd\ta_SIN.obj + -del ..\..\..\..\..\temp\cmd\ta_SINH.obj + -del ..\..\..\..\..\temp\cmd\ta_SMA.obj + -del ..\..\..\..\..\temp\cmd\ta_SQRT.obj + -del ..\..\..\..\..\temp\cmd\ta_STDDEV.obj + -del ..\..\..\..\..\temp\cmd\ta_STOCH.obj + -del ..\..\..\..\..\temp\cmd\ta_STOCHF.obj + -del ..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\cmd\ta_SUB.obj + -del ..\..\..\..\..\temp\cmd\ta_SUM.obj + -del ..\..\..\..\..\temp\cmd\ta_T3.obj + -del ..\..\..\..\..\temp\cmd\ta_TAN.obj + -del ..\..\..\..\..\temp\cmd\ta_TANH.obj + -del ..\..\..\..\..\temp\cmd\ta_TEMA.obj + -del ..\..\..\..\..\temp\cmd\ta_TRANGE.obj + -del ..\..\..\..\..\temp\cmd\ta_TRIMA.obj + -del ..\..\..\..\..\temp\cmd\ta_TRIX.obj + -del ..\..\..\..\..\temp\cmd\ta_TSF.obj + -del ..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\cmd\ta_VAR.obj + -del ..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_WILLR.obj + -del ..\..\..\..\..\temp\cmd\ta_WMA.obj + -del $(TARGET) + -del ta_libc_cmd.tds + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + +####### Compile + +..\..\..\..\..\temp\cmd\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\cmd\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\cmd\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + +..\..\..\..\..\temp\cmd\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cmd\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cmd\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\cmd\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\cmd\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\cmd\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cmd\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cmd\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cmd\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cmd\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cmd\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cmd\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cmd\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cmd\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cmd\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cmd\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cmd\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cmd\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cmd\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cmd\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cmd\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cmd\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cmd\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cmd\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cmd\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cmd\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cmd\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cmd\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cmd\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cmd\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cmd\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + +..\..\..\..\..\temp\cmd\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\cmd\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\cmd\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\cmd\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\cmd\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\cmd\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\cmd\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\cmd\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\cmd\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\cmd\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\cmd\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\cmd\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\cmd\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\cmd\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\cmd\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\cmd\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\cmd\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\cmd\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\cmd\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\cmd\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\cmd\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\cmd\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\cmd\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\cmd\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\cmd\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\cmd\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\cmd\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\cmd\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\cmd\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\cmd\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\cmd\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\cmd\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\cmd\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\cmd\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\cmd\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\cmd\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\cmd\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\cmd\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\cmd\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\cmd\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\cmd\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\cmd\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\cmd\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\cmd\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\cmd\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\cmd\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\cmd\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\cmd\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\cmd\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\cmd\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\cmd\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\cmd\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\cmd\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\cmd\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\cmd\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\cmd\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\cmd\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\cmd\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\cmd\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\cmd\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\cmd\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\cmd\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\cmd\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\cmd\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\cmd\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\cmd\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\cmd\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\cmd\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\cmd\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\cmd\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\cmd\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\cmd\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\cmd\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\cmd\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\cmd\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\cmd\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/cmd/win32/borland/ta_regtest/Makefile b/vendor/ta-lib/make/cmd/win32/borland/ta_regtest/Makefile new file mode 100644 index 000000000..778524675 --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/borland/ta_regtest/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +####### Compiler, tools and options + +CC = bcc32 +CXX = bcc32 +CFLAGS = -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -tWM -DTA_DEBUG -D_DEBUG -DWIN32 -DQT_THREAD_SUPPORT +CXXFLAGS= -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -tWM -DTA_DEBUG -D_DEBUG -DWIN32 -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\tools\ta_regtest" -I"..\..\..\..\..\src\ta_func" -I"..\..\..\..\..\include" +LINK = ilink32 +LFLAGS = -L$(BCB)\lib -L$(BCB)\lib\PSDK -c -x -Gn -v -ap -Tpe c0x32.obj +LIBS = import32.lib cw32mti.lib ..\..\..\..\..\lib\ta_libc_cmd.lib +MOC = moc +UIC = uic + +ZIP = zip -r -9 +DEF_FILE = +RES_FILE = + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_internals.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_util.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_data.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c +OBJECTS = ..\..\..\..\..\temp\cmd\ta_regtest.obj \ + ..\..\..\..\..\temp\cmd\test_candlestick.obj \ + ..\..\..\..\..\temp\cmd\test_1in_1out.obj \ + ..\..\..\..\..\temp\cmd\test_1in_2out.obj \ + ..\..\..\..\..\temp\cmd\test_internals.obj \ + ..\..\..\..\..\temp\cmd\test_adx.obj \ + ..\..\..\..\..\temp\cmd\test_bbands.obj \ + ..\..\..\..\..\temp\cmd\test_ma.obj \ + ..\..\..\..\..\temp\cmd\test_macd.obj \ + ..\..\..\..\..\temp\cmd\test_minmax.obj \ + ..\..\..\..\..\temp\cmd\test_mom.obj \ + ..\..\..\..\..\temp\cmd\test_per_ema.obj \ + ..\..\..\..\..\temp\cmd\test_per_hl.obj \ + ..\..\..\..\..\temp\cmd\test_per_hlc.obj \ + ..\..\..\..\..\temp\cmd\test_per_hlcv.obj \ + ..\..\..\..\..\temp\cmd\test_per_ohlc.obj \ + ..\..\..\..\..\temp\cmd\test_po.obj \ + ..\..\..\..\..\temp\cmd\test_rsi.obj \ + ..\..\..\..\..\temp\cmd\test_sar.obj \ + ..\..\..\..\..\temp\cmd\test_stddev.obj \ + ..\..\..\..\..\temp\cmd\test_stoch.obj \ + ..\..\..\..\..\temp\cmd\test_trange.obj \ + ..\..\..\..\..\temp\cmd\test_util.obj \ + ..\..\..\..\..\temp\cmd\test_data.obj \ + ..\..\..\..\..\temp\cmd\test_abstract.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\ta_regtest.exe +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) @&&| + $(LFLAGS) $(OBJECTS) $(OBJMOC),$(TARGET),,$(LIBS),$(DEF_FILE),$(RES_FILE) +| + +moc: $(SRCMOC) + +tmake: ../cmd/win32/borland/ta_regtest/Makefile + +../cmd/win32/borland/ta_regtest/Makefile: ta_regtest/ta_regtest.pro + tmake ta_regtest/ta_regtest.pro -o ../cmd/win32/borland/ta_regtest/Makefile + +dist: + $(ZIP) ta_regtest/ta_regtest.zip ta_regtest/ta_regtest.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmd\ta_regtest.obj + -del ..\..\..\..\..\temp\cmd\test_candlestick.obj + -del ..\..\..\..\..\temp\cmd\test_1in_1out.obj + -del ..\..\..\..\..\temp\cmd\test_1in_2out.obj + -del ..\..\..\..\..\temp\cmd\test_internals.obj + -del ..\..\..\..\..\temp\cmd\test_adx.obj + -del ..\..\..\..\..\temp\cmd\test_bbands.obj + -del ..\..\..\..\..\temp\cmd\test_ma.obj + -del ..\..\..\..\..\temp\cmd\test_macd.obj + -del ..\..\..\..\..\temp\cmd\test_minmax.obj + -del ..\..\..\..\..\temp\cmd\test_mom.obj + -del ..\..\..\..\..\temp\cmd\test_per_ema.obj + -del ..\..\..\..\..\temp\cmd\test_per_hl.obj + -del ..\..\..\..\..\temp\cmd\test_per_hlc.obj + -del ..\..\..\..\..\temp\cmd\test_per_hlcv.obj + -del ..\..\..\..\..\temp\cmd\test_per_ohlc.obj + -del ..\..\..\..\..\temp\cmd\test_po.obj + -del ..\..\..\..\..\temp\cmd\test_rsi.obj + -del ..\..\..\..\..\temp\cmd\test_sar.obj + -del ..\..\..\..\..\temp\cmd\test_stddev.obj + -del ..\..\..\..\..\temp\cmd\test_stoch.obj + -del ..\..\..\..\..\temp\cmd\test_trange.obj + -del ..\..\..\..\..\temp\cmd\test_util.obj + -del ..\..\..\..\..\temp\cmd\test_data.obj + -del ..\..\..\..\..\temp\cmd\test_abstract.obj + -del $(TARGET) + -del ta_regtest.tds + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmd/*.pch + -del ../../../../../temp/cmd/*.idb + -del ../../../../../temp/cmd/ta_regtest/*.pch + -del ../../../../../temp/cmd/ta_regtest/*.idb + -del ../../../../../temp/cmd/ta_regtest/*.obj + +####### Compile + +..\..\..\..\..\temp\cmd\ta_regtest.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_regtest.obj ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + +..\..\..\..\..\temp\cmd\test_candlestick.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_candlestick.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + +..\..\..\..\..\temp\cmd\test_1in_1out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_1in_1out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + +..\..\..\..\..\temp\cmd\test_1in_2out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_1in_2out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + +..\..\..\..\..\temp\cmd\test_internals.obj: ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_internals.obj ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + +..\..\..\..\..\temp\cmd\test_adx.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_adx.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + +..\..\..\..\..\temp\cmd\test_bbands.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_bbands.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + +..\..\..\..\..\temp\cmd\test_ma.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_ma.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + +..\..\..\..\..\temp\cmd\test_macd.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_macd.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + +..\..\..\..\..\temp\cmd\test_minmax.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_minmax.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + +..\..\..\..\..\temp\cmd\test_mom.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_mom.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + +..\..\..\..\..\temp\cmd\test_per_ema.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_per_ema.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + +..\..\..\..\..\temp\cmd\test_per_hl.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_per_hl.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + +..\..\..\..\..\temp\cmd\test_per_hlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_per_hlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + +..\..\..\..\..\temp\cmd\test_per_hlcv.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_per_hlcv.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + +..\..\..\..\..\temp\cmd\test_per_ohlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_per_ohlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + +..\..\..\..\..\temp\cmd\test_po.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_po.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + +..\..\..\..\..\temp\cmd\test_rsi.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_rsi.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + +..\..\..\..\..\temp\cmd\test_sar.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_sar.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + +..\..\..\..\..\temp\cmd\test_stddev.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_stddev.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + +..\..\..\..\..\temp\cmd\test_stoch.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_stoch.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + +..\..\..\..\..\temp\cmd\test_trange.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_trange.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + +..\..\..\..\..\temp\cmd\test_util.obj: ..\..\..\..\..\src\tools\ta_regtest\test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_util.obj ..\..\..\..\..\src\tools\ta_regtest\test_util.c + +..\..\..\..\..\temp\cmd\test_data.obj: ..\..\..\..\..\src\tools\ta_regtest\test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_data.obj ..\..\..\..\..\src\tools\ta_regtest\test_data.c + +..\..\..\..\..\temp\cmd\test_abstract.obj: ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_abstract.obj ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + diff --git a/vendor/ta-lib/make/cmd/win32/msvc/Makefile b/vendor/ta-lib/make/cmd/win32/msvc/Makefile new file mode 100644 index 000000000..031344b18 --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/msvc/Makefile @@ -0,0 +1,97 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +ta_common: FORCE + cd ta_common + $(MAKE) /nologo + @cd .. + +ta_func: FORCE + cd ta_func + $(MAKE) /nologo + @cd .. + +ta_abstract: FORCE + cd ta_abstract + $(MAKE) /nologo + @cd .. + +ta_libc: FORCE + cd ta_libc + $(MAKE) /nologo + @cd .. + +gen_code: FORCE + cd gen_code + $(MAKE) /nologo + @cd .. + +ta_regtest: FORCE + cd ta_regtest + $(MAKE) /nologo + @cd .. + + +tmake: ../cmd/win32/msvc/Makefile + +../cmd/win32/msvc/Makefile: rootmake.pro + tmake rootmake.pro -o ../cmd/win32/msvc/Makefile + +tmake_all: + cd ta_common + $(TMAKE) ta_common.pro -o $(MAKEFILE) + @cd .. + cd ta_func + $(TMAKE) ta_func.pro -o $(MAKEFILE) + @cd .. + cd ta_abstract + $(TMAKE) ta_abstract.pro -o $(MAKEFILE) + @cd .. + cd ta_libc + $(TMAKE) ta_libc.pro -o $(MAKEFILE) + @cd .. + cd gen_code + $(TMAKE) gen_code.pro -o $(MAKEFILE) + @cd .. + cd ta_regtest + $(TMAKE) ta_regtest.pro -o $(MAKEFILE) + @cd .. + + +clean: + cd ta_common + $(MAKE) clean + @cd .. + cd ta_func + $(MAKE) clean + @cd .. + cd ta_abstract + $(MAKE) clean + @cd .. + cd ta_libc + $(MAKE) clean + @cd .. + cd gen_code + $(MAKE) clean + @cd .. + cd ta_regtest + $(MAKE) clean + @cd .. + +FORCE: diff --git a/vendor/ta-lib/make/cmd/win32/msvc/gen_code/Makefile b/vendor/ta-lib/make/cmd/win32/msvc/gen_code/Makefile new file mode 100644 index 000000000..fd6857787 --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/msvc/gen_code/Makefile @@ -0,0 +1,263 @@ +############################################################################# +# Makefile for building gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -MTd -Zi -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +CXXFLAGS= -nologo -W3 -MTd -Zi -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" +LINK = link +LFLAGS = /NOLOGO /DEBUG /SUBSYSTEM:console +LIBS = ..\..\..\..\..\lib\ta_common_cmd.lib +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\gen_code\gen_code.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\cmd\gen_code\gen_code.obj \ + ..\..\..\..\..\temp\cmd\gen_code\ta_abstract.obj \ + ..\..\..\..\..\temp\cmd\gen_code\ta_def_ui.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_a.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_b.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_c.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_d.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_e.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_f.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_g.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_h.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_i.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_j.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_k.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_l.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_m.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_n.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_o.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_p.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_q.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_r.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_s.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_t.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_u.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_v.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_w.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_x.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_y.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_z.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\gen_code.exe +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) $(LIBS) +<< + +moc: $(SRCMOC) + +tmake: ../cmd/win32/msvc/gen_code/Makefile + +../cmd/win32/msvc/gen_code/Makefile: gen_code/gen_code.pro + tmake gen_code/gen_code.pro -o ../cmd/win32/msvc/gen_code/Makefile + +dist: + $(ZIP) gen_code/gen_code.zip gen_code/gen_code.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\cmd\gen_code\gen_code.obj + -del ..\..\..\..\..\temp\cmd\gen_code\ta_abstract.obj + -del ..\..\..\..\..\temp\cmd\gen_code\ta_def_ui.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_a.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_b.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_c.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_d.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_e.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_f.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_g.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_h.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_i.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_j.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_k.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_l.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_m.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_n.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_o.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_p.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_q.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_r.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_s.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_t.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_u.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_v.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_w.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_x.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_y.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmd/*.pch + -del ../../../../../temp/cmd/*.idb + -del ../../../../../temp/cmd/gen_code/*.pch + -del ../../../../../temp/cmd/gen_code/*.idb + -del ../../../../../temp/cmd/gen_code/*.obj + -del gen_code.pdb + -del vc*.pdb + -del gen_code.ilk + +####### Compile + +..\..\..\..\..\temp\cmd\gen_code\gen_code.obj: ..\..\..\..\..\src\tools\gen_code\gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\gen_code.obj ..\..\..\..\..\src\tools\gen_code\gen_code.c + +..\..\..\..\..\temp\cmd\gen_code\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cmd\gen_code\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cmd\gen_code\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cmd\gen_code\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cmd\gen_code\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cmd\gen_code\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cmd\gen_code\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cmd\gen_code\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cmd\gen_code\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cmd\gen_code\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cmd\gen_code\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cmd\gen_code\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cmd\gen_code\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cmd\gen_code\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cmd\gen_code\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cmd\gen_code\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cmd\gen_code\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cmd\gen_code\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cmd\gen_code\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cmd\gen_code\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cmd\gen_code\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cmd\gen_code\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cmd\gen_code\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cmd\gen_code\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cmd\gen_code\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cmd\gen_code\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cmd\gen_code\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cmd\gen_code\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\gen_code\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/cmd/win32/msvc/ta_abstract/Makefile b/vendor/ta-lib/make/cmd/win32/msvc/ta_abstract/Makefile new file mode 100644 index 000000000..eea6e61a7 --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/msvc/ta_abstract/Makefile @@ -0,0 +1,273 @@ +############################################################################# +# Makefile for building ta_abstract_cmd +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -MTd -Zi -DTA_DEBUG -D_DEBUG -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +CXXFLAGS= -nologo -W3 -MTd -Zi -DTA_DEBUG -D_DEBUG -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"..\..\..\..\..\include" +LIB = lib /NOLOGO +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\cmd\ta_abstract.obj \ + ..\..\..\..\..\temp\cmd\ta_def_ui.obj \ + ..\..\..\..\..\temp\cmd\ta_func_api.obj \ + ..\..\..\..\..\temp\cmd\ta_group_idx.obj \ + ..\..\..\..\..\temp\cmd\ta_frame.obj \ + ..\..\..\..\..\temp\cmd\table_a.obj \ + ..\..\..\..\..\temp\cmd\table_b.obj \ + ..\..\..\..\..\temp\cmd\table_c.obj \ + ..\..\..\..\..\temp\cmd\table_d.obj \ + ..\..\..\..\..\temp\cmd\table_e.obj \ + ..\..\..\..\..\temp\cmd\table_f.obj \ + ..\..\..\..\..\temp\cmd\table_g.obj \ + ..\..\..\..\..\temp\cmd\table_h.obj \ + ..\..\..\..\..\temp\cmd\table_i.obj \ + ..\..\..\..\..\temp\cmd\table_j.obj \ + ..\..\..\..\..\temp\cmd\table_k.obj \ + ..\..\..\..\..\temp\cmd\table_l.obj \ + ..\..\..\..\..\temp\cmd\table_m.obj \ + ..\..\..\..\..\temp\cmd\table_n.obj \ + ..\..\..\..\..\temp\cmd\table_o.obj \ + ..\..\..\..\..\temp\cmd\table_p.obj \ + ..\..\..\..\..\temp\cmd\table_q.obj \ + ..\..\..\..\..\temp\cmd\table_r.obj \ + ..\..\..\..\..\temp\cmd\table_s.obj \ + ..\..\..\..\..\temp\cmd\table_t.obj \ + ..\..\..\..\..\temp\cmd\table_u.obj \ + ..\..\..\..\..\temp\cmd\table_v.obj \ + ..\..\..\..\..\temp\cmd\table_w.obj \ + ..\..\..\..\..\temp\cmd\table_x.obj \ + ..\..\..\..\..\temp\cmd\table_y.obj \ + ..\..\..\..\..\temp\cmd\table_z.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_abstract_cmd.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LIB) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) +<< + +moc: $(SRCMOC) + +tmake: ../cmd/win32/msvc/ta_abstract/Makefile + +../cmd/win32/msvc/ta_abstract/Makefile: ta_abstract/ta_abstract.pro + tmake ta_abstract/ta_abstract.pro -o ../cmd/win32/msvc/ta_abstract/Makefile + +dist: + $(ZIP) ta_abstract/ta_abstract.zip ta_abstract/ta_abstract.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\cmd\ta_abstract.obj + -del ..\..\..\..\..\temp\cmd\ta_def_ui.obj + -del ..\..\..\..\..\temp\cmd\ta_func_api.obj + -del ..\..\..\..\..\temp\cmd\ta_group_idx.obj + -del ..\..\..\..\..\temp\cmd\ta_frame.obj + -del ..\..\..\..\..\temp\cmd\table_a.obj + -del ..\..\..\..\..\temp\cmd\table_b.obj + -del ..\..\..\..\..\temp\cmd\table_c.obj + -del ..\..\..\..\..\temp\cmd\table_d.obj + -del ..\..\..\..\..\temp\cmd\table_e.obj + -del ..\..\..\..\..\temp\cmd\table_f.obj + -del ..\..\..\..\..\temp\cmd\table_g.obj + -del ..\..\..\..\..\temp\cmd\table_h.obj + -del ..\..\..\..\..\temp\cmd\table_i.obj + -del ..\..\..\..\..\temp\cmd\table_j.obj + -del ..\..\..\..\..\temp\cmd\table_k.obj + -del ..\..\..\..\..\temp\cmd\table_l.obj + -del ..\..\..\..\..\temp\cmd\table_m.obj + -del ..\..\..\..\..\temp\cmd\table_n.obj + -del ..\..\..\..\..\temp\cmd\table_o.obj + -del ..\..\..\..\..\temp\cmd\table_p.obj + -del ..\..\..\..\..\temp\cmd\table_q.obj + -del ..\..\..\..\..\temp\cmd\table_r.obj + -del ..\..\..\..\..\temp\cmd\table_s.obj + -del ..\..\..\..\..\temp\cmd\table_t.obj + -del ..\..\..\..\..\temp\cmd\table_u.obj + -del ..\..\..\..\..\temp\cmd\table_v.obj + -del ..\..\..\..\..\temp\cmd\table_w.obj + -del ..\..\..\..\..\temp\cmd\table_x.obj + -del ..\..\..\..\..\temp\cmd\table_y.obj + -del ..\..\..\..\..\temp\cmd\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmd/*.pch + -del ../../../../../temp/cmd/*.idb + -del ../../../../../temp/cmd/ta_abstract/*.pch + -del ../../../../../temp/cmd/ta_abstract/*.idb + -del ../../../../../temp/cmd/ta_abstract/*.obj + -del ta_abstract_cmd.pdb + -del vc*.pdb + -del ta_abstract_cmd.ilk + +####### Compile + +..\..\..\..\..\temp\cmd\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cmd\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cmd\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\cmd\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\cmd\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\cmd\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cmd\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cmd\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cmd\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cmd\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cmd\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cmd\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cmd\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cmd\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cmd\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cmd\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cmd\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cmd\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cmd\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cmd\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cmd\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cmd\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cmd\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cmd\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cmd\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cmd\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cmd\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cmd\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cmd\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cmd\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cmd\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/cmd/win32/msvc/ta_common/Makefile b/vendor/ta-lib/make/cmd/win32/msvc/ta_common/Makefile new file mode 100644 index 000000000..3b7d015e6 --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/msvc/ta_common/Makefile @@ -0,0 +1,105 @@ +############################################################################# +# Makefile for building ta_common_cmd +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -MTd -Zi -DTA_DEBUG -D_DEBUG -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +CXXFLAGS= -nologo -W3 -MTd -Zi -DTA_DEBUG -D_DEBUG -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" +LIB = lib /NOLOGO +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c +OBJECTS = ..\..\..\..\..\temp\cmd\ta_global.obj \ + ..\..\..\..\..\temp\cmd\ta_retcode.obj \ + ..\..\..\..\..\temp\cmd\ta_version.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_common_cmd.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LIB) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) +<< + +moc: $(SRCMOC) + +tmake: ../cmd/win32/msvc/ta_common/Makefile + +../cmd/win32/msvc/ta_common/Makefile: ta_common/ta_common.pro + tmake ta_common/ta_common.pro -o ../cmd/win32/msvc/ta_common/Makefile + +dist: + $(ZIP) ta_common/ta_common.zip ta_common/ta_common.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\cmd\ta_global.obj + -del ..\..\..\..\..\temp\cmd\ta_retcode.obj + -del ..\..\..\..\..\temp\cmd\ta_version.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmd/*.pch + -del ../../../../../temp/cmd/*.idb + -del ../../../../../temp/cmd/ta_common_cmd/*.pch + -del ../../../../../temp/cmd/ta_common_cmd/*.idb + -del ../../../../../temp/cmd/ta_common_cmd/*.obj + -del ta_common_cmd.pdb + -del vc*.pdb + -del ta_common_cmd.ilk + +####### Compile + +..\..\..\..\..\temp\cmd\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\cmd\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\cmd\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + diff --git a/vendor/ta-lib/make/cmd/win32/msvc/ta_func/Makefile b/vendor/ta-lib/make/cmd/win32/msvc/ta_func/Makefile new file mode 100644 index 000000000..421569ac2 --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/msvc/ta_func/Makefile @@ -0,0 +1,1041 @@ +############################################################################# +# Makefile for building ta_func_cmd +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -MTd -Zi -DTA_DEBUG -D_DEBUG -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +CXXFLAGS= -nologo -W3 -MTd -Zi -DTA_DEBUG -D_DEBUG -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"\n" -I"..\..\..\..\..\include" +LIB = lib /NOLOGO +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\cmd\ta_utility.obj \ + ..\..\..\..\..\temp\cmd\ta_ACOS.obj \ + ..\..\..\..\..\temp\cmd\ta_AD.obj \ + ..\..\..\..\..\temp\cmd\ta_ADD.obj \ + ..\..\..\..\..\temp\cmd\ta_ADOSC.obj \ + ..\..\..\..\..\temp\cmd\ta_ADX.obj \ + ..\..\..\..\..\temp\cmd\ta_ADXR.obj \ + ..\..\..\..\..\temp\cmd\ta_APO.obj \ + ..\..\..\..\..\temp\cmd\ta_AROON.obj \ + ..\..\..\..\..\temp\cmd\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\cmd\ta_ASIN.obj \ + ..\..\..\..\..\temp\cmd\ta_ATAN.obj \ + ..\..\..\..\..\temp\cmd\ta_ATR.obj \ + ..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_BBANDS.obj \ + ..\..\..\..\..\temp\cmd\ta_BETA.obj \ + ..\..\..\..\..\temp\cmd\ta_BOP.obj \ + ..\..\..\..\..\temp\cmd\ta_CCI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\cmd\ta_CEIL.obj \ + ..\..\..\..\..\temp\cmd\ta_CMO.obj \ + ..\..\..\..\..\temp\cmd\ta_CORREL.obj \ + ..\..\..\..\..\temp\cmd\ta_COS.obj \ + ..\..\..\..\..\temp\cmd\ta_COSH.obj \ + ..\..\..\..\..\temp\cmd\ta_DEMA.obj \ + ..\..\..\..\..\temp\cmd\ta_DIV.obj \ + ..\..\..\..\..\temp\cmd\ta_DX.obj \ + ..\..\..\..\..\temp\cmd\ta_EMA.obj \ + ..\..\..\..\..\temp\cmd\ta_EXP.obj \ + ..\..\..\..\..\temp\cmd\ta_FLOOR.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\cmd\ta_KAMA.obj \ + ..\..\..\..\..\temp\cmd\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\cmd\ta_LN.obj \ + ..\..\..\..\..\temp\cmd\ta_LOG10.obj \ + ..\..\..\..\..\temp\cmd\ta_MA.obj \ + ..\..\..\..\..\temp\cmd\ta_MACD.obj \ + ..\..\..\..\..\temp\cmd\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\cmd\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\cmd\ta_MAMA.obj \ + ..\..\..\..\..\temp\cmd\ta_MAVP.obj \ + ..\..\..\..\..\temp\cmd\ta_MAX.obj \ + ..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_MFI.obj \ + ..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_MIN.obj \ + ..\..\..\..\..\temp\cmd\ta_MININDEX.obj \ + ..\..\..\..\..\temp\cmd\ta_MINMAX.obj \ + ..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\cmd\ta_MOM.obj \ + ..\..\..\..\..\temp\cmd\ta_MULT.obj \ + ..\..\..\..\..\temp\cmd\ta_NATR.obj \ + ..\..\..\..\..\temp\cmd\ta_OBV.obj \ + ..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\cmd\ta_PPO.obj \ + ..\..\..\..\..\temp\cmd\ta_ROC.obj \ + ..\..\..\..\..\temp\cmd\ta_ROCP.obj \ + ..\..\..\..\..\temp\cmd\ta_ROCR.obj \ + ..\..\..\..\..\temp\cmd\ta_ROCR100.obj \ + ..\..\..\..\..\temp\cmd\ta_RSI.obj \ + ..\..\..\..\..\temp\cmd\ta_SAR.obj \ + ..\..\..\..\..\temp\cmd\ta_SAREXT.obj \ + ..\..\..\..\..\temp\cmd\ta_SIN.obj \ + ..\..\..\..\..\temp\cmd\ta_SINH.obj \ + ..\..\..\..\..\temp\cmd\ta_SMA.obj \ + ..\..\..\..\..\temp\cmd\ta_SQRT.obj \ + ..\..\..\..\..\temp\cmd\ta_STDDEV.obj \ + ..\..\..\..\..\temp\cmd\ta_STOCH.obj \ + ..\..\..\..\..\temp\cmd\ta_STOCHF.obj \ + ..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\cmd\ta_SUB.obj \ + ..\..\..\..\..\temp\cmd\ta_SUM.obj \ + ..\..\..\..\..\temp\cmd\ta_T3.obj \ + ..\..\..\..\..\temp\cmd\ta_TAN.obj \ + ..\..\..\..\..\temp\cmd\ta_TANH.obj \ + ..\..\..\..\..\temp\cmd\ta_TEMA.obj \ + ..\..\..\..\..\temp\cmd\ta_TRANGE.obj \ + ..\..\..\..\..\temp\cmd\ta_TRIMA.obj \ + ..\..\..\..\..\temp\cmd\ta_TRIX.obj \ + ..\..\..\..\..\temp\cmd\ta_TSF.obj \ + ..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\cmd\ta_VAR.obj \ + ..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_WILLR.obj \ + ..\..\..\..\..\temp\cmd\ta_WMA.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_func_cmd.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LIB) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) +<< + +moc: $(SRCMOC) + +tmake: ../cmd/win32/msvc/ta_func/Makefile + +../cmd/win32/msvc/ta_func/Makefile: ta_func/ta_func.pro + tmake ta_func/ta_func.pro -o ../cmd/win32/msvc/ta_func/Makefile + +dist: + $(ZIP) ta_func/ta_func.zip ta_func/ta_func.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\cmd\ta_utility.obj + -del ..\..\..\..\..\temp\cmd\ta_ACOS.obj + -del ..\..\..\..\..\temp\cmd\ta_AD.obj + -del ..\..\..\..\..\temp\cmd\ta_ADD.obj + -del ..\..\..\..\..\temp\cmd\ta_ADOSC.obj + -del ..\..\..\..\..\temp\cmd\ta_ADX.obj + -del ..\..\..\..\..\temp\cmd\ta_ADXR.obj + -del ..\..\..\..\..\temp\cmd\ta_APO.obj + -del ..\..\..\..\..\temp\cmd\ta_AROON.obj + -del ..\..\..\..\..\temp\cmd\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\cmd\ta_ASIN.obj + -del ..\..\..\..\..\temp\cmd\ta_ATAN.obj + -del ..\..\..\..\..\temp\cmd\ta_ATR.obj + -del ..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_BBANDS.obj + -del ..\..\..\..\..\temp\cmd\ta_BETA.obj + -del ..\..\..\..\..\temp\cmd\ta_BOP.obj + -del ..\..\..\..\..\temp\cmd\ta_CCI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\cmd\ta_CEIL.obj + -del ..\..\..\..\..\temp\cmd\ta_CMO.obj + -del ..\..\..\..\..\temp\cmd\ta_CORREL.obj + -del ..\..\..\..\..\temp\cmd\ta_COS.obj + -del ..\..\..\..\..\temp\cmd\ta_COSH.obj + -del ..\..\..\..\..\temp\cmd\ta_DEMA.obj + -del ..\..\..\..\..\temp\cmd\ta_DIV.obj + -del ..\..\..\..\..\temp\cmd\ta_DX.obj + -del ..\..\..\..\..\temp\cmd\ta_EMA.obj + -del ..\..\..\..\..\temp\cmd\ta_EXP.obj + -del ..\..\..\..\..\temp\cmd\ta_FLOOR.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\cmd\ta_KAMA.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\cmd\ta_LN.obj + -del ..\..\..\..\..\temp\cmd\ta_LOG10.obj + -del ..\..\..\..\..\temp\cmd\ta_MA.obj + -del ..\..\..\..\..\temp\cmd\ta_MACD.obj + -del ..\..\..\..\..\temp\cmd\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\cmd\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\cmd\ta_MAMA.obj + -del ..\..\..\..\..\temp\cmd\ta_MAVP.obj + -del ..\..\..\..\..\temp\cmd\ta_MAX.obj + -del ..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_MFI.obj + -del ..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_MIN.obj + -del ..\..\..\..\..\temp\cmd\ta_MININDEX.obj + -del ..\..\..\..\..\temp\cmd\ta_MINMAX.obj + -del ..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\cmd\ta_MOM.obj + -del ..\..\..\..\..\temp\cmd\ta_MULT.obj + -del ..\..\..\..\..\temp\cmd\ta_NATR.obj + -del ..\..\..\..\..\temp\cmd\ta_OBV.obj + -del ..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\cmd\ta_PPO.obj + -del ..\..\..\..\..\temp\cmd\ta_ROC.obj + -del ..\..\..\..\..\temp\cmd\ta_ROCP.obj + -del ..\..\..\..\..\temp\cmd\ta_ROCR.obj + -del ..\..\..\..\..\temp\cmd\ta_ROCR100.obj + -del ..\..\..\..\..\temp\cmd\ta_RSI.obj + -del ..\..\..\..\..\temp\cmd\ta_SAR.obj + -del ..\..\..\..\..\temp\cmd\ta_SAREXT.obj + -del ..\..\..\..\..\temp\cmd\ta_SIN.obj + -del ..\..\..\..\..\temp\cmd\ta_SINH.obj + -del ..\..\..\..\..\temp\cmd\ta_SMA.obj + -del ..\..\..\..\..\temp\cmd\ta_SQRT.obj + -del ..\..\..\..\..\temp\cmd\ta_STDDEV.obj + -del ..\..\..\..\..\temp\cmd\ta_STOCH.obj + -del ..\..\..\..\..\temp\cmd\ta_STOCHF.obj + -del ..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\cmd\ta_SUB.obj + -del ..\..\..\..\..\temp\cmd\ta_SUM.obj + -del ..\..\..\..\..\temp\cmd\ta_T3.obj + -del ..\..\..\..\..\temp\cmd\ta_TAN.obj + -del ..\..\..\..\..\temp\cmd\ta_TANH.obj + -del ..\..\..\..\..\temp\cmd\ta_TEMA.obj + -del ..\..\..\..\..\temp\cmd\ta_TRANGE.obj + -del ..\..\..\..\..\temp\cmd\ta_TRIMA.obj + -del ..\..\..\..\..\temp\cmd\ta_TRIX.obj + -del ..\..\..\..\..\temp\cmd\ta_TSF.obj + -del ..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\cmd\ta_VAR.obj + -del ..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_WILLR.obj + -del ..\..\..\..\..\temp\cmd\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmd/*.pch + -del ../../../../../temp/cmd/*.idb + -del ../../../../../temp/cmd/ta_func/*.pch + -del ../../../../../temp/cmd/ta_func/*.idb + -del ../../../../../temp/cmd/ta_func/*.obj + -del ta_func_cmd.pdb + -del vc*.pdb + -del ta_func_cmd.ilk + +####### Compile + +..\..\..\..\..\temp\cmd\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\cmd\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\cmd\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\cmd\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\cmd\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\cmd\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\cmd\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\cmd\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\cmd\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\cmd\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\cmd\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\cmd\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\cmd\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\cmd\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\cmd\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\cmd\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\cmd\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\cmd\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\cmd\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\cmd\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\cmd\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\cmd\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\cmd\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\cmd\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\cmd\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\cmd\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\cmd\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\cmd\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\cmd\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\cmd\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\cmd\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\cmd\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\cmd\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\cmd\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\cmd\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\cmd\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\cmd\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\cmd\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\cmd\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\cmd\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\cmd\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\cmd\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\cmd\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\cmd\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\cmd\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\cmd\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\cmd\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\cmd\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\cmd\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\cmd\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\cmd\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\cmd\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\cmd\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\cmd\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\cmd\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\cmd\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\cmd\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\cmd\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\cmd\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\cmd\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\cmd\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\cmd\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\cmd\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\cmd\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\cmd\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\cmd\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\cmd\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\cmd\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\cmd\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\cmd\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\cmd\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\cmd\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\cmd\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\cmd\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\cmd\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\cmd\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/cmd/win32/msvc/ta_libc/Makefile b/vendor/ta-lib/make/cmd/win32/msvc/ta_libc/Makefile new file mode 100644 index 000000000..62a9b4141 --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/msvc/ta_libc/Makefile @@ -0,0 +1,1240 @@ +############################################################################# +# Makefile for building ta_libc_cmd +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -MTd -Zi -DTA_DEBUG -D_DEBUG -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +CXXFLAGS= -nologo -W3 -MTd -Zi -DTA_DEBUG -D_DEBUG -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"$(QTDIR)\include" +LIB = lib /NOLOGO +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c \ + ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\cmd\ta_global.obj \ + ..\..\..\..\..\temp\cmd\ta_retcode.obj \ + ..\..\..\..\..\temp\cmd\ta_version.obj \ + ..\..\..\..\..\temp\cmd\ta_abstract.obj \ + ..\..\..\..\..\temp\cmd\ta_def_ui.obj \ + ..\..\..\..\..\temp\cmd\ta_func_api.obj \ + ..\..\..\..\..\temp\cmd\ta_group_idx.obj \ + ..\..\..\..\..\temp\cmd\ta_frame.obj \ + ..\..\..\..\..\temp\cmd\table_a.obj \ + ..\..\..\..\..\temp\cmd\table_b.obj \ + ..\..\..\..\..\temp\cmd\table_c.obj \ + ..\..\..\..\..\temp\cmd\table_d.obj \ + ..\..\..\..\..\temp\cmd\table_e.obj \ + ..\..\..\..\..\temp\cmd\table_f.obj \ + ..\..\..\..\..\temp\cmd\table_g.obj \ + ..\..\..\..\..\temp\cmd\table_h.obj \ + ..\..\..\..\..\temp\cmd\table_i.obj \ + ..\..\..\..\..\temp\cmd\table_j.obj \ + ..\..\..\..\..\temp\cmd\table_k.obj \ + ..\..\..\..\..\temp\cmd\table_l.obj \ + ..\..\..\..\..\temp\cmd\table_m.obj \ + ..\..\..\..\..\temp\cmd\table_n.obj \ + ..\..\..\..\..\temp\cmd\table_o.obj \ + ..\..\..\..\..\temp\cmd\table_p.obj \ + ..\..\..\..\..\temp\cmd\table_q.obj \ + ..\..\..\..\..\temp\cmd\table_r.obj \ + ..\..\..\..\..\temp\cmd\table_s.obj \ + ..\..\..\..\..\temp\cmd\table_t.obj \ + ..\..\..\..\..\temp\cmd\table_u.obj \ + ..\..\..\..\..\temp\cmd\table_v.obj \ + ..\..\..\..\..\temp\cmd\table_w.obj \ + ..\..\..\..\..\temp\cmd\table_x.obj \ + ..\..\..\..\..\temp\cmd\table_y.obj \ + ..\..\..\..\..\temp\cmd\table_z.obj \ + ..\..\..\..\..\temp\cmd\ta_utility.obj \ + ..\..\..\..\..\temp\cmd\ta_ACOS.obj \ + ..\..\..\..\..\temp\cmd\ta_AD.obj \ + ..\..\..\..\..\temp\cmd\ta_ADD.obj \ + ..\..\..\..\..\temp\cmd\ta_ADOSC.obj \ + ..\..\..\..\..\temp\cmd\ta_ADX.obj \ + ..\..\..\..\..\temp\cmd\ta_ADXR.obj \ + ..\..\..\..\..\temp\cmd\ta_APO.obj \ + ..\..\..\..\..\temp\cmd\ta_AROON.obj \ + ..\..\..\..\..\temp\cmd\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\cmd\ta_ASIN.obj \ + ..\..\..\..\..\temp\cmd\ta_ATAN.obj \ + ..\..\..\..\..\temp\cmd\ta_ATR.obj \ + ..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_BBANDS.obj \ + ..\..\..\..\..\temp\cmd\ta_BETA.obj \ + ..\..\..\..\..\temp\cmd\ta_BOP.obj \ + ..\..\..\..\..\temp\cmd\ta_CCI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\cmd\ta_CEIL.obj \ + ..\..\..\..\..\temp\cmd\ta_CMO.obj \ + ..\..\..\..\..\temp\cmd\ta_CORREL.obj \ + ..\..\..\..\..\temp\cmd\ta_COS.obj \ + ..\..\..\..\..\temp\cmd\ta_COSH.obj \ + ..\..\..\..\..\temp\cmd\ta_DEMA.obj \ + ..\..\..\..\..\temp\cmd\ta_DIV.obj \ + ..\..\..\..\..\temp\cmd\ta_DX.obj \ + ..\..\..\..\..\temp\cmd\ta_EMA.obj \ + ..\..\..\..\..\temp\cmd\ta_EXP.obj \ + ..\..\..\..\..\temp\cmd\ta_FLOOR.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\cmd\ta_KAMA.obj \ + ..\..\..\..\..\temp\cmd\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\cmd\ta_LN.obj \ + ..\..\..\..\..\temp\cmd\ta_LOG10.obj \ + ..\..\..\..\..\temp\cmd\ta_MA.obj \ + ..\..\..\..\..\temp\cmd\ta_MACD.obj \ + ..\..\..\..\..\temp\cmd\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\cmd\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\cmd\ta_MAMA.obj \ + ..\..\..\..\..\temp\cmd\ta_MAVP.obj \ + ..\..\..\..\..\temp\cmd\ta_MAX.obj \ + ..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_MFI.obj \ + ..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_MIN.obj \ + ..\..\..\..\..\temp\cmd\ta_MININDEX.obj \ + ..\..\..\..\..\temp\cmd\ta_MINMAX.obj \ + ..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\cmd\ta_MOM.obj \ + ..\..\..\..\..\temp\cmd\ta_MULT.obj \ + ..\..\..\..\..\temp\cmd\ta_NATR.obj \ + ..\..\..\..\..\temp\cmd\ta_OBV.obj \ + ..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\cmd\ta_PPO.obj \ + ..\..\..\..\..\temp\cmd\ta_ROC.obj \ + ..\..\..\..\..\temp\cmd\ta_ROCP.obj \ + ..\..\..\..\..\temp\cmd\ta_ROCR.obj \ + ..\..\..\..\..\temp\cmd\ta_ROCR100.obj \ + ..\..\..\..\..\temp\cmd\ta_RSI.obj \ + ..\..\..\..\..\temp\cmd\ta_SAR.obj \ + ..\..\..\..\..\temp\cmd\ta_SAREXT.obj \ + ..\..\..\..\..\temp\cmd\ta_SIN.obj \ + ..\..\..\..\..\temp\cmd\ta_SINH.obj \ + ..\..\..\..\..\temp\cmd\ta_SMA.obj \ + ..\..\..\..\..\temp\cmd\ta_SQRT.obj \ + ..\..\..\..\..\temp\cmd\ta_STDDEV.obj \ + ..\..\..\..\..\temp\cmd\ta_STOCH.obj \ + ..\..\..\..\..\temp\cmd\ta_STOCHF.obj \ + ..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\cmd\ta_SUB.obj \ + ..\..\..\..\..\temp\cmd\ta_SUM.obj \ + ..\..\..\..\..\temp\cmd\ta_T3.obj \ + ..\..\..\..\..\temp\cmd\ta_TAN.obj \ + ..\..\..\..\..\temp\cmd\ta_TANH.obj \ + ..\..\..\..\..\temp\cmd\ta_TEMA.obj \ + ..\..\..\..\..\temp\cmd\ta_TRANGE.obj \ + ..\..\..\..\..\temp\cmd\ta_TRIMA.obj \ + ..\..\..\..\..\temp\cmd\ta_TRIX.obj \ + ..\..\..\..\..\temp\cmd\ta_TSF.obj \ + ..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\cmd\ta_VAR.obj \ + ..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_WILLR.obj \ + ..\..\..\..\..\temp\cmd\ta_WMA.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_libc_cmd.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LIB) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) +<< + +moc: $(SRCMOC) + +tmake: ../cmd/win32/msvc/ta_libc/Makefile + +../cmd/win32/msvc/ta_libc/Makefile: ta_libc/ta_libc.pro + tmake ta_libc/ta_libc.pro -o ../cmd/win32/msvc/ta_libc/Makefile + +dist: + $(ZIP) ta_libc/ta_libc.zip ta_libc/ta_libc.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\cmd\ta_global.obj + -del ..\..\..\..\..\temp\cmd\ta_retcode.obj + -del ..\..\..\..\..\temp\cmd\ta_version.obj + -del ..\..\..\..\..\temp\cmd\ta_abstract.obj + -del ..\..\..\..\..\temp\cmd\ta_def_ui.obj + -del ..\..\..\..\..\temp\cmd\ta_func_api.obj + -del ..\..\..\..\..\temp\cmd\ta_group_idx.obj + -del ..\..\..\..\..\temp\cmd\ta_frame.obj + -del ..\..\..\..\..\temp\cmd\table_a.obj + -del ..\..\..\..\..\temp\cmd\table_b.obj + -del ..\..\..\..\..\temp\cmd\table_c.obj + -del ..\..\..\..\..\temp\cmd\table_d.obj + -del ..\..\..\..\..\temp\cmd\table_e.obj + -del ..\..\..\..\..\temp\cmd\table_f.obj + -del ..\..\..\..\..\temp\cmd\table_g.obj + -del ..\..\..\..\..\temp\cmd\table_h.obj + -del ..\..\..\..\..\temp\cmd\table_i.obj + -del ..\..\..\..\..\temp\cmd\table_j.obj + -del ..\..\..\..\..\temp\cmd\table_k.obj + -del ..\..\..\..\..\temp\cmd\table_l.obj + -del ..\..\..\..\..\temp\cmd\table_m.obj + -del ..\..\..\..\..\temp\cmd\table_n.obj + -del ..\..\..\..\..\temp\cmd\table_o.obj + -del ..\..\..\..\..\temp\cmd\table_p.obj + -del ..\..\..\..\..\temp\cmd\table_q.obj + -del ..\..\..\..\..\temp\cmd\table_r.obj + -del ..\..\..\..\..\temp\cmd\table_s.obj + -del ..\..\..\..\..\temp\cmd\table_t.obj + -del ..\..\..\..\..\temp\cmd\table_u.obj + -del ..\..\..\..\..\temp\cmd\table_v.obj + -del ..\..\..\..\..\temp\cmd\table_w.obj + -del ..\..\..\..\..\temp\cmd\table_x.obj + -del ..\..\..\..\..\temp\cmd\table_y.obj + -del ..\..\..\..\..\temp\cmd\table_z.obj + -del ..\..\..\..\..\temp\cmd\ta_utility.obj + -del ..\..\..\..\..\temp\cmd\ta_ACOS.obj + -del ..\..\..\..\..\temp\cmd\ta_AD.obj + -del ..\..\..\..\..\temp\cmd\ta_ADD.obj + -del ..\..\..\..\..\temp\cmd\ta_ADOSC.obj + -del ..\..\..\..\..\temp\cmd\ta_ADX.obj + -del ..\..\..\..\..\temp\cmd\ta_ADXR.obj + -del ..\..\..\..\..\temp\cmd\ta_APO.obj + -del ..\..\..\..\..\temp\cmd\ta_AROON.obj + -del ..\..\..\..\..\temp\cmd\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\cmd\ta_ASIN.obj + -del ..\..\..\..\..\temp\cmd\ta_ATAN.obj + -del ..\..\..\..\..\temp\cmd\ta_ATR.obj + -del ..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_BBANDS.obj + -del ..\..\..\..\..\temp\cmd\ta_BETA.obj + -del ..\..\..\..\..\temp\cmd\ta_BOP.obj + -del ..\..\..\..\..\temp\cmd\ta_CCI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\cmd\ta_CEIL.obj + -del ..\..\..\..\..\temp\cmd\ta_CMO.obj + -del ..\..\..\..\..\temp\cmd\ta_CORREL.obj + -del ..\..\..\..\..\temp\cmd\ta_COS.obj + -del ..\..\..\..\..\temp\cmd\ta_COSH.obj + -del ..\..\..\..\..\temp\cmd\ta_DEMA.obj + -del ..\..\..\..\..\temp\cmd\ta_DIV.obj + -del ..\..\..\..\..\temp\cmd\ta_DX.obj + -del ..\..\..\..\..\temp\cmd\ta_EMA.obj + -del ..\..\..\..\..\temp\cmd\ta_EXP.obj + -del ..\..\..\..\..\temp\cmd\ta_FLOOR.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\cmd\ta_KAMA.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\cmd\ta_LN.obj + -del ..\..\..\..\..\temp\cmd\ta_LOG10.obj + -del ..\..\..\..\..\temp\cmd\ta_MA.obj + -del ..\..\..\..\..\temp\cmd\ta_MACD.obj + -del ..\..\..\..\..\temp\cmd\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\cmd\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\cmd\ta_MAMA.obj + -del ..\..\..\..\..\temp\cmd\ta_MAVP.obj + -del ..\..\..\..\..\temp\cmd\ta_MAX.obj + -del ..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_MFI.obj + -del ..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_MIN.obj + -del ..\..\..\..\..\temp\cmd\ta_MININDEX.obj + -del ..\..\..\..\..\temp\cmd\ta_MINMAX.obj + -del ..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\cmd\ta_MOM.obj + -del ..\..\..\..\..\temp\cmd\ta_MULT.obj + -del ..\..\..\..\..\temp\cmd\ta_NATR.obj + -del ..\..\..\..\..\temp\cmd\ta_OBV.obj + -del ..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\cmd\ta_PPO.obj + -del ..\..\..\..\..\temp\cmd\ta_ROC.obj + -del ..\..\..\..\..\temp\cmd\ta_ROCP.obj + -del ..\..\..\..\..\temp\cmd\ta_ROCR.obj + -del ..\..\..\..\..\temp\cmd\ta_ROCR100.obj + -del ..\..\..\..\..\temp\cmd\ta_RSI.obj + -del ..\..\..\..\..\temp\cmd\ta_SAR.obj + -del ..\..\..\..\..\temp\cmd\ta_SAREXT.obj + -del ..\..\..\..\..\temp\cmd\ta_SIN.obj + -del ..\..\..\..\..\temp\cmd\ta_SINH.obj + -del ..\..\..\..\..\temp\cmd\ta_SMA.obj + -del ..\..\..\..\..\temp\cmd\ta_SQRT.obj + -del ..\..\..\..\..\temp\cmd\ta_STDDEV.obj + -del ..\..\..\..\..\temp\cmd\ta_STOCH.obj + -del ..\..\..\..\..\temp\cmd\ta_STOCHF.obj + -del ..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\cmd\ta_SUB.obj + -del ..\..\..\..\..\temp\cmd\ta_SUM.obj + -del ..\..\..\..\..\temp\cmd\ta_T3.obj + -del ..\..\..\..\..\temp\cmd\ta_TAN.obj + -del ..\..\..\..\..\temp\cmd\ta_TANH.obj + -del ..\..\..\..\..\temp\cmd\ta_TEMA.obj + -del ..\..\..\..\..\temp\cmd\ta_TRANGE.obj + -del ..\..\..\..\..\temp\cmd\ta_TRIMA.obj + -del ..\..\..\..\..\temp\cmd\ta_TRIX.obj + -del ..\..\..\..\..\temp\cmd\ta_TSF.obj + -del ..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\cmd\ta_VAR.obj + -del ..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_WILLR.obj + -del ..\..\..\..\..\temp\cmd\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ta_libc_cmd.pdb + -del vc*.pdb + -del ta_libc_cmd.ilk + +####### Compile + +..\..\..\..\..\temp\cmd\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\cmd\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\cmd\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + +..\..\..\..\..\temp\cmd\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cmd\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cmd\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\cmd\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\cmd\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\cmd\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cmd\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cmd\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cmd\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cmd\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cmd\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cmd\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cmd\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cmd\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cmd\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cmd\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cmd\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cmd\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cmd\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cmd\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cmd\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cmd\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cmd\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cmd\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cmd\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cmd\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cmd\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cmd\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cmd\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cmd\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cmd\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + +..\..\..\..\..\temp\cmd\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\cmd\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\cmd\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\cmd\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\cmd\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\cmd\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\cmd\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\cmd\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\cmd\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\cmd\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\cmd\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\cmd\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\cmd\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\cmd\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\cmd\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\cmd\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\cmd\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\cmd\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\cmd\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\cmd\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\cmd\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\cmd\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\cmd\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\cmd\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\cmd\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\cmd\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\cmd\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\cmd\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\cmd\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\cmd\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\cmd\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\cmd\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\cmd\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\cmd\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\cmd\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\cmd\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\cmd\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\cmd\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\cmd\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\cmd\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\cmd\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\cmd\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\cmd\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\cmd\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\cmd\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\cmd\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\cmd\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\cmd\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\cmd\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\cmd\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\cmd\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\cmd\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\cmd\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\cmd\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\cmd\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\cmd\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\cmd\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\cmd\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\cmd\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\cmd\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\cmd\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\cmd\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\cmd\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\cmd\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\cmd\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\cmd\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\cmd\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\cmd\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\cmd\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\cmd\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\cmd\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\cmd\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\cmd\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\cmd\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\cmd\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\cmd\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/cmd/win32/msvc/ta_regtest/Makefile b/vendor/ta-lib/make/cmd/win32/msvc/ta_regtest/Makefile new file mode 100644 index 000000000..bfbca4922 --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/msvc/ta_regtest/Makefile @@ -0,0 +1,239 @@ +############################################################################# +# Makefile for building ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -MTd -Zi -DTA_DEBUG -D_DEBUG -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +CXXFLAGS= -nologo -W3 -MTd -Zi -DTA_DEBUG -D_DEBUG -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\tools\ta_regtest" -I"..\..\..\..\..\src\ta_func" -I"..\..\..\..\..\include" +LINK = link +LFLAGS = /NOLOGO /DEBUG /SUBSYSTEM:console +LIBS = ..\..\..\..\..\lib\ta_libc_cmd.lib +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_internals.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_util.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_data.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c +OBJECTS = ..\..\..\..\..\temp\cmd\ta_regtest.obj \ + ..\..\..\..\..\temp\cmd\test_candlestick.obj \ + ..\..\..\..\..\temp\cmd\test_1in_1out.obj \ + ..\..\..\..\..\temp\cmd\test_1in_2out.obj \ + ..\..\..\..\..\temp\cmd\test_internals.obj \ + ..\..\..\..\..\temp\cmd\test_adx.obj \ + ..\..\..\..\..\temp\cmd\test_bbands.obj \ + ..\..\..\..\..\temp\cmd\test_ma.obj \ + ..\..\..\..\..\temp\cmd\test_macd.obj \ + ..\..\..\..\..\temp\cmd\test_minmax.obj \ + ..\..\..\..\..\temp\cmd\test_mom.obj \ + ..\..\..\..\..\temp\cmd\test_per_ema.obj \ + ..\..\..\..\..\temp\cmd\test_per_hl.obj \ + ..\..\..\..\..\temp\cmd\test_per_hlc.obj \ + ..\..\..\..\..\temp\cmd\test_per_hlcv.obj \ + ..\..\..\..\..\temp\cmd\test_per_ohlc.obj \ + ..\..\..\..\..\temp\cmd\test_po.obj \ + ..\..\..\..\..\temp\cmd\test_rsi.obj \ + ..\..\..\..\..\temp\cmd\test_sar.obj \ + ..\..\..\..\..\temp\cmd\test_stddev.obj \ + ..\..\..\..\..\temp\cmd\test_stoch.obj \ + ..\..\..\..\..\temp\cmd\test_trange.obj \ + ..\..\..\..\..\temp\cmd\test_util.obj \ + ..\..\..\..\..\temp\cmd\test_data.obj \ + ..\..\..\..\..\temp\cmd\test_abstract.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\ta_regtest.exe +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) $(LIBS) +<< + +moc: $(SRCMOC) + +tmake: ../cmd/win32/msvc/ta_regtest/Makefile + +../cmd/win32/msvc/ta_regtest/Makefile: ta_regtest/ta_regtest.pro + tmake ta_regtest/ta_regtest.pro -o ../cmd/win32/msvc/ta_regtest/Makefile + +dist: + $(ZIP) ta_regtest/ta_regtest.zip ta_regtest/ta_regtest.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\cmd\ta_regtest.obj + -del ..\..\..\..\..\temp\cmd\test_candlestick.obj + -del ..\..\..\..\..\temp\cmd\test_1in_1out.obj + -del ..\..\..\..\..\temp\cmd\test_1in_2out.obj + -del ..\..\..\..\..\temp\cmd\test_internals.obj + -del ..\..\..\..\..\temp\cmd\test_adx.obj + -del ..\..\..\..\..\temp\cmd\test_bbands.obj + -del ..\..\..\..\..\temp\cmd\test_ma.obj + -del ..\..\..\..\..\temp\cmd\test_macd.obj + -del ..\..\..\..\..\temp\cmd\test_minmax.obj + -del ..\..\..\..\..\temp\cmd\test_mom.obj + -del ..\..\..\..\..\temp\cmd\test_per_ema.obj + -del ..\..\..\..\..\temp\cmd\test_per_hl.obj + -del ..\..\..\..\..\temp\cmd\test_per_hlc.obj + -del ..\..\..\..\..\temp\cmd\test_per_hlcv.obj + -del ..\..\..\..\..\temp\cmd\test_per_ohlc.obj + -del ..\..\..\..\..\temp\cmd\test_po.obj + -del ..\..\..\..\..\temp\cmd\test_rsi.obj + -del ..\..\..\..\..\temp\cmd\test_sar.obj + -del ..\..\..\..\..\temp\cmd\test_stddev.obj + -del ..\..\..\..\..\temp\cmd\test_stoch.obj + -del ..\..\..\..\..\temp\cmd\test_trange.obj + -del ..\..\..\..\..\temp\cmd\test_util.obj + -del ..\..\..\..\..\temp\cmd\test_data.obj + -del ..\..\..\..\..\temp\cmd\test_abstract.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmd/*.pch + -del ../../../../../temp/cmd/*.idb + -del ../../../../../temp/cmd/ta_regtest/*.pch + -del ../../../../../temp/cmd/ta_regtest/*.idb + -del ../../../../../temp/cmd/ta_regtest/*.obj + -del ta_regtest.pdb + -del vc*.pdb + -del ta_regtest.ilk + +####### Compile + +..\..\..\..\..\temp\cmd\ta_regtest.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\ta_regtest.obj ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + +..\..\..\..\..\temp\cmd\test_candlestick.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\test_candlestick.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + +..\..\..\..\..\temp\cmd\test_1in_1out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\test_1in_1out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + +..\..\..\..\..\temp\cmd\test_1in_2out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\test_1in_2out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + +..\..\..\..\..\temp\cmd\test_internals.obj: ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\test_internals.obj ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + +..\..\..\..\..\temp\cmd\test_adx.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\test_adx.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + +..\..\..\..\..\temp\cmd\test_bbands.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\test_bbands.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + +..\..\..\..\..\temp\cmd\test_ma.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\test_ma.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + +..\..\..\..\..\temp\cmd\test_macd.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\test_macd.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + +..\..\..\..\..\temp\cmd\test_minmax.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\test_minmax.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + +..\..\..\..\..\temp\cmd\test_mom.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\test_mom.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + +..\..\..\..\..\temp\cmd\test_per_ema.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\test_per_ema.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + +..\..\..\..\..\temp\cmd\test_per_hl.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\test_per_hl.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + +..\..\..\..\..\temp\cmd\test_per_hlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\test_per_hlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + +..\..\..\..\..\temp\cmd\test_per_hlcv.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\test_per_hlcv.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + +..\..\..\..\..\temp\cmd\test_per_ohlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\test_per_ohlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + +..\..\..\..\..\temp\cmd\test_po.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\test_po.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + +..\..\..\..\..\temp\cmd\test_rsi.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\test_rsi.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + +..\..\..\..\..\temp\cmd\test_sar.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\test_sar.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + +..\..\..\..\..\temp\cmd\test_stddev.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\test_stddev.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + +..\..\..\..\..\temp\cmd\test_stoch.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\test_stoch.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + +..\..\..\..\..\temp\cmd\test_trange.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\test_trange.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + +..\..\..\..\..\temp\cmd\test_util.obj: ..\..\..\..\..\src\tools\ta_regtest\test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\test_util.obj ..\..\..\..\..\src\tools\ta_regtest\test_util.c + +..\..\..\..\..\temp\cmd\test_data.obj: ..\..\..\..\..\src\tools\ta_regtest\test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\test_data.obj ..\..\..\..\..\src\tools\ta_regtest\test_data.c + +..\..\..\..\..\temp\cmd\test_abstract.obj: ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmd\test_abstract.obj ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + diff --git a/vendor/ta-lib/make/cmd/win32/symantec/Makefile b/vendor/ta-lib/make/cmd/win32/symantec/Makefile new file mode 100644 index 000000000..7e9fd9364 --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/symantec/Makefile @@ -0,0 +1,97 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +ta_common: FORCE + cd ta_common + $(MAKE) + @cd .. + +ta_func: FORCE + cd ta_func + $(MAKE) + @cd .. + +ta_abstract: FORCE + cd ta_abstract + $(MAKE) + @cd .. + +ta_libc: FORCE + cd ta_libc + $(MAKE) + @cd .. + +gen_code: FORCE + cd gen_code + $(MAKE) + @cd .. + +ta_regtest: FORCE + cd ta_regtest + $(MAKE) + @cd .. + + +tmake: ../cmd/win32/symantec/Makefile + +../cmd/win32/symantec/Makefile: rootmake.pro + tmake rootmake.pro -o ../cmd/win32/symantec/Makefile + +tmake_all: + cd ta_common + $(TMAKE) ta_common.pro -o $(MAKEFILE) + @cd .. + cd ta_func + $(TMAKE) ta_func.pro -o $(MAKEFILE) + @cd .. + cd ta_abstract + $(TMAKE) ta_abstract.pro -o $(MAKEFILE) + @cd .. + cd ta_libc + $(TMAKE) ta_libc.pro -o $(MAKEFILE) + @cd .. + cd gen_code + $(TMAKE) gen_code.pro -o $(MAKEFILE) + @cd .. + cd ta_regtest + $(TMAKE) ta_regtest.pro -o $(MAKEFILE) + @cd .. + + +clean: + cd ta_common + $(MAKE) clean + @cd .. + cd ta_func + $(MAKE) clean + @cd .. + cd ta_abstract + $(MAKE) clean + @cd .. + cd ta_libc + $(MAKE) clean + @cd .. + cd gen_code + $(MAKE) clean + @cd .. + cd ta_regtest + $(MAKE) clean + @cd .. + +FORCE: diff --git a/vendor/ta-lib/make/cmd/win32/symantec/gen_code/Makefile b/vendor/ta-lib/make/cmd/win32/symantec/gen_code/Makefile new file mode 100644 index 000000000..5d5685174 --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/symantec/gen_code/Makefile @@ -0,0 +1,253 @@ +############################################################################# +# Makefile for building gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = sc +CXX = sc +CFLAGS = -mn -w2 -g -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DWIN32 +CXXFLAGS= -mn -w2 -g -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DWIN32 +INCPATH = -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" +LINK = link +LFLAGS = /NOLOGO /NOI /DEBUG /SUBSYSTEM:console +LIBS = ..\..\..\..\..\lib\ta_common_cmd.lib +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\gen_code\gen_code.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\cmd\gen_code\gen_code.obj \ + ..\..\..\..\..\temp\cmd\gen_code\ta_abstract.obj \ + ..\..\..\..\..\temp\cmd\gen_code\ta_def_ui.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_a.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_b.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_c.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_d.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_e.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_f.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_g.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_h.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_i.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_j.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_k.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_l.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_m.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_n.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_o.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_p.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_q.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_r.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_s.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_t.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_u.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_v.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_w.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_x.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_y.obj \ + ..\..\..\..\..\temp\cmd\gen_code\table_z.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\gen_code.exe + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) $(OBJECTS) $(OBJMOC), $(TARGET),, $(LIBS) + +moc: $(SRCMOC) + +tmake: ../cmd/win32/symantec/gen_code/Makefile + +../cmd/win32/symantec/gen_code/Makefile: gen_code/gen_code.pro + tmake gen_code/gen_code.pro -o ../cmd/win32/symantec/gen_code/Makefile + +dist: + $(ZIP) gen_code/gen_code.zip gen_code/gen_code.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmd\gen_code\gen_code.obj + -del ..\..\..\..\..\temp\cmd\gen_code\ta_abstract.obj + -del ..\..\..\..\..\temp\cmd\gen_code\ta_def_ui.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_a.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_b.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_c.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_d.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_e.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_f.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_g.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_h.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_i.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_j.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_k.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_l.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_m.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_n.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_o.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_p.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_q.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_r.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_s.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_t.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_u.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_v.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_w.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_x.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_y.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmd/*.pch + -del ../../../../../temp/cmd/*.idb + -del ../../../../../temp/cmd/gen_code/*.pch + -del ../../../../../temp/cmd/gen_code/*.idb + -del ../../../../../temp/cmd/gen_code/*.obj + +####### Compile + +..\..\..\..\..\temp\cmd\gen_code\gen_code.obj: ..\..\..\..\..\src\tools\gen_code\gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\gen_code.obj ..\..\..\..\..\src\tools\gen_code\gen_code.c + +..\..\..\..\..\temp\cmd\gen_code\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cmd\gen_code\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cmd\gen_code\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cmd\gen_code\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cmd\gen_code\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cmd\gen_code\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cmd\gen_code\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cmd\gen_code\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cmd\gen_code\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cmd\gen_code\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cmd\gen_code\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cmd\gen_code\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cmd\gen_code\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cmd\gen_code\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cmd\gen_code\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cmd\gen_code\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cmd\gen_code\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cmd\gen_code\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cmd\gen_code\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cmd\gen_code\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cmd\gen_code\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cmd\gen_code\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cmd\gen_code\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cmd\gen_code\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cmd\gen_code\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cmd\gen_code\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cmd\gen_code\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cmd\gen_code\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\gen_code\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/cmd/win32/symantec/ta_abstract/Makefile b/vendor/ta-lib/make/cmd/win32/symantec/ta_abstract/Makefile new file mode 100644 index 000000000..b5f79aff9 --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/symantec/ta_abstract/Makefile @@ -0,0 +1,295 @@ +############################################################################# +# Makefile for building ta_abstract_cmd +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = sc +CXX = sc +CFLAGS = -mn -w2 -g -DTA_DEBUG -D_DEBUG -DWIN32 +CXXFLAGS= -mn -w2 -g -DTA_DEBUG -D_DEBUG -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"..\..\..\..\..\include" +LIB = lib /C /N /NOI /P:32 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\cmd\ta_abstract.obj \ + ..\..\..\..\..\temp\cmd\ta_def_ui.obj \ + ..\..\..\..\..\temp\cmd\ta_func_api.obj \ + ..\..\..\..\..\temp\cmd\ta_group_idx.obj \ + ..\..\..\..\..\temp\cmd\ta_frame.obj \ + ..\..\..\..\..\temp\cmd\table_a.obj \ + ..\..\..\..\..\temp\cmd\table_b.obj \ + ..\..\..\..\..\temp\cmd\table_c.obj \ + ..\..\..\..\..\temp\cmd\table_d.obj \ + ..\..\..\..\..\temp\cmd\table_e.obj \ + ..\..\..\..\..\temp\cmd\table_f.obj \ + ..\..\..\..\..\temp\cmd\table_g.obj \ + ..\..\..\..\..\temp\cmd\table_h.obj \ + ..\..\..\..\..\temp\cmd\table_i.obj \ + ..\..\..\..\..\temp\cmd\table_j.obj \ + ..\..\..\..\..\temp\cmd\table_k.obj \ + ..\..\..\..\..\temp\cmd\table_l.obj \ + ..\..\..\..\..\temp\cmd\table_m.obj \ + ..\..\..\..\..\temp\cmd\table_n.obj \ + ..\..\..\..\..\temp\cmd\table_o.obj \ + ..\..\..\..\..\temp\cmd\table_p.obj \ + ..\..\..\..\..\temp\cmd\table_q.obj \ + ..\..\..\..\..\temp\cmd\table_r.obj \ + ..\..\..\..\..\temp\cmd\table_s.obj \ + ..\..\..\..\..\temp\cmd\table_t.obj \ + ..\..\..\..\..\temp\cmd\table_u.obj \ + ..\..\..\..\..\temp\cmd\table_v.obj \ + ..\..\..\..\..\temp\cmd\table_w.obj \ + ..\..\..\..\..\temp\cmd\table_x.obj \ + ..\..\..\..\..\temp\cmd\table_y.obj \ + ..\..\..\..\..\temp\cmd\table_z.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_abstract_cmd.lib + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) ..\..\..\..\..\temp\cmd\ta_abstract.obj \ ++..\..\..\..\..\temp\cmd\ta_def_ui.obj \ ++..\..\..\..\..\temp\cmd\ta_func_api.obj \ ++..\..\..\..\..\temp\cmd\ta_group_idx.obj \ ++..\..\..\..\..\temp\cmd\ta_frame.obj \ ++..\..\..\..\..\temp\cmd\table_a.obj \ ++..\..\..\..\..\temp\cmd\table_b.obj \ ++..\..\..\..\..\temp\cmd\table_c.obj \ ++..\..\..\..\..\temp\cmd\table_d.obj \ ++..\..\..\..\..\temp\cmd\table_e.obj \ ++..\..\..\..\..\temp\cmd\table_f.obj \ ++..\..\..\..\..\temp\cmd\table_g.obj \ ++..\..\..\..\..\temp\cmd\table_h.obj \ ++..\..\..\..\..\temp\cmd\table_i.obj \ ++..\..\..\..\..\temp\cmd\table_j.obj \ ++..\..\..\..\..\temp\cmd\table_k.obj \ ++..\..\..\..\..\temp\cmd\table_l.obj \ ++..\..\..\..\..\temp\cmd\table_m.obj \ ++..\..\..\..\..\temp\cmd\table_n.obj \ ++..\..\..\..\..\temp\cmd\table_o.obj \ ++..\..\..\..\..\temp\cmd\table_p.obj \ ++..\..\..\..\..\temp\cmd\table_q.obj \ ++..\..\..\..\..\temp\cmd\table_r.obj \ ++..\..\..\..\..\temp\cmd\table_s.obj \ ++..\..\..\..\..\temp\cmd\table_t.obj \ ++..\..\..\..\..\temp\cmd\table_u.obj \ ++..\..\..\..\..\temp\cmd\table_v.obj \ ++..\..\..\..\..\temp\cmd\table_w.obj \ ++..\..\..\..\..\temp\cmd\table_x.obj \ ++..\..\..\..\..\temp\cmd\table_y.obj \ ++..\..\..\..\..\temp\cmd\table_z.obj \ ++,; + +moc: $(SRCMOC) + +tmake: ../cmd/win32/symantec/ta_abstract/Makefile + +../cmd/win32/symantec/ta_abstract/Makefile: ta_abstract/ta_abstract.pro + tmake ta_abstract/ta_abstract.pro -o ../cmd/win32/symantec/ta_abstract/Makefile + +dist: + $(ZIP) ta_abstract/ta_abstract.zip ta_abstract/ta_abstract.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmd\ta_abstract.obj + -del ..\..\..\..\..\temp\cmd\ta_def_ui.obj + -del ..\..\..\..\..\temp\cmd\ta_func_api.obj + -del ..\..\..\..\..\temp\cmd\ta_group_idx.obj + -del ..\..\..\..\..\temp\cmd\ta_frame.obj + -del ..\..\..\..\..\temp\cmd\table_a.obj + -del ..\..\..\..\..\temp\cmd\table_b.obj + -del ..\..\..\..\..\temp\cmd\table_c.obj + -del ..\..\..\..\..\temp\cmd\table_d.obj + -del ..\..\..\..\..\temp\cmd\table_e.obj + -del ..\..\..\..\..\temp\cmd\table_f.obj + -del ..\..\..\..\..\temp\cmd\table_g.obj + -del ..\..\..\..\..\temp\cmd\table_h.obj + -del ..\..\..\..\..\temp\cmd\table_i.obj + -del ..\..\..\..\..\temp\cmd\table_j.obj + -del ..\..\..\..\..\temp\cmd\table_k.obj + -del ..\..\..\..\..\temp\cmd\table_l.obj + -del ..\..\..\..\..\temp\cmd\table_m.obj + -del ..\..\..\..\..\temp\cmd\table_n.obj + -del ..\..\..\..\..\temp\cmd\table_o.obj + -del ..\..\..\..\..\temp\cmd\table_p.obj + -del ..\..\..\..\..\temp\cmd\table_q.obj + -del ..\..\..\..\..\temp\cmd\table_r.obj + -del ..\..\..\..\..\temp\cmd\table_s.obj + -del ..\..\..\..\..\temp\cmd\table_t.obj + -del ..\..\..\..\..\temp\cmd\table_u.obj + -del ..\..\..\..\..\temp\cmd\table_v.obj + -del ..\..\..\..\..\temp\cmd\table_w.obj + -del ..\..\..\..\..\temp\cmd\table_x.obj + -del ..\..\..\..\..\temp\cmd\table_y.obj + -del ..\..\..\..\..\temp\cmd\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmd/*.pch + -del ../../../../../temp/cmd/*.idb + -del ../../../../../temp/cmd/ta_abstract/*.pch + -del ../../../../../temp/cmd/ta_abstract/*.idb + -del ../../../../../temp/cmd/ta_abstract/*.obj + +####### Compile + +..\..\..\..\..\temp\cmd\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cmd\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cmd\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\cmd\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\cmd\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\cmd\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cmd\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cmd\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cmd\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cmd\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cmd\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cmd\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cmd\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cmd\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cmd\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cmd\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cmd\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cmd\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cmd\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cmd\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cmd\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cmd\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cmd\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cmd\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cmd\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cmd\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cmd\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cmd\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cmd\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cmd\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cmd\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/cmd/win32/symantec/ta_common/Makefile b/vendor/ta-lib/make/cmd/win32/symantec/ta_common/Makefile new file mode 100644 index 000000000..93bdf6f5f --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/symantec/ta_common/Makefile @@ -0,0 +1,99 @@ +############################################################################# +# Makefile for building ta_common_cmd +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = sc +CXX = sc +CFLAGS = -mn -w2 -g -DTA_DEBUG -D_DEBUG -DWIN32 +CXXFLAGS= -mn -w2 -g -DTA_DEBUG -D_DEBUG -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" +LIB = lib /C /N /NOI /P:32 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c +OBJECTS = ..\..\..\..\..\temp\cmd\ta_global.obj \ + ..\..\..\..\..\temp\cmd\ta_retcode.obj \ + ..\..\..\..\..\temp\cmd\ta_version.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_common_cmd.lib + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) ..\..\..\..\..\temp\cmd\ta_global.obj \ ++..\..\..\..\..\temp\cmd\ta_retcode.obj \ ++..\..\..\..\..\temp\cmd\ta_version.obj \ ++,; + +moc: $(SRCMOC) + +tmake: ../cmd/win32/symantec/ta_common/Makefile + +../cmd/win32/symantec/ta_common/Makefile: ta_common/ta_common.pro + tmake ta_common/ta_common.pro -o ../cmd/win32/symantec/ta_common/Makefile + +dist: + $(ZIP) ta_common/ta_common.zip ta_common/ta_common.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmd\ta_global.obj + -del ..\..\..\..\..\temp\cmd\ta_retcode.obj + -del ..\..\..\..\..\temp\cmd\ta_version.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmd/*.pch + -del ../../../../../temp/cmd/*.idb + -del ../../../../../temp/cmd/ta_common_cmd/*.pch + -del ../../../../../temp/cmd/ta_common_cmd/*.idb + -del ../../../../../temp/cmd/ta_common_cmd/*.obj + +####### Compile + +..\..\..\..\..\temp\cmd\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\cmd\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\cmd\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + diff --git a/vendor/ta-lib/make/cmd/win32/symantec/ta_func/Makefile b/vendor/ta-lib/make/cmd/win32/symantec/ta_func/Makefile new file mode 100644 index 000000000..914fcf13b --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/symantec/ta_func/Makefile @@ -0,0 +1,1191 @@ +############################################################################# +# Makefile for building ta_func_cmd +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = sc +CXX = sc +CFLAGS = -mn -w2 -g -DTA_DEBUG -D_DEBUG -DWIN32 +CXXFLAGS= -mn -w2 -g -DTA_DEBUG -D_DEBUG -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"\n" -I"..\..\..\..\..\include" +LIB = lib /C /N /NOI /P:32 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\cmd\ta_utility.obj \ + ..\..\..\..\..\temp\cmd\ta_ACOS.obj \ + ..\..\..\..\..\temp\cmd\ta_AD.obj \ + ..\..\..\..\..\temp\cmd\ta_ADD.obj \ + ..\..\..\..\..\temp\cmd\ta_ADOSC.obj \ + ..\..\..\..\..\temp\cmd\ta_ADX.obj \ + ..\..\..\..\..\temp\cmd\ta_ADXR.obj \ + ..\..\..\..\..\temp\cmd\ta_APO.obj \ + ..\..\..\..\..\temp\cmd\ta_AROON.obj \ + ..\..\..\..\..\temp\cmd\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\cmd\ta_ASIN.obj \ + ..\..\..\..\..\temp\cmd\ta_ATAN.obj \ + ..\..\..\..\..\temp\cmd\ta_ATR.obj \ + ..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_BBANDS.obj \ + ..\..\..\..\..\temp\cmd\ta_BETA.obj \ + ..\..\..\..\..\temp\cmd\ta_BOP.obj \ + ..\..\..\..\..\temp\cmd\ta_CCI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\cmd\ta_CEIL.obj \ + ..\..\..\..\..\temp\cmd\ta_CMO.obj \ + ..\..\..\..\..\temp\cmd\ta_CORREL.obj \ + ..\..\..\..\..\temp\cmd\ta_COS.obj \ + ..\..\..\..\..\temp\cmd\ta_COSH.obj \ + ..\..\..\..\..\temp\cmd\ta_DEMA.obj \ + ..\..\..\..\..\temp\cmd\ta_DIV.obj \ + ..\..\..\..\..\temp\cmd\ta_DX.obj \ + ..\..\..\..\..\temp\cmd\ta_EMA.obj \ + ..\..\..\..\..\temp\cmd\ta_EXP.obj \ + ..\..\..\..\..\temp\cmd\ta_FLOOR.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\cmd\ta_KAMA.obj \ + ..\..\..\..\..\temp\cmd\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\cmd\ta_LN.obj \ + ..\..\..\..\..\temp\cmd\ta_LOG10.obj \ + ..\..\..\..\..\temp\cmd\ta_MA.obj \ + ..\..\..\..\..\temp\cmd\ta_MACD.obj \ + ..\..\..\..\..\temp\cmd\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\cmd\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\cmd\ta_MAMA.obj \ + ..\..\..\..\..\temp\cmd\ta_MAVP.obj \ + ..\..\..\..\..\temp\cmd\ta_MAX.obj \ + ..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_MFI.obj \ + ..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_MIN.obj \ + ..\..\..\..\..\temp\cmd\ta_MININDEX.obj \ + ..\..\..\..\..\temp\cmd\ta_MINMAX.obj \ + ..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\cmd\ta_MOM.obj \ + ..\..\..\..\..\temp\cmd\ta_MULT.obj \ + ..\..\..\..\..\temp\cmd\ta_NATR.obj \ + ..\..\..\..\..\temp\cmd\ta_OBV.obj \ + ..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\cmd\ta_PPO.obj \ + ..\..\..\..\..\temp\cmd\ta_ROC.obj \ + ..\..\..\..\..\temp\cmd\ta_ROCP.obj \ + ..\..\..\..\..\temp\cmd\ta_ROCR.obj \ + ..\..\..\..\..\temp\cmd\ta_ROCR100.obj \ + ..\..\..\..\..\temp\cmd\ta_RSI.obj \ + ..\..\..\..\..\temp\cmd\ta_SAR.obj \ + ..\..\..\..\..\temp\cmd\ta_SAREXT.obj \ + ..\..\..\..\..\temp\cmd\ta_SIN.obj \ + ..\..\..\..\..\temp\cmd\ta_SINH.obj \ + ..\..\..\..\..\temp\cmd\ta_SMA.obj \ + ..\..\..\..\..\temp\cmd\ta_SQRT.obj \ + ..\..\..\..\..\temp\cmd\ta_STDDEV.obj \ + ..\..\..\..\..\temp\cmd\ta_STOCH.obj \ + ..\..\..\..\..\temp\cmd\ta_STOCHF.obj \ + ..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\cmd\ta_SUB.obj \ + ..\..\..\..\..\temp\cmd\ta_SUM.obj \ + ..\..\..\..\..\temp\cmd\ta_T3.obj \ + ..\..\..\..\..\temp\cmd\ta_TAN.obj \ + ..\..\..\..\..\temp\cmd\ta_TANH.obj \ + ..\..\..\..\..\temp\cmd\ta_TEMA.obj \ + ..\..\..\..\..\temp\cmd\ta_TRANGE.obj \ + ..\..\..\..\..\temp\cmd\ta_TRIMA.obj \ + ..\..\..\..\..\temp\cmd\ta_TRIX.obj \ + ..\..\..\..\..\temp\cmd\ta_TSF.obj \ + ..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\cmd\ta_VAR.obj \ + ..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_WILLR.obj \ + ..\..\..\..\..\temp\cmd\ta_WMA.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_func_cmd.lib + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) ..\..\..\..\..\temp\cmd\ta_utility.obj \ ++..\..\..\..\..\temp\cmd\ta_ACOS.obj \ ++..\..\..\..\..\temp\cmd\ta_AD.obj \ ++..\..\..\..\..\temp\cmd\ta_ADD.obj \ ++..\..\..\..\..\temp\cmd\ta_ADOSC.obj \ ++..\..\..\..\..\temp\cmd\ta_ADX.obj \ ++..\..\..\..\..\temp\cmd\ta_ADXR.obj \ ++..\..\..\..\..\temp\cmd\ta_APO.obj \ ++..\..\..\..\..\temp\cmd\ta_AROON.obj \ ++..\..\..\..\..\temp\cmd\ta_AROONOSC.obj \ ++..\..\..\..\..\temp\cmd\ta_ASIN.obj \ ++..\..\..\..\..\temp\cmd\ta_ATAN.obj \ ++..\..\..\..\..\temp\cmd\ta_ATR.obj \ ++..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj \ ++..\..\..\..\..\temp\cmd\ta_BBANDS.obj \ ++..\..\..\..\..\temp\cmd\ta_BETA.obj \ ++..\..\..\..\..\temp\cmd\ta_BOP.obj \ ++..\..\..\..\..\temp\cmd\ta_CCI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj \ ++..\..\..\..\..\temp\cmd\ta_CEIL.obj \ ++..\..\..\..\..\temp\cmd\ta_CMO.obj \ ++..\..\..\..\..\temp\cmd\ta_CORREL.obj \ ++..\..\..\..\..\temp\cmd\ta_COS.obj \ ++..\..\..\..\..\temp\cmd\ta_COSH.obj \ ++..\..\..\..\..\temp\cmd\ta_DEMA.obj \ ++..\..\..\..\..\temp\cmd\ta_DIV.obj \ ++..\..\..\..\..\temp\cmd\ta_DX.obj \ ++..\..\..\..\..\temp\cmd\ta_EMA.obj \ ++..\..\..\..\..\temp\cmd\ta_EXP.obj \ ++..\..\..\..\..\temp\cmd\ta_FLOOR.obj \ ++..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj \ ++..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj \ ++..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj \ ++..\..\..\..\..\temp\cmd\ta_HT_SINE.obj \ ++..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj \ ++..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj \ ++..\..\..\..\..\temp\cmd\ta_KAMA.obj \ ++..\..\..\..\..\temp\cmd\ta_LINEARREG.obj \ ++..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj \ ++..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj \ ++..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj \ ++..\..\..\..\..\temp\cmd\ta_LN.obj \ ++..\..\..\..\..\temp\cmd\ta_LOG10.obj \ ++..\..\..\..\..\temp\cmd\ta_MA.obj \ ++..\..\..\..\..\temp\cmd\ta_MACD.obj \ ++..\..\..\..\..\temp\cmd\ta_MACDEXT.obj \ ++..\..\..\..\..\temp\cmd\ta_MACDFIX.obj \ ++..\..\..\..\..\temp\cmd\ta_MAMA.obj \ ++..\..\..\..\..\temp\cmd\ta_MAVP.obj \ ++..\..\..\..\..\temp\cmd\ta_MAX.obj \ ++..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj \ ++..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj \ ++..\..\..\..\..\temp\cmd\ta_MFI.obj \ ++..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj \ ++..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj \ ++..\..\..\..\..\temp\cmd\ta_MIN.obj \ ++..\..\..\..\..\temp\cmd\ta_MININDEX.obj \ ++..\..\..\..\..\temp\cmd\ta_MINMAX.obj \ ++..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj \ ++..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj \ ++..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj \ ++..\..\..\..\..\temp\cmd\ta_MOM.obj \ ++..\..\..\..\..\temp\cmd\ta_MULT.obj \ ++..\..\..\..\..\temp\cmd\ta_NATR.obj \ ++..\..\..\..\..\temp\cmd\ta_OBV.obj \ ++..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj \ ++..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj \ ++..\..\..\..\..\temp\cmd\ta_PPO.obj \ ++..\..\..\..\..\temp\cmd\ta_ROC.obj \ ++..\..\..\..\..\temp\cmd\ta_ROCP.obj \ ++..\..\..\..\..\temp\cmd\ta_ROCR.obj \ ++..\..\..\..\..\temp\cmd\ta_ROCR100.obj \ ++..\..\..\..\..\temp\cmd\ta_RSI.obj \ ++..\..\..\..\..\temp\cmd\ta_SAR.obj \ ++..\..\..\..\..\temp\cmd\ta_SAREXT.obj \ ++..\..\..\..\..\temp\cmd\ta_SIN.obj \ ++..\..\..\..\..\temp\cmd\ta_SINH.obj \ ++..\..\..\..\..\temp\cmd\ta_SMA.obj \ ++..\..\..\..\..\temp\cmd\ta_SQRT.obj \ ++..\..\..\..\..\temp\cmd\ta_STDDEV.obj \ ++..\..\..\..\..\temp\cmd\ta_STOCH.obj \ ++..\..\..\..\..\temp\cmd\ta_STOCHF.obj \ ++..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj \ ++..\..\..\..\..\temp\cmd\ta_SUB.obj \ ++..\..\..\..\..\temp\cmd\ta_SUM.obj \ ++..\..\..\..\..\temp\cmd\ta_T3.obj \ ++..\..\..\..\..\temp\cmd\ta_TAN.obj \ ++..\..\..\..\..\temp\cmd\ta_TANH.obj \ ++..\..\..\..\..\temp\cmd\ta_TEMA.obj \ ++..\..\..\..\..\temp\cmd\ta_TRANGE.obj \ ++..\..\..\..\..\temp\cmd\ta_TRIMA.obj \ ++..\..\..\..\..\temp\cmd\ta_TRIX.obj \ ++..\..\..\..\..\temp\cmd\ta_TSF.obj \ ++..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj \ ++..\..\..\..\..\temp\cmd\ta_ULTOSC.obj \ ++..\..\..\..\..\temp\cmd\ta_VAR.obj \ ++..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj \ ++..\..\..\..\..\temp\cmd\ta_WILLR.obj \ ++..\..\..\..\..\temp\cmd\ta_WMA.obj \ ++,; + +moc: $(SRCMOC) + +tmake: ../cmd/win32/symantec/ta_func/Makefile + +../cmd/win32/symantec/ta_func/Makefile: ta_func/ta_func.pro + tmake ta_func/ta_func.pro -o ../cmd/win32/symantec/ta_func/Makefile + +dist: + $(ZIP) ta_func/ta_func.zip ta_func/ta_func.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmd\ta_utility.obj + -del ..\..\..\..\..\temp\cmd\ta_ACOS.obj + -del ..\..\..\..\..\temp\cmd\ta_AD.obj + -del ..\..\..\..\..\temp\cmd\ta_ADD.obj + -del ..\..\..\..\..\temp\cmd\ta_ADOSC.obj + -del ..\..\..\..\..\temp\cmd\ta_ADX.obj + -del ..\..\..\..\..\temp\cmd\ta_ADXR.obj + -del ..\..\..\..\..\temp\cmd\ta_APO.obj + -del ..\..\..\..\..\temp\cmd\ta_AROON.obj + -del ..\..\..\..\..\temp\cmd\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\cmd\ta_ASIN.obj + -del ..\..\..\..\..\temp\cmd\ta_ATAN.obj + -del ..\..\..\..\..\temp\cmd\ta_ATR.obj + -del ..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_BBANDS.obj + -del ..\..\..\..\..\temp\cmd\ta_BETA.obj + -del ..\..\..\..\..\temp\cmd\ta_BOP.obj + -del ..\..\..\..\..\temp\cmd\ta_CCI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\cmd\ta_CEIL.obj + -del ..\..\..\..\..\temp\cmd\ta_CMO.obj + -del ..\..\..\..\..\temp\cmd\ta_CORREL.obj + -del ..\..\..\..\..\temp\cmd\ta_COS.obj + -del ..\..\..\..\..\temp\cmd\ta_COSH.obj + -del ..\..\..\..\..\temp\cmd\ta_DEMA.obj + -del ..\..\..\..\..\temp\cmd\ta_DIV.obj + -del ..\..\..\..\..\temp\cmd\ta_DX.obj + -del ..\..\..\..\..\temp\cmd\ta_EMA.obj + -del ..\..\..\..\..\temp\cmd\ta_EXP.obj + -del ..\..\..\..\..\temp\cmd\ta_FLOOR.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\cmd\ta_KAMA.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\cmd\ta_LN.obj + -del ..\..\..\..\..\temp\cmd\ta_LOG10.obj + -del ..\..\..\..\..\temp\cmd\ta_MA.obj + -del ..\..\..\..\..\temp\cmd\ta_MACD.obj + -del ..\..\..\..\..\temp\cmd\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\cmd\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\cmd\ta_MAMA.obj + -del ..\..\..\..\..\temp\cmd\ta_MAVP.obj + -del ..\..\..\..\..\temp\cmd\ta_MAX.obj + -del ..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_MFI.obj + -del ..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_MIN.obj + -del ..\..\..\..\..\temp\cmd\ta_MININDEX.obj + -del ..\..\..\..\..\temp\cmd\ta_MINMAX.obj + -del ..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\cmd\ta_MOM.obj + -del ..\..\..\..\..\temp\cmd\ta_MULT.obj + -del ..\..\..\..\..\temp\cmd\ta_NATR.obj + -del ..\..\..\..\..\temp\cmd\ta_OBV.obj + -del ..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\cmd\ta_PPO.obj + -del ..\..\..\..\..\temp\cmd\ta_ROC.obj + -del ..\..\..\..\..\temp\cmd\ta_ROCP.obj + -del ..\..\..\..\..\temp\cmd\ta_ROCR.obj + -del ..\..\..\..\..\temp\cmd\ta_ROCR100.obj + -del ..\..\..\..\..\temp\cmd\ta_RSI.obj + -del ..\..\..\..\..\temp\cmd\ta_SAR.obj + -del ..\..\..\..\..\temp\cmd\ta_SAREXT.obj + -del ..\..\..\..\..\temp\cmd\ta_SIN.obj + -del ..\..\..\..\..\temp\cmd\ta_SINH.obj + -del ..\..\..\..\..\temp\cmd\ta_SMA.obj + -del ..\..\..\..\..\temp\cmd\ta_SQRT.obj + -del ..\..\..\..\..\temp\cmd\ta_STDDEV.obj + -del ..\..\..\..\..\temp\cmd\ta_STOCH.obj + -del ..\..\..\..\..\temp\cmd\ta_STOCHF.obj + -del ..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\cmd\ta_SUB.obj + -del ..\..\..\..\..\temp\cmd\ta_SUM.obj + -del ..\..\..\..\..\temp\cmd\ta_T3.obj + -del ..\..\..\..\..\temp\cmd\ta_TAN.obj + -del ..\..\..\..\..\temp\cmd\ta_TANH.obj + -del ..\..\..\..\..\temp\cmd\ta_TEMA.obj + -del ..\..\..\..\..\temp\cmd\ta_TRANGE.obj + -del ..\..\..\..\..\temp\cmd\ta_TRIMA.obj + -del ..\..\..\..\..\temp\cmd\ta_TRIX.obj + -del ..\..\..\..\..\temp\cmd\ta_TSF.obj + -del ..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\cmd\ta_VAR.obj + -del ..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_WILLR.obj + -del ..\..\..\..\..\temp\cmd\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmd/*.pch + -del ../../../../../temp/cmd/*.idb + -del ../../../../../temp/cmd/ta_func/*.pch + -del ../../../../../temp/cmd/ta_func/*.idb + -del ../../../../../temp/cmd/ta_func/*.obj + +####### Compile + +..\..\..\..\..\temp\cmd\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\cmd\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\cmd\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\cmd\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\cmd\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\cmd\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\cmd\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\cmd\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\cmd\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\cmd\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\cmd\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\cmd\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\cmd\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\cmd\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\cmd\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\cmd\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\cmd\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\cmd\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\cmd\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\cmd\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\cmd\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\cmd\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\cmd\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\cmd\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\cmd\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\cmd\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\cmd\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\cmd\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\cmd\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\cmd\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\cmd\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\cmd\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\cmd\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\cmd\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\cmd\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\cmd\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\cmd\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\cmd\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\cmd\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\cmd\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\cmd\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\cmd\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\cmd\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\cmd\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\cmd\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\cmd\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\cmd\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\cmd\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\cmd\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\cmd\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\cmd\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\cmd\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\cmd\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\cmd\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\cmd\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\cmd\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\cmd\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\cmd\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\cmd\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\cmd\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\cmd\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\cmd\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\cmd\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\cmd\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\cmd\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\cmd\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\cmd\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\cmd\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\cmd\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\cmd\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\cmd\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\cmd\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\cmd\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\cmd\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\cmd\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\cmd\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/cmd/win32/symantec/ta_libc/Makefile b/vendor/ta-lib/make/cmd/win32/symantec/ta_libc/Makefile new file mode 100644 index 000000000..2b7d5ed8a --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/symantec/ta_libc/Makefile @@ -0,0 +1,1424 @@ +############################################################################# +# Makefile for building ta_libc_cmd +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = sc +CXX = sc +CFLAGS = -mn -w2 -g -DTA_DEBUG -D_DEBUG -DWIN32 +CXXFLAGS= -mn -w2 -g -DTA_DEBUG -D_DEBUG -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"$(QTDIR)\include" +LIB = lib /C /N /NOI /P:32 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c \ + ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\cmd\ta_global.obj \ + ..\..\..\..\..\temp\cmd\ta_retcode.obj \ + ..\..\..\..\..\temp\cmd\ta_version.obj \ + ..\..\..\..\..\temp\cmd\ta_abstract.obj \ + ..\..\..\..\..\temp\cmd\ta_def_ui.obj \ + ..\..\..\..\..\temp\cmd\ta_func_api.obj \ + ..\..\..\..\..\temp\cmd\ta_group_idx.obj \ + ..\..\..\..\..\temp\cmd\ta_frame.obj \ + ..\..\..\..\..\temp\cmd\table_a.obj \ + ..\..\..\..\..\temp\cmd\table_b.obj \ + ..\..\..\..\..\temp\cmd\table_c.obj \ + ..\..\..\..\..\temp\cmd\table_d.obj \ + ..\..\..\..\..\temp\cmd\table_e.obj \ + ..\..\..\..\..\temp\cmd\table_f.obj \ + ..\..\..\..\..\temp\cmd\table_g.obj \ + ..\..\..\..\..\temp\cmd\table_h.obj \ + ..\..\..\..\..\temp\cmd\table_i.obj \ + ..\..\..\..\..\temp\cmd\table_j.obj \ + ..\..\..\..\..\temp\cmd\table_k.obj \ + ..\..\..\..\..\temp\cmd\table_l.obj \ + ..\..\..\..\..\temp\cmd\table_m.obj \ + ..\..\..\..\..\temp\cmd\table_n.obj \ + ..\..\..\..\..\temp\cmd\table_o.obj \ + ..\..\..\..\..\temp\cmd\table_p.obj \ + ..\..\..\..\..\temp\cmd\table_q.obj \ + ..\..\..\..\..\temp\cmd\table_r.obj \ + ..\..\..\..\..\temp\cmd\table_s.obj \ + ..\..\..\..\..\temp\cmd\table_t.obj \ + ..\..\..\..\..\temp\cmd\table_u.obj \ + ..\..\..\..\..\temp\cmd\table_v.obj \ + ..\..\..\..\..\temp\cmd\table_w.obj \ + ..\..\..\..\..\temp\cmd\table_x.obj \ + ..\..\..\..\..\temp\cmd\table_y.obj \ + ..\..\..\..\..\temp\cmd\table_z.obj \ + ..\..\..\..\..\temp\cmd\ta_utility.obj \ + ..\..\..\..\..\temp\cmd\ta_ACOS.obj \ + ..\..\..\..\..\temp\cmd\ta_AD.obj \ + ..\..\..\..\..\temp\cmd\ta_ADD.obj \ + ..\..\..\..\..\temp\cmd\ta_ADOSC.obj \ + ..\..\..\..\..\temp\cmd\ta_ADX.obj \ + ..\..\..\..\..\temp\cmd\ta_ADXR.obj \ + ..\..\..\..\..\temp\cmd\ta_APO.obj \ + ..\..\..\..\..\temp\cmd\ta_AROON.obj \ + ..\..\..\..\..\temp\cmd\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\cmd\ta_ASIN.obj \ + ..\..\..\..\..\temp\cmd\ta_ATAN.obj \ + ..\..\..\..\..\temp\cmd\ta_ATR.obj \ + ..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_BBANDS.obj \ + ..\..\..\..\..\temp\cmd\ta_BETA.obj \ + ..\..\..\..\..\temp\cmd\ta_BOP.obj \ + ..\..\..\..\..\temp\cmd\ta_CCI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\cmd\ta_CEIL.obj \ + ..\..\..\..\..\temp\cmd\ta_CMO.obj \ + ..\..\..\..\..\temp\cmd\ta_CORREL.obj \ + ..\..\..\..\..\temp\cmd\ta_COS.obj \ + ..\..\..\..\..\temp\cmd\ta_COSH.obj \ + ..\..\..\..\..\temp\cmd\ta_DEMA.obj \ + ..\..\..\..\..\temp\cmd\ta_DIV.obj \ + ..\..\..\..\..\temp\cmd\ta_DX.obj \ + ..\..\..\..\..\temp\cmd\ta_EMA.obj \ + ..\..\..\..\..\temp\cmd\ta_EXP.obj \ + ..\..\..\..\..\temp\cmd\ta_FLOOR.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\cmd\ta_KAMA.obj \ + ..\..\..\..\..\temp\cmd\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\cmd\ta_LN.obj \ + ..\..\..\..\..\temp\cmd\ta_LOG10.obj \ + ..\..\..\..\..\temp\cmd\ta_MA.obj \ + ..\..\..\..\..\temp\cmd\ta_MACD.obj \ + ..\..\..\..\..\temp\cmd\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\cmd\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\cmd\ta_MAMA.obj \ + ..\..\..\..\..\temp\cmd\ta_MAVP.obj \ + ..\..\..\..\..\temp\cmd\ta_MAX.obj \ + ..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_MFI.obj \ + ..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_MIN.obj \ + ..\..\..\..\..\temp\cmd\ta_MININDEX.obj \ + ..\..\..\..\..\temp\cmd\ta_MINMAX.obj \ + ..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\cmd\ta_MOM.obj \ + ..\..\..\..\..\temp\cmd\ta_MULT.obj \ + ..\..\..\..\..\temp\cmd\ta_NATR.obj \ + ..\..\..\..\..\temp\cmd\ta_OBV.obj \ + ..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\cmd\ta_PPO.obj \ + ..\..\..\..\..\temp\cmd\ta_ROC.obj \ + ..\..\..\..\..\temp\cmd\ta_ROCP.obj \ + ..\..\..\..\..\temp\cmd\ta_ROCR.obj \ + ..\..\..\..\..\temp\cmd\ta_ROCR100.obj \ + ..\..\..\..\..\temp\cmd\ta_RSI.obj \ + ..\..\..\..\..\temp\cmd\ta_SAR.obj \ + ..\..\..\..\..\temp\cmd\ta_SAREXT.obj \ + ..\..\..\..\..\temp\cmd\ta_SIN.obj \ + ..\..\..\..\..\temp\cmd\ta_SINH.obj \ + ..\..\..\..\..\temp\cmd\ta_SMA.obj \ + ..\..\..\..\..\temp\cmd\ta_SQRT.obj \ + ..\..\..\..\..\temp\cmd\ta_STDDEV.obj \ + ..\..\..\..\..\temp\cmd\ta_STOCH.obj \ + ..\..\..\..\..\temp\cmd\ta_STOCHF.obj \ + ..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\cmd\ta_SUB.obj \ + ..\..\..\..\..\temp\cmd\ta_SUM.obj \ + ..\..\..\..\..\temp\cmd\ta_T3.obj \ + ..\..\..\..\..\temp\cmd\ta_TAN.obj \ + ..\..\..\..\..\temp\cmd\ta_TANH.obj \ + ..\..\..\..\..\temp\cmd\ta_TEMA.obj \ + ..\..\..\..\..\temp\cmd\ta_TRANGE.obj \ + ..\..\..\..\..\temp\cmd\ta_TRIMA.obj \ + ..\..\..\..\..\temp\cmd\ta_TRIX.obj \ + ..\..\..\..\..\temp\cmd\ta_TSF.obj \ + ..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\cmd\ta_VAR.obj \ + ..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\cmd\ta_WILLR.obj \ + ..\..\..\..\..\temp\cmd\ta_WMA.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_libc_cmd.lib + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) ..\..\..\..\..\temp\cmd\ta_global.obj \ ++..\..\..\..\..\temp\cmd\ta_retcode.obj \ ++..\..\..\..\..\temp\cmd\ta_version.obj \ ++..\..\..\..\..\temp\cmd\ta_abstract.obj \ ++..\..\..\..\..\temp\cmd\ta_def_ui.obj \ ++..\..\..\..\..\temp\cmd\ta_func_api.obj \ ++..\..\..\..\..\temp\cmd\ta_group_idx.obj \ ++..\..\..\..\..\temp\cmd\ta_frame.obj \ ++..\..\..\..\..\temp\cmd\table_a.obj \ ++..\..\..\..\..\temp\cmd\table_b.obj \ ++..\..\..\..\..\temp\cmd\table_c.obj \ ++..\..\..\..\..\temp\cmd\table_d.obj \ ++..\..\..\..\..\temp\cmd\table_e.obj \ ++..\..\..\..\..\temp\cmd\table_f.obj \ ++..\..\..\..\..\temp\cmd\table_g.obj \ ++..\..\..\..\..\temp\cmd\table_h.obj \ ++..\..\..\..\..\temp\cmd\table_i.obj \ ++..\..\..\..\..\temp\cmd\table_j.obj \ ++..\..\..\..\..\temp\cmd\table_k.obj \ ++..\..\..\..\..\temp\cmd\table_l.obj \ ++..\..\..\..\..\temp\cmd\table_m.obj \ ++..\..\..\..\..\temp\cmd\table_n.obj \ ++..\..\..\..\..\temp\cmd\table_o.obj \ ++..\..\..\..\..\temp\cmd\table_p.obj \ ++..\..\..\..\..\temp\cmd\table_q.obj \ ++..\..\..\..\..\temp\cmd\table_r.obj \ ++..\..\..\..\..\temp\cmd\table_s.obj \ ++..\..\..\..\..\temp\cmd\table_t.obj \ ++..\..\..\..\..\temp\cmd\table_u.obj \ ++..\..\..\..\..\temp\cmd\table_v.obj \ ++..\..\..\..\..\temp\cmd\table_w.obj \ ++..\..\..\..\..\temp\cmd\table_x.obj \ ++..\..\..\..\..\temp\cmd\table_y.obj \ ++..\..\..\..\..\temp\cmd\table_z.obj \ ++..\..\..\..\..\temp\cmd\ta_utility.obj \ ++..\..\..\..\..\temp\cmd\ta_ACOS.obj \ ++..\..\..\..\..\temp\cmd\ta_AD.obj \ ++..\..\..\..\..\temp\cmd\ta_ADD.obj \ ++..\..\..\..\..\temp\cmd\ta_ADOSC.obj \ ++..\..\..\..\..\temp\cmd\ta_ADX.obj \ ++..\..\..\..\..\temp\cmd\ta_ADXR.obj \ ++..\..\..\..\..\temp\cmd\ta_APO.obj \ ++..\..\..\..\..\temp\cmd\ta_AROON.obj \ ++..\..\..\..\..\temp\cmd\ta_AROONOSC.obj \ ++..\..\..\..\..\temp\cmd\ta_ASIN.obj \ ++..\..\..\..\..\temp\cmd\ta_ATAN.obj \ ++..\..\..\..\..\temp\cmd\ta_ATR.obj \ ++..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj \ ++..\..\..\..\..\temp\cmd\ta_BBANDS.obj \ ++..\..\..\..\..\temp\cmd\ta_BETA.obj \ ++..\..\..\..\..\temp\cmd\ta_BOP.obj \ ++..\..\..\..\..\temp\cmd\ta_CCI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj \ ++..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj \ ++..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj \ ++..\..\..\..\..\temp\cmd\ta_CEIL.obj \ ++..\..\..\..\..\temp\cmd\ta_CMO.obj \ ++..\..\..\..\..\temp\cmd\ta_CORREL.obj \ ++..\..\..\..\..\temp\cmd\ta_COS.obj \ ++..\..\..\..\..\temp\cmd\ta_COSH.obj \ ++..\..\..\..\..\temp\cmd\ta_DEMA.obj \ ++..\..\..\..\..\temp\cmd\ta_DIV.obj \ ++..\..\..\..\..\temp\cmd\ta_DX.obj \ ++..\..\..\..\..\temp\cmd\ta_EMA.obj \ ++..\..\..\..\..\temp\cmd\ta_EXP.obj \ ++..\..\..\..\..\temp\cmd\ta_FLOOR.obj \ ++..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj \ ++..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj \ ++..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj \ ++..\..\..\..\..\temp\cmd\ta_HT_SINE.obj \ ++..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj \ ++..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj \ ++..\..\..\..\..\temp\cmd\ta_KAMA.obj \ ++..\..\..\..\..\temp\cmd\ta_LINEARREG.obj \ ++..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj \ ++..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj \ ++..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj \ ++..\..\..\..\..\temp\cmd\ta_LN.obj \ ++..\..\..\..\..\temp\cmd\ta_LOG10.obj \ ++..\..\..\..\..\temp\cmd\ta_MA.obj \ ++..\..\..\..\..\temp\cmd\ta_MACD.obj \ ++..\..\..\..\..\temp\cmd\ta_MACDEXT.obj \ ++..\..\..\..\..\temp\cmd\ta_MACDFIX.obj \ ++..\..\..\..\..\temp\cmd\ta_MAMA.obj \ ++..\..\..\..\..\temp\cmd\ta_MAVP.obj \ ++..\..\..\..\..\temp\cmd\ta_MAX.obj \ ++..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj \ ++..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj \ ++..\..\..\..\..\temp\cmd\ta_MFI.obj \ ++..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj \ ++..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj \ ++..\..\..\..\..\temp\cmd\ta_MIN.obj \ ++..\..\..\..\..\temp\cmd\ta_MININDEX.obj \ ++..\..\..\..\..\temp\cmd\ta_MINMAX.obj \ ++..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj \ ++..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj \ ++..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj \ ++..\..\..\..\..\temp\cmd\ta_MOM.obj \ ++..\..\..\..\..\temp\cmd\ta_MULT.obj \ ++..\..\..\..\..\temp\cmd\ta_NATR.obj \ ++..\..\..\..\..\temp\cmd\ta_OBV.obj \ ++..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj \ ++..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj \ ++..\..\..\..\..\temp\cmd\ta_PPO.obj \ ++..\..\..\..\..\temp\cmd\ta_ROC.obj \ ++..\..\..\..\..\temp\cmd\ta_ROCP.obj \ ++..\..\..\..\..\temp\cmd\ta_ROCR.obj \ ++..\..\..\..\..\temp\cmd\ta_ROCR100.obj \ ++..\..\..\..\..\temp\cmd\ta_RSI.obj \ ++..\..\..\..\..\temp\cmd\ta_SAR.obj \ ++..\..\..\..\..\temp\cmd\ta_SAREXT.obj \ ++..\..\..\..\..\temp\cmd\ta_SIN.obj \ ++..\..\..\..\..\temp\cmd\ta_SINH.obj \ ++..\..\..\..\..\temp\cmd\ta_SMA.obj \ ++..\..\..\..\..\temp\cmd\ta_SQRT.obj \ ++..\..\..\..\..\temp\cmd\ta_STDDEV.obj \ ++..\..\..\..\..\temp\cmd\ta_STOCH.obj \ ++..\..\..\..\..\temp\cmd\ta_STOCHF.obj \ ++..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj \ ++..\..\..\..\..\temp\cmd\ta_SUB.obj \ ++..\..\..\..\..\temp\cmd\ta_SUM.obj \ ++..\..\..\..\..\temp\cmd\ta_T3.obj \ ++..\..\..\..\..\temp\cmd\ta_TAN.obj \ ++..\..\..\..\..\temp\cmd\ta_TANH.obj \ ++..\..\..\..\..\temp\cmd\ta_TEMA.obj \ ++..\..\..\..\..\temp\cmd\ta_TRANGE.obj \ ++..\..\..\..\..\temp\cmd\ta_TRIMA.obj \ ++..\..\..\..\..\temp\cmd\ta_TRIX.obj \ ++..\..\..\..\..\temp\cmd\ta_TSF.obj \ ++..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj \ ++..\..\..\..\..\temp\cmd\ta_ULTOSC.obj \ ++..\..\..\..\..\temp\cmd\ta_VAR.obj \ ++..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj \ ++..\..\..\..\..\temp\cmd\ta_WILLR.obj \ ++..\..\..\..\..\temp\cmd\ta_WMA.obj \ ++,; + +moc: $(SRCMOC) + +tmake: ../cmd/win32/symantec/ta_libc/Makefile + +../cmd/win32/symantec/ta_libc/Makefile: ta_libc/ta_libc.pro + tmake ta_libc/ta_libc.pro -o ../cmd/win32/symantec/ta_libc/Makefile + +dist: + $(ZIP) ta_libc/ta_libc.zip ta_libc/ta_libc.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmd\ta_global.obj + -del ..\..\..\..\..\temp\cmd\ta_retcode.obj + -del ..\..\..\..\..\temp\cmd\ta_version.obj + -del ..\..\..\..\..\temp\cmd\ta_abstract.obj + -del ..\..\..\..\..\temp\cmd\ta_def_ui.obj + -del ..\..\..\..\..\temp\cmd\ta_func_api.obj + -del ..\..\..\..\..\temp\cmd\ta_group_idx.obj + -del ..\..\..\..\..\temp\cmd\ta_frame.obj + -del ..\..\..\..\..\temp\cmd\table_a.obj + -del ..\..\..\..\..\temp\cmd\table_b.obj + -del ..\..\..\..\..\temp\cmd\table_c.obj + -del ..\..\..\..\..\temp\cmd\table_d.obj + -del ..\..\..\..\..\temp\cmd\table_e.obj + -del ..\..\..\..\..\temp\cmd\table_f.obj + -del ..\..\..\..\..\temp\cmd\table_g.obj + -del ..\..\..\..\..\temp\cmd\table_h.obj + -del ..\..\..\..\..\temp\cmd\table_i.obj + -del ..\..\..\..\..\temp\cmd\table_j.obj + -del ..\..\..\..\..\temp\cmd\table_k.obj + -del ..\..\..\..\..\temp\cmd\table_l.obj + -del ..\..\..\..\..\temp\cmd\table_m.obj + -del ..\..\..\..\..\temp\cmd\table_n.obj + -del ..\..\..\..\..\temp\cmd\table_o.obj + -del ..\..\..\..\..\temp\cmd\table_p.obj + -del ..\..\..\..\..\temp\cmd\table_q.obj + -del ..\..\..\..\..\temp\cmd\table_r.obj + -del ..\..\..\..\..\temp\cmd\table_s.obj + -del ..\..\..\..\..\temp\cmd\table_t.obj + -del ..\..\..\..\..\temp\cmd\table_u.obj + -del ..\..\..\..\..\temp\cmd\table_v.obj + -del ..\..\..\..\..\temp\cmd\table_w.obj + -del ..\..\..\..\..\temp\cmd\table_x.obj + -del ..\..\..\..\..\temp\cmd\table_y.obj + -del ..\..\..\..\..\temp\cmd\table_z.obj + -del ..\..\..\..\..\temp\cmd\ta_utility.obj + -del ..\..\..\..\..\temp\cmd\ta_ACOS.obj + -del ..\..\..\..\..\temp\cmd\ta_AD.obj + -del ..\..\..\..\..\temp\cmd\ta_ADD.obj + -del ..\..\..\..\..\temp\cmd\ta_ADOSC.obj + -del ..\..\..\..\..\temp\cmd\ta_ADX.obj + -del ..\..\..\..\..\temp\cmd\ta_ADXR.obj + -del ..\..\..\..\..\temp\cmd\ta_APO.obj + -del ..\..\..\..\..\temp\cmd\ta_AROON.obj + -del ..\..\..\..\..\temp\cmd\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\cmd\ta_ASIN.obj + -del ..\..\..\..\..\temp\cmd\ta_ATAN.obj + -del ..\..\..\..\..\temp\cmd\ta_ATR.obj + -del ..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_BBANDS.obj + -del ..\..\..\..\..\temp\cmd\ta_BETA.obj + -del ..\..\..\..\..\temp\cmd\ta_BOP.obj + -del ..\..\..\..\..\temp\cmd\ta_CCI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\cmd\ta_CEIL.obj + -del ..\..\..\..\..\temp\cmd\ta_CMO.obj + -del ..\..\..\..\..\temp\cmd\ta_CORREL.obj + -del ..\..\..\..\..\temp\cmd\ta_COS.obj + -del ..\..\..\..\..\temp\cmd\ta_COSH.obj + -del ..\..\..\..\..\temp\cmd\ta_DEMA.obj + -del ..\..\..\..\..\temp\cmd\ta_DIV.obj + -del ..\..\..\..\..\temp\cmd\ta_DX.obj + -del ..\..\..\..\..\temp\cmd\ta_EMA.obj + -del ..\..\..\..\..\temp\cmd\ta_EXP.obj + -del ..\..\..\..\..\temp\cmd\ta_FLOOR.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\cmd\ta_KAMA.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\cmd\ta_LN.obj + -del ..\..\..\..\..\temp\cmd\ta_LOG10.obj + -del ..\..\..\..\..\temp\cmd\ta_MA.obj + -del ..\..\..\..\..\temp\cmd\ta_MACD.obj + -del ..\..\..\..\..\temp\cmd\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\cmd\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\cmd\ta_MAMA.obj + -del ..\..\..\..\..\temp\cmd\ta_MAVP.obj + -del ..\..\..\..\..\temp\cmd\ta_MAX.obj + -del ..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_MFI.obj + -del ..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_MIN.obj + -del ..\..\..\..\..\temp\cmd\ta_MININDEX.obj + -del ..\..\..\..\..\temp\cmd\ta_MINMAX.obj + -del ..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\cmd\ta_MOM.obj + -del ..\..\..\..\..\temp\cmd\ta_MULT.obj + -del ..\..\..\..\..\temp\cmd\ta_NATR.obj + -del ..\..\..\..\..\temp\cmd\ta_OBV.obj + -del ..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\cmd\ta_PPO.obj + -del ..\..\..\..\..\temp\cmd\ta_ROC.obj + -del ..\..\..\..\..\temp\cmd\ta_ROCP.obj + -del ..\..\..\..\..\temp\cmd\ta_ROCR.obj + -del ..\..\..\..\..\temp\cmd\ta_ROCR100.obj + -del ..\..\..\..\..\temp\cmd\ta_RSI.obj + -del ..\..\..\..\..\temp\cmd\ta_SAR.obj + -del ..\..\..\..\..\temp\cmd\ta_SAREXT.obj + -del ..\..\..\..\..\temp\cmd\ta_SIN.obj + -del ..\..\..\..\..\temp\cmd\ta_SINH.obj + -del ..\..\..\..\..\temp\cmd\ta_SMA.obj + -del ..\..\..\..\..\temp\cmd\ta_SQRT.obj + -del ..\..\..\..\..\temp\cmd\ta_STDDEV.obj + -del ..\..\..\..\..\temp\cmd\ta_STOCH.obj + -del ..\..\..\..\..\temp\cmd\ta_STOCHF.obj + -del ..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\cmd\ta_SUB.obj + -del ..\..\..\..\..\temp\cmd\ta_SUM.obj + -del ..\..\..\..\..\temp\cmd\ta_T3.obj + -del ..\..\..\..\..\temp\cmd\ta_TAN.obj + -del ..\..\..\..\..\temp\cmd\ta_TANH.obj + -del ..\..\..\..\..\temp\cmd\ta_TEMA.obj + -del ..\..\..\..\..\temp\cmd\ta_TRANGE.obj + -del ..\..\..\..\..\temp\cmd\ta_TRIMA.obj + -del ..\..\..\..\..\temp\cmd\ta_TRIX.obj + -del ..\..\..\..\..\temp\cmd\ta_TSF.obj + -del ..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\cmd\ta_VAR.obj + -del ..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_WILLR.obj + -del ..\..\..\..\..\temp\cmd\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + +####### Compile + +..\..\..\..\..\temp\cmd\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\cmd\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\cmd\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + +..\..\..\..\..\temp\cmd\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cmd\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cmd\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\cmd\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\cmd\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\cmd\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cmd\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cmd\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cmd\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cmd\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cmd\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cmd\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cmd\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cmd\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cmd\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cmd\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cmd\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cmd\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cmd\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cmd\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cmd\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cmd\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cmd\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cmd\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cmd\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cmd\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cmd\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cmd\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cmd\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cmd\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cmd\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + +..\..\..\..\..\temp\cmd\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\cmd\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\cmd\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\cmd\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\cmd\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\cmd\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\cmd\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\cmd\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\cmd\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\cmd\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\cmd\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\cmd\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\cmd\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\cmd\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\cmd\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\cmd\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\cmd\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\cmd\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\cmd\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\cmd\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\cmd\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\cmd\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\cmd\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\cmd\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\cmd\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\cmd\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\cmd\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\cmd\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\cmd\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\cmd\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\cmd\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\cmd\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\cmd\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\cmd\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\cmd\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\cmd\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\cmd\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\cmd\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\cmd\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\cmd\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\cmd\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\cmd\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\cmd\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\cmd\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\cmd\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\cmd\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\cmd\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\cmd\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\cmd\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\cmd\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\cmd\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\cmd\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\cmd\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\cmd\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\cmd\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\cmd\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\cmd\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\cmd\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\cmd\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\cmd\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\cmd\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\cmd\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\cmd\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\cmd\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\cmd\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\cmd\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\cmd\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\cmd\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\cmd\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\cmd\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\cmd\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\cmd\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\cmd\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\cmd\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\cmd\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\cmd\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/cmd/win32/symantec/ta_regtest/Makefile b/vendor/ta-lib/make/cmd/win32/symantec/ta_regtest/Makefile new file mode 100644 index 000000000..7afc32119 --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/symantec/ta_regtest/Makefile @@ -0,0 +1,229 @@ +############################################################################# +# Makefile for building ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = sc +CXX = sc +CFLAGS = -mn -w2 -g -DTA_DEBUG -D_DEBUG -DWIN32 +CXXFLAGS= -mn -w2 -g -DTA_DEBUG -D_DEBUG -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\tools\ta_regtest" -I"..\..\..\..\..\src\ta_func" -I"..\..\..\..\..\include" +LINK = link +LFLAGS = /NOLOGO /NOI /DEBUG /SUBSYSTEM:console +LIBS = ..\..\..\..\..\lib\ta_libc_cmd.lib +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_internals.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_util.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_data.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c +OBJECTS = ..\..\..\..\..\temp\cmd\ta_regtest.obj \ + ..\..\..\..\..\temp\cmd\test_candlestick.obj \ + ..\..\..\..\..\temp\cmd\test_1in_1out.obj \ + ..\..\..\..\..\temp\cmd\test_1in_2out.obj \ + ..\..\..\..\..\temp\cmd\test_internals.obj \ + ..\..\..\..\..\temp\cmd\test_adx.obj \ + ..\..\..\..\..\temp\cmd\test_bbands.obj \ + ..\..\..\..\..\temp\cmd\test_ma.obj \ + ..\..\..\..\..\temp\cmd\test_macd.obj \ + ..\..\..\..\..\temp\cmd\test_minmax.obj \ + ..\..\..\..\..\temp\cmd\test_mom.obj \ + ..\..\..\..\..\temp\cmd\test_per_ema.obj \ + ..\..\..\..\..\temp\cmd\test_per_hl.obj \ + ..\..\..\..\..\temp\cmd\test_per_hlc.obj \ + ..\..\..\..\..\temp\cmd\test_per_hlcv.obj \ + ..\..\..\..\..\temp\cmd\test_per_ohlc.obj \ + ..\..\..\..\..\temp\cmd\test_po.obj \ + ..\..\..\..\..\temp\cmd\test_rsi.obj \ + ..\..\..\..\..\temp\cmd\test_sar.obj \ + ..\..\..\..\..\temp\cmd\test_stddev.obj \ + ..\..\..\..\..\temp\cmd\test_stoch.obj \ + ..\..\..\..\..\temp\cmd\test_trange.obj \ + ..\..\..\..\..\temp\cmd\test_util.obj \ + ..\..\..\..\..\temp\cmd\test_data.obj \ + ..\..\..\..\..\temp\cmd\test_abstract.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\ta_regtest.exe + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) $(OBJECTS) $(OBJMOC), $(TARGET),, $(LIBS) + +moc: $(SRCMOC) + +tmake: ../cmd/win32/symantec/ta_regtest/Makefile + +../cmd/win32/symantec/ta_regtest/Makefile: ta_regtest/ta_regtest.pro + tmake ta_regtest/ta_regtest.pro -o ../cmd/win32/symantec/ta_regtest/Makefile + +dist: + $(ZIP) ta_regtest/ta_regtest.zip ta_regtest/ta_regtest.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmd\ta_regtest.obj + -del ..\..\..\..\..\temp\cmd\test_candlestick.obj + -del ..\..\..\..\..\temp\cmd\test_1in_1out.obj + -del ..\..\..\..\..\temp\cmd\test_1in_2out.obj + -del ..\..\..\..\..\temp\cmd\test_internals.obj + -del ..\..\..\..\..\temp\cmd\test_adx.obj + -del ..\..\..\..\..\temp\cmd\test_bbands.obj + -del ..\..\..\..\..\temp\cmd\test_ma.obj + -del ..\..\..\..\..\temp\cmd\test_macd.obj + -del ..\..\..\..\..\temp\cmd\test_minmax.obj + -del ..\..\..\..\..\temp\cmd\test_mom.obj + -del ..\..\..\..\..\temp\cmd\test_per_ema.obj + -del ..\..\..\..\..\temp\cmd\test_per_hl.obj + -del ..\..\..\..\..\temp\cmd\test_per_hlc.obj + -del ..\..\..\..\..\temp\cmd\test_per_hlcv.obj + -del ..\..\..\..\..\temp\cmd\test_per_ohlc.obj + -del ..\..\..\..\..\temp\cmd\test_po.obj + -del ..\..\..\..\..\temp\cmd\test_rsi.obj + -del ..\..\..\..\..\temp\cmd\test_sar.obj + -del ..\..\..\..\..\temp\cmd\test_stddev.obj + -del ..\..\..\..\..\temp\cmd\test_stoch.obj + -del ..\..\..\..\..\temp\cmd\test_trange.obj + -del ..\..\..\..\..\temp\cmd\test_util.obj + -del ..\..\..\..\..\temp\cmd\test_data.obj + -del ..\..\..\..\..\temp\cmd\test_abstract.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmd/*.pch + -del ../../../../../temp/cmd/*.idb + -del ../../../../../temp/cmd/ta_regtest/*.pch + -del ../../../../../temp/cmd/ta_regtest/*.idb + -del ../../../../../temp/cmd/ta_regtest/*.obj + +####### Compile + +..\..\..\..\..\temp\cmd\ta_regtest.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\ta_regtest.obj ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + +..\..\..\..\..\temp\cmd\test_candlestick.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_candlestick.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + +..\..\..\..\..\temp\cmd\test_1in_1out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_1in_1out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + +..\..\..\..\..\temp\cmd\test_1in_2out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_1in_2out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + +..\..\..\..\..\temp\cmd\test_internals.obj: ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_internals.obj ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + +..\..\..\..\..\temp\cmd\test_adx.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_adx.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + +..\..\..\..\..\temp\cmd\test_bbands.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_bbands.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + +..\..\..\..\..\temp\cmd\test_ma.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_ma.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + +..\..\..\..\..\temp\cmd\test_macd.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_macd.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + +..\..\..\..\..\temp\cmd\test_minmax.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_minmax.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + +..\..\..\..\..\temp\cmd\test_mom.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_mom.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + +..\..\..\..\..\temp\cmd\test_per_ema.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_per_ema.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + +..\..\..\..\..\temp\cmd\test_per_hl.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_per_hl.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + +..\..\..\..\..\temp\cmd\test_per_hlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_per_hlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + +..\..\..\..\..\temp\cmd\test_per_hlcv.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_per_hlcv.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + +..\..\..\..\..\temp\cmd\test_per_ohlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_per_ohlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + +..\..\..\..\..\temp\cmd\test_po.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_po.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + +..\..\..\..\..\temp\cmd\test_rsi.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_rsi.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + +..\..\..\..\..\temp\cmd\test_sar.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_sar.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + +..\..\..\..\..\temp\cmd\test_stddev.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_stddev.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + +..\..\..\..\..\temp\cmd\test_stoch.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_stoch.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + +..\..\..\..\..\temp\cmd\test_trange.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_trange.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + +..\..\..\..\..\temp\cmd\test_util.obj: ..\..\..\..\..\src\tools\ta_regtest\test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_util.obj ..\..\..\..\..\src\tools\ta_regtest\test_util.c + +..\..\..\..\..\temp\cmd\test_data.obj: ..\..\..\..\..\src\tools\ta_regtest\test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_data.obj ..\..\..\..\..\src\tools\ta_regtest\test_data.c + +..\..\..\..\..\temp\cmd\test_abstract.obj: ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmd\test_abstract.obj ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + diff --git a/vendor/ta-lib/make/cmd/win32/watcom/Makefile b/vendor/ta-lib/make/cmd/win32/watcom/Makefile new file mode 100644 index 000000000..db16ae002 --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/watcom/Makefile @@ -0,0 +1,97 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +ta_common: FORCE + cd ta_common + $(MAKE) + @cd .. + +ta_func: FORCE + cd ta_func + $(MAKE) + @cd .. + +ta_abstract: FORCE + cd ta_abstract + $(MAKE) + @cd .. + +ta_libc: FORCE + cd ta_libc + $(MAKE) + @cd .. + +gen_code: FORCE + cd gen_code + $(MAKE) + @cd .. + +ta_regtest: FORCE + cd ta_regtest + $(MAKE) + @cd .. + + +tmake: ../cmd/win32/watcom/Makefile + +../cmd/win32/watcom/Makefile: rootmake.pro + tmake rootmake.pro -o ../cmd/win32/watcom/Makefile + +tmake_all: + cd ta_common + $(TMAKE) ta_common.pro -o $(MAKEFILE) + @cd .. + cd ta_func + $(TMAKE) ta_func.pro -o $(MAKEFILE) + @cd .. + cd ta_abstract + $(TMAKE) ta_abstract.pro -o $(MAKEFILE) + @cd .. + cd ta_libc + $(TMAKE) ta_libc.pro -o $(MAKEFILE) + @cd .. + cd gen_code + $(TMAKE) gen_code.pro -o $(MAKEFILE) + @cd .. + cd ta_regtest + $(TMAKE) ta_regtest.pro -o $(MAKEFILE) + @cd .. + + +clean: + cd ta_common + $(MAKE) clean + @cd .. + cd ta_func + $(MAKE) clean + @cd .. + cd ta_abstract + $(MAKE) clean + @cd .. + cd ta_libc + $(MAKE) clean + @cd .. + cd gen_code + $(MAKE) clean + @cd .. + cd ta_regtest + $(MAKE) clean + @cd .. + +FORCE: diff --git a/vendor/ta-lib/make/cmd/win32/watcom/gen_code/Makefile b/vendor/ta-lib/make/cmd/win32/watcom/gen_code/Makefile new file mode 100644 index 000000000..ef93d9037 --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/watcom/gen_code/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = wcl386 +CXX = wcl386 +CFLAGS = -zq -w2 -d2 -d=TA_GEN_CODE -d=TA_DEBUG -d=_DEBUG -d=WIN32 +CXXFLAGS= -zq -w2 -d2 -d=TA_GEN_CODE -d=TA_DEBUG -d=_DEBUG -d=WIN32 +INCPATH = -i="..\..\..\..\..\include" -i="..\..\..\..\..\src\ta_common" -i="..\..\..\..\..\src\ta_abstract" -i="..\..\..\..\..\src\ta_abstract\tables" -i="..\..\..\..\..\src\ta_abstract\frames" +LINK = wlink +LFLAGS = op quiet op c d all sys nt +LIBS = ..\..\..\..\..\lib\ta_common_cmd.lib +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\gen_code\gen_code.c & + ..\..\..\..\..\src\ta_abstract\ta_abstract.c & + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c & + ..\..\..\..\..\src\ta_abstract\tables\table_a.c & + ..\..\..\..\..\src\ta_abstract\tables\table_b.c & + ..\..\..\..\..\src\ta_abstract\tables\table_c.c & + ..\..\..\..\..\src\ta_abstract\tables\table_d.c & + ..\..\..\..\..\src\ta_abstract\tables\table_e.c & + ..\..\..\..\..\src\ta_abstract\tables\table_f.c & + ..\..\..\..\..\src\ta_abstract\tables\table_g.c & + ..\..\..\..\..\src\ta_abstract\tables\table_h.c & + ..\..\..\..\..\src\ta_abstract\tables\table_i.c & + ..\..\..\..\..\src\ta_abstract\tables\table_j.c & + ..\..\..\..\..\src\ta_abstract\tables\table_k.c & + ..\..\..\..\..\src\ta_abstract\tables\table_l.c & + ..\..\..\..\..\src\ta_abstract\tables\table_m.c & + ..\..\..\..\..\src\ta_abstract\tables\table_n.c & + ..\..\..\..\..\src\ta_abstract\tables\table_o.c & + ..\..\..\..\..\src\ta_abstract\tables\table_p.c & + ..\..\..\..\..\src\ta_abstract\tables\table_q.c & + ..\..\..\..\..\src\ta_abstract\tables\table_r.c & + ..\..\..\..\..\src\ta_abstract\tables\table_s.c & + ..\..\..\..\..\src\ta_abstract\tables\table_t.c & + ..\..\..\..\..\src\ta_abstract\tables\table_u.c & + ..\..\..\..\..\src\ta_abstract\tables\table_v.c & + ..\..\..\..\..\src\ta_abstract\tables\table_w.c & + ..\..\..\..\..\src\ta_abstract\tables\table_x.c & + ..\..\..\..\..\src\ta_abstract\tables\table_y.c & + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\cmd\gen_code\gen_code.obj & + ..\..\..\..\..\temp\cmd\gen_code\ta_abstract.obj & + ..\..\..\..\..\temp\cmd\gen_code\ta_def_ui.obj & + ..\..\..\..\..\temp\cmd\gen_code\table_a.obj & + ..\..\..\..\..\temp\cmd\gen_code\table_b.obj & + ..\..\..\..\..\temp\cmd\gen_code\table_c.obj & + ..\..\..\..\..\temp\cmd\gen_code\table_d.obj & + ..\..\..\..\..\temp\cmd\gen_code\table_e.obj & + ..\..\..\..\..\temp\cmd\gen_code\table_f.obj & + ..\..\..\..\..\temp\cmd\gen_code\table_g.obj & + ..\..\..\..\..\temp\cmd\gen_code\table_h.obj & + ..\..\..\..\..\temp\cmd\gen_code\table_i.obj & + ..\..\..\..\..\temp\cmd\gen_code\table_j.obj & + ..\..\..\..\..\temp\cmd\gen_code\table_k.obj & + ..\..\..\..\..\temp\cmd\gen_code\table_l.obj & + ..\..\..\..\..\temp\cmd\gen_code\table_m.obj & + ..\..\..\..\..\temp\cmd\gen_code\table_n.obj & + ..\..\..\..\..\temp\cmd\gen_code\table_o.obj & + ..\..\..\..\..\temp\cmd\gen_code\table_p.obj & + ..\..\..\..\..\temp\cmd\gen_code\table_q.obj & + ..\..\..\..\..\temp\cmd\gen_code\table_r.obj & + ..\..\..\..\..\temp\cmd\gen_code\table_s.obj & + ..\..\..\..\..\temp\cmd\gen_code\table_t.obj & + ..\..\..\..\..\temp\cmd\gen_code\table_u.obj & + ..\..\..\..\..\temp\cmd\gen_code\table_v.obj & + ..\..\..\..\..\temp\cmd\gen_code\table_w.obj & + ..\..\..\..\..\temp\cmd\gen_code\table_x.obj & + ..\..\..\..\..\temp\cmd\gen_code\table_y.obj & + ..\..\..\..\..\temp\cmd\gen_code\table_z.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\gen_code.exe +TMPLIST = gen_code.lst + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + @%create $(TMPLIST) + @%append $(TMPLIST) NAME gen_code + @%append $(TMPLIST) FIL ..\..\..\..\..\temp\cmd\gen_code\gen_code.obj,..\..\..\..\..\temp\cmd\gen_code\ta_abstract.obj,..\..\..\..\..\temp\cmd\gen_code\ta_def_ui.obj,..\..\..\..\..\temp\cmd\gen_code\table_a.obj,..\..\..\..\..\temp\cmd\gen_code\table_b.obj,..\..\..\..\..\temp\cmd\gen_code\table_c.obj,..\..\..\..\..\temp\cmd\gen_code\table_d.obj,..\..\..\..\..\temp\cmd\gen_code\table_e.obj,..\..\..\..\..\temp\cmd\gen_code\table_f.obj,..\..\..\..\..\temp\cmd\gen_code\table_g.obj,..\..\..\..\..\temp\cmd\gen_code\table_h.obj,..\..\..\..\..\temp\cmd\gen_code\table_i.obj,..\..\..\..\..\temp\cmd\gen_code\table_j.obj,..\..\..\..\..\temp\cmd\gen_code\table_k.obj,..\..\..\..\..\temp\cmd\gen_code\table_l.obj,..\..\..\..\..\temp\cmd\gen_code\table_m.obj,..\..\..\..\..\temp\cmd\gen_code\table_n.obj,..\..\..\..\..\temp\cmd\gen_code\table_o.obj,..\..\..\..\..\temp\cmd\gen_code\table_p.obj,..\..\..\..\..\temp\cmd\gen_code\table_q.obj,..\..\..\..\..\temp\cmd\gen_code\table_r.obj,..\..\..\..\..\temp\cmd\gen_code\table_s.obj,..\..\..\..\..\temp\cmd\gen_code\table_t.obj,..\..\..\..\..\temp\cmd\gen_code\table_u.obj,..\..\..\..\..\temp\cmd\gen_code\table_v.obj,..\..\..\..\..\temp\cmd\gen_code\table_w.obj,..\..\..\..\..\temp\cmd\gen_code\table_x.obj,..\..\..\..\..\temp\cmd\gen_code\table_y.obj,..\..\..\..\..\temp\cmd\gen_code\table_z.obj + @%append $(TMPLIST) LIBR ..\..\..\..\..\lib\ta_common_cmd.lib + $(LINK) $(LFLAGS) @$(TMPLIST) + del $(TMPLIST) + +moc: $(SRCMOC) + +tmake: ../cmd/win32/watcom/gen_code/Makefile + +../cmd/win32/watcom/gen_code/Makefile: gen_code/gen_code.pro + tmake gen_code/gen_code.pro -o ../cmd/win32/watcom/gen_code/Makefile + +dist: + $(ZIP) gen_code/gen_code.zip gen_code/gen_code.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmd\gen_code\gen_code.obj + -del ..\..\..\..\..\temp\cmd\gen_code\ta_abstract.obj + -del ..\..\..\..\..\temp\cmd\gen_code\ta_def_ui.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_a.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_b.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_c.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_d.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_e.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_f.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_g.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_h.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_i.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_j.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_k.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_l.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_m.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_n.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_o.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_p.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_q.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_r.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_s.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_t.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_u.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_v.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_w.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_x.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_y.obj + -del ..\..\..\..\..\temp\cmd\gen_code\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmd/*.pch + -del ../../../../../temp/cmd/*.idb + -del ../../../../../temp/cmd/gen_code/*.pch + -del ../../../../../temp/cmd/gen_code/*.idb + -del ../../../../../temp/cmd/gen_code/*.obj + +####### Compile + +..\..\..\..\..\temp\cmd\gen_code\gen_code.obj: ..\..\..\..\..\src\tools\gen_code\gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\gen_code.obj ..\..\..\..\..\src\tools\gen_code\gen_code.c + +..\..\..\..\..\temp\cmd\gen_code\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cmd\gen_code\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cmd\gen_code\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cmd\gen_code\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cmd\gen_code\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cmd\gen_code\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cmd\gen_code\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cmd\gen_code\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cmd\gen_code\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cmd\gen_code\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cmd\gen_code\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cmd\gen_code\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cmd\gen_code\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cmd\gen_code\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cmd\gen_code\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cmd\gen_code\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cmd\gen_code\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cmd\gen_code\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cmd\gen_code\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cmd\gen_code\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cmd\gen_code\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cmd\gen_code\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cmd\gen_code\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cmd\gen_code\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cmd\gen_code\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cmd\gen_code\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cmd\gen_code\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cmd\gen_code\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\gen_code\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/cmd/win32/watcom/ta_abstract/Makefile b/vendor/ta-lib/make/cmd/win32/watcom/ta_abstract/Makefile new file mode 100644 index 000000000..1afdaf65b --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/watcom/ta_abstract/Makefile @@ -0,0 +1,251 @@ +############################################################################# +# Makefile for building ta_abstract_cmd +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = wcl386 +CXX = wcl386 +CFLAGS = -zq -w2 -d2 -d=TA_DEBUG -d=_DEBUG -d=WIN32 +CXXFLAGS= -zq -w2 -d2 -d=TA_DEBUG -d=_DEBUG -d=WIN32 +INCPATH = -i="..\..\..\..\..\src\ta_common" -i="..\..\..\..\..\src\ta_abstract" -i="..\..\..\..\..\src\ta_abstract\tables" -i="..\..\..\..\..\src\ta_abstract\frames" -i="..\..\..\..\..\include" +LIB = wlib -b -c -n -q -p=512 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_abstract\ta_abstract.c & + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c & + ..\..\..\..\..\src\ta_abstract\ta_func_api.c & + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c & + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c & + ..\..\..\..\..\src\ta_abstract\tables\table_a.c & + ..\..\..\..\..\src\ta_abstract\tables\table_b.c & + ..\..\..\..\..\src\ta_abstract\tables\table_c.c & + ..\..\..\..\..\src\ta_abstract\tables\table_d.c & + ..\..\..\..\..\src\ta_abstract\tables\table_e.c & + ..\..\..\..\..\src\ta_abstract\tables\table_f.c & + ..\..\..\..\..\src\ta_abstract\tables\table_g.c & + ..\..\..\..\..\src\ta_abstract\tables\table_h.c & + ..\..\..\..\..\src\ta_abstract\tables\table_i.c & + ..\..\..\..\..\src\ta_abstract\tables\table_j.c & + ..\..\..\..\..\src\ta_abstract\tables\table_k.c & + ..\..\..\..\..\src\ta_abstract\tables\table_l.c & + ..\..\..\..\..\src\ta_abstract\tables\table_m.c & + ..\..\..\..\..\src\ta_abstract\tables\table_n.c & + ..\..\..\..\..\src\ta_abstract\tables\table_o.c & + ..\..\..\..\..\src\ta_abstract\tables\table_p.c & + ..\..\..\..\..\src\ta_abstract\tables\table_q.c & + ..\..\..\..\..\src\ta_abstract\tables\table_r.c & + ..\..\..\..\..\src\ta_abstract\tables\table_s.c & + ..\..\..\..\..\src\ta_abstract\tables\table_t.c & + ..\..\..\..\..\src\ta_abstract\tables\table_u.c & + ..\..\..\..\..\src\ta_abstract\tables\table_v.c & + ..\..\..\..\..\src\ta_abstract\tables\table_w.c & + ..\..\..\..\..\src\ta_abstract\tables\table_x.c & + ..\..\..\..\..\src\ta_abstract\tables\table_y.c & + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\cmd\ta_abstract.obj & + ..\..\..\..\..\temp\cmd\ta_def_ui.obj & + ..\..\..\..\..\temp\cmd\ta_func_api.obj & + ..\..\..\..\..\temp\cmd\ta_group_idx.obj & + ..\..\..\..\..\temp\cmd\ta_frame.obj & + ..\..\..\..\..\temp\cmd\table_a.obj & + ..\..\..\..\..\temp\cmd\table_b.obj & + ..\..\..\..\..\temp\cmd\table_c.obj & + ..\..\..\..\..\temp\cmd\table_d.obj & + ..\..\..\..\..\temp\cmd\table_e.obj & + ..\..\..\..\..\temp\cmd\table_f.obj & + ..\..\..\..\..\temp\cmd\table_g.obj & + ..\..\..\..\..\temp\cmd\table_h.obj & + ..\..\..\..\..\temp\cmd\table_i.obj & + ..\..\..\..\..\temp\cmd\table_j.obj & + ..\..\..\..\..\temp\cmd\table_k.obj & + ..\..\..\..\..\temp\cmd\table_l.obj & + ..\..\..\..\..\temp\cmd\table_m.obj & + ..\..\..\..\..\temp\cmd\table_n.obj & + ..\..\..\..\..\temp\cmd\table_o.obj & + ..\..\..\..\..\temp\cmd\table_p.obj & + ..\..\..\..\..\temp\cmd\table_q.obj & + ..\..\..\..\..\temp\cmd\table_r.obj & + ..\..\..\..\..\temp\cmd\table_s.obj & + ..\..\..\..\..\temp\cmd\table_t.obj & + ..\..\..\..\..\temp\cmd\table_u.obj & + ..\..\..\..\..\temp\cmd\table_v.obj & + ..\..\..\..\..\temp\cmd\table_w.obj & + ..\..\..\..\..\temp\cmd\table_x.obj & + ..\..\..\..\..\temp\cmd\table_y.obj & + ..\..\..\..\..\temp\cmd\table_z.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_abstract_cmd.lib +TMPLIST = ta_abstract_cmd.lst + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + @%create $(TMPLIST) + @for %i in ( $(OBJECTS) $(OBJMOC) ) do @%append $(TMPLIST) +'%i' + $(LIB) $(TARGET) @$(TMPLIST) + del $(TMPLIST) + +moc: $(SRCMOC) + +tmake: ../cmd/win32/watcom/ta_abstract/Makefile + +../cmd/win32/watcom/ta_abstract/Makefile: ta_abstract/ta_abstract.pro + tmake ta_abstract/ta_abstract.pro -o ../cmd/win32/watcom/ta_abstract/Makefile + +dist: + $(ZIP) ta_abstract/ta_abstract.zip ta_abstract/ta_abstract.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmd\ta_abstract.obj + -del ..\..\..\..\..\temp\cmd\ta_def_ui.obj + -del ..\..\..\..\..\temp\cmd\ta_func_api.obj + -del ..\..\..\..\..\temp\cmd\ta_group_idx.obj + -del ..\..\..\..\..\temp\cmd\ta_frame.obj + -del ..\..\..\..\..\temp\cmd\table_a.obj + -del ..\..\..\..\..\temp\cmd\table_b.obj + -del ..\..\..\..\..\temp\cmd\table_c.obj + -del ..\..\..\..\..\temp\cmd\table_d.obj + -del ..\..\..\..\..\temp\cmd\table_e.obj + -del ..\..\..\..\..\temp\cmd\table_f.obj + -del ..\..\..\..\..\temp\cmd\table_g.obj + -del ..\..\..\..\..\temp\cmd\table_h.obj + -del ..\..\..\..\..\temp\cmd\table_i.obj + -del ..\..\..\..\..\temp\cmd\table_j.obj + -del ..\..\..\..\..\temp\cmd\table_k.obj + -del ..\..\..\..\..\temp\cmd\table_l.obj + -del ..\..\..\..\..\temp\cmd\table_m.obj + -del ..\..\..\..\..\temp\cmd\table_n.obj + -del ..\..\..\..\..\temp\cmd\table_o.obj + -del ..\..\..\..\..\temp\cmd\table_p.obj + -del ..\..\..\..\..\temp\cmd\table_q.obj + -del ..\..\..\..\..\temp\cmd\table_r.obj + -del ..\..\..\..\..\temp\cmd\table_s.obj + -del ..\..\..\..\..\temp\cmd\table_t.obj + -del ..\..\..\..\..\temp\cmd\table_u.obj + -del ..\..\..\..\..\temp\cmd\table_v.obj + -del ..\..\..\..\..\temp\cmd\table_w.obj + -del ..\..\..\..\..\temp\cmd\table_x.obj + -del ..\..\..\..\..\temp\cmd\table_y.obj + -del ..\..\..\..\..\temp\cmd\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmd/*.pch + -del ../../../../../temp/cmd/*.idb + -del ../../../../../temp/cmd/ta_abstract/*.pch + -del ../../../../../temp/cmd/ta_abstract/*.idb + -del ../../../../../temp/cmd/ta_abstract/*.obj + +####### Compile + +..\..\..\..\..\temp\cmd\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cmd\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cmd\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\cmd\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\cmd\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\cmd\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cmd\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cmd\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cmd\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cmd\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cmd\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cmd\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cmd\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cmd\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cmd\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cmd\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cmd\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cmd\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cmd\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cmd\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cmd\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cmd\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cmd\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cmd\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cmd\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cmd\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cmd\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cmd\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cmd\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cmd\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cmd\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/cmd/win32/watcom/ta_common/Makefile b/vendor/ta-lib/make/cmd/win32/watcom/ta_common/Makefile new file mode 100644 index 000000000..4912e74d0 --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/watcom/ta_common/Makefile @@ -0,0 +1,83 @@ +############################################################################# +# Makefile for building ta_common_cmd +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = wcl386 +CXX = wcl386 +CFLAGS = -zq -w2 -d2 -d=TA_DEBUG -d=_DEBUG -d=WIN32 +CXXFLAGS= -zq -w2 -d2 -d=TA_DEBUG -d=_DEBUG -d=WIN32 +INCPATH = -i="..\..\..\..\..\src\ta_common" -i="..\..\..\..\..\include" +LIB = wlib -b -c -n -q -p=512 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c & + ..\..\..\..\..\src\ta_common\ta_retcode.c & + ..\..\..\..\..\src\ta_common\ta_version.c +OBJECTS = ..\..\..\..\..\temp\cmd\ta_global.obj & + ..\..\..\..\..\temp\cmd\ta_retcode.obj & + ..\..\..\..\..\temp\cmd\ta_version.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_common_cmd.lib +TMPLIST = ta_common_cmd.lst + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + @%create $(TMPLIST) + @for %i in ( $(OBJECTS) $(OBJMOC) ) do @%append $(TMPLIST) +'%i' + $(LIB) $(TARGET) @$(TMPLIST) + del $(TMPLIST) + +moc: $(SRCMOC) + +tmake: ../cmd/win32/watcom/ta_common/Makefile + +../cmd/win32/watcom/ta_common/Makefile: ta_common/ta_common.pro + tmake ta_common/ta_common.pro -o ../cmd/win32/watcom/ta_common/Makefile + +dist: + $(ZIP) ta_common/ta_common.zip ta_common/ta_common.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmd\ta_global.obj + -del ..\..\..\..\..\temp\cmd\ta_retcode.obj + -del ..\..\..\..\..\temp\cmd\ta_version.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmd/*.pch + -del ../../../../../temp/cmd/*.idb + -del ../../../../../temp/cmd/ta_common_cmd/*.pch + -del ../../../../../temp/cmd/ta_common_cmd/*.idb + -del ../../../../../temp/cmd/ta_common_cmd/*.obj + +####### Compile + +..\..\..\..\..\temp\cmd\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\cmd\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\cmd\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + diff --git a/vendor/ta-lib/make/cmd/win32/watcom/ta_func/Makefile b/vendor/ta-lib/make/cmd/win32/watcom/ta_func/Makefile new file mode 100644 index 000000000..a0b7c1cd1 --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/watcom/ta_func/Makefile @@ -0,0 +1,1019 @@ +############################################################################# +# Makefile for building ta_func_cmd +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = wcl386 +CXX = wcl386 +CFLAGS = -zq -w2 -d2 -d=TA_DEBUG -d=_DEBUG -d=WIN32 +CXXFLAGS= -zq -w2 -d2 -d=TA_DEBUG -d=_DEBUG -d=WIN32 +INCPATH = -i="..\..\..\..\..\src\ta_common" -i="\n" -i="..\..\..\..\..\include" +LIB = wlib -b -c -n -q -p=512 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_func\ta_utility.c & + ..\..\..\..\..\src\ta_func\ta_ACOS.c & + ..\..\..\..\..\src\ta_func\ta_AD.c & + ..\..\..\..\..\src\ta_func\ta_ADD.c & + ..\..\..\..\..\src\ta_func\ta_ADOSC.c & + ..\..\..\..\..\src\ta_func\ta_ADX.c & + ..\..\..\..\..\src\ta_func\ta_ADXR.c & + ..\..\..\..\..\src\ta_func\ta_APO.c & + ..\..\..\..\..\src\ta_func\ta_AROON.c & + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c & + ..\..\..\..\..\src\ta_func\ta_ASIN.c & + ..\..\..\..\..\src\ta_func\ta_ATAN.c & + ..\..\..\..\..\src\ta_func\ta_ATR.c & + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c & + ..\..\..\..\..\src\ta_func\ta_BBANDS.c & + ..\..\..\..\..\src\ta_func\ta_BETA.c & + ..\..\..\..\..\src\ta_func\ta_BOP.c & + ..\..\..\..\..\src\ta_func\ta_CCI.c & + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c & + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c & + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c & + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c & + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c & + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c & + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c & + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c & + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c & + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c & + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c & + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c & + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c & + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c & + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c & + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c & + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c & + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c & + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c & + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c & + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c & + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c & + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c & + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c & + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c & + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c & + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c & + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c & + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c & + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c & + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c & + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c & + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c & + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c & + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c & + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c & + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c & + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c & + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c & + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c & + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c & + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c & + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c & + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c & + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c & + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c & + ..\..\..\..\..\src\ta_func\ta_CEIL.c & + ..\..\..\..\..\src\ta_func\ta_CMO.c & + ..\..\..\..\..\src\ta_func\ta_CORREL.c & + ..\..\..\..\..\src\ta_func\ta_COS.c & + ..\..\..\..\..\src\ta_func\ta_COSH.c & + ..\..\..\..\..\src\ta_func\ta_DEMA.c & + ..\..\..\..\..\src\ta_func\ta_DIV.c & + ..\..\..\..\..\src\ta_func\ta_DX.c & + ..\..\..\..\..\src\ta_func\ta_EMA.c & + ..\..\..\..\..\src\ta_func\ta_EXP.c & + ..\..\..\..\..\src\ta_func\ta_FLOOR.c & + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c & + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c & + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c & + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c & + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c & + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c & + ..\..\..\..\..\src\ta_func\ta_KAMA.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c & + ..\..\..\..\..\src\ta_func\ta_LN.c & + ..\..\..\..\..\src\ta_func\ta_LOG10.c & + ..\..\..\..\..\src\ta_func\ta_MA.c & + ..\..\..\..\..\src\ta_func\ta_MACD.c & + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c & + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c & + ..\..\..\..\..\src\ta_func\ta_MAMA.c & + ..\..\..\..\..\src\ta_func\ta_MAVP.c & + ..\..\..\..\..\src\ta_func\ta_MAX.c & + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c & + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c & + ..\..\..\..\..\src\ta_func\ta_MFI.c & + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c & + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c & + ..\..\..\..\..\src\ta_func\ta_MIN.c & + ..\..\..\..\..\src\ta_func\ta_MININDEX.c & + ..\..\..\..\..\src\ta_func\ta_MINMAX.c & + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c & + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c & + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c & + ..\..\..\..\..\src\ta_func\ta_MOM.c & + ..\..\..\..\..\src\ta_func\ta_MULT.c & + ..\..\..\..\..\src\ta_func\ta_NATR.c & + ..\..\..\..\..\src\ta_func\ta_OBV.c & + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c & + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c & + ..\..\..\..\..\src\ta_func\ta_PPO.c & + ..\..\..\..\..\src\ta_func\ta_ROC.c & + ..\..\..\..\..\src\ta_func\ta_ROCP.c & + ..\..\..\..\..\src\ta_func\ta_ROCR.c & + ..\..\..\..\..\src\ta_func\ta_ROCR100.c & + ..\..\..\..\..\src\ta_func\ta_RSI.c & + ..\..\..\..\..\src\ta_func\ta_SAR.c & + ..\..\..\..\..\src\ta_func\ta_SAREXT.c & + ..\..\..\..\..\src\ta_func\ta_SIN.c & + ..\..\..\..\..\src\ta_func\ta_SINH.c & + ..\..\..\..\..\src\ta_func\ta_SMA.c & + ..\..\..\..\..\src\ta_func\ta_SQRT.c & + ..\..\..\..\..\src\ta_func\ta_STDDEV.c & + ..\..\..\..\..\src\ta_func\ta_STOCH.c & + ..\..\..\..\..\src\ta_func\ta_STOCHF.c & + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c & + ..\..\..\..\..\src\ta_func\ta_SUB.c & + ..\..\..\..\..\src\ta_func\ta_SUM.c & + ..\..\..\..\..\src\ta_func\ta_T3.c & + ..\..\..\..\..\src\ta_func\ta_TAN.c & + ..\..\..\..\..\src\ta_func\ta_TANH.c & + ..\..\..\..\..\src\ta_func\ta_TEMA.c & + ..\..\..\..\..\src\ta_func\ta_TRANGE.c & + ..\..\..\..\..\src\ta_func\ta_TRIMA.c & + ..\..\..\..\..\src\ta_func\ta_TRIX.c & + ..\..\..\..\..\src\ta_func\ta_TSF.c & + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c & + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c & + ..\..\..\..\..\src\ta_func\ta_VAR.c & + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c & + ..\..\..\..\..\src\ta_func\ta_WILLR.c & + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\cmd\ta_utility.obj & + ..\..\..\..\..\temp\cmd\ta_ACOS.obj & + ..\..\..\..\..\temp\cmd\ta_AD.obj & + ..\..\..\..\..\temp\cmd\ta_ADD.obj & + ..\..\..\..\..\temp\cmd\ta_ADOSC.obj & + ..\..\..\..\..\temp\cmd\ta_ADX.obj & + ..\..\..\..\..\temp\cmd\ta_ADXR.obj & + ..\..\..\..\..\temp\cmd\ta_APO.obj & + ..\..\..\..\..\temp\cmd\ta_AROON.obj & + ..\..\..\..\..\temp\cmd\ta_AROONOSC.obj & + ..\..\..\..\..\temp\cmd\ta_ASIN.obj & + ..\..\..\..\..\temp\cmd\ta_ATAN.obj & + ..\..\..\..\..\temp\cmd\ta_ATR.obj & + ..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj & + ..\..\..\..\..\temp\cmd\ta_BBANDS.obj & + ..\..\..\..\..\temp\cmd\ta_BETA.obj & + ..\..\..\..\..\temp\cmd\ta_BOP.obj & + ..\..\..\..\..\temp\cmd\ta_CCI.obj & + ..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj & + ..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj & + ..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj & + ..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj & + ..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj & + ..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj & + ..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj & + ..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj & + ..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj & + ..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj & + ..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj & + ..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj & + ..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj & + ..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj & + ..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj & + ..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj & + ..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj & + ..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj & + ..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj & + ..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj & + ..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj & + ..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj & + ..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj & + ..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj & + ..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj & + ..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj & + ..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj & + ..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj & + ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj & + ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj & + ..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj & + ..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj & + ..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj & + ..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj & + ..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj & + ..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj & + ..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj & + ..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj & + ..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj & + ..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj & + ..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj & + ..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj & + ..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj & + ..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj & + ..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj & + ..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj & + ..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj & + ..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj & + ..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj & + ..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj & + ..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj & + ..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj & + ..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj & + ..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj & + ..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj & + ..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj & + ..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj & + ..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj & + ..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj & + ..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj & + ..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj & + ..\..\..\..\..\temp\cmd\ta_CEIL.obj & + ..\..\..\..\..\temp\cmd\ta_CMO.obj & + ..\..\..\..\..\temp\cmd\ta_CORREL.obj & + ..\..\..\..\..\temp\cmd\ta_COS.obj & + ..\..\..\..\..\temp\cmd\ta_COSH.obj & + ..\..\..\..\..\temp\cmd\ta_DEMA.obj & + ..\..\..\..\..\temp\cmd\ta_DIV.obj & + ..\..\..\..\..\temp\cmd\ta_DX.obj & + ..\..\..\..\..\temp\cmd\ta_EMA.obj & + ..\..\..\..\..\temp\cmd\ta_EXP.obj & + ..\..\..\..\..\temp\cmd\ta_FLOOR.obj & + ..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj & + ..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj & + ..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj & + ..\..\..\..\..\temp\cmd\ta_HT_SINE.obj & + ..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj & + ..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj & + ..\..\..\..\..\temp\cmd\ta_KAMA.obj & + ..\..\..\..\..\temp\cmd\ta_LINEARREG.obj & + ..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj & + ..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj & + ..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj & + ..\..\..\..\..\temp\cmd\ta_LN.obj & + ..\..\..\..\..\temp\cmd\ta_LOG10.obj & + ..\..\..\..\..\temp\cmd\ta_MA.obj & + ..\..\..\..\..\temp\cmd\ta_MACD.obj & + ..\..\..\..\..\temp\cmd\ta_MACDEXT.obj & + ..\..\..\..\..\temp\cmd\ta_MACDFIX.obj & + ..\..\..\..\..\temp\cmd\ta_MAMA.obj & + ..\..\..\..\..\temp\cmd\ta_MAVP.obj & + ..\..\..\..\..\temp\cmd\ta_MAX.obj & + ..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj & + ..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj & + ..\..\..\..\..\temp\cmd\ta_MFI.obj & + ..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj & + ..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj & + ..\..\..\..\..\temp\cmd\ta_MIN.obj & + ..\..\..\..\..\temp\cmd\ta_MININDEX.obj & + ..\..\..\..\..\temp\cmd\ta_MINMAX.obj & + ..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj & + ..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj & + ..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj & + ..\..\..\..\..\temp\cmd\ta_MOM.obj & + ..\..\..\..\..\temp\cmd\ta_MULT.obj & + ..\..\..\..\..\temp\cmd\ta_NATR.obj & + ..\..\..\..\..\temp\cmd\ta_OBV.obj & + ..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj & + ..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj & + ..\..\..\..\..\temp\cmd\ta_PPO.obj & + ..\..\..\..\..\temp\cmd\ta_ROC.obj & + ..\..\..\..\..\temp\cmd\ta_ROCP.obj & + ..\..\..\..\..\temp\cmd\ta_ROCR.obj & + ..\..\..\..\..\temp\cmd\ta_ROCR100.obj & + ..\..\..\..\..\temp\cmd\ta_RSI.obj & + ..\..\..\..\..\temp\cmd\ta_SAR.obj & + ..\..\..\..\..\temp\cmd\ta_SAREXT.obj & + ..\..\..\..\..\temp\cmd\ta_SIN.obj & + ..\..\..\..\..\temp\cmd\ta_SINH.obj & + ..\..\..\..\..\temp\cmd\ta_SMA.obj & + ..\..\..\..\..\temp\cmd\ta_SQRT.obj & + ..\..\..\..\..\temp\cmd\ta_STDDEV.obj & + ..\..\..\..\..\temp\cmd\ta_STOCH.obj & + ..\..\..\..\..\temp\cmd\ta_STOCHF.obj & + ..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj & + ..\..\..\..\..\temp\cmd\ta_SUB.obj & + ..\..\..\..\..\temp\cmd\ta_SUM.obj & + ..\..\..\..\..\temp\cmd\ta_T3.obj & + ..\..\..\..\..\temp\cmd\ta_TAN.obj & + ..\..\..\..\..\temp\cmd\ta_TANH.obj & + ..\..\..\..\..\temp\cmd\ta_TEMA.obj & + ..\..\..\..\..\temp\cmd\ta_TRANGE.obj & + ..\..\..\..\..\temp\cmd\ta_TRIMA.obj & + ..\..\..\..\..\temp\cmd\ta_TRIX.obj & + ..\..\..\..\..\temp\cmd\ta_TSF.obj & + ..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj & + ..\..\..\..\..\temp\cmd\ta_ULTOSC.obj & + ..\..\..\..\..\temp\cmd\ta_VAR.obj & + ..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj & + ..\..\..\..\..\temp\cmd\ta_WILLR.obj & + ..\..\..\..\..\temp\cmd\ta_WMA.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_func_cmd.lib +TMPLIST = ta_func_cmd.lst + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + @%create $(TMPLIST) + @for %i in ( $(OBJECTS) $(OBJMOC) ) do @%append $(TMPLIST) +'%i' + $(LIB) $(TARGET) @$(TMPLIST) + del $(TMPLIST) + +moc: $(SRCMOC) + +tmake: ../cmd/win32/watcom/ta_func/Makefile + +../cmd/win32/watcom/ta_func/Makefile: ta_func/ta_func.pro + tmake ta_func/ta_func.pro -o ../cmd/win32/watcom/ta_func/Makefile + +dist: + $(ZIP) ta_func/ta_func.zip ta_func/ta_func.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmd\ta_utility.obj + -del ..\..\..\..\..\temp\cmd\ta_ACOS.obj + -del ..\..\..\..\..\temp\cmd\ta_AD.obj + -del ..\..\..\..\..\temp\cmd\ta_ADD.obj + -del ..\..\..\..\..\temp\cmd\ta_ADOSC.obj + -del ..\..\..\..\..\temp\cmd\ta_ADX.obj + -del ..\..\..\..\..\temp\cmd\ta_ADXR.obj + -del ..\..\..\..\..\temp\cmd\ta_APO.obj + -del ..\..\..\..\..\temp\cmd\ta_AROON.obj + -del ..\..\..\..\..\temp\cmd\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\cmd\ta_ASIN.obj + -del ..\..\..\..\..\temp\cmd\ta_ATAN.obj + -del ..\..\..\..\..\temp\cmd\ta_ATR.obj + -del ..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_BBANDS.obj + -del ..\..\..\..\..\temp\cmd\ta_BETA.obj + -del ..\..\..\..\..\temp\cmd\ta_BOP.obj + -del ..\..\..\..\..\temp\cmd\ta_CCI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\cmd\ta_CEIL.obj + -del ..\..\..\..\..\temp\cmd\ta_CMO.obj + -del ..\..\..\..\..\temp\cmd\ta_CORREL.obj + -del ..\..\..\..\..\temp\cmd\ta_COS.obj + -del ..\..\..\..\..\temp\cmd\ta_COSH.obj + -del ..\..\..\..\..\temp\cmd\ta_DEMA.obj + -del ..\..\..\..\..\temp\cmd\ta_DIV.obj + -del ..\..\..\..\..\temp\cmd\ta_DX.obj + -del ..\..\..\..\..\temp\cmd\ta_EMA.obj + -del ..\..\..\..\..\temp\cmd\ta_EXP.obj + -del ..\..\..\..\..\temp\cmd\ta_FLOOR.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\cmd\ta_KAMA.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\cmd\ta_LN.obj + -del ..\..\..\..\..\temp\cmd\ta_LOG10.obj + -del ..\..\..\..\..\temp\cmd\ta_MA.obj + -del ..\..\..\..\..\temp\cmd\ta_MACD.obj + -del ..\..\..\..\..\temp\cmd\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\cmd\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\cmd\ta_MAMA.obj + -del ..\..\..\..\..\temp\cmd\ta_MAVP.obj + -del ..\..\..\..\..\temp\cmd\ta_MAX.obj + -del ..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_MFI.obj + -del ..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_MIN.obj + -del ..\..\..\..\..\temp\cmd\ta_MININDEX.obj + -del ..\..\..\..\..\temp\cmd\ta_MINMAX.obj + -del ..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\cmd\ta_MOM.obj + -del ..\..\..\..\..\temp\cmd\ta_MULT.obj + -del ..\..\..\..\..\temp\cmd\ta_NATR.obj + -del ..\..\..\..\..\temp\cmd\ta_OBV.obj + -del ..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\cmd\ta_PPO.obj + -del ..\..\..\..\..\temp\cmd\ta_ROC.obj + -del ..\..\..\..\..\temp\cmd\ta_ROCP.obj + -del ..\..\..\..\..\temp\cmd\ta_ROCR.obj + -del ..\..\..\..\..\temp\cmd\ta_ROCR100.obj + -del ..\..\..\..\..\temp\cmd\ta_RSI.obj + -del ..\..\..\..\..\temp\cmd\ta_SAR.obj + -del ..\..\..\..\..\temp\cmd\ta_SAREXT.obj + -del ..\..\..\..\..\temp\cmd\ta_SIN.obj + -del ..\..\..\..\..\temp\cmd\ta_SINH.obj + -del ..\..\..\..\..\temp\cmd\ta_SMA.obj + -del ..\..\..\..\..\temp\cmd\ta_SQRT.obj + -del ..\..\..\..\..\temp\cmd\ta_STDDEV.obj + -del ..\..\..\..\..\temp\cmd\ta_STOCH.obj + -del ..\..\..\..\..\temp\cmd\ta_STOCHF.obj + -del ..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\cmd\ta_SUB.obj + -del ..\..\..\..\..\temp\cmd\ta_SUM.obj + -del ..\..\..\..\..\temp\cmd\ta_T3.obj + -del ..\..\..\..\..\temp\cmd\ta_TAN.obj + -del ..\..\..\..\..\temp\cmd\ta_TANH.obj + -del ..\..\..\..\..\temp\cmd\ta_TEMA.obj + -del ..\..\..\..\..\temp\cmd\ta_TRANGE.obj + -del ..\..\..\..\..\temp\cmd\ta_TRIMA.obj + -del ..\..\..\..\..\temp\cmd\ta_TRIX.obj + -del ..\..\..\..\..\temp\cmd\ta_TSF.obj + -del ..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\cmd\ta_VAR.obj + -del ..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_WILLR.obj + -del ..\..\..\..\..\temp\cmd\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmd/*.pch + -del ../../../../../temp/cmd/*.idb + -del ../../../../../temp/cmd/ta_func/*.pch + -del ../../../../../temp/cmd/ta_func/*.idb + -del ../../../../../temp/cmd/ta_func/*.obj + +####### Compile + +..\..\..\..\..\temp\cmd\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\cmd\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\cmd\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\cmd\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\cmd\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\cmd\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\cmd\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\cmd\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\cmd\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\cmd\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\cmd\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\cmd\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\cmd\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\cmd\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\cmd\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\cmd\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\cmd\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\cmd\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\cmd\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\cmd\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\cmd\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\cmd\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\cmd\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\cmd\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\cmd\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\cmd\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\cmd\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\cmd\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\cmd\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\cmd\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\cmd\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\cmd\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\cmd\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\cmd\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\cmd\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\cmd\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\cmd\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\cmd\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\cmd\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\cmd\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\cmd\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\cmd\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\cmd\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\cmd\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\cmd\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\cmd\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\cmd\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\cmd\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\cmd\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\cmd\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\cmd\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\cmd\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\cmd\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\cmd\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\cmd\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\cmd\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\cmd\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\cmd\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\cmd\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\cmd\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\cmd\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\cmd\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\cmd\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\cmd\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\cmd\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\cmd\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\cmd\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\cmd\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\cmd\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\cmd\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\cmd\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\cmd\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\cmd\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\cmd\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\cmd\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\cmd\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/cmd/win32/watcom/ta_libc/Makefile b/vendor/ta-lib/make/cmd/win32/watcom/ta_libc/Makefile new file mode 100644 index 000000000..ad2622ff2 --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/watcom/ta_libc/Makefile @@ -0,0 +1,1219 @@ +############################################################################# +# Makefile for building ta_libc_cmd +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +QTDIR = +CC = wcl386 +CXX = wcl386 +CFLAGS = -zq -w2 -d2 -d=TA_DEBUG -d=_DEBUG -d=WIN32 +CXXFLAGS= -zq -w2 -d2 -d=TA_DEBUG -d=_DEBUG -d=WIN32 +INCPATH = -i="..\..\..\..\..\src\ta_common" -i="..\..\..\..\..\include" -i="..\..\..\..\..\src\ta_abstract" -i="..\..\..\..\..\src\ta_abstract\tables" -i="..\..\..\..\..\src\ta_abstract\frames" -i="$(QTDIR)\include" +LIB = wlib -b -c -n -q -p=512 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c & + ..\..\..\..\..\src\ta_common\ta_retcode.c & + ..\..\..\..\..\src\ta_common\ta_version.c & + ..\..\..\..\..\src\ta_abstract\ta_abstract.c & + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c & + ..\..\..\..\..\src\ta_abstract\ta_func_api.c & + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c & + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c & + ..\..\..\..\..\src\ta_abstract\tables\table_a.c & + ..\..\..\..\..\src\ta_abstract\tables\table_b.c & + ..\..\..\..\..\src\ta_abstract\tables\table_c.c & + ..\..\..\..\..\src\ta_abstract\tables\table_d.c & + ..\..\..\..\..\src\ta_abstract\tables\table_e.c & + ..\..\..\..\..\src\ta_abstract\tables\table_f.c & + ..\..\..\..\..\src\ta_abstract\tables\table_g.c & + ..\..\..\..\..\src\ta_abstract\tables\table_h.c & + ..\..\..\..\..\src\ta_abstract\tables\table_i.c & + ..\..\..\..\..\src\ta_abstract\tables\table_j.c & + ..\..\..\..\..\src\ta_abstract\tables\table_k.c & + ..\..\..\..\..\src\ta_abstract\tables\table_l.c & + ..\..\..\..\..\src\ta_abstract\tables\table_m.c & + ..\..\..\..\..\src\ta_abstract\tables\table_n.c & + ..\..\..\..\..\src\ta_abstract\tables\table_o.c & + ..\..\..\..\..\src\ta_abstract\tables\table_p.c & + ..\..\..\..\..\src\ta_abstract\tables\table_q.c & + ..\..\..\..\..\src\ta_abstract\tables\table_r.c & + ..\..\..\..\..\src\ta_abstract\tables\table_s.c & + ..\..\..\..\..\src\ta_abstract\tables\table_t.c & + ..\..\..\..\..\src\ta_abstract\tables\table_u.c & + ..\..\..\..\..\src\ta_abstract\tables\table_v.c & + ..\..\..\..\..\src\ta_abstract\tables\table_w.c & + ..\..\..\..\..\src\ta_abstract\tables\table_x.c & + ..\..\..\..\..\src\ta_abstract\tables\table_y.c & + ..\..\..\..\..\src\ta_abstract\tables\table_z.c & + ..\..\..\..\..\src\ta_func\ta_utility.c & + ..\..\..\..\..\src\ta_func\ta_ACOS.c & + ..\..\..\..\..\src\ta_func\ta_AD.c & + ..\..\..\..\..\src\ta_func\ta_ADD.c & + ..\..\..\..\..\src\ta_func\ta_ADOSC.c & + ..\..\..\..\..\src\ta_func\ta_ADX.c & + ..\..\..\..\..\src\ta_func\ta_ADXR.c & + ..\..\..\..\..\src\ta_func\ta_APO.c & + ..\..\..\..\..\src\ta_func\ta_AROON.c & + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c & + ..\..\..\..\..\src\ta_func\ta_ASIN.c & + ..\..\..\..\..\src\ta_func\ta_ATAN.c & + ..\..\..\..\..\src\ta_func\ta_ATR.c & + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c & + ..\..\..\..\..\src\ta_func\ta_BBANDS.c & + ..\..\..\..\..\src\ta_func\ta_BETA.c & + ..\..\..\..\..\src\ta_func\ta_BOP.c & + ..\..\..\..\..\src\ta_func\ta_CCI.c & + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c & + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c & + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c & + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c & + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c & + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c & + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c & + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c & + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c & + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c & + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c & + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c & + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c & + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c & + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c & + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c & + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c & + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c & + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c & + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c & + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c & + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c & + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c & + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c & + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c & + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c & + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c & + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c & + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c & + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c & + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c & + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c & + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c & + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c & + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c & + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c & + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c & + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c & + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c & + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c & + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c & + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c & + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c & + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c & + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c & + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c & + ..\..\..\..\..\src\ta_func\ta_CEIL.c & + ..\..\..\..\..\src\ta_func\ta_CMO.c & + ..\..\..\..\..\src\ta_func\ta_CORREL.c & + ..\..\..\..\..\src\ta_func\ta_COS.c & + ..\..\..\..\..\src\ta_func\ta_COSH.c & + ..\..\..\..\..\src\ta_func\ta_DEMA.c & + ..\..\..\..\..\src\ta_func\ta_DIV.c & + ..\..\..\..\..\src\ta_func\ta_DX.c & + ..\..\..\..\..\src\ta_func\ta_EMA.c & + ..\..\..\..\..\src\ta_func\ta_EXP.c & + ..\..\..\..\..\src\ta_func\ta_FLOOR.c & + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c & + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c & + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c & + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c & + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c & + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c & + ..\..\..\..\..\src\ta_func\ta_KAMA.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c & + ..\..\..\..\..\src\ta_func\ta_LN.c & + ..\..\..\..\..\src\ta_func\ta_LOG10.c & + ..\..\..\..\..\src\ta_func\ta_MA.c & + ..\..\..\..\..\src\ta_func\ta_MACD.c & + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c & + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c & + ..\..\..\..\..\src\ta_func\ta_MAMA.c & + ..\..\..\..\..\src\ta_func\ta_MAVP.c & + ..\..\..\..\..\src\ta_func\ta_MAX.c & + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c & + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c & + ..\..\..\..\..\src\ta_func\ta_MFI.c & + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c & + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c & + ..\..\..\..\..\src\ta_func\ta_MIN.c & + ..\..\..\..\..\src\ta_func\ta_MININDEX.c & + ..\..\..\..\..\src\ta_func\ta_MINMAX.c & + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c & + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c & + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c & + ..\..\..\..\..\src\ta_func\ta_MOM.c & + ..\..\..\..\..\src\ta_func\ta_MULT.c & + ..\..\..\..\..\src\ta_func\ta_NATR.c & + ..\..\..\..\..\src\ta_func\ta_OBV.c & + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c & + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c & + ..\..\..\..\..\src\ta_func\ta_PPO.c & + ..\..\..\..\..\src\ta_func\ta_ROC.c & + ..\..\..\..\..\src\ta_func\ta_ROCP.c & + ..\..\..\..\..\src\ta_func\ta_ROCR.c & + ..\..\..\..\..\src\ta_func\ta_ROCR100.c & + ..\..\..\..\..\src\ta_func\ta_RSI.c & + ..\..\..\..\..\src\ta_func\ta_SAR.c & + ..\..\..\..\..\src\ta_func\ta_SAREXT.c & + ..\..\..\..\..\src\ta_func\ta_SIN.c & + ..\..\..\..\..\src\ta_func\ta_SINH.c & + ..\..\..\..\..\src\ta_func\ta_SMA.c & + ..\..\..\..\..\src\ta_func\ta_SQRT.c & + ..\..\..\..\..\src\ta_func\ta_STDDEV.c & + ..\..\..\..\..\src\ta_func\ta_STOCH.c & + ..\..\..\..\..\src\ta_func\ta_STOCHF.c & + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c & + ..\..\..\..\..\src\ta_func\ta_SUB.c & + ..\..\..\..\..\src\ta_func\ta_SUM.c & + ..\..\..\..\..\src\ta_func\ta_T3.c & + ..\..\..\..\..\src\ta_func\ta_TAN.c & + ..\..\..\..\..\src\ta_func\ta_TANH.c & + ..\..\..\..\..\src\ta_func\ta_TEMA.c & + ..\..\..\..\..\src\ta_func\ta_TRANGE.c & + ..\..\..\..\..\src\ta_func\ta_TRIMA.c & + ..\..\..\..\..\src\ta_func\ta_TRIX.c & + ..\..\..\..\..\src\ta_func\ta_TSF.c & + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c & + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c & + ..\..\..\..\..\src\ta_func\ta_VAR.c & + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c & + ..\..\..\..\..\src\ta_func\ta_WILLR.c & + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\cmd\ta_global.obj & + ..\..\..\..\..\temp\cmd\ta_retcode.obj & + ..\..\..\..\..\temp\cmd\ta_version.obj & + ..\..\..\..\..\temp\cmd\ta_abstract.obj & + ..\..\..\..\..\temp\cmd\ta_def_ui.obj & + ..\..\..\..\..\temp\cmd\ta_func_api.obj & + ..\..\..\..\..\temp\cmd\ta_group_idx.obj & + ..\..\..\..\..\temp\cmd\ta_frame.obj & + ..\..\..\..\..\temp\cmd\table_a.obj & + ..\..\..\..\..\temp\cmd\table_b.obj & + ..\..\..\..\..\temp\cmd\table_c.obj & + ..\..\..\..\..\temp\cmd\table_d.obj & + ..\..\..\..\..\temp\cmd\table_e.obj & + ..\..\..\..\..\temp\cmd\table_f.obj & + ..\..\..\..\..\temp\cmd\table_g.obj & + ..\..\..\..\..\temp\cmd\table_h.obj & + ..\..\..\..\..\temp\cmd\table_i.obj & + ..\..\..\..\..\temp\cmd\table_j.obj & + ..\..\..\..\..\temp\cmd\table_k.obj & + ..\..\..\..\..\temp\cmd\table_l.obj & + ..\..\..\..\..\temp\cmd\table_m.obj & + ..\..\..\..\..\temp\cmd\table_n.obj & + ..\..\..\..\..\temp\cmd\table_o.obj & + ..\..\..\..\..\temp\cmd\table_p.obj & + ..\..\..\..\..\temp\cmd\table_q.obj & + ..\..\..\..\..\temp\cmd\table_r.obj & + ..\..\..\..\..\temp\cmd\table_s.obj & + ..\..\..\..\..\temp\cmd\table_t.obj & + ..\..\..\..\..\temp\cmd\table_u.obj & + ..\..\..\..\..\temp\cmd\table_v.obj & + ..\..\..\..\..\temp\cmd\table_w.obj & + ..\..\..\..\..\temp\cmd\table_x.obj & + ..\..\..\..\..\temp\cmd\table_y.obj & + ..\..\..\..\..\temp\cmd\table_z.obj & + ..\..\..\..\..\temp\cmd\ta_utility.obj & + ..\..\..\..\..\temp\cmd\ta_ACOS.obj & + ..\..\..\..\..\temp\cmd\ta_AD.obj & + ..\..\..\..\..\temp\cmd\ta_ADD.obj & + ..\..\..\..\..\temp\cmd\ta_ADOSC.obj & + ..\..\..\..\..\temp\cmd\ta_ADX.obj & + ..\..\..\..\..\temp\cmd\ta_ADXR.obj & + ..\..\..\..\..\temp\cmd\ta_APO.obj & + ..\..\..\..\..\temp\cmd\ta_AROON.obj & + ..\..\..\..\..\temp\cmd\ta_AROONOSC.obj & + ..\..\..\..\..\temp\cmd\ta_ASIN.obj & + ..\..\..\..\..\temp\cmd\ta_ATAN.obj & + ..\..\..\..\..\temp\cmd\ta_ATR.obj & + ..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj & + ..\..\..\..\..\temp\cmd\ta_BBANDS.obj & + ..\..\..\..\..\temp\cmd\ta_BETA.obj & + ..\..\..\..\..\temp\cmd\ta_BOP.obj & + ..\..\..\..\..\temp\cmd\ta_CCI.obj & + ..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj & + ..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj & + ..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj & + ..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj & + ..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj & + ..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj & + ..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj & + ..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj & + ..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj & + ..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj & + ..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj & + ..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj & + ..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj & + ..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj & + ..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj & + ..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj & + ..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj & + ..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj & + ..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj & + ..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj & + ..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj & + ..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj & + ..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj & + ..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj & + ..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj & + ..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj & + ..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj & + ..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj & + ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj & + ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj & + ..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj & + ..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj & + ..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj & + ..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj & + ..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj & + ..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj & + ..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj & + ..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj & + ..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj & + ..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj & + ..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj & + ..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj & + ..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj & + ..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj & + ..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj & + ..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj & + ..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj & + ..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj & + ..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj & + ..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj & + ..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj & + ..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj & + ..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj & + ..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj & + ..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj & + ..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj & + ..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj & + ..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj & + ..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj & + ..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj & + ..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj & + ..\..\..\..\..\temp\cmd\ta_CEIL.obj & + ..\..\..\..\..\temp\cmd\ta_CMO.obj & + ..\..\..\..\..\temp\cmd\ta_CORREL.obj & + ..\..\..\..\..\temp\cmd\ta_COS.obj & + ..\..\..\..\..\temp\cmd\ta_COSH.obj & + ..\..\..\..\..\temp\cmd\ta_DEMA.obj & + ..\..\..\..\..\temp\cmd\ta_DIV.obj & + ..\..\..\..\..\temp\cmd\ta_DX.obj & + ..\..\..\..\..\temp\cmd\ta_EMA.obj & + ..\..\..\..\..\temp\cmd\ta_EXP.obj & + ..\..\..\..\..\temp\cmd\ta_FLOOR.obj & + ..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj & + ..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj & + ..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj & + ..\..\..\..\..\temp\cmd\ta_HT_SINE.obj & + ..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj & + ..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj & + ..\..\..\..\..\temp\cmd\ta_KAMA.obj & + ..\..\..\..\..\temp\cmd\ta_LINEARREG.obj & + ..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj & + ..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj & + ..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj & + ..\..\..\..\..\temp\cmd\ta_LN.obj & + ..\..\..\..\..\temp\cmd\ta_LOG10.obj & + ..\..\..\..\..\temp\cmd\ta_MA.obj & + ..\..\..\..\..\temp\cmd\ta_MACD.obj & + ..\..\..\..\..\temp\cmd\ta_MACDEXT.obj & + ..\..\..\..\..\temp\cmd\ta_MACDFIX.obj & + ..\..\..\..\..\temp\cmd\ta_MAMA.obj & + ..\..\..\..\..\temp\cmd\ta_MAVP.obj & + ..\..\..\..\..\temp\cmd\ta_MAX.obj & + ..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj & + ..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj & + ..\..\..\..\..\temp\cmd\ta_MFI.obj & + ..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj & + ..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj & + ..\..\..\..\..\temp\cmd\ta_MIN.obj & + ..\..\..\..\..\temp\cmd\ta_MININDEX.obj & + ..\..\..\..\..\temp\cmd\ta_MINMAX.obj & + ..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj & + ..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj & + ..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj & + ..\..\..\..\..\temp\cmd\ta_MOM.obj & + ..\..\..\..\..\temp\cmd\ta_MULT.obj & + ..\..\..\..\..\temp\cmd\ta_NATR.obj & + ..\..\..\..\..\temp\cmd\ta_OBV.obj & + ..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj & + ..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj & + ..\..\..\..\..\temp\cmd\ta_PPO.obj & + ..\..\..\..\..\temp\cmd\ta_ROC.obj & + ..\..\..\..\..\temp\cmd\ta_ROCP.obj & + ..\..\..\..\..\temp\cmd\ta_ROCR.obj & + ..\..\..\..\..\temp\cmd\ta_ROCR100.obj & + ..\..\..\..\..\temp\cmd\ta_RSI.obj & + ..\..\..\..\..\temp\cmd\ta_SAR.obj & + ..\..\..\..\..\temp\cmd\ta_SAREXT.obj & + ..\..\..\..\..\temp\cmd\ta_SIN.obj & + ..\..\..\..\..\temp\cmd\ta_SINH.obj & + ..\..\..\..\..\temp\cmd\ta_SMA.obj & + ..\..\..\..\..\temp\cmd\ta_SQRT.obj & + ..\..\..\..\..\temp\cmd\ta_STDDEV.obj & + ..\..\..\..\..\temp\cmd\ta_STOCH.obj & + ..\..\..\..\..\temp\cmd\ta_STOCHF.obj & + ..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj & + ..\..\..\..\..\temp\cmd\ta_SUB.obj & + ..\..\..\..\..\temp\cmd\ta_SUM.obj & + ..\..\..\..\..\temp\cmd\ta_T3.obj & + ..\..\..\..\..\temp\cmd\ta_TAN.obj & + ..\..\..\..\..\temp\cmd\ta_TANH.obj & + ..\..\..\..\..\temp\cmd\ta_TEMA.obj & + ..\..\..\..\..\temp\cmd\ta_TRANGE.obj & + ..\..\..\..\..\temp\cmd\ta_TRIMA.obj & + ..\..\..\..\..\temp\cmd\ta_TRIX.obj & + ..\..\..\..\..\temp\cmd\ta_TSF.obj & + ..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj & + ..\..\..\..\..\temp\cmd\ta_ULTOSC.obj & + ..\..\..\..\..\temp\cmd\ta_VAR.obj & + ..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj & + ..\..\..\..\..\temp\cmd\ta_WILLR.obj & + ..\..\..\..\..\temp\cmd\ta_WMA.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_libc_cmd.lib +TMPLIST = ta_libc_cmd.lst + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + @%create $(TMPLIST) + @for %i in ( $(OBJECTS) $(OBJMOC) ) do @%append $(TMPLIST) +'%i' + $(LIB) $(TARGET) @$(TMPLIST) + del $(TMPLIST) + +moc: $(SRCMOC) + +tmake: ../cmd/win32/watcom/ta_libc/Makefile + +../cmd/win32/watcom/ta_libc/Makefile: ta_libc/ta_libc.pro + tmake ta_libc/ta_libc.pro -o ../cmd/win32/watcom/ta_libc/Makefile + +dist: + $(ZIP) ta_libc/ta_libc.zip ta_libc/ta_libc.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmd\ta_global.obj + -del ..\..\..\..\..\temp\cmd\ta_retcode.obj + -del ..\..\..\..\..\temp\cmd\ta_version.obj + -del ..\..\..\..\..\temp\cmd\ta_abstract.obj + -del ..\..\..\..\..\temp\cmd\ta_def_ui.obj + -del ..\..\..\..\..\temp\cmd\ta_func_api.obj + -del ..\..\..\..\..\temp\cmd\ta_group_idx.obj + -del ..\..\..\..\..\temp\cmd\ta_frame.obj + -del ..\..\..\..\..\temp\cmd\table_a.obj + -del ..\..\..\..\..\temp\cmd\table_b.obj + -del ..\..\..\..\..\temp\cmd\table_c.obj + -del ..\..\..\..\..\temp\cmd\table_d.obj + -del ..\..\..\..\..\temp\cmd\table_e.obj + -del ..\..\..\..\..\temp\cmd\table_f.obj + -del ..\..\..\..\..\temp\cmd\table_g.obj + -del ..\..\..\..\..\temp\cmd\table_h.obj + -del ..\..\..\..\..\temp\cmd\table_i.obj + -del ..\..\..\..\..\temp\cmd\table_j.obj + -del ..\..\..\..\..\temp\cmd\table_k.obj + -del ..\..\..\..\..\temp\cmd\table_l.obj + -del ..\..\..\..\..\temp\cmd\table_m.obj + -del ..\..\..\..\..\temp\cmd\table_n.obj + -del ..\..\..\..\..\temp\cmd\table_o.obj + -del ..\..\..\..\..\temp\cmd\table_p.obj + -del ..\..\..\..\..\temp\cmd\table_q.obj + -del ..\..\..\..\..\temp\cmd\table_r.obj + -del ..\..\..\..\..\temp\cmd\table_s.obj + -del ..\..\..\..\..\temp\cmd\table_t.obj + -del ..\..\..\..\..\temp\cmd\table_u.obj + -del ..\..\..\..\..\temp\cmd\table_v.obj + -del ..\..\..\..\..\temp\cmd\table_w.obj + -del ..\..\..\..\..\temp\cmd\table_x.obj + -del ..\..\..\..\..\temp\cmd\table_y.obj + -del ..\..\..\..\..\temp\cmd\table_z.obj + -del ..\..\..\..\..\temp\cmd\ta_utility.obj + -del ..\..\..\..\..\temp\cmd\ta_ACOS.obj + -del ..\..\..\..\..\temp\cmd\ta_AD.obj + -del ..\..\..\..\..\temp\cmd\ta_ADD.obj + -del ..\..\..\..\..\temp\cmd\ta_ADOSC.obj + -del ..\..\..\..\..\temp\cmd\ta_ADX.obj + -del ..\..\..\..\..\temp\cmd\ta_ADXR.obj + -del ..\..\..\..\..\temp\cmd\ta_APO.obj + -del ..\..\..\..\..\temp\cmd\ta_AROON.obj + -del ..\..\..\..\..\temp\cmd\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\cmd\ta_ASIN.obj + -del ..\..\..\..\..\temp\cmd\ta_ATAN.obj + -del ..\..\..\..\..\temp\cmd\ta_ATR.obj + -del ..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_BBANDS.obj + -del ..\..\..\..\..\temp\cmd\ta_BETA.obj + -del ..\..\..\..\..\temp\cmd\ta_BOP.obj + -del ..\..\..\..\..\temp\cmd\ta_CCI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\cmd\ta_CEIL.obj + -del ..\..\..\..\..\temp\cmd\ta_CMO.obj + -del ..\..\..\..\..\temp\cmd\ta_CORREL.obj + -del ..\..\..\..\..\temp\cmd\ta_COS.obj + -del ..\..\..\..\..\temp\cmd\ta_COSH.obj + -del ..\..\..\..\..\temp\cmd\ta_DEMA.obj + -del ..\..\..\..\..\temp\cmd\ta_DIV.obj + -del ..\..\..\..\..\temp\cmd\ta_DX.obj + -del ..\..\..\..\..\temp\cmd\ta_EMA.obj + -del ..\..\..\..\..\temp\cmd\ta_EXP.obj + -del ..\..\..\..\..\temp\cmd\ta_FLOOR.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\cmd\ta_KAMA.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\cmd\ta_LN.obj + -del ..\..\..\..\..\temp\cmd\ta_LOG10.obj + -del ..\..\..\..\..\temp\cmd\ta_MA.obj + -del ..\..\..\..\..\temp\cmd\ta_MACD.obj + -del ..\..\..\..\..\temp\cmd\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\cmd\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\cmd\ta_MAMA.obj + -del ..\..\..\..\..\temp\cmd\ta_MAVP.obj + -del ..\..\..\..\..\temp\cmd\ta_MAX.obj + -del ..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_MFI.obj + -del ..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_MIN.obj + -del ..\..\..\..\..\temp\cmd\ta_MININDEX.obj + -del ..\..\..\..\..\temp\cmd\ta_MINMAX.obj + -del ..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\cmd\ta_MOM.obj + -del ..\..\..\..\..\temp\cmd\ta_MULT.obj + -del ..\..\..\..\..\temp\cmd\ta_NATR.obj + -del ..\..\..\..\..\temp\cmd\ta_OBV.obj + -del ..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\cmd\ta_PPO.obj + -del ..\..\..\..\..\temp\cmd\ta_ROC.obj + -del ..\..\..\..\..\temp\cmd\ta_ROCP.obj + -del ..\..\..\..\..\temp\cmd\ta_ROCR.obj + -del ..\..\..\..\..\temp\cmd\ta_ROCR100.obj + -del ..\..\..\..\..\temp\cmd\ta_RSI.obj + -del ..\..\..\..\..\temp\cmd\ta_SAR.obj + -del ..\..\..\..\..\temp\cmd\ta_SAREXT.obj + -del ..\..\..\..\..\temp\cmd\ta_SIN.obj + -del ..\..\..\..\..\temp\cmd\ta_SINH.obj + -del ..\..\..\..\..\temp\cmd\ta_SMA.obj + -del ..\..\..\..\..\temp\cmd\ta_SQRT.obj + -del ..\..\..\..\..\temp\cmd\ta_STDDEV.obj + -del ..\..\..\..\..\temp\cmd\ta_STOCH.obj + -del ..\..\..\..\..\temp\cmd\ta_STOCHF.obj + -del ..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\cmd\ta_SUB.obj + -del ..\..\..\..\..\temp\cmd\ta_SUM.obj + -del ..\..\..\..\..\temp\cmd\ta_T3.obj + -del ..\..\..\..\..\temp\cmd\ta_TAN.obj + -del ..\..\..\..\..\temp\cmd\ta_TANH.obj + -del ..\..\..\..\..\temp\cmd\ta_TEMA.obj + -del ..\..\..\..\..\temp\cmd\ta_TRANGE.obj + -del ..\..\..\..\..\temp\cmd\ta_TRIMA.obj + -del ..\..\..\..\..\temp\cmd\ta_TRIX.obj + -del ..\..\..\..\..\temp\cmd\ta_TSF.obj + -del ..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\cmd\ta_VAR.obj + -del ..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\cmd\ta_WILLR.obj + -del ..\..\..\..\..\temp\cmd\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + +####### Compile + +..\..\..\..\..\temp\cmd\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\cmd\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\cmd\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + +..\..\..\..\..\temp\cmd\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cmd\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cmd\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\cmd\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\cmd\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\cmd\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cmd\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cmd\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cmd\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cmd\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cmd\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cmd\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cmd\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cmd\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cmd\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cmd\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cmd\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cmd\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cmd\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cmd\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cmd\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cmd\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cmd\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cmd\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cmd\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cmd\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cmd\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cmd\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cmd\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cmd\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cmd\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + +..\..\..\..\..\temp\cmd\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\cmd\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\cmd\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\cmd\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\cmd\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\cmd\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\cmd\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\cmd\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\cmd\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\cmd\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\cmd\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\cmd\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\cmd\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\cmd\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\cmd\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\cmd\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\cmd\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\cmd\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\cmd\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\cmd\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\cmd\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\cmd\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\cmd\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\cmd\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\cmd\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\cmd\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\cmd\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\cmd\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\cmd\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\cmd\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\cmd\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\cmd\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\cmd\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\cmd\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\cmd\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\cmd\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\cmd\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\cmd\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\cmd\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\cmd\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\cmd\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\cmd\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\cmd\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\cmd\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\cmd\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\cmd\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\cmd\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\cmd\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\cmd\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\cmd\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\cmd\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\cmd\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\cmd\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\cmd\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\cmd\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\cmd\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\cmd\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\cmd\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\cmd\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\cmd\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\cmd\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\cmd\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\cmd\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\cmd\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\cmd\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\cmd\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\cmd\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\cmd\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\cmd\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\cmd\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\cmd\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\cmd\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\cmd\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\cmd\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\cmd\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\cmd\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/cmd/win32/watcom/ta_regtest/Makefile b/vendor/ta-lib/make/cmd/win32/watcom/ta_regtest/Makefile new file mode 100644 index 000000000..5e6a711b3 --- /dev/null +++ b/vendor/ta-lib/make/cmd/win32/watcom/ta_regtest/Makefile @@ -0,0 +1,219 @@ +############################################################################# +# Makefile for building ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = wcl386 +CXX = wcl386 +CFLAGS = -zq -w2 -d2 -d=TA_DEBUG -d=_DEBUG -d=WIN32 +CXXFLAGS= -zq -w2 -d2 -d=TA_DEBUG -d=_DEBUG -d=WIN32 +INCPATH = -i="..\..\..\..\..\src\ta_common" -i="..\..\..\..\..\src\tools\ta_regtest" -i="..\..\..\..\..\src\ta_func" -i="..\..\..\..\..\include" +LINK = wlink +LFLAGS = op quiet op c d all sys nt +LIBS = ..\..\..\..\..\lib\ta_libc_cmd.lib +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c & + ..\..\..\..\..\src\tools\ta_regtest\test_internals.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c & + ..\..\..\..\..\src\tools\ta_regtest\test_util.c & + ..\..\..\..\..\src\tools\ta_regtest\test_data.c & + ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c +OBJECTS = ..\..\..\..\..\temp\cmd\ta_regtest.obj & + ..\..\..\..\..\temp\cmd\test_candlestick.obj & + ..\..\..\..\..\temp\cmd\test_1in_1out.obj & + ..\..\..\..\..\temp\cmd\test_1in_2out.obj & + ..\..\..\..\..\temp\cmd\test_internals.obj & + ..\..\..\..\..\temp\cmd\test_adx.obj & + ..\..\..\..\..\temp\cmd\test_bbands.obj & + ..\..\..\..\..\temp\cmd\test_ma.obj & + ..\..\..\..\..\temp\cmd\test_macd.obj & + ..\..\..\..\..\temp\cmd\test_minmax.obj & + ..\..\..\..\..\temp\cmd\test_mom.obj & + ..\..\..\..\..\temp\cmd\test_per_ema.obj & + ..\..\..\..\..\temp\cmd\test_per_hl.obj & + ..\..\..\..\..\temp\cmd\test_per_hlc.obj & + ..\..\..\..\..\temp\cmd\test_per_hlcv.obj & + ..\..\..\..\..\temp\cmd\test_per_ohlc.obj & + ..\..\..\..\..\temp\cmd\test_po.obj & + ..\..\..\..\..\temp\cmd\test_rsi.obj & + ..\..\..\..\..\temp\cmd\test_sar.obj & + ..\..\..\..\..\temp\cmd\test_stddev.obj & + ..\..\..\..\..\temp\cmd\test_stoch.obj & + ..\..\..\..\..\temp\cmd\test_trange.obj & + ..\..\..\..\..\temp\cmd\test_util.obj & + ..\..\..\..\..\temp\cmd\test_data.obj & + ..\..\..\..\..\temp\cmd\test_abstract.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\ta_regtest.exe +TMPLIST = ta_regtest.lst + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + @%create $(TMPLIST) + @%append $(TMPLIST) NAME ta_regtest + @%append $(TMPLIST) FIL ..\..\..\..\..\temp\cmd\ta_regtest.obj,..\..\..\..\..\temp\cmd\test_candlestick.obj,..\..\..\..\..\temp\cmd\test_1in_1out.obj,..\..\..\..\..\temp\cmd\test_1in_2out.obj,..\..\..\..\..\temp\cmd\test_internals.obj,..\..\..\..\..\temp\cmd\test_adx.obj,..\..\..\..\..\temp\cmd\test_bbands.obj,..\..\..\..\..\temp\cmd\test_ma.obj,..\..\..\..\..\temp\cmd\test_macd.obj,..\..\..\..\..\temp\cmd\test_minmax.obj,..\..\..\..\..\temp\cmd\test_mom.obj,..\..\..\..\..\temp\cmd\test_per_ema.obj,..\..\..\..\..\temp\cmd\test_per_hl.obj,..\..\..\..\..\temp\cmd\test_per_hlc.obj,..\..\..\..\..\temp\cmd\test_per_hlcv.obj,..\..\..\..\..\temp\cmd\test_per_ohlc.obj,..\..\..\..\..\temp\cmd\test_po.obj,..\..\..\..\..\temp\cmd\test_rsi.obj,..\..\..\..\..\temp\cmd\test_sar.obj,..\..\..\..\..\temp\cmd\test_stddev.obj,..\..\..\..\..\temp\cmd\test_stoch.obj,..\..\..\..\..\temp\cmd\test_trange.obj,..\..\..\..\..\temp\cmd\test_util.obj,..\..\..\..\..\temp\cmd\test_data.obj,..\..\..\..\..\temp\cmd\test_abstract.obj + @%append $(TMPLIST) LIBR ..\..\..\..\..\lib\ta_libc_cmd.lib + $(LINK) $(LFLAGS) @$(TMPLIST) + del $(TMPLIST) + +moc: $(SRCMOC) + +tmake: ../cmd/win32/watcom/ta_regtest/Makefile + +../cmd/win32/watcom/ta_regtest/Makefile: ta_regtest/ta_regtest.pro + tmake ta_regtest/ta_regtest.pro -o ../cmd/win32/watcom/ta_regtest/Makefile + +dist: + $(ZIP) ta_regtest/ta_regtest.zip ta_regtest/ta_regtest.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmd\ta_regtest.obj + -del ..\..\..\..\..\temp\cmd\test_candlestick.obj + -del ..\..\..\..\..\temp\cmd\test_1in_1out.obj + -del ..\..\..\..\..\temp\cmd\test_1in_2out.obj + -del ..\..\..\..\..\temp\cmd\test_internals.obj + -del ..\..\..\..\..\temp\cmd\test_adx.obj + -del ..\..\..\..\..\temp\cmd\test_bbands.obj + -del ..\..\..\..\..\temp\cmd\test_ma.obj + -del ..\..\..\..\..\temp\cmd\test_macd.obj + -del ..\..\..\..\..\temp\cmd\test_minmax.obj + -del ..\..\..\..\..\temp\cmd\test_mom.obj + -del ..\..\..\..\..\temp\cmd\test_per_ema.obj + -del ..\..\..\..\..\temp\cmd\test_per_hl.obj + -del ..\..\..\..\..\temp\cmd\test_per_hlc.obj + -del ..\..\..\..\..\temp\cmd\test_per_hlcv.obj + -del ..\..\..\..\..\temp\cmd\test_per_ohlc.obj + -del ..\..\..\..\..\temp\cmd\test_po.obj + -del ..\..\..\..\..\temp\cmd\test_rsi.obj + -del ..\..\..\..\..\temp\cmd\test_sar.obj + -del ..\..\..\..\..\temp\cmd\test_stddev.obj + -del ..\..\..\..\..\temp\cmd\test_stoch.obj + -del ..\..\..\..\..\temp\cmd\test_trange.obj + -del ..\..\..\..\..\temp\cmd\test_util.obj + -del ..\..\..\..\..\temp\cmd\test_data.obj + -del ..\..\..\..\..\temp\cmd\test_abstract.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmd/*.pch + -del ../../../../../temp/cmd/*.idb + -del ../../../../../temp/cmd/ta_regtest/*.pch + -del ../../../../../temp/cmd/ta_regtest/*.idb + -del ../../../../../temp/cmd/ta_regtest/*.obj + +####### Compile + +..\..\..\..\..\temp\cmd\ta_regtest.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\ta_regtest.obj ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + +..\..\..\..\..\temp\cmd\test_candlestick.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\test_candlestick.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + +..\..\..\..\..\temp\cmd\test_1in_1out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\test_1in_1out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + +..\..\..\..\..\temp\cmd\test_1in_2out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\test_1in_2out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + +..\..\..\..\..\temp\cmd\test_internals.obj: ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\test_internals.obj ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + +..\..\..\..\..\temp\cmd\test_adx.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\test_adx.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + +..\..\..\..\..\temp\cmd\test_bbands.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\test_bbands.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + +..\..\..\..\..\temp\cmd\test_ma.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\test_ma.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + +..\..\..\..\..\temp\cmd\test_macd.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\test_macd.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + +..\..\..\..\..\temp\cmd\test_minmax.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\test_minmax.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + +..\..\..\..\..\temp\cmd\test_mom.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\test_mom.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + +..\..\..\..\..\temp\cmd\test_per_ema.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\test_per_ema.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + +..\..\..\..\..\temp\cmd\test_per_hl.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\test_per_hl.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + +..\..\..\..\..\temp\cmd\test_per_hlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\test_per_hlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + +..\..\..\..\..\temp\cmd\test_per_hlcv.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\test_per_hlcv.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + +..\..\..\..\..\temp\cmd\test_per_ohlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\test_per_ohlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + +..\..\..\..\..\temp\cmd\test_po.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\test_po.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + +..\..\..\..\..\temp\cmd\test_rsi.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\test_rsi.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + +..\..\..\..\..\temp\cmd\test_sar.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\test_sar.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + +..\..\..\..\..\temp\cmd\test_stddev.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\test_stddev.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + +..\..\..\..\..\temp\cmd\test_stoch.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\test_stoch.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + +..\..\..\..\..\temp\cmd\test_trange.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\test_trange.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + +..\..\..\..\..\temp\cmd\test_util.obj: ..\..\..\..\..\src\tools\ta_regtest\test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\test_util.obj ..\..\..\..\..\src\tools\ta_regtest\test_util.c + +..\..\..\..\..\temp\cmd\test_data.obj: ..\..\..\..\..\src\tools\ta_regtest\test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\test_data.obj ..\..\..\..\..\src\tools\ta_regtest\test_data.c + +..\..\..\..\..\temp\cmd\test_abstract.obj: ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmd\test_abstract.obj ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + diff --git a/vendor/ta-lib/make/cmp/cygwin/g++/Makefile b/vendor/ta-lib/make/cmp/cygwin/g++/Makefile new file mode 100644 index 000000000..9558d601a --- /dev/null +++ b/vendor/ta-lib/make/cmp/cygwin/g++/Makefile @@ -0,0 +1,36 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +$(SUBDIRS): FORCE + cd $@; $(MAKE) + +tmake: ../cmp/cygwin/g++/Makefile + +../cmp/cygwin/g++/Makefile: rootmake.pro + tmake rootmake.pro -o ../cmp/cygwin/g++/Makefile + +tmake_all: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done + +#### $text = "\t" . 'for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; pro=`basename $$i`.pro ; $(TMAKE) $$pro -o $(MAKEFILE); grep "TEMPLATE.*subdirs" $$pro 2>/dev/null >/dev/null && $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done'; + +clean release debug: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) $@; fi; ) ; done + +FORCE: diff --git a/vendor/ta-lib/make/cmp/cygwin/g++/gen_code/Makefile b/vendor/ta-lib/make/cmp/cygwin/g++/gen_code/Makefile new file mode 100644 index 000000000..df00266a8 --- /dev/null +++ b/vendor/ta-lib/make/cmp/cygwin/g++/gen_code/Makefile @@ -0,0 +1,231 @@ +############################################################################# +# Makefile for building ../../../../../bin/gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -O -pg -D_REENTRANT -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -g -D_REENTRANT -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../include -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames +LINK = g++ +LFLAGS = -pg +LIBS = $(SUBLIBS) ../../../../../lib/libta_common_cmp.a -lpthread +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/gen_code/gen_code.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/cmp/gen_code/gen_code.o \ + ../../../../../temp/cmp/gen_code/ta_abstract.o \ + ../../../../../temp/cmp/gen_code/ta_def_ui.o \ + ../../../../../temp/cmp/gen_code/table_a.o \ + ../../../../../temp/cmp/gen_code/table_b.o \ + ../../../../../temp/cmp/gen_code/table_c.o \ + ../../../../../temp/cmp/gen_code/table_d.o \ + ../../../../../temp/cmp/gen_code/table_e.o \ + ../../../../../temp/cmp/gen_code/table_f.o \ + ../../../../../temp/cmp/gen_code/table_g.o \ + ../../../../../temp/cmp/gen_code/table_h.o \ + ../../../../../temp/cmp/gen_code/table_i.o \ + ../../../../../temp/cmp/gen_code/table_j.o \ + ../../../../../temp/cmp/gen_code/table_k.o \ + ../../../../../temp/cmp/gen_code/table_l.o \ + ../../../../../temp/cmp/gen_code/table_m.o \ + ../../../../../temp/cmp/gen_code/table_n.o \ + ../../../../../temp/cmp/gen_code/table_o.o \ + ../../../../../temp/cmp/gen_code/table_p.o \ + ../../../../../temp/cmp/gen_code/table_q.o \ + ../../../../../temp/cmp/gen_code/table_r.o \ + ../../../../../temp/cmp/gen_code/table_s.o \ + ../../../../../temp/cmp/gen_code/table_t.o \ + ../../../../../temp/cmp/gen_code/table_u.o \ + ../../../../../temp/cmp/gen_code/table_v.o \ + ../../../../../temp/cmp/gen_code/table_w.o \ + ../../../../../temp/cmp/gen_code/table_x.o \ + ../../../../../temp/cmp/gen_code/table_y.o \ + ../../../../../temp/cmp/gen_code/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/gen_code +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmp/gen_code/gen_code.o: ../../../../../src/tools/gen_code/gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/gen_code.o ../../../../../src/tools/gen_code/gen_code.c + +../../../../../temp/cmp/gen_code/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmp/gen_code/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmp/gen_code/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmp/gen_code/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmp/gen_code/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmp/gen_code/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmp/gen_code/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmp/gen_code/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmp/gen_code/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmp/gen_code/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmp/gen_code/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmp/gen_code/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmp/gen_code/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmp/gen_code/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmp/gen_code/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmp/gen_code/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmp/gen_code/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmp/gen_code/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmp/gen_code/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmp/gen_code/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmp/gen_code/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmp/gen_code/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmp/gen_code/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmp/gen_code/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmp/gen_code/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmp/gen_code/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmp/gen_code/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmp/gen_code/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/cmp/cygwin/g++/ta_abstract/Makefile b/vendor/ta-lib/make/cmp/cygwin/g++/ta_abstract/Makefile new file mode 100644 index 000000000..356d78c42 --- /dev/null +++ b/vendor/ta-lib/make/cmp/cygwin/g++/ta_abstract/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_abstract_cmp.a +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -O -pg -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/cmp/ta_abstract.o \ + ../../../../../temp/cmp/ta_def_ui.o \ + ../../../../../temp/cmp/ta_func_api.o \ + ../../../../../temp/cmp/ta_group_idx.o \ + ../../../../../temp/cmp/ta_frame.o \ + ../../../../../temp/cmp/table_a.o \ + ../../../../../temp/cmp/table_b.o \ + ../../../../../temp/cmp/table_c.o \ + ../../../../../temp/cmp/table_d.o \ + ../../../../../temp/cmp/table_e.o \ + ../../../../../temp/cmp/table_f.o \ + ../../../../../temp/cmp/table_g.o \ + ../../../../../temp/cmp/table_h.o \ + ../../../../../temp/cmp/table_i.o \ + ../../../../../temp/cmp/table_j.o \ + ../../../../../temp/cmp/table_k.o \ + ../../../../../temp/cmp/table_l.o \ + ../../../../../temp/cmp/table_m.o \ + ../../../../../temp/cmp/table_n.o \ + ../../../../../temp/cmp/table_o.o \ + ../../../../../temp/cmp/table_p.o \ + ../../../../../temp/cmp/table_q.o \ + ../../../../../temp/cmp/table_r.o \ + ../../../../../temp/cmp/table_s.o \ + ../../../../../temp/cmp/table_t.o \ + ../../../../../temp/cmp/table_u.o \ + ../../../../../temp/cmp/table_v.o \ + ../../../../../temp/cmp/table_w.o \ + ../../../../../temp/cmp/table_x.o \ + ../../../../../temp/cmp/table_y.o \ + ../../../../../temp/cmp/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_abstract_cmp.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmp/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmp/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmp/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/cmp/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/cmp/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/cmp/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmp/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmp/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmp/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmp/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmp/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmp/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmp/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmp/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmp/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmp/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmp/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmp/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmp/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmp/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmp/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmp/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmp/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmp/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmp/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmp/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmp/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmp/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmp/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmp/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmp/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/cmp/cygwin/g++/ta_common/Makefile b/vendor/ta-lib/make/cmp/cygwin/g++/ta_common/Makefile new file mode 100644 index 000000000..88cb61731 --- /dev/null +++ b/vendor/ta-lib/make/cmp/cygwin/g++/ta_common/Makefile @@ -0,0 +1,103 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_common_cmp.a +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -O -pg -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c +OBJECTS = ../../../../../temp/cmp/ta_global.o \ + ../../../../../temp/cmp/ta_retcode.o \ + ../../../../../temp/cmp/ta_version.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_common_cmp.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmp/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/cmp/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/cmp/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_version.o ../../../../../src/ta_common/ta_version.c + diff --git a/vendor/ta-lib/make/cmp/cygwin/g++/ta_func/Makefile b/vendor/ta-lib/make/cmp/cygwin/g++/ta_func/Makefile new file mode 100644 index 000000000..ab8bb19b7 --- /dev/null +++ b/vendor/ta-lib/make/cmp/cygwin/g++/ta_func/Makefile @@ -0,0 +1,883 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_func_cmp.a +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -O -pg -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I/n -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/cmp/ta_utility.o \ + ../../../../../temp/cmp/ta_ACOS.o \ + ../../../../../temp/cmp/ta_AD.o \ + ../../../../../temp/cmp/ta_ADD.o \ + ../../../../../temp/cmp/ta_ADOSC.o \ + ../../../../../temp/cmp/ta_ADX.o \ + ../../../../../temp/cmp/ta_ADXR.o \ + ../../../../../temp/cmp/ta_APO.o \ + ../../../../../temp/cmp/ta_AROON.o \ + ../../../../../temp/cmp/ta_AROONOSC.o \ + ../../../../../temp/cmp/ta_ASIN.o \ + ../../../../../temp/cmp/ta_ATAN.o \ + ../../../../../temp/cmp/ta_ATR.o \ + ../../../../../temp/cmp/ta_AVGPRICE.o \ + ../../../../../temp/cmp/ta_BBANDS.o \ + ../../../../../temp/cmp/ta_BETA.o \ + ../../../../../temp/cmp/ta_BOP.o \ + ../../../../../temp/cmp/ta_CCI.o \ + ../../../../../temp/cmp/ta_CDL2CROWS.o \ + ../../../../../temp/cmp/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/cmp/ta_CDL3INSIDE.o \ + ../../../../../temp/cmp/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/cmp/ta_CDL3OUTSIDE.o \ + ../../../../../temp/cmp/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/cmp/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/cmp/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/cmp/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/cmp/ta_CDLBELTHOLD.o \ + ../../../../../temp/cmp/ta_CDLBREAKAWAY.o \ + ../../../../../temp/cmp/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/cmp/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/cmp/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/cmp/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/cmp/ta_CDLDOJI.o \ + ../../../../../temp/cmp/ta_CDLDOJISTAR.o \ + ../../../../../temp/cmp/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/cmp/ta_CDLENGULFING.o \ + ../../../../../temp/cmp/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/cmp/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/cmp/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/cmp/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/cmp/ta_CDLHAMMER.o \ + ../../../../../temp/cmp/ta_CDLHANGINGMAN.o \ + ../../../../../temp/cmp/ta_CDLHARAMI.o \ + ../../../../../temp/cmp/ta_CDLHARAMICROSS.o \ + ../../../../../temp/cmp/ta_CDLHIGHWAVE.o \ + ../../../../../temp/cmp/ta_CDLHIKKAKE.o \ + ../../../../../temp/cmp/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/cmp/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/cmp/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/cmp/ta_CDLINNECK.o \ + ../../../../../temp/cmp/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/cmp/ta_CDLKICKING.o \ + ../../../../../temp/cmp/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/cmp/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/cmp/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/cmp/ta_CDLLONGLINE.o \ + ../../../../../temp/cmp/ta_CDLMARUBOZU.o \ + ../../../../../temp/cmp/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/cmp/ta_CDLMATHOLD.o \ + ../../../../../temp/cmp/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/cmp/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/cmp/ta_CDLONNECK.o \ + ../../../../../temp/cmp/ta_CDLPIERCING.o \ + ../../../../../temp/cmp/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/cmp/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/cmp/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/cmp/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/cmp/ta_CDLSHORTLINE.o \ + ../../../../../temp/cmp/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/cmp/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/cmp/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/cmp/ta_CDLTAKURI.o \ + ../../../../../temp/cmp/ta_CDLTASUKIGAP.o \ + ../../../../../temp/cmp/ta_CDLTHRUSTING.o \ + ../../../../../temp/cmp/ta_CDLTRISTAR.o \ + ../../../../../temp/cmp/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/cmp/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/cmp/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/cmp/ta_CEIL.o \ + ../../../../../temp/cmp/ta_CMO.o \ + ../../../../../temp/cmp/ta_CORREL.o \ + ../../../../../temp/cmp/ta_COS.o \ + ../../../../../temp/cmp/ta_COSH.o \ + ../../../../../temp/cmp/ta_DEMA.o \ + ../../../../../temp/cmp/ta_DIV.o \ + ../../../../../temp/cmp/ta_DX.o \ + ../../../../../temp/cmp/ta_EMA.o \ + ../../../../../temp/cmp/ta_EXP.o \ + ../../../../../temp/cmp/ta_FLOOR.o \ + ../../../../../temp/cmp/ta_HT_DCPERIOD.o \ + ../../../../../temp/cmp/ta_HT_DCPHASE.o \ + ../../../../../temp/cmp/ta_HT_PHASOR.o \ + ../../../../../temp/cmp/ta_HT_SINE.o \ + ../../../../../temp/cmp/ta_HT_TRENDLINE.o \ + ../../../../../temp/cmp/ta_HT_TRENDMODE.o \ + ../../../../../temp/cmp/ta_KAMA.o \ + ../../../../../temp/cmp/ta_LINEARREG.o \ + ../../../../../temp/cmp/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/cmp/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/cmp/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/cmp/ta_LN.o \ + ../../../../../temp/cmp/ta_LOG10.o \ + ../../../../../temp/cmp/ta_MA.o \ + ../../../../../temp/cmp/ta_MACD.o \ + ../../../../../temp/cmp/ta_MACDEXT.o \ + ../../../../../temp/cmp/ta_MACDFIX.o \ + ../../../../../temp/cmp/ta_MAMA.o \ + ../../../../../temp/cmp/ta_MAVP.o \ + ../../../../../temp/cmp/ta_MAX.o \ + ../../../../../temp/cmp/ta_MAXINDEX.o \ + ../../../../../temp/cmp/ta_MEDPRICE.o \ + ../../../../../temp/cmp/ta_MFI.o \ + ../../../../../temp/cmp/ta_MIDPOINT.o \ + ../../../../../temp/cmp/ta_MIDPRICE.o \ + ../../../../../temp/cmp/ta_MIN.o \ + ../../../../../temp/cmp/ta_MININDEX.o \ + ../../../../../temp/cmp/ta_MINMAX.o \ + ../../../../../temp/cmp/ta_MINMAXINDEX.o \ + ../../../../../temp/cmp/ta_MINUS_DI.o \ + ../../../../../temp/cmp/ta_MINUS_DM.o \ + ../../../../../temp/cmp/ta_MOM.o \ + ../../../../../temp/cmp/ta_MULT.o \ + ../../../../../temp/cmp/ta_NATR.o \ + ../../../../../temp/cmp/ta_OBV.o \ + ../../../../../temp/cmp/ta_PLUS_DI.o \ + ../../../../../temp/cmp/ta_PLUS_DM.o \ + ../../../../../temp/cmp/ta_PPO.o \ + ../../../../../temp/cmp/ta_ROC.o \ + ../../../../../temp/cmp/ta_ROCP.o \ + ../../../../../temp/cmp/ta_ROCR.o \ + ../../../../../temp/cmp/ta_ROCR100.o \ + ../../../../../temp/cmp/ta_RSI.o \ + ../../../../../temp/cmp/ta_SAR.o \ + ../../../../../temp/cmp/ta_SAREXT.o \ + ../../../../../temp/cmp/ta_SIN.o \ + ../../../../../temp/cmp/ta_SINH.o \ + ../../../../../temp/cmp/ta_SMA.o \ + ../../../../../temp/cmp/ta_SQRT.o \ + ../../../../../temp/cmp/ta_STDDEV.o \ + ../../../../../temp/cmp/ta_STOCH.o \ + ../../../../../temp/cmp/ta_STOCHF.o \ + ../../../../../temp/cmp/ta_STOCHRSI.o \ + ../../../../../temp/cmp/ta_SUB.o \ + ../../../../../temp/cmp/ta_SUM.o \ + ../../../../../temp/cmp/ta_T3.o \ + ../../../../../temp/cmp/ta_TAN.o \ + ../../../../../temp/cmp/ta_TANH.o \ + ../../../../../temp/cmp/ta_TEMA.o \ + ../../../../../temp/cmp/ta_TRANGE.o \ + ../../../../../temp/cmp/ta_TRIMA.o \ + ../../../../../temp/cmp/ta_TRIX.o \ + ../../../../../temp/cmp/ta_TSF.o \ + ../../../../../temp/cmp/ta_TYPPRICE.o \ + ../../../../../temp/cmp/ta_ULTOSC.o \ + ../../../../../temp/cmp/ta_VAR.o \ + ../../../../../temp/cmp/ta_WCLPRICE.o \ + ../../../../../temp/cmp/ta_WILLR.o \ + ../../../../../temp/cmp/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_func_cmp.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmp/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/cmp/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/cmp/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/cmp/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/cmp/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/cmp/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/cmp/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/cmp/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/cmp/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/cmp/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/cmp/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/cmp/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/cmp/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/cmp/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/cmp/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/cmp/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/cmp/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/cmp/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/cmp/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/cmp/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/cmp/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/cmp/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/cmp/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/cmp/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/cmp/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/cmp/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/cmp/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/cmp/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/cmp/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/cmp/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/cmp/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/cmp/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/cmp/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/cmp/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/cmp/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/cmp/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/cmp/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/cmp/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/cmp/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/cmp/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/cmp/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/cmp/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/cmp/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/cmp/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/cmp/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/cmp/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/cmp/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/cmp/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/cmp/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/cmp/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/cmp/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/cmp/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/cmp/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/cmp/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/cmp/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/cmp/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/cmp/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/cmp/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/cmp/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/cmp/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/cmp/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/cmp/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/cmp/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/cmp/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/cmp/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/cmp/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/cmp/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/cmp/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/cmp/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/cmp/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/cmp/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/cmp/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/cmp/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/cmp/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/cmp/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/cmp/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/cmp/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/cmp/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/cmp/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/cmp/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/cmp/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/cmp/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/cmp/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/cmp/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/cmp/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/cmp/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/cmp/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/cmp/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/cmp/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/cmp/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/cmp/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/cmp/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/cmp/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/cmp/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/cmp/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/cmp/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/cmp/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/cmp/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/cmp/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/cmp/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/cmp/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/cmp/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/cmp/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/cmp/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/cmp/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/cmp/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/cmp/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/cmp/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/cmp/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/cmp/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/cmp/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/cmp/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/cmp/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/cmp/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/cmp/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/cmp/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/cmp/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/cmp/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/cmp/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/cmp/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/cmp/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/cmp/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/cmp/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/cmp/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/cmp/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/cmp/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/cmp/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/cmp/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/cmp/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/cmp/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/cmp/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/cmp/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/cmp/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/cmp/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/cmp/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/cmp/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/cmp/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/cmp/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/cmp/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/cmp/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/cmp/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/cmp/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/cmp/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/cmp/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/cmp/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/cmp/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/cmp/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/cmp/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/cmp/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/cmp/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/cmp/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/cmp/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/cmp/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/cmp/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/cmp/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/cmp/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/cmp/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/cmp/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/cmp/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/cmp/cygwin/g++/ta_libc/Makefile b/vendor/ta-lib/make/cmp/cygwin/g++/ta_libc/Makefile new file mode 100644 index 000000000..602479d12 --- /dev/null +++ b/vendor/ta-lib/make/cmp/cygwin/g++/ta_libc/Makefile @@ -0,0 +1,1053 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_libc_cmp.a +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -O -pg -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../include -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I$(QTDIR)/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c \ + ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/cmp/ta_global.o \ + ../../../../../temp/cmp/ta_retcode.o \ + ../../../../../temp/cmp/ta_version.o \ + ../../../../../temp/cmp/ta_abstract.o \ + ../../../../../temp/cmp/ta_def_ui.o \ + ../../../../../temp/cmp/ta_func_api.o \ + ../../../../../temp/cmp/ta_group_idx.o \ + ../../../../../temp/cmp/ta_frame.o \ + ../../../../../temp/cmp/table_a.o \ + ../../../../../temp/cmp/table_b.o \ + ../../../../../temp/cmp/table_c.o \ + ../../../../../temp/cmp/table_d.o \ + ../../../../../temp/cmp/table_e.o \ + ../../../../../temp/cmp/table_f.o \ + ../../../../../temp/cmp/table_g.o \ + ../../../../../temp/cmp/table_h.o \ + ../../../../../temp/cmp/table_i.o \ + ../../../../../temp/cmp/table_j.o \ + ../../../../../temp/cmp/table_k.o \ + ../../../../../temp/cmp/table_l.o \ + ../../../../../temp/cmp/table_m.o \ + ../../../../../temp/cmp/table_n.o \ + ../../../../../temp/cmp/table_o.o \ + ../../../../../temp/cmp/table_p.o \ + ../../../../../temp/cmp/table_q.o \ + ../../../../../temp/cmp/table_r.o \ + ../../../../../temp/cmp/table_s.o \ + ../../../../../temp/cmp/table_t.o \ + ../../../../../temp/cmp/table_u.o \ + ../../../../../temp/cmp/table_v.o \ + ../../../../../temp/cmp/table_w.o \ + ../../../../../temp/cmp/table_x.o \ + ../../../../../temp/cmp/table_y.o \ + ../../../../../temp/cmp/table_z.o \ + ../../../../../temp/cmp/ta_utility.o \ + ../../../../../temp/cmp/ta_ACOS.o \ + ../../../../../temp/cmp/ta_AD.o \ + ../../../../../temp/cmp/ta_ADD.o \ + ../../../../../temp/cmp/ta_ADOSC.o \ + ../../../../../temp/cmp/ta_ADX.o \ + ../../../../../temp/cmp/ta_ADXR.o \ + ../../../../../temp/cmp/ta_APO.o \ + ../../../../../temp/cmp/ta_AROON.o \ + ../../../../../temp/cmp/ta_AROONOSC.o \ + ../../../../../temp/cmp/ta_ASIN.o \ + ../../../../../temp/cmp/ta_ATAN.o \ + ../../../../../temp/cmp/ta_ATR.o \ + ../../../../../temp/cmp/ta_AVGPRICE.o \ + ../../../../../temp/cmp/ta_BBANDS.o \ + ../../../../../temp/cmp/ta_BETA.o \ + ../../../../../temp/cmp/ta_BOP.o \ + ../../../../../temp/cmp/ta_CCI.o \ + ../../../../../temp/cmp/ta_CDL2CROWS.o \ + ../../../../../temp/cmp/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/cmp/ta_CDL3INSIDE.o \ + ../../../../../temp/cmp/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/cmp/ta_CDL3OUTSIDE.o \ + ../../../../../temp/cmp/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/cmp/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/cmp/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/cmp/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/cmp/ta_CDLBELTHOLD.o \ + ../../../../../temp/cmp/ta_CDLBREAKAWAY.o \ + ../../../../../temp/cmp/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/cmp/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/cmp/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/cmp/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/cmp/ta_CDLDOJI.o \ + ../../../../../temp/cmp/ta_CDLDOJISTAR.o \ + ../../../../../temp/cmp/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/cmp/ta_CDLENGULFING.o \ + ../../../../../temp/cmp/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/cmp/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/cmp/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/cmp/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/cmp/ta_CDLHAMMER.o \ + ../../../../../temp/cmp/ta_CDLHANGINGMAN.o \ + ../../../../../temp/cmp/ta_CDLHARAMI.o \ + ../../../../../temp/cmp/ta_CDLHARAMICROSS.o \ + ../../../../../temp/cmp/ta_CDLHIGHWAVE.o \ + ../../../../../temp/cmp/ta_CDLHIKKAKE.o \ + ../../../../../temp/cmp/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/cmp/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/cmp/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/cmp/ta_CDLINNECK.o \ + ../../../../../temp/cmp/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/cmp/ta_CDLKICKING.o \ + ../../../../../temp/cmp/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/cmp/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/cmp/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/cmp/ta_CDLLONGLINE.o \ + ../../../../../temp/cmp/ta_CDLMARUBOZU.o \ + ../../../../../temp/cmp/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/cmp/ta_CDLMATHOLD.o \ + ../../../../../temp/cmp/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/cmp/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/cmp/ta_CDLONNECK.o \ + ../../../../../temp/cmp/ta_CDLPIERCING.o \ + ../../../../../temp/cmp/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/cmp/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/cmp/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/cmp/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/cmp/ta_CDLSHORTLINE.o \ + ../../../../../temp/cmp/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/cmp/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/cmp/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/cmp/ta_CDLTAKURI.o \ + ../../../../../temp/cmp/ta_CDLTASUKIGAP.o \ + ../../../../../temp/cmp/ta_CDLTHRUSTING.o \ + ../../../../../temp/cmp/ta_CDLTRISTAR.o \ + ../../../../../temp/cmp/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/cmp/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/cmp/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/cmp/ta_CEIL.o \ + ../../../../../temp/cmp/ta_CMO.o \ + ../../../../../temp/cmp/ta_CORREL.o \ + ../../../../../temp/cmp/ta_COS.o \ + ../../../../../temp/cmp/ta_COSH.o \ + ../../../../../temp/cmp/ta_DEMA.o \ + ../../../../../temp/cmp/ta_DIV.o \ + ../../../../../temp/cmp/ta_DX.o \ + ../../../../../temp/cmp/ta_EMA.o \ + ../../../../../temp/cmp/ta_EXP.o \ + ../../../../../temp/cmp/ta_FLOOR.o \ + ../../../../../temp/cmp/ta_HT_DCPERIOD.o \ + ../../../../../temp/cmp/ta_HT_DCPHASE.o \ + ../../../../../temp/cmp/ta_HT_PHASOR.o \ + ../../../../../temp/cmp/ta_HT_SINE.o \ + ../../../../../temp/cmp/ta_HT_TRENDLINE.o \ + ../../../../../temp/cmp/ta_HT_TRENDMODE.o \ + ../../../../../temp/cmp/ta_KAMA.o \ + ../../../../../temp/cmp/ta_LINEARREG.o \ + ../../../../../temp/cmp/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/cmp/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/cmp/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/cmp/ta_LN.o \ + ../../../../../temp/cmp/ta_LOG10.o \ + ../../../../../temp/cmp/ta_MA.o \ + ../../../../../temp/cmp/ta_MACD.o \ + ../../../../../temp/cmp/ta_MACDEXT.o \ + ../../../../../temp/cmp/ta_MACDFIX.o \ + ../../../../../temp/cmp/ta_MAMA.o \ + ../../../../../temp/cmp/ta_MAVP.o \ + ../../../../../temp/cmp/ta_MAX.o \ + ../../../../../temp/cmp/ta_MAXINDEX.o \ + ../../../../../temp/cmp/ta_MEDPRICE.o \ + ../../../../../temp/cmp/ta_MFI.o \ + ../../../../../temp/cmp/ta_MIDPOINT.o \ + ../../../../../temp/cmp/ta_MIDPRICE.o \ + ../../../../../temp/cmp/ta_MIN.o \ + ../../../../../temp/cmp/ta_MININDEX.o \ + ../../../../../temp/cmp/ta_MINMAX.o \ + ../../../../../temp/cmp/ta_MINMAXINDEX.o \ + ../../../../../temp/cmp/ta_MINUS_DI.o \ + ../../../../../temp/cmp/ta_MINUS_DM.o \ + ../../../../../temp/cmp/ta_MOM.o \ + ../../../../../temp/cmp/ta_MULT.o \ + ../../../../../temp/cmp/ta_NATR.o \ + ../../../../../temp/cmp/ta_OBV.o \ + ../../../../../temp/cmp/ta_PLUS_DI.o \ + ../../../../../temp/cmp/ta_PLUS_DM.o \ + ../../../../../temp/cmp/ta_PPO.o \ + ../../../../../temp/cmp/ta_ROC.o \ + ../../../../../temp/cmp/ta_ROCP.o \ + ../../../../../temp/cmp/ta_ROCR.o \ + ../../../../../temp/cmp/ta_ROCR100.o \ + ../../../../../temp/cmp/ta_RSI.o \ + ../../../../../temp/cmp/ta_SAR.o \ + ../../../../../temp/cmp/ta_SAREXT.o \ + ../../../../../temp/cmp/ta_SIN.o \ + ../../../../../temp/cmp/ta_SINH.o \ + ../../../../../temp/cmp/ta_SMA.o \ + ../../../../../temp/cmp/ta_SQRT.o \ + ../../../../../temp/cmp/ta_STDDEV.o \ + ../../../../../temp/cmp/ta_STOCH.o \ + ../../../../../temp/cmp/ta_STOCHF.o \ + ../../../../../temp/cmp/ta_STOCHRSI.o \ + ../../../../../temp/cmp/ta_SUB.o \ + ../../../../../temp/cmp/ta_SUM.o \ + ../../../../../temp/cmp/ta_T3.o \ + ../../../../../temp/cmp/ta_TAN.o \ + ../../../../../temp/cmp/ta_TANH.o \ + ../../../../../temp/cmp/ta_TEMA.o \ + ../../../../../temp/cmp/ta_TRANGE.o \ + ../../../../../temp/cmp/ta_TRIMA.o \ + ../../../../../temp/cmp/ta_TRIX.o \ + ../../../../../temp/cmp/ta_TSF.o \ + ../../../../../temp/cmp/ta_TYPPRICE.o \ + ../../../../../temp/cmp/ta_ULTOSC.o \ + ../../../../../temp/cmp/ta_VAR.o \ + ../../../../../temp/cmp/ta_WCLPRICE.o \ + ../../../../../temp/cmp/ta_WILLR.o \ + ../../../../../temp/cmp/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_libc_cmp.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmp/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/cmp/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/cmp/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_version.o ../../../../../src/ta_common/ta_version.c + +../../../../../temp/cmp/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmp/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmp/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/cmp/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/cmp/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/cmp/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmp/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmp/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmp/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmp/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmp/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmp/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmp/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmp/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmp/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmp/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmp/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmp/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmp/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmp/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmp/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmp/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmp/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmp/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmp/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmp/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmp/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmp/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmp/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmp/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmp/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + +../../../../../temp/cmp/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/cmp/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/cmp/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/cmp/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/cmp/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/cmp/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/cmp/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/cmp/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/cmp/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/cmp/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/cmp/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/cmp/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/cmp/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/cmp/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/cmp/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/cmp/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/cmp/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/cmp/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/cmp/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/cmp/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/cmp/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/cmp/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/cmp/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/cmp/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/cmp/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/cmp/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/cmp/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/cmp/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/cmp/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/cmp/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/cmp/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/cmp/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/cmp/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/cmp/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/cmp/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/cmp/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/cmp/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/cmp/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/cmp/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/cmp/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/cmp/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/cmp/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/cmp/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/cmp/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/cmp/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/cmp/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/cmp/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/cmp/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/cmp/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/cmp/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/cmp/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/cmp/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/cmp/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/cmp/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/cmp/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/cmp/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/cmp/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/cmp/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/cmp/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/cmp/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/cmp/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/cmp/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/cmp/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/cmp/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/cmp/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/cmp/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/cmp/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/cmp/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/cmp/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/cmp/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/cmp/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/cmp/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/cmp/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/cmp/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/cmp/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/cmp/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/cmp/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/cmp/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/cmp/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/cmp/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/cmp/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/cmp/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/cmp/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/cmp/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/cmp/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/cmp/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/cmp/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/cmp/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/cmp/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/cmp/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/cmp/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/cmp/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/cmp/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/cmp/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/cmp/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/cmp/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/cmp/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/cmp/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/cmp/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/cmp/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/cmp/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/cmp/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/cmp/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/cmp/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/cmp/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/cmp/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/cmp/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/cmp/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/cmp/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/cmp/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/cmp/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/cmp/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/cmp/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/cmp/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/cmp/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/cmp/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/cmp/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/cmp/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/cmp/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/cmp/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/cmp/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/cmp/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/cmp/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/cmp/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/cmp/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/cmp/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/cmp/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/cmp/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/cmp/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/cmp/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/cmp/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/cmp/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/cmp/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/cmp/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/cmp/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/cmp/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/cmp/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/cmp/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/cmp/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/cmp/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/cmp/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/cmp/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/cmp/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/cmp/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/cmp/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/cmp/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/cmp/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/cmp/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/cmp/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/cmp/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/cmp/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/cmp/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/cmp/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/cmp/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/cmp/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/cmp/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/cmp/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/cmp/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/cmp/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/cmp/cygwin/g++/ta_regtest/Makefile b/vendor/ta-lib/make/cmp/cygwin/g++/ta_regtest/Makefile new file mode 100644 index 000000000..af06290aa --- /dev/null +++ b/vendor/ta-lib/make/cmp/cygwin/g++/ta_regtest/Makefile @@ -0,0 +1,211 @@ +############################################################################# +# Makefile for building ../../../../../bin/ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -O -pg -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../src/tools/ta_regtest -I../../../../../src/ta_func -I../../../../../include +LINK = g++ +LFLAGS = -pg +LIBS = $(SUBLIBS) ../../../../../lib/libta_libc_cmp.a -lpthread +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/ta_regtest/ta_regtest.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c \ + ../../../../../src/tools/ta_regtest/test_internals.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c \ + ../../../../../src/tools/ta_regtest/test_util.c \ + ../../../../../src/tools/ta_regtest/test_data.c \ + ../../../../../src/tools/ta_regtest/test_abstract.c +OBJECTS = ../../../../../temp/cmp/ta_regtest.o \ + ../../../../../temp/cmp/test_candlestick.o \ + ../../../../../temp/cmp/test_1in_1out.o \ + ../../../../../temp/cmp/test_1in_2out.o \ + ../../../../../temp/cmp/test_internals.o \ + ../../../../../temp/cmp/test_adx.o \ + ../../../../../temp/cmp/test_bbands.o \ + ../../../../../temp/cmp/test_ma.o \ + ../../../../../temp/cmp/test_macd.o \ + ../../../../../temp/cmp/test_minmax.o \ + ../../../../../temp/cmp/test_mom.o \ + ../../../../../temp/cmp/test_per_ema.o \ + ../../../../../temp/cmp/test_per_hl.o \ + ../../../../../temp/cmp/test_per_hlc.o \ + ../../../../../temp/cmp/test_per_hlcv.o \ + ../../../../../temp/cmp/test_per_ohlc.o \ + ../../../../../temp/cmp/test_po.o \ + ../../../../../temp/cmp/test_rsi.o \ + ../../../../../temp/cmp/test_sar.o \ + ../../../../../temp/cmp/test_stddev.o \ + ../../../../../temp/cmp/test_stoch.o \ + ../../../../../temp/cmp/test_trange.o \ + ../../../../../temp/cmp/test_util.o \ + ../../../../../temp/cmp/test_data.o \ + ../../../../../temp/cmp/test_abstract.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/ta_regtest +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmp/ta_regtest.o: ../../../../../src/tools/ta_regtest/ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_regtest.o ../../../../../src/tools/ta_regtest/ta_regtest.c + +../../../../../temp/cmp/test_candlestick.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_candlestick.o ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + +../../../../../temp/cmp/test_1in_1out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_1in_1out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + +../../../../../temp/cmp/test_1in_2out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_1in_2out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + +../../../../../temp/cmp/test_internals.o: ../../../../../src/tools/ta_regtest/test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_internals.o ../../../../../src/tools/ta_regtest/test_internals.c + +../../../../../temp/cmp/test_adx.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_adx.o ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + +../../../../../temp/cmp/test_bbands.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_bbands.o ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + +../../../../../temp/cmp/test_ma.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_ma.o ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + +../../../../../temp/cmp/test_macd.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_macd.o ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + +../../../../../temp/cmp/test_minmax.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_minmax.o ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + +../../../../../temp/cmp/test_mom.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_mom.o ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + +../../../../../temp/cmp/test_per_ema.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_per_ema.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + +../../../../../temp/cmp/test_per_hl.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_per_hl.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + +../../../../../temp/cmp/test_per_hlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_per_hlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + +../../../../../temp/cmp/test_per_hlcv.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_per_hlcv.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + +../../../../../temp/cmp/test_per_ohlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_per_ohlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + +../../../../../temp/cmp/test_po.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_po.o ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + +../../../../../temp/cmp/test_rsi.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_rsi.o ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + +../../../../../temp/cmp/test_sar.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_sar.o ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + +../../../../../temp/cmp/test_stddev.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_stddev.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + +../../../../../temp/cmp/test_stoch.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_stoch.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + +../../../../../temp/cmp/test_trange.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_trange.o ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + +../../../../../temp/cmp/test_util.o: ../../../../../src/tools/ta_regtest/test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_util.o ../../../../../src/tools/ta_regtest/test_util.c + +../../../../../temp/cmp/test_data.o: ../../../../../src/tools/ta_regtest/test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_data.o ../../../../../src/tools/ta_regtest/test_data.c + +../../../../../temp/cmp/test_abstract.o: ../../../../../src/tools/ta_regtest/test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_abstract.o ../../../../../src/tools/ta_regtest/test_abstract.c + diff --git a/vendor/ta-lib/make/cmp/freebsd/g++/Makefile b/vendor/ta-lib/make/cmp/freebsd/g++/Makefile new file mode 100644 index 000000000..6864460b4 --- /dev/null +++ b/vendor/ta-lib/make/cmp/freebsd/g++/Makefile @@ -0,0 +1,36 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +$(SUBDIRS): FORCE + cd $@; $(MAKE) + +tmake: ../cmp/freebsd/g++/Makefile + +../cmp/freebsd/g++/Makefile: rootmake.pro + tmake rootmake.pro -o ../cmp/freebsd/g++/Makefile + +tmake_all: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done + +#### $text = "\t" . 'for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; pro=`basename $$i`.pro ; $(TMAKE) $$pro -o $(MAKEFILE); grep "TEMPLATE.*subdirs" $$pro 2>/dev/null >/dev/null && $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done'; + +clean release debug: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) $@; fi; ) ; done + +FORCE: diff --git a/vendor/ta-lib/make/cmp/freebsd/g++/gen_code/Makefile b/vendor/ta-lib/make/cmp/freebsd/g++/gen_code/Makefile new file mode 100644 index 000000000..91ec0d272 --- /dev/null +++ b/vendor/ta-lib/make/cmp/freebsd/g++/gen_code/Makefile @@ -0,0 +1,225 @@ +############################################################################# +# Makefile for building ../../../../../bin/gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -O -pg -D_REENTRANT -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -g -D_REENTRANT -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../include -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I/usr/local/include +LINK = g++ +LFLAGS = -L/usr/local/lib -pg +LIBS = $(SUBLIBS) ../../../../../lib/libta_common_cmp.a -pthread +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/gen_code/gen_code.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/cmp/gen_code/gen_code.o \ + ../../../../../temp/cmp/gen_code/ta_abstract.o \ + ../../../../../temp/cmp/gen_code/ta_def_ui.o \ + ../../../../../temp/cmp/gen_code/table_a.o \ + ../../../../../temp/cmp/gen_code/table_b.o \ + ../../../../../temp/cmp/gen_code/table_c.o \ + ../../../../../temp/cmp/gen_code/table_d.o \ + ../../../../../temp/cmp/gen_code/table_e.o \ + ../../../../../temp/cmp/gen_code/table_f.o \ + ../../../../../temp/cmp/gen_code/table_g.o \ + ../../../../../temp/cmp/gen_code/table_h.o \ + ../../../../../temp/cmp/gen_code/table_i.o \ + ../../../../../temp/cmp/gen_code/table_j.o \ + ../../../../../temp/cmp/gen_code/table_k.o \ + ../../../../../temp/cmp/gen_code/table_l.o \ + ../../../../../temp/cmp/gen_code/table_m.o \ + ../../../../../temp/cmp/gen_code/table_n.o \ + ../../../../../temp/cmp/gen_code/table_o.o \ + ../../../../../temp/cmp/gen_code/table_p.o \ + ../../../../../temp/cmp/gen_code/table_q.o \ + ../../../../../temp/cmp/gen_code/table_r.o \ + ../../../../../temp/cmp/gen_code/table_s.o \ + ../../../../../temp/cmp/gen_code/table_t.o \ + ../../../../../temp/cmp/gen_code/table_u.o \ + ../../../../../temp/cmp/gen_code/table_v.o \ + ../../../../../temp/cmp/gen_code/table_w.o \ + ../../../../../temp/cmp/gen_code/table_x.o \ + ../../../../../temp/cmp/gen_code/table_y.o \ + ../../../../../temp/cmp/gen_code/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/gen_code +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmp/gen_code/gen_code.o: ../../../../../src/tools/gen_code/gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/gen_code.o ../../../../../src/tools/gen_code/gen_code.c + +../../../../../temp/cmp/gen_code/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmp/gen_code/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmp/gen_code/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmp/gen_code/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmp/gen_code/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmp/gen_code/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmp/gen_code/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmp/gen_code/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmp/gen_code/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmp/gen_code/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmp/gen_code/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmp/gen_code/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmp/gen_code/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmp/gen_code/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmp/gen_code/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmp/gen_code/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmp/gen_code/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmp/gen_code/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmp/gen_code/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmp/gen_code/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmp/gen_code/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmp/gen_code/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmp/gen_code/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmp/gen_code/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmp/gen_code/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmp/gen_code/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmp/gen_code/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmp/gen_code/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/cmp/freebsd/g++/ta_abstract/Makefile b/vendor/ta-lib/make/cmp/freebsd/g++/ta_abstract/Makefile new file mode 100644 index 000000000..b87951a55 --- /dev/null +++ b/vendor/ta-lib/make/cmp/freebsd/g++/ta_abstract/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_abstract_cmp.a +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -O -pg -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I../../../../../include -I/usr/local/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/cmp/ta_abstract.o \ + ../../../../../temp/cmp/ta_def_ui.o \ + ../../../../../temp/cmp/ta_func_api.o \ + ../../../../../temp/cmp/ta_group_idx.o \ + ../../../../../temp/cmp/ta_frame.o \ + ../../../../../temp/cmp/table_a.o \ + ../../../../../temp/cmp/table_b.o \ + ../../../../../temp/cmp/table_c.o \ + ../../../../../temp/cmp/table_d.o \ + ../../../../../temp/cmp/table_e.o \ + ../../../../../temp/cmp/table_f.o \ + ../../../../../temp/cmp/table_g.o \ + ../../../../../temp/cmp/table_h.o \ + ../../../../../temp/cmp/table_i.o \ + ../../../../../temp/cmp/table_j.o \ + ../../../../../temp/cmp/table_k.o \ + ../../../../../temp/cmp/table_l.o \ + ../../../../../temp/cmp/table_m.o \ + ../../../../../temp/cmp/table_n.o \ + ../../../../../temp/cmp/table_o.o \ + ../../../../../temp/cmp/table_p.o \ + ../../../../../temp/cmp/table_q.o \ + ../../../../../temp/cmp/table_r.o \ + ../../../../../temp/cmp/table_s.o \ + ../../../../../temp/cmp/table_t.o \ + ../../../../../temp/cmp/table_u.o \ + ../../../../../temp/cmp/table_v.o \ + ../../../../../temp/cmp/table_w.o \ + ../../../../../temp/cmp/table_x.o \ + ../../../../../temp/cmp/table_y.o \ + ../../../../../temp/cmp/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_abstract_cmp.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmp/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmp/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmp/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/cmp/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/cmp/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/cmp/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmp/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmp/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmp/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmp/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmp/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmp/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmp/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmp/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmp/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmp/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmp/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmp/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmp/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmp/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmp/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmp/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmp/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmp/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmp/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmp/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmp/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmp/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmp/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmp/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmp/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/cmp/freebsd/g++/ta_common/Makefile b/vendor/ta-lib/make/cmp/freebsd/g++/ta_common/Makefile new file mode 100644 index 000000000..bfdc7f655 --- /dev/null +++ b/vendor/ta-lib/make/cmp/freebsd/g++/ta_common/Makefile @@ -0,0 +1,103 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_common_cmp.a +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -O -pg -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../include -I/usr/local/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c +OBJECTS = ../../../../../temp/cmp/ta_global.o \ + ../../../../../temp/cmp/ta_retcode.o \ + ../../../../../temp/cmp/ta_version.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_common_cmp.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmp/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/cmp/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/cmp/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_version.o ../../../../../src/ta_common/ta_version.c + diff --git a/vendor/ta-lib/make/cmp/freebsd/g++/ta_func/Makefile b/vendor/ta-lib/make/cmp/freebsd/g++/ta_func/Makefile new file mode 100644 index 000000000..1d5a860c5 --- /dev/null +++ b/vendor/ta-lib/make/cmp/freebsd/g++/ta_func/Makefile @@ -0,0 +1,883 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_func_cmp.a +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -O -pg -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I/n -I../../../../../include -I/usr/local/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/cmp/ta_utility.o \ + ../../../../../temp/cmp/ta_ACOS.o \ + ../../../../../temp/cmp/ta_AD.o \ + ../../../../../temp/cmp/ta_ADD.o \ + ../../../../../temp/cmp/ta_ADOSC.o \ + ../../../../../temp/cmp/ta_ADX.o \ + ../../../../../temp/cmp/ta_ADXR.o \ + ../../../../../temp/cmp/ta_APO.o \ + ../../../../../temp/cmp/ta_AROON.o \ + ../../../../../temp/cmp/ta_AROONOSC.o \ + ../../../../../temp/cmp/ta_ASIN.o \ + ../../../../../temp/cmp/ta_ATAN.o \ + ../../../../../temp/cmp/ta_ATR.o \ + ../../../../../temp/cmp/ta_AVGPRICE.o \ + ../../../../../temp/cmp/ta_BBANDS.o \ + ../../../../../temp/cmp/ta_BETA.o \ + ../../../../../temp/cmp/ta_BOP.o \ + ../../../../../temp/cmp/ta_CCI.o \ + ../../../../../temp/cmp/ta_CDL2CROWS.o \ + ../../../../../temp/cmp/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/cmp/ta_CDL3INSIDE.o \ + ../../../../../temp/cmp/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/cmp/ta_CDL3OUTSIDE.o \ + ../../../../../temp/cmp/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/cmp/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/cmp/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/cmp/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/cmp/ta_CDLBELTHOLD.o \ + ../../../../../temp/cmp/ta_CDLBREAKAWAY.o \ + ../../../../../temp/cmp/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/cmp/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/cmp/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/cmp/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/cmp/ta_CDLDOJI.o \ + ../../../../../temp/cmp/ta_CDLDOJISTAR.o \ + ../../../../../temp/cmp/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/cmp/ta_CDLENGULFING.o \ + ../../../../../temp/cmp/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/cmp/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/cmp/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/cmp/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/cmp/ta_CDLHAMMER.o \ + ../../../../../temp/cmp/ta_CDLHANGINGMAN.o \ + ../../../../../temp/cmp/ta_CDLHARAMI.o \ + ../../../../../temp/cmp/ta_CDLHARAMICROSS.o \ + ../../../../../temp/cmp/ta_CDLHIGHWAVE.o \ + ../../../../../temp/cmp/ta_CDLHIKKAKE.o \ + ../../../../../temp/cmp/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/cmp/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/cmp/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/cmp/ta_CDLINNECK.o \ + ../../../../../temp/cmp/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/cmp/ta_CDLKICKING.o \ + ../../../../../temp/cmp/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/cmp/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/cmp/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/cmp/ta_CDLLONGLINE.o \ + ../../../../../temp/cmp/ta_CDLMARUBOZU.o \ + ../../../../../temp/cmp/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/cmp/ta_CDLMATHOLD.o \ + ../../../../../temp/cmp/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/cmp/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/cmp/ta_CDLONNECK.o \ + ../../../../../temp/cmp/ta_CDLPIERCING.o \ + ../../../../../temp/cmp/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/cmp/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/cmp/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/cmp/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/cmp/ta_CDLSHORTLINE.o \ + ../../../../../temp/cmp/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/cmp/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/cmp/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/cmp/ta_CDLTAKURI.o \ + ../../../../../temp/cmp/ta_CDLTASUKIGAP.o \ + ../../../../../temp/cmp/ta_CDLTHRUSTING.o \ + ../../../../../temp/cmp/ta_CDLTRISTAR.o \ + ../../../../../temp/cmp/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/cmp/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/cmp/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/cmp/ta_CEIL.o \ + ../../../../../temp/cmp/ta_CMO.o \ + ../../../../../temp/cmp/ta_CORREL.o \ + ../../../../../temp/cmp/ta_COS.o \ + ../../../../../temp/cmp/ta_COSH.o \ + ../../../../../temp/cmp/ta_DEMA.o \ + ../../../../../temp/cmp/ta_DIV.o \ + ../../../../../temp/cmp/ta_DX.o \ + ../../../../../temp/cmp/ta_EMA.o \ + ../../../../../temp/cmp/ta_EXP.o \ + ../../../../../temp/cmp/ta_FLOOR.o \ + ../../../../../temp/cmp/ta_HT_DCPERIOD.o \ + ../../../../../temp/cmp/ta_HT_DCPHASE.o \ + ../../../../../temp/cmp/ta_HT_PHASOR.o \ + ../../../../../temp/cmp/ta_HT_SINE.o \ + ../../../../../temp/cmp/ta_HT_TRENDLINE.o \ + ../../../../../temp/cmp/ta_HT_TRENDMODE.o \ + ../../../../../temp/cmp/ta_KAMA.o \ + ../../../../../temp/cmp/ta_LINEARREG.o \ + ../../../../../temp/cmp/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/cmp/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/cmp/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/cmp/ta_LN.o \ + ../../../../../temp/cmp/ta_LOG10.o \ + ../../../../../temp/cmp/ta_MA.o \ + ../../../../../temp/cmp/ta_MACD.o \ + ../../../../../temp/cmp/ta_MACDEXT.o \ + ../../../../../temp/cmp/ta_MACDFIX.o \ + ../../../../../temp/cmp/ta_MAMA.o \ + ../../../../../temp/cmp/ta_MAVP.o \ + ../../../../../temp/cmp/ta_MAX.o \ + ../../../../../temp/cmp/ta_MAXINDEX.o \ + ../../../../../temp/cmp/ta_MEDPRICE.o \ + ../../../../../temp/cmp/ta_MFI.o \ + ../../../../../temp/cmp/ta_MIDPOINT.o \ + ../../../../../temp/cmp/ta_MIDPRICE.o \ + ../../../../../temp/cmp/ta_MIN.o \ + ../../../../../temp/cmp/ta_MININDEX.o \ + ../../../../../temp/cmp/ta_MINMAX.o \ + ../../../../../temp/cmp/ta_MINMAXINDEX.o \ + ../../../../../temp/cmp/ta_MINUS_DI.o \ + ../../../../../temp/cmp/ta_MINUS_DM.o \ + ../../../../../temp/cmp/ta_MOM.o \ + ../../../../../temp/cmp/ta_MULT.o \ + ../../../../../temp/cmp/ta_NATR.o \ + ../../../../../temp/cmp/ta_OBV.o \ + ../../../../../temp/cmp/ta_PLUS_DI.o \ + ../../../../../temp/cmp/ta_PLUS_DM.o \ + ../../../../../temp/cmp/ta_PPO.o \ + ../../../../../temp/cmp/ta_ROC.o \ + ../../../../../temp/cmp/ta_ROCP.o \ + ../../../../../temp/cmp/ta_ROCR.o \ + ../../../../../temp/cmp/ta_ROCR100.o \ + ../../../../../temp/cmp/ta_RSI.o \ + ../../../../../temp/cmp/ta_SAR.o \ + ../../../../../temp/cmp/ta_SAREXT.o \ + ../../../../../temp/cmp/ta_SIN.o \ + ../../../../../temp/cmp/ta_SINH.o \ + ../../../../../temp/cmp/ta_SMA.o \ + ../../../../../temp/cmp/ta_SQRT.o \ + ../../../../../temp/cmp/ta_STDDEV.o \ + ../../../../../temp/cmp/ta_STOCH.o \ + ../../../../../temp/cmp/ta_STOCHF.o \ + ../../../../../temp/cmp/ta_STOCHRSI.o \ + ../../../../../temp/cmp/ta_SUB.o \ + ../../../../../temp/cmp/ta_SUM.o \ + ../../../../../temp/cmp/ta_T3.o \ + ../../../../../temp/cmp/ta_TAN.o \ + ../../../../../temp/cmp/ta_TANH.o \ + ../../../../../temp/cmp/ta_TEMA.o \ + ../../../../../temp/cmp/ta_TRANGE.o \ + ../../../../../temp/cmp/ta_TRIMA.o \ + ../../../../../temp/cmp/ta_TRIX.o \ + ../../../../../temp/cmp/ta_TSF.o \ + ../../../../../temp/cmp/ta_TYPPRICE.o \ + ../../../../../temp/cmp/ta_ULTOSC.o \ + ../../../../../temp/cmp/ta_VAR.o \ + ../../../../../temp/cmp/ta_WCLPRICE.o \ + ../../../../../temp/cmp/ta_WILLR.o \ + ../../../../../temp/cmp/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_func_cmp.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmp/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/cmp/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/cmp/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/cmp/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/cmp/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/cmp/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/cmp/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/cmp/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/cmp/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/cmp/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/cmp/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/cmp/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/cmp/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/cmp/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/cmp/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/cmp/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/cmp/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/cmp/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/cmp/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/cmp/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/cmp/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/cmp/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/cmp/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/cmp/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/cmp/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/cmp/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/cmp/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/cmp/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/cmp/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/cmp/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/cmp/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/cmp/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/cmp/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/cmp/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/cmp/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/cmp/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/cmp/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/cmp/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/cmp/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/cmp/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/cmp/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/cmp/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/cmp/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/cmp/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/cmp/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/cmp/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/cmp/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/cmp/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/cmp/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/cmp/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/cmp/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/cmp/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/cmp/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/cmp/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/cmp/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/cmp/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/cmp/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/cmp/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/cmp/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/cmp/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/cmp/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/cmp/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/cmp/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/cmp/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/cmp/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/cmp/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/cmp/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/cmp/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/cmp/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/cmp/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/cmp/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/cmp/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/cmp/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/cmp/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/cmp/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/cmp/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/cmp/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/cmp/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/cmp/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/cmp/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/cmp/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/cmp/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/cmp/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/cmp/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/cmp/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/cmp/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/cmp/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/cmp/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/cmp/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/cmp/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/cmp/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/cmp/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/cmp/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/cmp/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/cmp/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/cmp/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/cmp/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/cmp/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/cmp/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/cmp/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/cmp/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/cmp/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/cmp/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/cmp/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/cmp/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/cmp/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/cmp/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/cmp/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/cmp/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/cmp/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/cmp/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/cmp/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/cmp/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/cmp/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/cmp/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/cmp/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/cmp/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/cmp/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/cmp/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/cmp/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/cmp/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/cmp/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/cmp/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/cmp/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/cmp/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/cmp/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/cmp/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/cmp/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/cmp/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/cmp/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/cmp/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/cmp/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/cmp/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/cmp/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/cmp/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/cmp/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/cmp/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/cmp/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/cmp/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/cmp/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/cmp/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/cmp/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/cmp/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/cmp/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/cmp/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/cmp/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/cmp/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/cmp/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/cmp/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/cmp/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/cmp/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/cmp/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/cmp/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/cmp/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/cmp/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/cmp/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/cmp/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/cmp/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/cmp/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/cmp/freebsd/g++/ta_libc/Makefile b/vendor/ta-lib/make/cmp/freebsd/g++/ta_libc/Makefile new file mode 100644 index 000000000..30b85bd0b --- /dev/null +++ b/vendor/ta-lib/make/cmp/freebsd/g++/ta_libc/Makefile @@ -0,0 +1,1053 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_libc_cmp.a +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -O -pg -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../include -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I/usr/local/include -I$(QTDIR)/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c \ + ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/cmp/ta_global.o \ + ../../../../../temp/cmp/ta_retcode.o \ + ../../../../../temp/cmp/ta_version.o \ + ../../../../../temp/cmp/ta_abstract.o \ + ../../../../../temp/cmp/ta_def_ui.o \ + ../../../../../temp/cmp/ta_func_api.o \ + ../../../../../temp/cmp/ta_group_idx.o \ + ../../../../../temp/cmp/ta_frame.o \ + ../../../../../temp/cmp/table_a.o \ + ../../../../../temp/cmp/table_b.o \ + ../../../../../temp/cmp/table_c.o \ + ../../../../../temp/cmp/table_d.o \ + ../../../../../temp/cmp/table_e.o \ + ../../../../../temp/cmp/table_f.o \ + ../../../../../temp/cmp/table_g.o \ + ../../../../../temp/cmp/table_h.o \ + ../../../../../temp/cmp/table_i.o \ + ../../../../../temp/cmp/table_j.o \ + ../../../../../temp/cmp/table_k.o \ + ../../../../../temp/cmp/table_l.o \ + ../../../../../temp/cmp/table_m.o \ + ../../../../../temp/cmp/table_n.o \ + ../../../../../temp/cmp/table_o.o \ + ../../../../../temp/cmp/table_p.o \ + ../../../../../temp/cmp/table_q.o \ + ../../../../../temp/cmp/table_r.o \ + ../../../../../temp/cmp/table_s.o \ + ../../../../../temp/cmp/table_t.o \ + ../../../../../temp/cmp/table_u.o \ + ../../../../../temp/cmp/table_v.o \ + ../../../../../temp/cmp/table_w.o \ + ../../../../../temp/cmp/table_x.o \ + ../../../../../temp/cmp/table_y.o \ + ../../../../../temp/cmp/table_z.o \ + ../../../../../temp/cmp/ta_utility.o \ + ../../../../../temp/cmp/ta_ACOS.o \ + ../../../../../temp/cmp/ta_AD.o \ + ../../../../../temp/cmp/ta_ADD.o \ + ../../../../../temp/cmp/ta_ADOSC.o \ + ../../../../../temp/cmp/ta_ADX.o \ + ../../../../../temp/cmp/ta_ADXR.o \ + ../../../../../temp/cmp/ta_APO.o \ + ../../../../../temp/cmp/ta_AROON.o \ + ../../../../../temp/cmp/ta_AROONOSC.o \ + ../../../../../temp/cmp/ta_ASIN.o \ + ../../../../../temp/cmp/ta_ATAN.o \ + ../../../../../temp/cmp/ta_ATR.o \ + ../../../../../temp/cmp/ta_AVGPRICE.o \ + ../../../../../temp/cmp/ta_BBANDS.o \ + ../../../../../temp/cmp/ta_BETA.o \ + ../../../../../temp/cmp/ta_BOP.o \ + ../../../../../temp/cmp/ta_CCI.o \ + ../../../../../temp/cmp/ta_CDL2CROWS.o \ + ../../../../../temp/cmp/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/cmp/ta_CDL3INSIDE.o \ + ../../../../../temp/cmp/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/cmp/ta_CDL3OUTSIDE.o \ + ../../../../../temp/cmp/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/cmp/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/cmp/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/cmp/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/cmp/ta_CDLBELTHOLD.o \ + ../../../../../temp/cmp/ta_CDLBREAKAWAY.o \ + ../../../../../temp/cmp/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/cmp/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/cmp/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/cmp/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/cmp/ta_CDLDOJI.o \ + ../../../../../temp/cmp/ta_CDLDOJISTAR.o \ + ../../../../../temp/cmp/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/cmp/ta_CDLENGULFING.o \ + ../../../../../temp/cmp/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/cmp/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/cmp/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/cmp/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/cmp/ta_CDLHAMMER.o \ + ../../../../../temp/cmp/ta_CDLHANGINGMAN.o \ + ../../../../../temp/cmp/ta_CDLHARAMI.o \ + ../../../../../temp/cmp/ta_CDLHARAMICROSS.o \ + ../../../../../temp/cmp/ta_CDLHIGHWAVE.o \ + ../../../../../temp/cmp/ta_CDLHIKKAKE.o \ + ../../../../../temp/cmp/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/cmp/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/cmp/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/cmp/ta_CDLINNECK.o \ + ../../../../../temp/cmp/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/cmp/ta_CDLKICKING.o \ + ../../../../../temp/cmp/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/cmp/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/cmp/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/cmp/ta_CDLLONGLINE.o \ + ../../../../../temp/cmp/ta_CDLMARUBOZU.o \ + ../../../../../temp/cmp/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/cmp/ta_CDLMATHOLD.o \ + ../../../../../temp/cmp/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/cmp/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/cmp/ta_CDLONNECK.o \ + ../../../../../temp/cmp/ta_CDLPIERCING.o \ + ../../../../../temp/cmp/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/cmp/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/cmp/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/cmp/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/cmp/ta_CDLSHORTLINE.o \ + ../../../../../temp/cmp/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/cmp/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/cmp/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/cmp/ta_CDLTAKURI.o \ + ../../../../../temp/cmp/ta_CDLTASUKIGAP.o \ + ../../../../../temp/cmp/ta_CDLTHRUSTING.o \ + ../../../../../temp/cmp/ta_CDLTRISTAR.o \ + ../../../../../temp/cmp/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/cmp/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/cmp/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/cmp/ta_CEIL.o \ + ../../../../../temp/cmp/ta_CMO.o \ + ../../../../../temp/cmp/ta_CORREL.o \ + ../../../../../temp/cmp/ta_COS.o \ + ../../../../../temp/cmp/ta_COSH.o \ + ../../../../../temp/cmp/ta_DEMA.o \ + ../../../../../temp/cmp/ta_DIV.o \ + ../../../../../temp/cmp/ta_DX.o \ + ../../../../../temp/cmp/ta_EMA.o \ + ../../../../../temp/cmp/ta_EXP.o \ + ../../../../../temp/cmp/ta_FLOOR.o \ + ../../../../../temp/cmp/ta_HT_DCPERIOD.o \ + ../../../../../temp/cmp/ta_HT_DCPHASE.o \ + ../../../../../temp/cmp/ta_HT_PHASOR.o \ + ../../../../../temp/cmp/ta_HT_SINE.o \ + ../../../../../temp/cmp/ta_HT_TRENDLINE.o \ + ../../../../../temp/cmp/ta_HT_TRENDMODE.o \ + ../../../../../temp/cmp/ta_KAMA.o \ + ../../../../../temp/cmp/ta_LINEARREG.o \ + ../../../../../temp/cmp/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/cmp/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/cmp/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/cmp/ta_LN.o \ + ../../../../../temp/cmp/ta_LOG10.o \ + ../../../../../temp/cmp/ta_MA.o \ + ../../../../../temp/cmp/ta_MACD.o \ + ../../../../../temp/cmp/ta_MACDEXT.o \ + ../../../../../temp/cmp/ta_MACDFIX.o \ + ../../../../../temp/cmp/ta_MAMA.o \ + ../../../../../temp/cmp/ta_MAVP.o \ + ../../../../../temp/cmp/ta_MAX.o \ + ../../../../../temp/cmp/ta_MAXINDEX.o \ + ../../../../../temp/cmp/ta_MEDPRICE.o \ + ../../../../../temp/cmp/ta_MFI.o \ + ../../../../../temp/cmp/ta_MIDPOINT.o \ + ../../../../../temp/cmp/ta_MIDPRICE.o \ + ../../../../../temp/cmp/ta_MIN.o \ + ../../../../../temp/cmp/ta_MININDEX.o \ + ../../../../../temp/cmp/ta_MINMAX.o \ + ../../../../../temp/cmp/ta_MINMAXINDEX.o \ + ../../../../../temp/cmp/ta_MINUS_DI.o \ + ../../../../../temp/cmp/ta_MINUS_DM.o \ + ../../../../../temp/cmp/ta_MOM.o \ + ../../../../../temp/cmp/ta_MULT.o \ + ../../../../../temp/cmp/ta_NATR.o \ + ../../../../../temp/cmp/ta_OBV.o \ + ../../../../../temp/cmp/ta_PLUS_DI.o \ + ../../../../../temp/cmp/ta_PLUS_DM.o \ + ../../../../../temp/cmp/ta_PPO.o \ + ../../../../../temp/cmp/ta_ROC.o \ + ../../../../../temp/cmp/ta_ROCP.o \ + ../../../../../temp/cmp/ta_ROCR.o \ + ../../../../../temp/cmp/ta_ROCR100.o \ + ../../../../../temp/cmp/ta_RSI.o \ + ../../../../../temp/cmp/ta_SAR.o \ + ../../../../../temp/cmp/ta_SAREXT.o \ + ../../../../../temp/cmp/ta_SIN.o \ + ../../../../../temp/cmp/ta_SINH.o \ + ../../../../../temp/cmp/ta_SMA.o \ + ../../../../../temp/cmp/ta_SQRT.o \ + ../../../../../temp/cmp/ta_STDDEV.o \ + ../../../../../temp/cmp/ta_STOCH.o \ + ../../../../../temp/cmp/ta_STOCHF.o \ + ../../../../../temp/cmp/ta_STOCHRSI.o \ + ../../../../../temp/cmp/ta_SUB.o \ + ../../../../../temp/cmp/ta_SUM.o \ + ../../../../../temp/cmp/ta_T3.o \ + ../../../../../temp/cmp/ta_TAN.o \ + ../../../../../temp/cmp/ta_TANH.o \ + ../../../../../temp/cmp/ta_TEMA.o \ + ../../../../../temp/cmp/ta_TRANGE.o \ + ../../../../../temp/cmp/ta_TRIMA.o \ + ../../../../../temp/cmp/ta_TRIX.o \ + ../../../../../temp/cmp/ta_TSF.o \ + ../../../../../temp/cmp/ta_TYPPRICE.o \ + ../../../../../temp/cmp/ta_ULTOSC.o \ + ../../../../../temp/cmp/ta_VAR.o \ + ../../../../../temp/cmp/ta_WCLPRICE.o \ + ../../../../../temp/cmp/ta_WILLR.o \ + ../../../../../temp/cmp/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_libc_cmp.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmp/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/cmp/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/cmp/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_version.o ../../../../../src/ta_common/ta_version.c + +../../../../../temp/cmp/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmp/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmp/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/cmp/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/cmp/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/cmp/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmp/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmp/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmp/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmp/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmp/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmp/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmp/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmp/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmp/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmp/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmp/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmp/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmp/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmp/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmp/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmp/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmp/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmp/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmp/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmp/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmp/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmp/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmp/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmp/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmp/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + +../../../../../temp/cmp/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/cmp/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/cmp/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/cmp/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/cmp/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/cmp/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/cmp/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/cmp/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/cmp/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/cmp/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/cmp/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/cmp/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/cmp/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/cmp/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/cmp/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/cmp/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/cmp/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/cmp/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/cmp/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/cmp/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/cmp/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/cmp/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/cmp/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/cmp/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/cmp/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/cmp/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/cmp/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/cmp/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/cmp/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/cmp/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/cmp/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/cmp/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/cmp/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/cmp/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/cmp/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/cmp/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/cmp/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/cmp/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/cmp/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/cmp/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/cmp/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/cmp/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/cmp/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/cmp/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/cmp/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/cmp/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/cmp/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/cmp/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/cmp/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/cmp/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/cmp/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/cmp/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/cmp/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/cmp/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/cmp/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/cmp/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/cmp/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/cmp/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/cmp/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/cmp/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/cmp/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/cmp/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/cmp/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/cmp/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/cmp/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/cmp/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/cmp/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/cmp/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/cmp/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/cmp/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/cmp/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/cmp/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/cmp/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/cmp/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/cmp/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/cmp/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/cmp/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/cmp/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/cmp/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/cmp/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/cmp/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/cmp/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/cmp/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/cmp/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/cmp/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/cmp/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/cmp/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/cmp/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/cmp/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/cmp/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/cmp/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/cmp/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/cmp/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/cmp/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/cmp/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/cmp/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/cmp/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/cmp/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/cmp/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/cmp/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/cmp/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/cmp/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/cmp/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/cmp/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/cmp/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/cmp/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/cmp/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/cmp/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/cmp/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/cmp/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/cmp/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/cmp/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/cmp/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/cmp/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/cmp/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/cmp/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/cmp/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/cmp/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/cmp/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/cmp/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/cmp/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/cmp/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/cmp/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/cmp/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/cmp/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/cmp/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/cmp/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/cmp/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/cmp/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/cmp/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/cmp/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/cmp/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/cmp/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/cmp/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/cmp/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/cmp/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/cmp/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/cmp/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/cmp/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/cmp/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/cmp/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/cmp/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/cmp/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/cmp/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/cmp/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/cmp/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/cmp/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/cmp/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/cmp/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/cmp/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/cmp/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/cmp/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/cmp/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/cmp/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/cmp/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/cmp/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/cmp/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/cmp/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/cmp/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/cmp/freebsd/g++/ta_regtest/Makefile b/vendor/ta-lib/make/cmp/freebsd/g++/ta_regtest/Makefile new file mode 100644 index 000000000..48987d0bd --- /dev/null +++ b/vendor/ta-lib/make/cmp/freebsd/g++/ta_regtest/Makefile @@ -0,0 +1,205 @@ +############################################################################# +# Makefile for building ../../../../../bin/ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -O -pg -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../src/tools/ta_regtest -I../../../../../src/ta_func -I../../../../../include -I/usr/local/include +LINK = g++ +LFLAGS = -L/usr/local/lib -pg +LIBS = $(SUBLIBS) ../../../../../lib/libta_libc_cmp.a -pthread +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/ta_regtest/ta_regtest.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c \ + ../../../../../src/tools/ta_regtest/test_internals.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c \ + ../../../../../src/tools/ta_regtest/test_util.c \ + ../../../../../src/tools/ta_regtest/test_data.c \ + ../../../../../src/tools/ta_regtest/test_abstract.c +OBJECTS = ../../../../../temp/cmp/ta_regtest.o \ + ../../../../../temp/cmp/test_candlestick.o \ + ../../../../../temp/cmp/test_1in_1out.o \ + ../../../../../temp/cmp/test_1in_2out.o \ + ../../../../../temp/cmp/test_internals.o \ + ../../../../../temp/cmp/test_adx.o \ + ../../../../../temp/cmp/test_bbands.o \ + ../../../../../temp/cmp/test_ma.o \ + ../../../../../temp/cmp/test_macd.o \ + ../../../../../temp/cmp/test_minmax.o \ + ../../../../../temp/cmp/test_mom.o \ + ../../../../../temp/cmp/test_per_ema.o \ + ../../../../../temp/cmp/test_per_hl.o \ + ../../../../../temp/cmp/test_per_hlc.o \ + ../../../../../temp/cmp/test_per_hlcv.o \ + ../../../../../temp/cmp/test_per_ohlc.o \ + ../../../../../temp/cmp/test_po.o \ + ../../../../../temp/cmp/test_rsi.o \ + ../../../../../temp/cmp/test_sar.o \ + ../../../../../temp/cmp/test_stddev.o \ + ../../../../../temp/cmp/test_stoch.o \ + ../../../../../temp/cmp/test_trange.o \ + ../../../../../temp/cmp/test_util.o \ + ../../../../../temp/cmp/test_data.o \ + ../../../../../temp/cmp/test_abstract.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/ta_regtest +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmp/ta_regtest.o: ../../../../../src/tools/ta_regtest/ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_regtest.o ../../../../../src/tools/ta_regtest/ta_regtest.c + +../../../../../temp/cmp/test_candlestick.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_candlestick.o ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + +../../../../../temp/cmp/test_1in_1out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_1in_1out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + +../../../../../temp/cmp/test_1in_2out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_1in_2out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + +../../../../../temp/cmp/test_internals.o: ../../../../../src/tools/ta_regtest/test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_internals.o ../../../../../src/tools/ta_regtest/test_internals.c + +../../../../../temp/cmp/test_adx.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_adx.o ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + +../../../../../temp/cmp/test_bbands.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_bbands.o ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + +../../../../../temp/cmp/test_ma.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_ma.o ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + +../../../../../temp/cmp/test_macd.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_macd.o ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + +../../../../../temp/cmp/test_minmax.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_minmax.o ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + +../../../../../temp/cmp/test_mom.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_mom.o ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + +../../../../../temp/cmp/test_per_ema.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_per_ema.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + +../../../../../temp/cmp/test_per_hl.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_per_hl.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + +../../../../../temp/cmp/test_per_hlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_per_hlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + +../../../../../temp/cmp/test_per_hlcv.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_per_hlcv.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + +../../../../../temp/cmp/test_per_ohlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_per_ohlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + +../../../../../temp/cmp/test_po.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_po.o ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + +../../../../../temp/cmp/test_rsi.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_rsi.o ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + +../../../../../temp/cmp/test_sar.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_sar.o ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + +../../../../../temp/cmp/test_stddev.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_stddev.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + +../../../../../temp/cmp/test_stoch.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_stoch.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + +../../../../../temp/cmp/test_trange.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_trange.o ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + +../../../../../temp/cmp/test_util.o: ../../../../../src/tools/ta_regtest/test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_util.o ../../../../../src/tools/ta_regtest/test_util.c + +../../../../../temp/cmp/test_data.o: ../../../../../src/tools/ta_regtest/test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_data.o ../../../../../src/tools/ta_regtest/test_data.c + +../../../../../temp/cmp/test_abstract.o: ../../../../../src/tools/ta_regtest/test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_abstract.o ../../../../../src/tools/ta_regtest/test_abstract.c + diff --git a/vendor/ta-lib/make/cmp/linux/g++/Makefile b/vendor/ta-lib/make/cmp/linux/g++/Makefile new file mode 100644 index 000000000..ca83b3eaa --- /dev/null +++ b/vendor/ta-lib/make/cmp/linux/g++/Makefile @@ -0,0 +1,36 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +$(SUBDIRS): FORCE + cd $@; $(MAKE) + +tmake: ../cmp/linux/g++/Makefile + +../cmp/linux/g++/Makefile: rootmake.pro + tmake rootmake.pro -o ../cmp/linux/g++/Makefile + +tmake_all: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done + +#### $text = "\t" . 'for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; pro=`basename $$i`.pro ; $(TMAKE) $$pro -o $(MAKEFILE); grep "TEMPLATE.*subdirs" $$pro 2>/dev/null >/dev/null && $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done'; + +clean release debug: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) $@; fi; ) ; done + +FORCE: diff --git a/vendor/ta-lib/make/cmp/linux/g++/gen_code/Makefile b/vendor/ta-lib/make/cmp/linux/g++/gen_code/Makefile new file mode 100644 index 000000000..07e1920f1 --- /dev/null +++ b/vendor/ta-lib/make/cmp/linux/g++/gen_code/Makefile @@ -0,0 +1,231 @@ +############################################################################# +# Makefile for building ../../../../../bin/gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -g -O -pg -D_REENTRANT -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -fPIC -Wall -W -g -D_REENTRANT -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../include -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames +LINK = g++ +LFLAGS = -pg +LIBS = $(SUBLIBS) ../../../../../lib/libta_common_cmp.a -ldl -lpthread +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/gen_code/gen_code.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/cmp/gen_code/gen_code.o \ + ../../../../../temp/cmp/gen_code/ta_abstract.o \ + ../../../../../temp/cmp/gen_code/ta_def_ui.o \ + ../../../../../temp/cmp/gen_code/table_a.o \ + ../../../../../temp/cmp/gen_code/table_b.o \ + ../../../../../temp/cmp/gen_code/table_c.o \ + ../../../../../temp/cmp/gen_code/table_d.o \ + ../../../../../temp/cmp/gen_code/table_e.o \ + ../../../../../temp/cmp/gen_code/table_f.o \ + ../../../../../temp/cmp/gen_code/table_g.o \ + ../../../../../temp/cmp/gen_code/table_h.o \ + ../../../../../temp/cmp/gen_code/table_i.o \ + ../../../../../temp/cmp/gen_code/table_j.o \ + ../../../../../temp/cmp/gen_code/table_k.o \ + ../../../../../temp/cmp/gen_code/table_l.o \ + ../../../../../temp/cmp/gen_code/table_m.o \ + ../../../../../temp/cmp/gen_code/table_n.o \ + ../../../../../temp/cmp/gen_code/table_o.o \ + ../../../../../temp/cmp/gen_code/table_p.o \ + ../../../../../temp/cmp/gen_code/table_q.o \ + ../../../../../temp/cmp/gen_code/table_r.o \ + ../../../../../temp/cmp/gen_code/table_s.o \ + ../../../../../temp/cmp/gen_code/table_t.o \ + ../../../../../temp/cmp/gen_code/table_u.o \ + ../../../../../temp/cmp/gen_code/table_v.o \ + ../../../../../temp/cmp/gen_code/table_w.o \ + ../../../../../temp/cmp/gen_code/table_x.o \ + ../../../../../temp/cmp/gen_code/table_y.o \ + ../../../../../temp/cmp/gen_code/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/gen_code +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmp/gen_code/gen_code.o: ../../../../../src/tools/gen_code/gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/gen_code.o ../../../../../src/tools/gen_code/gen_code.c + +../../../../../temp/cmp/gen_code/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmp/gen_code/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmp/gen_code/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmp/gen_code/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmp/gen_code/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmp/gen_code/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmp/gen_code/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmp/gen_code/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmp/gen_code/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmp/gen_code/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmp/gen_code/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmp/gen_code/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmp/gen_code/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmp/gen_code/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmp/gen_code/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmp/gen_code/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmp/gen_code/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmp/gen_code/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmp/gen_code/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmp/gen_code/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmp/gen_code/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmp/gen_code/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmp/gen_code/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmp/gen_code/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmp/gen_code/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmp/gen_code/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmp/gen_code/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmp/gen_code/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/gen_code/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/cmp/linux/g++/ta_abstract/Makefile b/vendor/ta-lib/make/cmp/linux/g++/ta_abstract/Makefile new file mode 100644 index 000000000..3d7e6e070 --- /dev/null +++ b/vendor/ta-lib/make/cmp/linux/g++/ta_abstract/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_abstract_cmp.a +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -g -O -pg -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -fPIC -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/cmp/ta_abstract.o \ + ../../../../../temp/cmp/ta_def_ui.o \ + ../../../../../temp/cmp/ta_func_api.o \ + ../../../../../temp/cmp/ta_group_idx.o \ + ../../../../../temp/cmp/ta_frame.o \ + ../../../../../temp/cmp/table_a.o \ + ../../../../../temp/cmp/table_b.o \ + ../../../../../temp/cmp/table_c.o \ + ../../../../../temp/cmp/table_d.o \ + ../../../../../temp/cmp/table_e.o \ + ../../../../../temp/cmp/table_f.o \ + ../../../../../temp/cmp/table_g.o \ + ../../../../../temp/cmp/table_h.o \ + ../../../../../temp/cmp/table_i.o \ + ../../../../../temp/cmp/table_j.o \ + ../../../../../temp/cmp/table_k.o \ + ../../../../../temp/cmp/table_l.o \ + ../../../../../temp/cmp/table_m.o \ + ../../../../../temp/cmp/table_n.o \ + ../../../../../temp/cmp/table_o.o \ + ../../../../../temp/cmp/table_p.o \ + ../../../../../temp/cmp/table_q.o \ + ../../../../../temp/cmp/table_r.o \ + ../../../../../temp/cmp/table_s.o \ + ../../../../../temp/cmp/table_t.o \ + ../../../../../temp/cmp/table_u.o \ + ../../../../../temp/cmp/table_v.o \ + ../../../../../temp/cmp/table_w.o \ + ../../../../../temp/cmp/table_x.o \ + ../../../../../temp/cmp/table_y.o \ + ../../../../../temp/cmp/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_abstract_cmp.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmp/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmp/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmp/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/cmp/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/cmp/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/cmp/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmp/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmp/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmp/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmp/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmp/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmp/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmp/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmp/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmp/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmp/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmp/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmp/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmp/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmp/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmp/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmp/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmp/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmp/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmp/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmp/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmp/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmp/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmp/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmp/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmp/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/cmp/linux/g++/ta_common/Makefile b/vendor/ta-lib/make/cmp/linux/g++/ta_common/Makefile new file mode 100644 index 000000000..662f38fb8 --- /dev/null +++ b/vendor/ta-lib/make/cmp/linux/g++/ta_common/Makefile @@ -0,0 +1,103 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_common_cmp.a +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -g -O -pg -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -fPIC -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c +OBJECTS = ../../../../../temp/cmp/ta_global.o \ + ../../../../../temp/cmp/ta_retcode.o \ + ../../../../../temp/cmp/ta_version.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_common_cmp.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmp/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/cmp/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/cmp/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_version.o ../../../../../src/ta_common/ta_version.c + diff --git a/vendor/ta-lib/make/cmp/linux/g++/ta_func/Makefile b/vendor/ta-lib/make/cmp/linux/g++/ta_func/Makefile new file mode 100644 index 000000000..f617553e5 --- /dev/null +++ b/vendor/ta-lib/make/cmp/linux/g++/ta_func/Makefile @@ -0,0 +1,883 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_func_cmp.a +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -g -O -pg -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -fPIC -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I/n -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/cmp/ta_utility.o \ + ../../../../../temp/cmp/ta_ACOS.o \ + ../../../../../temp/cmp/ta_AD.o \ + ../../../../../temp/cmp/ta_ADD.o \ + ../../../../../temp/cmp/ta_ADOSC.o \ + ../../../../../temp/cmp/ta_ADX.o \ + ../../../../../temp/cmp/ta_ADXR.o \ + ../../../../../temp/cmp/ta_APO.o \ + ../../../../../temp/cmp/ta_AROON.o \ + ../../../../../temp/cmp/ta_AROONOSC.o \ + ../../../../../temp/cmp/ta_ASIN.o \ + ../../../../../temp/cmp/ta_ATAN.o \ + ../../../../../temp/cmp/ta_ATR.o \ + ../../../../../temp/cmp/ta_AVGPRICE.o \ + ../../../../../temp/cmp/ta_BBANDS.o \ + ../../../../../temp/cmp/ta_BETA.o \ + ../../../../../temp/cmp/ta_BOP.o \ + ../../../../../temp/cmp/ta_CCI.o \ + ../../../../../temp/cmp/ta_CDL2CROWS.o \ + ../../../../../temp/cmp/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/cmp/ta_CDL3INSIDE.o \ + ../../../../../temp/cmp/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/cmp/ta_CDL3OUTSIDE.o \ + ../../../../../temp/cmp/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/cmp/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/cmp/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/cmp/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/cmp/ta_CDLBELTHOLD.o \ + ../../../../../temp/cmp/ta_CDLBREAKAWAY.o \ + ../../../../../temp/cmp/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/cmp/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/cmp/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/cmp/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/cmp/ta_CDLDOJI.o \ + ../../../../../temp/cmp/ta_CDLDOJISTAR.o \ + ../../../../../temp/cmp/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/cmp/ta_CDLENGULFING.o \ + ../../../../../temp/cmp/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/cmp/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/cmp/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/cmp/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/cmp/ta_CDLHAMMER.o \ + ../../../../../temp/cmp/ta_CDLHANGINGMAN.o \ + ../../../../../temp/cmp/ta_CDLHARAMI.o \ + ../../../../../temp/cmp/ta_CDLHARAMICROSS.o \ + ../../../../../temp/cmp/ta_CDLHIGHWAVE.o \ + ../../../../../temp/cmp/ta_CDLHIKKAKE.o \ + ../../../../../temp/cmp/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/cmp/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/cmp/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/cmp/ta_CDLINNECK.o \ + ../../../../../temp/cmp/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/cmp/ta_CDLKICKING.o \ + ../../../../../temp/cmp/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/cmp/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/cmp/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/cmp/ta_CDLLONGLINE.o \ + ../../../../../temp/cmp/ta_CDLMARUBOZU.o \ + ../../../../../temp/cmp/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/cmp/ta_CDLMATHOLD.o \ + ../../../../../temp/cmp/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/cmp/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/cmp/ta_CDLONNECK.o \ + ../../../../../temp/cmp/ta_CDLPIERCING.o \ + ../../../../../temp/cmp/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/cmp/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/cmp/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/cmp/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/cmp/ta_CDLSHORTLINE.o \ + ../../../../../temp/cmp/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/cmp/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/cmp/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/cmp/ta_CDLTAKURI.o \ + ../../../../../temp/cmp/ta_CDLTASUKIGAP.o \ + ../../../../../temp/cmp/ta_CDLTHRUSTING.o \ + ../../../../../temp/cmp/ta_CDLTRISTAR.o \ + ../../../../../temp/cmp/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/cmp/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/cmp/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/cmp/ta_CEIL.o \ + ../../../../../temp/cmp/ta_CMO.o \ + ../../../../../temp/cmp/ta_CORREL.o \ + ../../../../../temp/cmp/ta_COS.o \ + ../../../../../temp/cmp/ta_COSH.o \ + ../../../../../temp/cmp/ta_DEMA.o \ + ../../../../../temp/cmp/ta_DIV.o \ + ../../../../../temp/cmp/ta_DX.o \ + ../../../../../temp/cmp/ta_EMA.o \ + ../../../../../temp/cmp/ta_EXP.o \ + ../../../../../temp/cmp/ta_FLOOR.o \ + ../../../../../temp/cmp/ta_HT_DCPERIOD.o \ + ../../../../../temp/cmp/ta_HT_DCPHASE.o \ + ../../../../../temp/cmp/ta_HT_PHASOR.o \ + ../../../../../temp/cmp/ta_HT_SINE.o \ + ../../../../../temp/cmp/ta_HT_TRENDLINE.o \ + ../../../../../temp/cmp/ta_HT_TRENDMODE.o \ + ../../../../../temp/cmp/ta_KAMA.o \ + ../../../../../temp/cmp/ta_LINEARREG.o \ + ../../../../../temp/cmp/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/cmp/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/cmp/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/cmp/ta_LN.o \ + ../../../../../temp/cmp/ta_LOG10.o \ + ../../../../../temp/cmp/ta_MA.o \ + ../../../../../temp/cmp/ta_MACD.o \ + ../../../../../temp/cmp/ta_MACDEXT.o \ + ../../../../../temp/cmp/ta_MACDFIX.o \ + ../../../../../temp/cmp/ta_MAMA.o \ + ../../../../../temp/cmp/ta_MAVP.o \ + ../../../../../temp/cmp/ta_MAX.o \ + ../../../../../temp/cmp/ta_MAXINDEX.o \ + ../../../../../temp/cmp/ta_MEDPRICE.o \ + ../../../../../temp/cmp/ta_MFI.o \ + ../../../../../temp/cmp/ta_MIDPOINT.o \ + ../../../../../temp/cmp/ta_MIDPRICE.o \ + ../../../../../temp/cmp/ta_MIN.o \ + ../../../../../temp/cmp/ta_MININDEX.o \ + ../../../../../temp/cmp/ta_MINMAX.o \ + ../../../../../temp/cmp/ta_MINMAXINDEX.o \ + ../../../../../temp/cmp/ta_MINUS_DI.o \ + ../../../../../temp/cmp/ta_MINUS_DM.o \ + ../../../../../temp/cmp/ta_MOM.o \ + ../../../../../temp/cmp/ta_MULT.o \ + ../../../../../temp/cmp/ta_NATR.o \ + ../../../../../temp/cmp/ta_OBV.o \ + ../../../../../temp/cmp/ta_PLUS_DI.o \ + ../../../../../temp/cmp/ta_PLUS_DM.o \ + ../../../../../temp/cmp/ta_PPO.o \ + ../../../../../temp/cmp/ta_ROC.o \ + ../../../../../temp/cmp/ta_ROCP.o \ + ../../../../../temp/cmp/ta_ROCR.o \ + ../../../../../temp/cmp/ta_ROCR100.o \ + ../../../../../temp/cmp/ta_RSI.o \ + ../../../../../temp/cmp/ta_SAR.o \ + ../../../../../temp/cmp/ta_SAREXT.o \ + ../../../../../temp/cmp/ta_SIN.o \ + ../../../../../temp/cmp/ta_SINH.o \ + ../../../../../temp/cmp/ta_SMA.o \ + ../../../../../temp/cmp/ta_SQRT.o \ + ../../../../../temp/cmp/ta_STDDEV.o \ + ../../../../../temp/cmp/ta_STOCH.o \ + ../../../../../temp/cmp/ta_STOCHF.o \ + ../../../../../temp/cmp/ta_STOCHRSI.o \ + ../../../../../temp/cmp/ta_SUB.o \ + ../../../../../temp/cmp/ta_SUM.o \ + ../../../../../temp/cmp/ta_T3.o \ + ../../../../../temp/cmp/ta_TAN.o \ + ../../../../../temp/cmp/ta_TANH.o \ + ../../../../../temp/cmp/ta_TEMA.o \ + ../../../../../temp/cmp/ta_TRANGE.o \ + ../../../../../temp/cmp/ta_TRIMA.o \ + ../../../../../temp/cmp/ta_TRIX.o \ + ../../../../../temp/cmp/ta_TSF.o \ + ../../../../../temp/cmp/ta_TYPPRICE.o \ + ../../../../../temp/cmp/ta_ULTOSC.o \ + ../../../../../temp/cmp/ta_VAR.o \ + ../../../../../temp/cmp/ta_WCLPRICE.o \ + ../../../../../temp/cmp/ta_WILLR.o \ + ../../../../../temp/cmp/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_func_cmp.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmp/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/cmp/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/cmp/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/cmp/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/cmp/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/cmp/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/cmp/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/cmp/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/cmp/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/cmp/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/cmp/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/cmp/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/cmp/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/cmp/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/cmp/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/cmp/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/cmp/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/cmp/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/cmp/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/cmp/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/cmp/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/cmp/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/cmp/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/cmp/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/cmp/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/cmp/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/cmp/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/cmp/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/cmp/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/cmp/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/cmp/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/cmp/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/cmp/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/cmp/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/cmp/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/cmp/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/cmp/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/cmp/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/cmp/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/cmp/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/cmp/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/cmp/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/cmp/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/cmp/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/cmp/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/cmp/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/cmp/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/cmp/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/cmp/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/cmp/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/cmp/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/cmp/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/cmp/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/cmp/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/cmp/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/cmp/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/cmp/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/cmp/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/cmp/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/cmp/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/cmp/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/cmp/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/cmp/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/cmp/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/cmp/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/cmp/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/cmp/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/cmp/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/cmp/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/cmp/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/cmp/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/cmp/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/cmp/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/cmp/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/cmp/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/cmp/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/cmp/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/cmp/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/cmp/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/cmp/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/cmp/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/cmp/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/cmp/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/cmp/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/cmp/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/cmp/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/cmp/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/cmp/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/cmp/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/cmp/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/cmp/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/cmp/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/cmp/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/cmp/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/cmp/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/cmp/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/cmp/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/cmp/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/cmp/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/cmp/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/cmp/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/cmp/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/cmp/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/cmp/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/cmp/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/cmp/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/cmp/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/cmp/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/cmp/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/cmp/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/cmp/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/cmp/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/cmp/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/cmp/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/cmp/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/cmp/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/cmp/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/cmp/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/cmp/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/cmp/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/cmp/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/cmp/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/cmp/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/cmp/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/cmp/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/cmp/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/cmp/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/cmp/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/cmp/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/cmp/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/cmp/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/cmp/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/cmp/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/cmp/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/cmp/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/cmp/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/cmp/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/cmp/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/cmp/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/cmp/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/cmp/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/cmp/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/cmp/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/cmp/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/cmp/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/cmp/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/cmp/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/cmp/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/cmp/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/cmp/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/cmp/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/cmp/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/cmp/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/cmp/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/cmp/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/cmp/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/cmp/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/cmp/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/cmp/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/cmp/linux/g++/ta_libc/Makefile b/vendor/ta-lib/make/cmp/linux/g++/ta_libc/Makefile new file mode 100644 index 000000000..7e8e6067c --- /dev/null +++ b/vendor/ta-lib/make/cmp/linux/g++/ta_libc/Makefile @@ -0,0 +1,1053 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_libc_cmp.a +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -g -O -pg -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -fPIC -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../include -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I$(QTDIR)/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c \ + ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/cmp/ta_global.o \ + ../../../../../temp/cmp/ta_retcode.o \ + ../../../../../temp/cmp/ta_version.o \ + ../../../../../temp/cmp/ta_abstract.o \ + ../../../../../temp/cmp/ta_def_ui.o \ + ../../../../../temp/cmp/ta_func_api.o \ + ../../../../../temp/cmp/ta_group_idx.o \ + ../../../../../temp/cmp/ta_frame.o \ + ../../../../../temp/cmp/table_a.o \ + ../../../../../temp/cmp/table_b.o \ + ../../../../../temp/cmp/table_c.o \ + ../../../../../temp/cmp/table_d.o \ + ../../../../../temp/cmp/table_e.o \ + ../../../../../temp/cmp/table_f.o \ + ../../../../../temp/cmp/table_g.o \ + ../../../../../temp/cmp/table_h.o \ + ../../../../../temp/cmp/table_i.o \ + ../../../../../temp/cmp/table_j.o \ + ../../../../../temp/cmp/table_k.o \ + ../../../../../temp/cmp/table_l.o \ + ../../../../../temp/cmp/table_m.o \ + ../../../../../temp/cmp/table_n.o \ + ../../../../../temp/cmp/table_o.o \ + ../../../../../temp/cmp/table_p.o \ + ../../../../../temp/cmp/table_q.o \ + ../../../../../temp/cmp/table_r.o \ + ../../../../../temp/cmp/table_s.o \ + ../../../../../temp/cmp/table_t.o \ + ../../../../../temp/cmp/table_u.o \ + ../../../../../temp/cmp/table_v.o \ + ../../../../../temp/cmp/table_w.o \ + ../../../../../temp/cmp/table_x.o \ + ../../../../../temp/cmp/table_y.o \ + ../../../../../temp/cmp/table_z.o \ + ../../../../../temp/cmp/ta_utility.o \ + ../../../../../temp/cmp/ta_ACOS.o \ + ../../../../../temp/cmp/ta_AD.o \ + ../../../../../temp/cmp/ta_ADD.o \ + ../../../../../temp/cmp/ta_ADOSC.o \ + ../../../../../temp/cmp/ta_ADX.o \ + ../../../../../temp/cmp/ta_ADXR.o \ + ../../../../../temp/cmp/ta_APO.o \ + ../../../../../temp/cmp/ta_AROON.o \ + ../../../../../temp/cmp/ta_AROONOSC.o \ + ../../../../../temp/cmp/ta_ASIN.o \ + ../../../../../temp/cmp/ta_ATAN.o \ + ../../../../../temp/cmp/ta_ATR.o \ + ../../../../../temp/cmp/ta_AVGPRICE.o \ + ../../../../../temp/cmp/ta_BBANDS.o \ + ../../../../../temp/cmp/ta_BETA.o \ + ../../../../../temp/cmp/ta_BOP.o \ + ../../../../../temp/cmp/ta_CCI.o \ + ../../../../../temp/cmp/ta_CDL2CROWS.o \ + ../../../../../temp/cmp/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/cmp/ta_CDL3INSIDE.o \ + ../../../../../temp/cmp/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/cmp/ta_CDL3OUTSIDE.o \ + ../../../../../temp/cmp/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/cmp/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/cmp/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/cmp/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/cmp/ta_CDLBELTHOLD.o \ + ../../../../../temp/cmp/ta_CDLBREAKAWAY.o \ + ../../../../../temp/cmp/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/cmp/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/cmp/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/cmp/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/cmp/ta_CDLDOJI.o \ + ../../../../../temp/cmp/ta_CDLDOJISTAR.o \ + ../../../../../temp/cmp/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/cmp/ta_CDLENGULFING.o \ + ../../../../../temp/cmp/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/cmp/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/cmp/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/cmp/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/cmp/ta_CDLHAMMER.o \ + ../../../../../temp/cmp/ta_CDLHANGINGMAN.o \ + ../../../../../temp/cmp/ta_CDLHARAMI.o \ + ../../../../../temp/cmp/ta_CDLHARAMICROSS.o \ + ../../../../../temp/cmp/ta_CDLHIGHWAVE.o \ + ../../../../../temp/cmp/ta_CDLHIKKAKE.o \ + ../../../../../temp/cmp/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/cmp/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/cmp/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/cmp/ta_CDLINNECK.o \ + ../../../../../temp/cmp/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/cmp/ta_CDLKICKING.o \ + ../../../../../temp/cmp/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/cmp/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/cmp/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/cmp/ta_CDLLONGLINE.o \ + ../../../../../temp/cmp/ta_CDLMARUBOZU.o \ + ../../../../../temp/cmp/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/cmp/ta_CDLMATHOLD.o \ + ../../../../../temp/cmp/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/cmp/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/cmp/ta_CDLONNECK.o \ + ../../../../../temp/cmp/ta_CDLPIERCING.o \ + ../../../../../temp/cmp/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/cmp/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/cmp/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/cmp/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/cmp/ta_CDLSHORTLINE.o \ + ../../../../../temp/cmp/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/cmp/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/cmp/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/cmp/ta_CDLTAKURI.o \ + ../../../../../temp/cmp/ta_CDLTASUKIGAP.o \ + ../../../../../temp/cmp/ta_CDLTHRUSTING.o \ + ../../../../../temp/cmp/ta_CDLTRISTAR.o \ + ../../../../../temp/cmp/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/cmp/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/cmp/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/cmp/ta_CEIL.o \ + ../../../../../temp/cmp/ta_CMO.o \ + ../../../../../temp/cmp/ta_CORREL.o \ + ../../../../../temp/cmp/ta_COS.o \ + ../../../../../temp/cmp/ta_COSH.o \ + ../../../../../temp/cmp/ta_DEMA.o \ + ../../../../../temp/cmp/ta_DIV.o \ + ../../../../../temp/cmp/ta_DX.o \ + ../../../../../temp/cmp/ta_EMA.o \ + ../../../../../temp/cmp/ta_EXP.o \ + ../../../../../temp/cmp/ta_FLOOR.o \ + ../../../../../temp/cmp/ta_HT_DCPERIOD.o \ + ../../../../../temp/cmp/ta_HT_DCPHASE.o \ + ../../../../../temp/cmp/ta_HT_PHASOR.o \ + ../../../../../temp/cmp/ta_HT_SINE.o \ + ../../../../../temp/cmp/ta_HT_TRENDLINE.o \ + ../../../../../temp/cmp/ta_HT_TRENDMODE.o \ + ../../../../../temp/cmp/ta_KAMA.o \ + ../../../../../temp/cmp/ta_LINEARREG.o \ + ../../../../../temp/cmp/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/cmp/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/cmp/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/cmp/ta_LN.o \ + ../../../../../temp/cmp/ta_LOG10.o \ + ../../../../../temp/cmp/ta_MA.o \ + ../../../../../temp/cmp/ta_MACD.o \ + ../../../../../temp/cmp/ta_MACDEXT.o \ + ../../../../../temp/cmp/ta_MACDFIX.o \ + ../../../../../temp/cmp/ta_MAMA.o \ + ../../../../../temp/cmp/ta_MAVP.o \ + ../../../../../temp/cmp/ta_MAX.o \ + ../../../../../temp/cmp/ta_MAXINDEX.o \ + ../../../../../temp/cmp/ta_MEDPRICE.o \ + ../../../../../temp/cmp/ta_MFI.o \ + ../../../../../temp/cmp/ta_MIDPOINT.o \ + ../../../../../temp/cmp/ta_MIDPRICE.o \ + ../../../../../temp/cmp/ta_MIN.o \ + ../../../../../temp/cmp/ta_MININDEX.o \ + ../../../../../temp/cmp/ta_MINMAX.o \ + ../../../../../temp/cmp/ta_MINMAXINDEX.o \ + ../../../../../temp/cmp/ta_MINUS_DI.o \ + ../../../../../temp/cmp/ta_MINUS_DM.o \ + ../../../../../temp/cmp/ta_MOM.o \ + ../../../../../temp/cmp/ta_MULT.o \ + ../../../../../temp/cmp/ta_NATR.o \ + ../../../../../temp/cmp/ta_OBV.o \ + ../../../../../temp/cmp/ta_PLUS_DI.o \ + ../../../../../temp/cmp/ta_PLUS_DM.o \ + ../../../../../temp/cmp/ta_PPO.o \ + ../../../../../temp/cmp/ta_ROC.o \ + ../../../../../temp/cmp/ta_ROCP.o \ + ../../../../../temp/cmp/ta_ROCR.o \ + ../../../../../temp/cmp/ta_ROCR100.o \ + ../../../../../temp/cmp/ta_RSI.o \ + ../../../../../temp/cmp/ta_SAR.o \ + ../../../../../temp/cmp/ta_SAREXT.o \ + ../../../../../temp/cmp/ta_SIN.o \ + ../../../../../temp/cmp/ta_SINH.o \ + ../../../../../temp/cmp/ta_SMA.o \ + ../../../../../temp/cmp/ta_SQRT.o \ + ../../../../../temp/cmp/ta_STDDEV.o \ + ../../../../../temp/cmp/ta_STOCH.o \ + ../../../../../temp/cmp/ta_STOCHF.o \ + ../../../../../temp/cmp/ta_STOCHRSI.o \ + ../../../../../temp/cmp/ta_SUB.o \ + ../../../../../temp/cmp/ta_SUM.o \ + ../../../../../temp/cmp/ta_T3.o \ + ../../../../../temp/cmp/ta_TAN.o \ + ../../../../../temp/cmp/ta_TANH.o \ + ../../../../../temp/cmp/ta_TEMA.o \ + ../../../../../temp/cmp/ta_TRANGE.o \ + ../../../../../temp/cmp/ta_TRIMA.o \ + ../../../../../temp/cmp/ta_TRIX.o \ + ../../../../../temp/cmp/ta_TSF.o \ + ../../../../../temp/cmp/ta_TYPPRICE.o \ + ../../../../../temp/cmp/ta_ULTOSC.o \ + ../../../../../temp/cmp/ta_VAR.o \ + ../../../../../temp/cmp/ta_WCLPRICE.o \ + ../../../../../temp/cmp/ta_WILLR.o \ + ../../../../../temp/cmp/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_libc_cmp.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmp/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/cmp/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/cmp/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_version.o ../../../../../src/ta_common/ta_version.c + +../../../../../temp/cmp/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmp/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmp/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/cmp/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/cmp/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/cmp/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmp/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmp/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmp/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmp/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmp/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmp/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmp/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmp/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmp/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmp/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmp/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmp/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmp/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmp/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmp/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmp/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmp/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmp/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmp/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmp/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmp/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmp/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmp/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmp/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmp/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + +../../../../../temp/cmp/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/cmp/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/cmp/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/cmp/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/cmp/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/cmp/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/cmp/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/cmp/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/cmp/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/cmp/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/cmp/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/cmp/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/cmp/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/cmp/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/cmp/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/cmp/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/cmp/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/cmp/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/cmp/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/cmp/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/cmp/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/cmp/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/cmp/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/cmp/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/cmp/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/cmp/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/cmp/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/cmp/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/cmp/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/cmp/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/cmp/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/cmp/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/cmp/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/cmp/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/cmp/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/cmp/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/cmp/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/cmp/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/cmp/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/cmp/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/cmp/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/cmp/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/cmp/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/cmp/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/cmp/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/cmp/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/cmp/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/cmp/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/cmp/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/cmp/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/cmp/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/cmp/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/cmp/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/cmp/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/cmp/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/cmp/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/cmp/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/cmp/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/cmp/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/cmp/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/cmp/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/cmp/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/cmp/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/cmp/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/cmp/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/cmp/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/cmp/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/cmp/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/cmp/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/cmp/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/cmp/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/cmp/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/cmp/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/cmp/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/cmp/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/cmp/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/cmp/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/cmp/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/cmp/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/cmp/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/cmp/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/cmp/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/cmp/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/cmp/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/cmp/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/cmp/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/cmp/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/cmp/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/cmp/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/cmp/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/cmp/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/cmp/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/cmp/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/cmp/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/cmp/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/cmp/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/cmp/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/cmp/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/cmp/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/cmp/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/cmp/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/cmp/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/cmp/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/cmp/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/cmp/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/cmp/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/cmp/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/cmp/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/cmp/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/cmp/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/cmp/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/cmp/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/cmp/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/cmp/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/cmp/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/cmp/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/cmp/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/cmp/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/cmp/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/cmp/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/cmp/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/cmp/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/cmp/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/cmp/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/cmp/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/cmp/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/cmp/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/cmp/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/cmp/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/cmp/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/cmp/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/cmp/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/cmp/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/cmp/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/cmp/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/cmp/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/cmp/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/cmp/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/cmp/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/cmp/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/cmp/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/cmp/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/cmp/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/cmp/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/cmp/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/cmp/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/cmp/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/cmp/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/cmp/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/cmp/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/cmp/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/cmp/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/cmp/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/cmp/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/cmp/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/cmp/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/cmp/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/cmp/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/cmp/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/cmp/linux/g++/ta_regtest/Makefile b/vendor/ta-lib/make/cmp/linux/g++/ta_regtest/Makefile new file mode 100644 index 000000000..f34822691 --- /dev/null +++ b/vendor/ta-lib/make/cmp/linux/g++/ta_regtest/Makefile @@ -0,0 +1,211 @@ +############################################################################# +# Makefile for building ../../../../../bin/ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -g -O -pg -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -fPIC -Wall -W -g -D_REENTRANT -DTA_DEBUG -D_DEBUG -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../src/tools/ta_regtest -I../../../../../src/ta_func -I../../../../../include +LINK = g++ +LFLAGS = -pg +LIBS = $(SUBLIBS) ../../../../../lib/libta_libc_cmp.a -ldl -lpthread +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/ta_regtest/ta_regtest.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c \ + ../../../../../src/tools/ta_regtest/test_internals.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c \ + ../../../../../src/tools/ta_regtest/test_util.c \ + ../../../../../src/tools/ta_regtest/test_data.c \ + ../../../../../src/tools/ta_regtest/test_abstract.c +OBJECTS = ../../../../../temp/cmp/ta_regtest.o \ + ../../../../../temp/cmp/test_candlestick.o \ + ../../../../../temp/cmp/test_1in_1out.o \ + ../../../../../temp/cmp/test_1in_2out.o \ + ../../../../../temp/cmp/test_internals.o \ + ../../../../../temp/cmp/test_adx.o \ + ../../../../../temp/cmp/test_bbands.o \ + ../../../../../temp/cmp/test_ma.o \ + ../../../../../temp/cmp/test_macd.o \ + ../../../../../temp/cmp/test_minmax.o \ + ../../../../../temp/cmp/test_mom.o \ + ../../../../../temp/cmp/test_per_ema.o \ + ../../../../../temp/cmp/test_per_hl.o \ + ../../../../../temp/cmp/test_per_hlc.o \ + ../../../../../temp/cmp/test_per_hlcv.o \ + ../../../../../temp/cmp/test_per_ohlc.o \ + ../../../../../temp/cmp/test_po.o \ + ../../../../../temp/cmp/test_rsi.o \ + ../../../../../temp/cmp/test_sar.o \ + ../../../../../temp/cmp/test_stddev.o \ + ../../../../../temp/cmp/test_stoch.o \ + ../../../../../temp/cmp/test_trange.o \ + ../../../../../temp/cmp/test_util.o \ + ../../../../../temp/cmp/test_data.o \ + ../../../../../temp/cmp/test_abstract.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/ta_regtest +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmp/ta_regtest.o: ../../../../../src/tools/ta_regtest/ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/ta_regtest.o ../../../../../src/tools/ta_regtest/ta_regtest.c + +../../../../../temp/cmp/test_candlestick.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_candlestick.o ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + +../../../../../temp/cmp/test_1in_1out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_1in_1out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + +../../../../../temp/cmp/test_1in_2out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_1in_2out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + +../../../../../temp/cmp/test_internals.o: ../../../../../src/tools/ta_regtest/test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_internals.o ../../../../../src/tools/ta_regtest/test_internals.c + +../../../../../temp/cmp/test_adx.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_adx.o ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + +../../../../../temp/cmp/test_bbands.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_bbands.o ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + +../../../../../temp/cmp/test_ma.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_ma.o ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + +../../../../../temp/cmp/test_macd.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_macd.o ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + +../../../../../temp/cmp/test_minmax.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_minmax.o ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + +../../../../../temp/cmp/test_mom.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_mom.o ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + +../../../../../temp/cmp/test_per_ema.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_per_ema.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + +../../../../../temp/cmp/test_per_hl.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_per_hl.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + +../../../../../temp/cmp/test_per_hlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_per_hlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + +../../../../../temp/cmp/test_per_hlcv.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_per_hlcv.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + +../../../../../temp/cmp/test_per_ohlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_per_ohlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + +../../../../../temp/cmp/test_po.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_po.o ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + +../../../../../temp/cmp/test_rsi.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_rsi.o ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + +../../../../../temp/cmp/test_sar.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_sar.o ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + +../../../../../temp/cmp/test_stddev.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_stddev.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + +../../../../../temp/cmp/test_stoch.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_stoch.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + +../../../../../temp/cmp/test_trange.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_trange.o ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + +../../../../../temp/cmp/test_util.o: ../../../../../src/tools/ta_regtest/test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_util.o ../../../../../src/tools/ta_regtest/test_util.c + +../../../../../temp/cmp/test_data.o: ../../../../../src/tools/ta_regtest/test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_data.o ../../../../../src/tools/ta_regtest/test_data.c + +../../../../../temp/cmp/test_abstract.o: ../../../../../src/tools/ta_regtest/test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmp/test_abstract.o ../../../../../src/tools/ta_regtest/test_abstract.c + diff --git a/vendor/ta-lib/make/cmr/cygwin/g++/Makefile b/vendor/ta-lib/make/cmr/cygwin/g++/Makefile new file mode 100644 index 000000000..a5a593aab --- /dev/null +++ b/vendor/ta-lib/make/cmr/cygwin/g++/Makefile @@ -0,0 +1,36 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +$(SUBDIRS): FORCE + cd $@; $(MAKE) + +tmake: ../cmr/cygwin/g++/Makefile + +../cmr/cygwin/g++/Makefile: rootmake.pro + tmake rootmake.pro -o ../cmr/cygwin/g++/Makefile + +tmake_all: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done + +#### $text = "\t" . 'for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; pro=`basename $$i`.pro ; $(TMAKE) $$pro -o $(MAKEFILE); grep "TEMPLATE.*subdirs" $$pro 2>/dev/null >/dev/null && $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done'; + +clean release debug: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) $@; fi; ) ; done + +FORCE: diff --git a/vendor/ta-lib/make/cmr/cygwin/g++/gen_code/Makefile b/vendor/ta-lib/make/cmr/cygwin/g++/gen_code/Makefile new file mode 100644 index 000000000..ebf1a595a --- /dev/null +++ b/vendor/ta-lib/make/cmr/cygwin/g++/gen_code/Makefile @@ -0,0 +1,231 @@ +############################################################################# +# Makefile for building ../../../../../bin/gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DTA_GEN_CODE -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DTA_GEN_CODE -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../include -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames +LINK = g++ +LFLAGS = +LIBS = $(SUBLIBS) ../../../../../lib/libta_common_cmr.a -lpthread +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/gen_code/gen_code.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/cmr/gen_code/gen_code.o \ + ../../../../../temp/cmr/gen_code/ta_abstract.o \ + ../../../../../temp/cmr/gen_code/ta_def_ui.o \ + ../../../../../temp/cmr/gen_code/table_a.o \ + ../../../../../temp/cmr/gen_code/table_b.o \ + ../../../../../temp/cmr/gen_code/table_c.o \ + ../../../../../temp/cmr/gen_code/table_d.o \ + ../../../../../temp/cmr/gen_code/table_e.o \ + ../../../../../temp/cmr/gen_code/table_f.o \ + ../../../../../temp/cmr/gen_code/table_g.o \ + ../../../../../temp/cmr/gen_code/table_h.o \ + ../../../../../temp/cmr/gen_code/table_i.o \ + ../../../../../temp/cmr/gen_code/table_j.o \ + ../../../../../temp/cmr/gen_code/table_k.o \ + ../../../../../temp/cmr/gen_code/table_l.o \ + ../../../../../temp/cmr/gen_code/table_m.o \ + ../../../../../temp/cmr/gen_code/table_n.o \ + ../../../../../temp/cmr/gen_code/table_o.o \ + ../../../../../temp/cmr/gen_code/table_p.o \ + ../../../../../temp/cmr/gen_code/table_q.o \ + ../../../../../temp/cmr/gen_code/table_r.o \ + ../../../../../temp/cmr/gen_code/table_s.o \ + ../../../../../temp/cmr/gen_code/table_t.o \ + ../../../../../temp/cmr/gen_code/table_u.o \ + ../../../../../temp/cmr/gen_code/table_v.o \ + ../../../../../temp/cmr/gen_code/table_w.o \ + ../../../../../temp/cmr/gen_code/table_x.o \ + ../../../../../temp/cmr/gen_code/table_y.o \ + ../../../../../temp/cmr/gen_code/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/gen_code +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmr/gen_code/gen_code.o: ../../../../../src/tools/gen_code/gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/gen_code.o ../../../../../src/tools/gen_code/gen_code.c + +../../../../../temp/cmr/gen_code/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmr/gen_code/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmr/gen_code/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmr/gen_code/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmr/gen_code/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmr/gen_code/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmr/gen_code/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmr/gen_code/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmr/gen_code/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmr/gen_code/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmr/gen_code/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmr/gen_code/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmr/gen_code/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmr/gen_code/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmr/gen_code/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmr/gen_code/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmr/gen_code/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmr/gen_code/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmr/gen_code/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmr/gen_code/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmr/gen_code/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmr/gen_code/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmr/gen_code/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmr/gen_code/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmr/gen_code/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmr/gen_code/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmr/gen_code/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmr/gen_code/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/cmr/cygwin/g++/ta_abstract/Makefile b/vendor/ta-lib/make/cmr/cygwin/g++/ta_abstract/Makefile new file mode 100644 index 000000000..6f86f551e --- /dev/null +++ b/vendor/ta-lib/make/cmr/cygwin/g++/ta_abstract/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_abstract_cmr.a +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/cmr/ta_abstract.o \ + ../../../../../temp/cmr/ta_def_ui.o \ + ../../../../../temp/cmr/ta_func_api.o \ + ../../../../../temp/cmr/ta_group_idx.o \ + ../../../../../temp/cmr/ta_frame.o \ + ../../../../../temp/cmr/table_a.o \ + ../../../../../temp/cmr/table_b.o \ + ../../../../../temp/cmr/table_c.o \ + ../../../../../temp/cmr/table_d.o \ + ../../../../../temp/cmr/table_e.o \ + ../../../../../temp/cmr/table_f.o \ + ../../../../../temp/cmr/table_g.o \ + ../../../../../temp/cmr/table_h.o \ + ../../../../../temp/cmr/table_i.o \ + ../../../../../temp/cmr/table_j.o \ + ../../../../../temp/cmr/table_k.o \ + ../../../../../temp/cmr/table_l.o \ + ../../../../../temp/cmr/table_m.o \ + ../../../../../temp/cmr/table_n.o \ + ../../../../../temp/cmr/table_o.o \ + ../../../../../temp/cmr/table_p.o \ + ../../../../../temp/cmr/table_q.o \ + ../../../../../temp/cmr/table_r.o \ + ../../../../../temp/cmr/table_s.o \ + ../../../../../temp/cmr/table_t.o \ + ../../../../../temp/cmr/table_u.o \ + ../../../../../temp/cmr/table_v.o \ + ../../../../../temp/cmr/table_w.o \ + ../../../../../temp/cmr/table_x.o \ + ../../../../../temp/cmr/table_y.o \ + ../../../../../temp/cmr/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_abstract_cmr.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmr/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmr/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmr/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/cmr/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/cmr/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/cmr/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmr/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmr/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmr/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmr/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmr/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmr/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmr/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmr/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmr/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmr/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmr/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmr/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmr/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmr/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmr/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmr/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmr/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmr/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmr/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmr/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmr/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmr/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmr/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmr/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmr/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/cmr/cygwin/g++/ta_common/Makefile b/vendor/ta-lib/make/cmr/cygwin/g++/ta_common/Makefile new file mode 100644 index 000000000..2496a73bd --- /dev/null +++ b/vendor/ta-lib/make/cmr/cygwin/g++/ta_common/Makefile @@ -0,0 +1,103 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_common_cmr.a +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c +OBJECTS = ../../../../../temp/cmr/ta_global.o \ + ../../../../../temp/cmr/ta_retcode.o \ + ../../../../../temp/cmr/ta_version.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_common_cmr.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmr/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/cmr/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/cmr/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_version.o ../../../../../src/ta_common/ta_version.c + diff --git a/vendor/ta-lib/make/cmr/cygwin/g++/ta_func/Makefile b/vendor/ta-lib/make/cmr/cygwin/g++/ta_func/Makefile new file mode 100644 index 000000000..f099b8d0c --- /dev/null +++ b/vendor/ta-lib/make/cmr/cygwin/g++/ta_func/Makefile @@ -0,0 +1,883 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_func_cmr.a +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I/n -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/cmr/ta_utility.o \ + ../../../../../temp/cmr/ta_ACOS.o \ + ../../../../../temp/cmr/ta_AD.o \ + ../../../../../temp/cmr/ta_ADD.o \ + ../../../../../temp/cmr/ta_ADOSC.o \ + ../../../../../temp/cmr/ta_ADX.o \ + ../../../../../temp/cmr/ta_ADXR.o \ + ../../../../../temp/cmr/ta_APO.o \ + ../../../../../temp/cmr/ta_AROON.o \ + ../../../../../temp/cmr/ta_AROONOSC.o \ + ../../../../../temp/cmr/ta_ASIN.o \ + ../../../../../temp/cmr/ta_ATAN.o \ + ../../../../../temp/cmr/ta_ATR.o \ + ../../../../../temp/cmr/ta_AVGPRICE.o \ + ../../../../../temp/cmr/ta_BBANDS.o \ + ../../../../../temp/cmr/ta_BETA.o \ + ../../../../../temp/cmr/ta_BOP.o \ + ../../../../../temp/cmr/ta_CCI.o \ + ../../../../../temp/cmr/ta_CDL2CROWS.o \ + ../../../../../temp/cmr/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/cmr/ta_CDL3INSIDE.o \ + ../../../../../temp/cmr/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/cmr/ta_CDL3OUTSIDE.o \ + ../../../../../temp/cmr/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/cmr/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/cmr/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/cmr/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/cmr/ta_CDLBELTHOLD.o \ + ../../../../../temp/cmr/ta_CDLBREAKAWAY.o \ + ../../../../../temp/cmr/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/cmr/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/cmr/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/cmr/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/cmr/ta_CDLDOJI.o \ + ../../../../../temp/cmr/ta_CDLDOJISTAR.o \ + ../../../../../temp/cmr/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/cmr/ta_CDLENGULFING.o \ + ../../../../../temp/cmr/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/cmr/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/cmr/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/cmr/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/cmr/ta_CDLHAMMER.o \ + ../../../../../temp/cmr/ta_CDLHANGINGMAN.o \ + ../../../../../temp/cmr/ta_CDLHARAMI.o \ + ../../../../../temp/cmr/ta_CDLHARAMICROSS.o \ + ../../../../../temp/cmr/ta_CDLHIGHWAVE.o \ + ../../../../../temp/cmr/ta_CDLHIKKAKE.o \ + ../../../../../temp/cmr/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/cmr/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/cmr/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/cmr/ta_CDLINNECK.o \ + ../../../../../temp/cmr/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/cmr/ta_CDLKICKING.o \ + ../../../../../temp/cmr/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/cmr/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/cmr/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/cmr/ta_CDLLONGLINE.o \ + ../../../../../temp/cmr/ta_CDLMARUBOZU.o \ + ../../../../../temp/cmr/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/cmr/ta_CDLMATHOLD.o \ + ../../../../../temp/cmr/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/cmr/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/cmr/ta_CDLONNECK.o \ + ../../../../../temp/cmr/ta_CDLPIERCING.o \ + ../../../../../temp/cmr/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/cmr/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/cmr/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/cmr/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/cmr/ta_CDLSHORTLINE.o \ + ../../../../../temp/cmr/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/cmr/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/cmr/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/cmr/ta_CDLTAKURI.o \ + ../../../../../temp/cmr/ta_CDLTASUKIGAP.o \ + ../../../../../temp/cmr/ta_CDLTHRUSTING.o \ + ../../../../../temp/cmr/ta_CDLTRISTAR.o \ + ../../../../../temp/cmr/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/cmr/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/cmr/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/cmr/ta_CEIL.o \ + ../../../../../temp/cmr/ta_CMO.o \ + ../../../../../temp/cmr/ta_CORREL.o \ + ../../../../../temp/cmr/ta_COS.o \ + ../../../../../temp/cmr/ta_COSH.o \ + ../../../../../temp/cmr/ta_DEMA.o \ + ../../../../../temp/cmr/ta_DIV.o \ + ../../../../../temp/cmr/ta_DX.o \ + ../../../../../temp/cmr/ta_EMA.o \ + ../../../../../temp/cmr/ta_EXP.o \ + ../../../../../temp/cmr/ta_FLOOR.o \ + ../../../../../temp/cmr/ta_HT_DCPERIOD.o \ + ../../../../../temp/cmr/ta_HT_DCPHASE.o \ + ../../../../../temp/cmr/ta_HT_PHASOR.o \ + ../../../../../temp/cmr/ta_HT_SINE.o \ + ../../../../../temp/cmr/ta_HT_TRENDLINE.o \ + ../../../../../temp/cmr/ta_HT_TRENDMODE.o \ + ../../../../../temp/cmr/ta_KAMA.o \ + ../../../../../temp/cmr/ta_LINEARREG.o \ + ../../../../../temp/cmr/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/cmr/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/cmr/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/cmr/ta_LN.o \ + ../../../../../temp/cmr/ta_LOG10.o \ + ../../../../../temp/cmr/ta_MA.o \ + ../../../../../temp/cmr/ta_MACD.o \ + ../../../../../temp/cmr/ta_MACDEXT.o \ + ../../../../../temp/cmr/ta_MACDFIX.o \ + ../../../../../temp/cmr/ta_MAMA.o \ + ../../../../../temp/cmr/ta_MAVP.o \ + ../../../../../temp/cmr/ta_MAX.o \ + ../../../../../temp/cmr/ta_MAXINDEX.o \ + ../../../../../temp/cmr/ta_MEDPRICE.o \ + ../../../../../temp/cmr/ta_MFI.o \ + ../../../../../temp/cmr/ta_MIDPOINT.o \ + ../../../../../temp/cmr/ta_MIDPRICE.o \ + ../../../../../temp/cmr/ta_MIN.o \ + ../../../../../temp/cmr/ta_MININDEX.o \ + ../../../../../temp/cmr/ta_MINMAX.o \ + ../../../../../temp/cmr/ta_MINMAXINDEX.o \ + ../../../../../temp/cmr/ta_MINUS_DI.o \ + ../../../../../temp/cmr/ta_MINUS_DM.o \ + ../../../../../temp/cmr/ta_MOM.o \ + ../../../../../temp/cmr/ta_MULT.o \ + ../../../../../temp/cmr/ta_NATR.o \ + ../../../../../temp/cmr/ta_OBV.o \ + ../../../../../temp/cmr/ta_PLUS_DI.o \ + ../../../../../temp/cmr/ta_PLUS_DM.o \ + ../../../../../temp/cmr/ta_PPO.o \ + ../../../../../temp/cmr/ta_ROC.o \ + ../../../../../temp/cmr/ta_ROCP.o \ + ../../../../../temp/cmr/ta_ROCR.o \ + ../../../../../temp/cmr/ta_ROCR100.o \ + ../../../../../temp/cmr/ta_RSI.o \ + ../../../../../temp/cmr/ta_SAR.o \ + ../../../../../temp/cmr/ta_SAREXT.o \ + ../../../../../temp/cmr/ta_SIN.o \ + ../../../../../temp/cmr/ta_SINH.o \ + ../../../../../temp/cmr/ta_SMA.o \ + ../../../../../temp/cmr/ta_SQRT.o \ + ../../../../../temp/cmr/ta_STDDEV.o \ + ../../../../../temp/cmr/ta_STOCH.o \ + ../../../../../temp/cmr/ta_STOCHF.o \ + ../../../../../temp/cmr/ta_STOCHRSI.o \ + ../../../../../temp/cmr/ta_SUB.o \ + ../../../../../temp/cmr/ta_SUM.o \ + ../../../../../temp/cmr/ta_T3.o \ + ../../../../../temp/cmr/ta_TAN.o \ + ../../../../../temp/cmr/ta_TANH.o \ + ../../../../../temp/cmr/ta_TEMA.o \ + ../../../../../temp/cmr/ta_TRANGE.o \ + ../../../../../temp/cmr/ta_TRIMA.o \ + ../../../../../temp/cmr/ta_TRIX.o \ + ../../../../../temp/cmr/ta_TSF.o \ + ../../../../../temp/cmr/ta_TYPPRICE.o \ + ../../../../../temp/cmr/ta_ULTOSC.o \ + ../../../../../temp/cmr/ta_VAR.o \ + ../../../../../temp/cmr/ta_WCLPRICE.o \ + ../../../../../temp/cmr/ta_WILLR.o \ + ../../../../../temp/cmr/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_func_cmr.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmr/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/cmr/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/cmr/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/cmr/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/cmr/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/cmr/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/cmr/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/cmr/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/cmr/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/cmr/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/cmr/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/cmr/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/cmr/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/cmr/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/cmr/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/cmr/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/cmr/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/cmr/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/cmr/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/cmr/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/cmr/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/cmr/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/cmr/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/cmr/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/cmr/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/cmr/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/cmr/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/cmr/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/cmr/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/cmr/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/cmr/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/cmr/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/cmr/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/cmr/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/cmr/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/cmr/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/cmr/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/cmr/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/cmr/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/cmr/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/cmr/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/cmr/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/cmr/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/cmr/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/cmr/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/cmr/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/cmr/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/cmr/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/cmr/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/cmr/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/cmr/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/cmr/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/cmr/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/cmr/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/cmr/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/cmr/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/cmr/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/cmr/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/cmr/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/cmr/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/cmr/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/cmr/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/cmr/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/cmr/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/cmr/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/cmr/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/cmr/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/cmr/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/cmr/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/cmr/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/cmr/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/cmr/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/cmr/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/cmr/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/cmr/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/cmr/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/cmr/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/cmr/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/cmr/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/cmr/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/cmr/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/cmr/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/cmr/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/cmr/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/cmr/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/cmr/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/cmr/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/cmr/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/cmr/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/cmr/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/cmr/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/cmr/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/cmr/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/cmr/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/cmr/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/cmr/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/cmr/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/cmr/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/cmr/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/cmr/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/cmr/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/cmr/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/cmr/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/cmr/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/cmr/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/cmr/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/cmr/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/cmr/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/cmr/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/cmr/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/cmr/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/cmr/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/cmr/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/cmr/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/cmr/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/cmr/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/cmr/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/cmr/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/cmr/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/cmr/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/cmr/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/cmr/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/cmr/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/cmr/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/cmr/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/cmr/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/cmr/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/cmr/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/cmr/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/cmr/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/cmr/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/cmr/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/cmr/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/cmr/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/cmr/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/cmr/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/cmr/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/cmr/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/cmr/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/cmr/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/cmr/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/cmr/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/cmr/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/cmr/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/cmr/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/cmr/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/cmr/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/cmr/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/cmr/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/cmr/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/cmr/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/cmr/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/cmr/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/cmr/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/cmr/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/cmr/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/cmr/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/cmr/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/cmr/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/cmr/cygwin/g++/ta_libc/Makefile b/vendor/ta-lib/make/cmr/cygwin/g++/ta_libc/Makefile new file mode 100644 index 000000000..23cb84313 --- /dev/null +++ b/vendor/ta-lib/make/cmr/cygwin/g++/ta_libc/Makefile @@ -0,0 +1,1053 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_libc_cmr.a +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT -DNO_DEBUG +CXXFLAGS= -pipe -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT -DNO_DEBUG +INCPATH = -I../../../../../src/ta_common -I../../../../../include -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I$(QTDIR)/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c \ + ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/cmr/ta_global.o \ + ../../../../../temp/cmr/ta_retcode.o \ + ../../../../../temp/cmr/ta_version.o \ + ../../../../../temp/cmr/ta_abstract.o \ + ../../../../../temp/cmr/ta_def_ui.o \ + ../../../../../temp/cmr/ta_func_api.o \ + ../../../../../temp/cmr/ta_group_idx.o \ + ../../../../../temp/cmr/ta_frame.o \ + ../../../../../temp/cmr/table_a.o \ + ../../../../../temp/cmr/table_b.o \ + ../../../../../temp/cmr/table_c.o \ + ../../../../../temp/cmr/table_d.o \ + ../../../../../temp/cmr/table_e.o \ + ../../../../../temp/cmr/table_f.o \ + ../../../../../temp/cmr/table_g.o \ + ../../../../../temp/cmr/table_h.o \ + ../../../../../temp/cmr/table_i.o \ + ../../../../../temp/cmr/table_j.o \ + ../../../../../temp/cmr/table_k.o \ + ../../../../../temp/cmr/table_l.o \ + ../../../../../temp/cmr/table_m.o \ + ../../../../../temp/cmr/table_n.o \ + ../../../../../temp/cmr/table_o.o \ + ../../../../../temp/cmr/table_p.o \ + ../../../../../temp/cmr/table_q.o \ + ../../../../../temp/cmr/table_r.o \ + ../../../../../temp/cmr/table_s.o \ + ../../../../../temp/cmr/table_t.o \ + ../../../../../temp/cmr/table_u.o \ + ../../../../../temp/cmr/table_v.o \ + ../../../../../temp/cmr/table_w.o \ + ../../../../../temp/cmr/table_x.o \ + ../../../../../temp/cmr/table_y.o \ + ../../../../../temp/cmr/table_z.o \ + ../../../../../temp/cmr/ta_utility.o \ + ../../../../../temp/cmr/ta_ACOS.o \ + ../../../../../temp/cmr/ta_AD.o \ + ../../../../../temp/cmr/ta_ADD.o \ + ../../../../../temp/cmr/ta_ADOSC.o \ + ../../../../../temp/cmr/ta_ADX.o \ + ../../../../../temp/cmr/ta_ADXR.o \ + ../../../../../temp/cmr/ta_APO.o \ + ../../../../../temp/cmr/ta_AROON.o \ + ../../../../../temp/cmr/ta_AROONOSC.o \ + ../../../../../temp/cmr/ta_ASIN.o \ + ../../../../../temp/cmr/ta_ATAN.o \ + ../../../../../temp/cmr/ta_ATR.o \ + ../../../../../temp/cmr/ta_AVGPRICE.o \ + ../../../../../temp/cmr/ta_BBANDS.o \ + ../../../../../temp/cmr/ta_BETA.o \ + ../../../../../temp/cmr/ta_BOP.o \ + ../../../../../temp/cmr/ta_CCI.o \ + ../../../../../temp/cmr/ta_CDL2CROWS.o \ + ../../../../../temp/cmr/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/cmr/ta_CDL3INSIDE.o \ + ../../../../../temp/cmr/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/cmr/ta_CDL3OUTSIDE.o \ + ../../../../../temp/cmr/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/cmr/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/cmr/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/cmr/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/cmr/ta_CDLBELTHOLD.o \ + ../../../../../temp/cmr/ta_CDLBREAKAWAY.o \ + ../../../../../temp/cmr/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/cmr/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/cmr/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/cmr/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/cmr/ta_CDLDOJI.o \ + ../../../../../temp/cmr/ta_CDLDOJISTAR.o \ + ../../../../../temp/cmr/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/cmr/ta_CDLENGULFING.o \ + ../../../../../temp/cmr/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/cmr/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/cmr/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/cmr/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/cmr/ta_CDLHAMMER.o \ + ../../../../../temp/cmr/ta_CDLHANGINGMAN.o \ + ../../../../../temp/cmr/ta_CDLHARAMI.o \ + ../../../../../temp/cmr/ta_CDLHARAMICROSS.o \ + ../../../../../temp/cmr/ta_CDLHIGHWAVE.o \ + ../../../../../temp/cmr/ta_CDLHIKKAKE.o \ + ../../../../../temp/cmr/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/cmr/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/cmr/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/cmr/ta_CDLINNECK.o \ + ../../../../../temp/cmr/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/cmr/ta_CDLKICKING.o \ + ../../../../../temp/cmr/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/cmr/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/cmr/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/cmr/ta_CDLLONGLINE.o \ + ../../../../../temp/cmr/ta_CDLMARUBOZU.o \ + ../../../../../temp/cmr/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/cmr/ta_CDLMATHOLD.o \ + ../../../../../temp/cmr/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/cmr/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/cmr/ta_CDLONNECK.o \ + ../../../../../temp/cmr/ta_CDLPIERCING.o \ + ../../../../../temp/cmr/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/cmr/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/cmr/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/cmr/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/cmr/ta_CDLSHORTLINE.o \ + ../../../../../temp/cmr/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/cmr/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/cmr/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/cmr/ta_CDLTAKURI.o \ + ../../../../../temp/cmr/ta_CDLTASUKIGAP.o \ + ../../../../../temp/cmr/ta_CDLTHRUSTING.o \ + ../../../../../temp/cmr/ta_CDLTRISTAR.o \ + ../../../../../temp/cmr/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/cmr/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/cmr/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/cmr/ta_CEIL.o \ + ../../../../../temp/cmr/ta_CMO.o \ + ../../../../../temp/cmr/ta_CORREL.o \ + ../../../../../temp/cmr/ta_COS.o \ + ../../../../../temp/cmr/ta_COSH.o \ + ../../../../../temp/cmr/ta_DEMA.o \ + ../../../../../temp/cmr/ta_DIV.o \ + ../../../../../temp/cmr/ta_DX.o \ + ../../../../../temp/cmr/ta_EMA.o \ + ../../../../../temp/cmr/ta_EXP.o \ + ../../../../../temp/cmr/ta_FLOOR.o \ + ../../../../../temp/cmr/ta_HT_DCPERIOD.o \ + ../../../../../temp/cmr/ta_HT_DCPHASE.o \ + ../../../../../temp/cmr/ta_HT_PHASOR.o \ + ../../../../../temp/cmr/ta_HT_SINE.o \ + ../../../../../temp/cmr/ta_HT_TRENDLINE.o \ + ../../../../../temp/cmr/ta_HT_TRENDMODE.o \ + ../../../../../temp/cmr/ta_KAMA.o \ + ../../../../../temp/cmr/ta_LINEARREG.o \ + ../../../../../temp/cmr/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/cmr/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/cmr/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/cmr/ta_LN.o \ + ../../../../../temp/cmr/ta_LOG10.o \ + ../../../../../temp/cmr/ta_MA.o \ + ../../../../../temp/cmr/ta_MACD.o \ + ../../../../../temp/cmr/ta_MACDEXT.o \ + ../../../../../temp/cmr/ta_MACDFIX.o \ + ../../../../../temp/cmr/ta_MAMA.o \ + ../../../../../temp/cmr/ta_MAVP.o \ + ../../../../../temp/cmr/ta_MAX.o \ + ../../../../../temp/cmr/ta_MAXINDEX.o \ + ../../../../../temp/cmr/ta_MEDPRICE.o \ + ../../../../../temp/cmr/ta_MFI.o \ + ../../../../../temp/cmr/ta_MIDPOINT.o \ + ../../../../../temp/cmr/ta_MIDPRICE.o \ + ../../../../../temp/cmr/ta_MIN.o \ + ../../../../../temp/cmr/ta_MININDEX.o \ + ../../../../../temp/cmr/ta_MINMAX.o \ + ../../../../../temp/cmr/ta_MINMAXINDEX.o \ + ../../../../../temp/cmr/ta_MINUS_DI.o \ + ../../../../../temp/cmr/ta_MINUS_DM.o \ + ../../../../../temp/cmr/ta_MOM.o \ + ../../../../../temp/cmr/ta_MULT.o \ + ../../../../../temp/cmr/ta_NATR.o \ + ../../../../../temp/cmr/ta_OBV.o \ + ../../../../../temp/cmr/ta_PLUS_DI.o \ + ../../../../../temp/cmr/ta_PLUS_DM.o \ + ../../../../../temp/cmr/ta_PPO.o \ + ../../../../../temp/cmr/ta_ROC.o \ + ../../../../../temp/cmr/ta_ROCP.o \ + ../../../../../temp/cmr/ta_ROCR.o \ + ../../../../../temp/cmr/ta_ROCR100.o \ + ../../../../../temp/cmr/ta_RSI.o \ + ../../../../../temp/cmr/ta_SAR.o \ + ../../../../../temp/cmr/ta_SAREXT.o \ + ../../../../../temp/cmr/ta_SIN.o \ + ../../../../../temp/cmr/ta_SINH.o \ + ../../../../../temp/cmr/ta_SMA.o \ + ../../../../../temp/cmr/ta_SQRT.o \ + ../../../../../temp/cmr/ta_STDDEV.o \ + ../../../../../temp/cmr/ta_STOCH.o \ + ../../../../../temp/cmr/ta_STOCHF.o \ + ../../../../../temp/cmr/ta_STOCHRSI.o \ + ../../../../../temp/cmr/ta_SUB.o \ + ../../../../../temp/cmr/ta_SUM.o \ + ../../../../../temp/cmr/ta_T3.o \ + ../../../../../temp/cmr/ta_TAN.o \ + ../../../../../temp/cmr/ta_TANH.o \ + ../../../../../temp/cmr/ta_TEMA.o \ + ../../../../../temp/cmr/ta_TRANGE.o \ + ../../../../../temp/cmr/ta_TRIMA.o \ + ../../../../../temp/cmr/ta_TRIX.o \ + ../../../../../temp/cmr/ta_TSF.o \ + ../../../../../temp/cmr/ta_TYPPRICE.o \ + ../../../../../temp/cmr/ta_ULTOSC.o \ + ../../../../../temp/cmr/ta_VAR.o \ + ../../../../../temp/cmr/ta_WCLPRICE.o \ + ../../../../../temp/cmr/ta_WILLR.o \ + ../../../../../temp/cmr/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_libc_cmr.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmr/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/cmr/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/cmr/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_version.o ../../../../../src/ta_common/ta_version.c + +../../../../../temp/cmr/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmr/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmr/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/cmr/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/cmr/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/cmr/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmr/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmr/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmr/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmr/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmr/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmr/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmr/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmr/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmr/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmr/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmr/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmr/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmr/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmr/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmr/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmr/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmr/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmr/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmr/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmr/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmr/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmr/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmr/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmr/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmr/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + +../../../../../temp/cmr/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/cmr/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/cmr/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/cmr/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/cmr/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/cmr/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/cmr/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/cmr/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/cmr/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/cmr/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/cmr/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/cmr/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/cmr/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/cmr/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/cmr/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/cmr/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/cmr/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/cmr/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/cmr/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/cmr/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/cmr/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/cmr/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/cmr/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/cmr/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/cmr/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/cmr/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/cmr/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/cmr/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/cmr/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/cmr/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/cmr/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/cmr/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/cmr/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/cmr/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/cmr/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/cmr/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/cmr/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/cmr/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/cmr/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/cmr/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/cmr/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/cmr/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/cmr/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/cmr/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/cmr/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/cmr/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/cmr/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/cmr/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/cmr/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/cmr/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/cmr/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/cmr/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/cmr/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/cmr/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/cmr/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/cmr/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/cmr/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/cmr/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/cmr/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/cmr/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/cmr/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/cmr/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/cmr/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/cmr/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/cmr/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/cmr/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/cmr/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/cmr/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/cmr/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/cmr/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/cmr/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/cmr/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/cmr/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/cmr/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/cmr/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/cmr/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/cmr/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/cmr/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/cmr/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/cmr/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/cmr/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/cmr/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/cmr/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/cmr/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/cmr/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/cmr/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/cmr/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/cmr/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/cmr/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/cmr/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/cmr/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/cmr/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/cmr/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/cmr/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/cmr/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/cmr/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/cmr/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/cmr/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/cmr/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/cmr/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/cmr/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/cmr/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/cmr/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/cmr/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/cmr/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/cmr/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/cmr/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/cmr/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/cmr/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/cmr/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/cmr/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/cmr/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/cmr/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/cmr/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/cmr/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/cmr/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/cmr/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/cmr/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/cmr/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/cmr/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/cmr/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/cmr/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/cmr/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/cmr/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/cmr/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/cmr/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/cmr/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/cmr/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/cmr/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/cmr/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/cmr/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/cmr/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/cmr/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/cmr/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/cmr/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/cmr/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/cmr/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/cmr/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/cmr/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/cmr/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/cmr/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/cmr/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/cmr/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/cmr/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/cmr/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/cmr/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/cmr/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/cmr/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/cmr/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/cmr/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/cmr/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/cmr/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/cmr/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/cmr/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/cmr/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/cmr/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/cmr/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/cmr/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/cmr/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/cmr/cygwin/g++/ta_regtest/Makefile b/vendor/ta-lib/make/cmr/cygwin/g++/ta_regtest/Makefile new file mode 100644 index 000000000..999bc389f --- /dev/null +++ b/vendor/ta-lib/make/cmr/cygwin/g++/ta_regtest/Makefile @@ -0,0 +1,211 @@ +############################################################################# +# Makefile for building ../../../../../bin/ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../src/tools/ta_regtest -I../../../../../src/ta_func -I../../../../../include +LINK = g++ +LFLAGS = +LIBS = $(SUBLIBS) ../../../../../lib/libta_libc_cmr.a -lpthread +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/ta_regtest/ta_regtest.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c \ + ../../../../../src/tools/ta_regtest/test_internals.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c \ + ../../../../../src/tools/ta_regtest/test_util.c \ + ../../../../../src/tools/ta_regtest/test_data.c \ + ../../../../../src/tools/ta_regtest/test_abstract.c +OBJECTS = ../../../../../temp/cmr/ta_regtest.o \ + ../../../../../temp/cmr/test_candlestick.o \ + ../../../../../temp/cmr/test_1in_1out.o \ + ../../../../../temp/cmr/test_1in_2out.o \ + ../../../../../temp/cmr/test_internals.o \ + ../../../../../temp/cmr/test_adx.o \ + ../../../../../temp/cmr/test_bbands.o \ + ../../../../../temp/cmr/test_ma.o \ + ../../../../../temp/cmr/test_macd.o \ + ../../../../../temp/cmr/test_minmax.o \ + ../../../../../temp/cmr/test_mom.o \ + ../../../../../temp/cmr/test_per_ema.o \ + ../../../../../temp/cmr/test_per_hl.o \ + ../../../../../temp/cmr/test_per_hlc.o \ + ../../../../../temp/cmr/test_per_hlcv.o \ + ../../../../../temp/cmr/test_per_ohlc.o \ + ../../../../../temp/cmr/test_po.o \ + ../../../../../temp/cmr/test_rsi.o \ + ../../../../../temp/cmr/test_sar.o \ + ../../../../../temp/cmr/test_stddev.o \ + ../../../../../temp/cmr/test_stoch.o \ + ../../../../../temp/cmr/test_trange.o \ + ../../../../../temp/cmr/test_util.o \ + ../../../../../temp/cmr/test_data.o \ + ../../../../../temp/cmr/test_abstract.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/ta_regtest +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmr/ta_regtest.o: ../../../../../src/tools/ta_regtest/ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_regtest.o ../../../../../src/tools/ta_regtest/ta_regtest.c + +../../../../../temp/cmr/test_candlestick.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_candlestick.o ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + +../../../../../temp/cmr/test_1in_1out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_1in_1out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + +../../../../../temp/cmr/test_1in_2out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_1in_2out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + +../../../../../temp/cmr/test_internals.o: ../../../../../src/tools/ta_regtest/test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_internals.o ../../../../../src/tools/ta_regtest/test_internals.c + +../../../../../temp/cmr/test_adx.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_adx.o ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + +../../../../../temp/cmr/test_bbands.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_bbands.o ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + +../../../../../temp/cmr/test_ma.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_ma.o ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + +../../../../../temp/cmr/test_macd.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_macd.o ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + +../../../../../temp/cmr/test_minmax.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_minmax.o ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + +../../../../../temp/cmr/test_mom.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_mom.o ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + +../../../../../temp/cmr/test_per_ema.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_per_ema.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + +../../../../../temp/cmr/test_per_hl.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_per_hl.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + +../../../../../temp/cmr/test_per_hlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_per_hlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + +../../../../../temp/cmr/test_per_hlcv.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_per_hlcv.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + +../../../../../temp/cmr/test_per_ohlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_per_ohlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + +../../../../../temp/cmr/test_po.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_po.o ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + +../../../../../temp/cmr/test_rsi.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_rsi.o ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + +../../../../../temp/cmr/test_sar.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_sar.o ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + +../../../../../temp/cmr/test_stddev.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_stddev.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + +../../../../../temp/cmr/test_stoch.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_stoch.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + +../../../../../temp/cmr/test_trange.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_trange.o ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + +../../../../../temp/cmr/test_util.o: ../../../../../src/tools/ta_regtest/test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_util.o ../../../../../src/tools/ta_regtest/test_util.c + +../../../../../temp/cmr/test_data.o: ../../../../../src/tools/ta_regtest/test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_data.o ../../../../../src/tools/ta_regtest/test_data.c + +../../../../../temp/cmr/test_abstract.o: ../../../../../src/tools/ta_regtest/test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_abstract.o ../../../../../src/tools/ta_regtest/test_abstract.c + diff --git a/vendor/ta-lib/make/cmr/freebsd/g++/Makefile b/vendor/ta-lib/make/cmr/freebsd/g++/Makefile new file mode 100644 index 000000000..ddcdf3e56 --- /dev/null +++ b/vendor/ta-lib/make/cmr/freebsd/g++/Makefile @@ -0,0 +1,36 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +$(SUBDIRS): FORCE + cd $@; $(MAKE) + +tmake: ../cmr/freebsd/g++/Makefile + +../cmr/freebsd/g++/Makefile: rootmake.pro + tmake rootmake.pro -o ../cmr/freebsd/g++/Makefile + +tmake_all: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done + +#### $text = "\t" . 'for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; pro=`basename $$i`.pro ; $(TMAKE) $$pro -o $(MAKEFILE); grep "TEMPLATE.*subdirs" $$pro 2>/dev/null >/dev/null && $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done'; + +clean release debug: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) $@; fi; ) ; done + +FORCE: diff --git a/vendor/ta-lib/make/cmr/freebsd/g++/gen_code/Makefile b/vendor/ta-lib/make/cmr/freebsd/g++/gen_code/Makefile new file mode 100644 index 000000000..b9ea816b4 --- /dev/null +++ b/vendor/ta-lib/make/cmr/freebsd/g++/gen_code/Makefile @@ -0,0 +1,225 @@ +############################################################################# +# Makefile for building ../../../../../bin/gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DTA_GEN_CODE -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DTA_GEN_CODE -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../include -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I/usr/local/include +LINK = g++ +LFLAGS = -L/usr/local/lib +LIBS = $(SUBLIBS) ../../../../../lib/libta_common_cmr.a -pthread +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/gen_code/gen_code.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/cmr/gen_code/gen_code.o \ + ../../../../../temp/cmr/gen_code/ta_abstract.o \ + ../../../../../temp/cmr/gen_code/ta_def_ui.o \ + ../../../../../temp/cmr/gen_code/table_a.o \ + ../../../../../temp/cmr/gen_code/table_b.o \ + ../../../../../temp/cmr/gen_code/table_c.o \ + ../../../../../temp/cmr/gen_code/table_d.o \ + ../../../../../temp/cmr/gen_code/table_e.o \ + ../../../../../temp/cmr/gen_code/table_f.o \ + ../../../../../temp/cmr/gen_code/table_g.o \ + ../../../../../temp/cmr/gen_code/table_h.o \ + ../../../../../temp/cmr/gen_code/table_i.o \ + ../../../../../temp/cmr/gen_code/table_j.o \ + ../../../../../temp/cmr/gen_code/table_k.o \ + ../../../../../temp/cmr/gen_code/table_l.o \ + ../../../../../temp/cmr/gen_code/table_m.o \ + ../../../../../temp/cmr/gen_code/table_n.o \ + ../../../../../temp/cmr/gen_code/table_o.o \ + ../../../../../temp/cmr/gen_code/table_p.o \ + ../../../../../temp/cmr/gen_code/table_q.o \ + ../../../../../temp/cmr/gen_code/table_r.o \ + ../../../../../temp/cmr/gen_code/table_s.o \ + ../../../../../temp/cmr/gen_code/table_t.o \ + ../../../../../temp/cmr/gen_code/table_u.o \ + ../../../../../temp/cmr/gen_code/table_v.o \ + ../../../../../temp/cmr/gen_code/table_w.o \ + ../../../../../temp/cmr/gen_code/table_x.o \ + ../../../../../temp/cmr/gen_code/table_y.o \ + ../../../../../temp/cmr/gen_code/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/gen_code +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmr/gen_code/gen_code.o: ../../../../../src/tools/gen_code/gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/gen_code.o ../../../../../src/tools/gen_code/gen_code.c + +../../../../../temp/cmr/gen_code/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmr/gen_code/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmr/gen_code/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmr/gen_code/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmr/gen_code/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmr/gen_code/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmr/gen_code/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmr/gen_code/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmr/gen_code/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmr/gen_code/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmr/gen_code/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmr/gen_code/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmr/gen_code/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmr/gen_code/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmr/gen_code/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmr/gen_code/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmr/gen_code/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmr/gen_code/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmr/gen_code/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmr/gen_code/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmr/gen_code/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmr/gen_code/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmr/gen_code/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmr/gen_code/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmr/gen_code/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmr/gen_code/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmr/gen_code/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmr/gen_code/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/cmr/freebsd/g++/ta_abstract/Makefile b/vendor/ta-lib/make/cmr/freebsd/g++/ta_abstract/Makefile new file mode 100644 index 000000000..d8f939c60 --- /dev/null +++ b/vendor/ta-lib/make/cmr/freebsd/g++/ta_abstract/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_abstract_cmr.a +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I../../../../../include -I/usr/local/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/cmr/ta_abstract.o \ + ../../../../../temp/cmr/ta_def_ui.o \ + ../../../../../temp/cmr/ta_func_api.o \ + ../../../../../temp/cmr/ta_group_idx.o \ + ../../../../../temp/cmr/ta_frame.o \ + ../../../../../temp/cmr/table_a.o \ + ../../../../../temp/cmr/table_b.o \ + ../../../../../temp/cmr/table_c.o \ + ../../../../../temp/cmr/table_d.o \ + ../../../../../temp/cmr/table_e.o \ + ../../../../../temp/cmr/table_f.o \ + ../../../../../temp/cmr/table_g.o \ + ../../../../../temp/cmr/table_h.o \ + ../../../../../temp/cmr/table_i.o \ + ../../../../../temp/cmr/table_j.o \ + ../../../../../temp/cmr/table_k.o \ + ../../../../../temp/cmr/table_l.o \ + ../../../../../temp/cmr/table_m.o \ + ../../../../../temp/cmr/table_n.o \ + ../../../../../temp/cmr/table_o.o \ + ../../../../../temp/cmr/table_p.o \ + ../../../../../temp/cmr/table_q.o \ + ../../../../../temp/cmr/table_r.o \ + ../../../../../temp/cmr/table_s.o \ + ../../../../../temp/cmr/table_t.o \ + ../../../../../temp/cmr/table_u.o \ + ../../../../../temp/cmr/table_v.o \ + ../../../../../temp/cmr/table_w.o \ + ../../../../../temp/cmr/table_x.o \ + ../../../../../temp/cmr/table_y.o \ + ../../../../../temp/cmr/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_abstract_cmr.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmr/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmr/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmr/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/cmr/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/cmr/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/cmr/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmr/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmr/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmr/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmr/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmr/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmr/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmr/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmr/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmr/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmr/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmr/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmr/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmr/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmr/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmr/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmr/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmr/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmr/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmr/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmr/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmr/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmr/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmr/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmr/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmr/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/cmr/freebsd/g++/ta_common/Makefile b/vendor/ta-lib/make/cmr/freebsd/g++/ta_common/Makefile new file mode 100644 index 000000000..011fa4083 --- /dev/null +++ b/vendor/ta-lib/make/cmr/freebsd/g++/ta_common/Makefile @@ -0,0 +1,103 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_common_cmr.a +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../include -I/usr/local/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c +OBJECTS = ../../../../../temp/cmr/ta_global.o \ + ../../../../../temp/cmr/ta_retcode.o \ + ../../../../../temp/cmr/ta_version.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_common_cmr.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmr/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/cmr/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/cmr/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_version.o ../../../../../src/ta_common/ta_version.c + diff --git a/vendor/ta-lib/make/cmr/freebsd/g++/ta_func/Makefile b/vendor/ta-lib/make/cmr/freebsd/g++/ta_func/Makefile new file mode 100644 index 000000000..e19fde184 --- /dev/null +++ b/vendor/ta-lib/make/cmr/freebsd/g++/ta_func/Makefile @@ -0,0 +1,883 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_func_cmr.a +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I/n -I../../../../../include -I/usr/local/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/cmr/ta_utility.o \ + ../../../../../temp/cmr/ta_ACOS.o \ + ../../../../../temp/cmr/ta_AD.o \ + ../../../../../temp/cmr/ta_ADD.o \ + ../../../../../temp/cmr/ta_ADOSC.o \ + ../../../../../temp/cmr/ta_ADX.o \ + ../../../../../temp/cmr/ta_ADXR.o \ + ../../../../../temp/cmr/ta_APO.o \ + ../../../../../temp/cmr/ta_AROON.o \ + ../../../../../temp/cmr/ta_AROONOSC.o \ + ../../../../../temp/cmr/ta_ASIN.o \ + ../../../../../temp/cmr/ta_ATAN.o \ + ../../../../../temp/cmr/ta_ATR.o \ + ../../../../../temp/cmr/ta_AVGPRICE.o \ + ../../../../../temp/cmr/ta_BBANDS.o \ + ../../../../../temp/cmr/ta_BETA.o \ + ../../../../../temp/cmr/ta_BOP.o \ + ../../../../../temp/cmr/ta_CCI.o \ + ../../../../../temp/cmr/ta_CDL2CROWS.o \ + ../../../../../temp/cmr/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/cmr/ta_CDL3INSIDE.o \ + ../../../../../temp/cmr/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/cmr/ta_CDL3OUTSIDE.o \ + ../../../../../temp/cmr/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/cmr/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/cmr/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/cmr/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/cmr/ta_CDLBELTHOLD.o \ + ../../../../../temp/cmr/ta_CDLBREAKAWAY.o \ + ../../../../../temp/cmr/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/cmr/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/cmr/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/cmr/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/cmr/ta_CDLDOJI.o \ + ../../../../../temp/cmr/ta_CDLDOJISTAR.o \ + ../../../../../temp/cmr/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/cmr/ta_CDLENGULFING.o \ + ../../../../../temp/cmr/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/cmr/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/cmr/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/cmr/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/cmr/ta_CDLHAMMER.o \ + ../../../../../temp/cmr/ta_CDLHANGINGMAN.o \ + ../../../../../temp/cmr/ta_CDLHARAMI.o \ + ../../../../../temp/cmr/ta_CDLHARAMICROSS.o \ + ../../../../../temp/cmr/ta_CDLHIGHWAVE.o \ + ../../../../../temp/cmr/ta_CDLHIKKAKE.o \ + ../../../../../temp/cmr/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/cmr/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/cmr/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/cmr/ta_CDLINNECK.o \ + ../../../../../temp/cmr/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/cmr/ta_CDLKICKING.o \ + ../../../../../temp/cmr/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/cmr/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/cmr/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/cmr/ta_CDLLONGLINE.o \ + ../../../../../temp/cmr/ta_CDLMARUBOZU.o \ + ../../../../../temp/cmr/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/cmr/ta_CDLMATHOLD.o \ + ../../../../../temp/cmr/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/cmr/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/cmr/ta_CDLONNECK.o \ + ../../../../../temp/cmr/ta_CDLPIERCING.o \ + ../../../../../temp/cmr/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/cmr/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/cmr/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/cmr/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/cmr/ta_CDLSHORTLINE.o \ + ../../../../../temp/cmr/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/cmr/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/cmr/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/cmr/ta_CDLTAKURI.o \ + ../../../../../temp/cmr/ta_CDLTASUKIGAP.o \ + ../../../../../temp/cmr/ta_CDLTHRUSTING.o \ + ../../../../../temp/cmr/ta_CDLTRISTAR.o \ + ../../../../../temp/cmr/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/cmr/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/cmr/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/cmr/ta_CEIL.o \ + ../../../../../temp/cmr/ta_CMO.o \ + ../../../../../temp/cmr/ta_CORREL.o \ + ../../../../../temp/cmr/ta_COS.o \ + ../../../../../temp/cmr/ta_COSH.o \ + ../../../../../temp/cmr/ta_DEMA.o \ + ../../../../../temp/cmr/ta_DIV.o \ + ../../../../../temp/cmr/ta_DX.o \ + ../../../../../temp/cmr/ta_EMA.o \ + ../../../../../temp/cmr/ta_EXP.o \ + ../../../../../temp/cmr/ta_FLOOR.o \ + ../../../../../temp/cmr/ta_HT_DCPERIOD.o \ + ../../../../../temp/cmr/ta_HT_DCPHASE.o \ + ../../../../../temp/cmr/ta_HT_PHASOR.o \ + ../../../../../temp/cmr/ta_HT_SINE.o \ + ../../../../../temp/cmr/ta_HT_TRENDLINE.o \ + ../../../../../temp/cmr/ta_HT_TRENDMODE.o \ + ../../../../../temp/cmr/ta_KAMA.o \ + ../../../../../temp/cmr/ta_LINEARREG.o \ + ../../../../../temp/cmr/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/cmr/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/cmr/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/cmr/ta_LN.o \ + ../../../../../temp/cmr/ta_LOG10.o \ + ../../../../../temp/cmr/ta_MA.o \ + ../../../../../temp/cmr/ta_MACD.o \ + ../../../../../temp/cmr/ta_MACDEXT.o \ + ../../../../../temp/cmr/ta_MACDFIX.o \ + ../../../../../temp/cmr/ta_MAMA.o \ + ../../../../../temp/cmr/ta_MAVP.o \ + ../../../../../temp/cmr/ta_MAX.o \ + ../../../../../temp/cmr/ta_MAXINDEX.o \ + ../../../../../temp/cmr/ta_MEDPRICE.o \ + ../../../../../temp/cmr/ta_MFI.o \ + ../../../../../temp/cmr/ta_MIDPOINT.o \ + ../../../../../temp/cmr/ta_MIDPRICE.o \ + ../../../../../temp/cmr/ta_MIN.o \ + ../../../../../temp/cmr/ta_MININDEX.o \ + ../../../../../temp/cmr/ta_MINMAX.o \ + ../../../../../temp/cmr/ta_MINMAXINDEX.o \ + ../../../../../temp/cmr/ta_MINUS_DI.o \ + ../../../../../temp/cmr/ta_MINUS_DM.o \ + ../../../../../temp/cmr/ta_MOM.o \ + ../../../../../temp/cmr/ta_MULT.o \ + ../../../../../temp/cmr/ta_NATR.o \ + ../../../../../temp/cmr/ta_OBV.o \ + ../../../../../temp/cmr/ta_PLUS_DI.o \ + ../../../../../temp/cmr/ta_PLUS_DM.o \ + ../../../../../temp/cmr/ta_PPO.o \ + ../../../../../temp/cmr/ta_ROC.o \ + ../../../../../temp/cmr/ta_ROCP.o \ + ../../../../../temp/cmr/ta_ROCR.o \ + ../../../../../temp/cmr/ta_ROCR100.o \ + ../../../../../temp/cmr/ta_RSI.o \ + ../../../../../temp/cmr/ta_SAR.o \ + ../../../../../temp/cmr/ta_SAREXT.o \ + ../../../../../temp/cmr/ta_SIN.o \ + ../../../../../temp/cmr/ta_SINH.o \ + ../../../../../temp/cmr/ta_SMA.o \ + ../../../../../temp/cmr/ta_SQRT.o \ + ../../../../../temp/cmr/ta_STDDEV.o \ + ../../../../../temp/cmr/ta_STOCH.o \ + ../../../../../temp/cmr/ta_STOCHF.o \ + ../../../../../temp/cmr/ta_STOCHRSI.o \ + ../../../../../temp/cmr/ta_SUB.o \ + ../../../../../temp/cmr/ta_SUM.o \ + ../../../../../temp/cmr/ta_T3.o \ + ../../../../../temp/cmr/ta_TAN.o \ + ../../../../../temp/cmr/ta_TANH.o \ + ../../../../../temp/cmr/ta_TEMA.o \ + ../../../../../temp/cmr/ta_TRANGE.o \ + ../../../../../temp/cmr/ta_TRIMA.o \ + ../../../../../temp/cmr/ta_TRIX.o \ + ../../../../../temp/cmr/ta_TSF.o \ + ../../../../../temp/cmr/ta_TYPPRICE.o \ + ../../../../../temp/cmr/ta_ULTOSC.o \ + ../../../../../temp/cmr/ta_VAR.o \ + ../../../../../temp/cmr/ta_WCLPRICE.o \ + ../../../../../temp/cmr/ta_WILLR.o \ + ../../../../../temp/cmr/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_func_cmr.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmr/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/cmr/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/cmr/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/cmr/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/cmr/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/cmr/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/cmr/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/cmr/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/cmr/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/cmr/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/cmr/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/cmr/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/cmr/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/cmr/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/cmr/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/cmr/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/cmr/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/cmr/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/cmr/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/cmr/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/cmr/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/cmr/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/cmr/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/cmr/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/cmr/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/cmr/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/cmr/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/cmr/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/cmr/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/cmr/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/cmr/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/cmr/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/cmr/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/cmr/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/cmr/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/cmr/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/cmr/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/cmr/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/cmr/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/cmr/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/cmr/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/cmr/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/cmr/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/cmr/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/cmr/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/cmr/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/cmr/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/cmr/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/cmr/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/cmr/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/cmr/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/cmr/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/cmr/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/cmr/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/cmr/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/cmr/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/cmr/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/cmr/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/cmr/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/cmr/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/cmr/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/cmr/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/cmr/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/cmr/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/cmr/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/cmr/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/cmr/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/cmr/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/cmr/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/cmr/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/cmr/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/cmr/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/cmr/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/cmr/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/cmr/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/cmr/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/cmr/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/cmr/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/cmr/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/cmr/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/cmr/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/cmr/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/cmr/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/cmr/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/cmr/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/cmr/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/cmr/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/cmr/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/cmr/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/cmr/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/cmr/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/cmr/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/cmr/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/cmr/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/cmr/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/cmr/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/cmr/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/cmr/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/cmr/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/cmr/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/cmr/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/cmr/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/cmr/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/cmr/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/cmr/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/cmr/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/cmr/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/cmr/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/cmr/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/cmr/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/cmr/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/cmr/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/cmr/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/cmr/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/cmr/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/cmr/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/cmr/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/cmr/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/cmr/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/cmr/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/cmr/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/cmr/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/cmr/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/cmr/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/cmr/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/cmr/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/cmr/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/cmr/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/cmr/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/cmr/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/cmr/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/cmr/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/cmr/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/cmr/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/cmr/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/cmr/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/cmr/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/cmr/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/cmr/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/cmr/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/cmr/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/cmr/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/cmr/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/cmr/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/cmr/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/cmr/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/cmr/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/cmr/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/cmr/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/cmr/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/cmr/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/cmr/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/cmr/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/cmr/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/cmr/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/cmr/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/cmr/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/cmr/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/cmr/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/cmr/freebsd/g++/ta_libc/Makefile b/vendor/ta-lib/make/cmr/freebsd/g++/ta_libc/Makefile new file mode 100644 index 000000000..4fbc28e0e --- /dev/null +++ b/vendor/ta-lib/make/cmr/freebsd/g++/ta_libc/Makefile @@ -0,0 +1,1053 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_libc_cmr.a +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT -DNO_DEBUG +CXXFLAGS= -pipe -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT -DNO_DEBUG +INCPATH = -I../../../../../src/ta_common -I../../../../../include -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I/usr/local/include -I$(QTDIR)/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c \ + ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/cmr/ta_global.o \ + ../../../../../temp/cmr/ta_retcode.o \ + ../../../../../temp/cmr/ta_version.o \ + ../../../../../temp/cmr/ta_abstract.o \ + ../../../../../temp/cmr/ta_def_ui.o \ + ../../../../../temp/cmr/ta_func_api.o \ + ../../../../../temp/cmr/ta_group_idx.o \ + ../../../../../temp/cmr/ta_frame.o \ + ../../../../../temp/cmr/table_a.o \ + ../../../../../temp/cmr/table_b.o \ + ../../../../../temp/cmr/table_c.o \ + ../../../../../temp/cmr/table_d.o \ + ../../../../../temp/cmr/table_e.o \ + ../../../../../temp/cmr/table_f.o \ + ../../../../../temp/cmr/table_g.o \ + ../../../../../temp/cmr/table_h.o \ + ../../../../../temp/cmr/table_i.o \ + ../../../../../temp/cmr/table_j.o \ + ../../../../../temp/cmr/table_k.o \ + ../../../../../temp/cmr/table_l.o \ + ../../../../../temp/cmr/table_m.o \ + ../../../../../temp/cmr/table_n.o \ + ../../../../../temp/cmr/table_o.o \ + ../../../../../temp/cmr/table_p.o \ + ../../../../../temp/cmr/table_q.o \ + ../../../../../temp/cmr/table_r.o \ + ../../../../../temp/cmr/table_s.o \ + ../../../../../temp/cmr/table_t.o \ + ../../../../../temp/cmr/table_u.o \ + ../../../../../temp/cmr/table_v.o \ + ../../../../../temp/cmr/table_w.o \ + ../../../../../temp/cmr/table_x.o \ + ../../../../../temp/cmr/table_y.o \ + ../../../../../temp/cmr/table_z.o \ + ../../../../../temp/cmr/ta_utility.o \ + ../../../../../temp/cmr/ta_ACOS.o \ + ../../../../../temp/cmr/ta_AD.o \ + ../../../../../temp/cmr/ta_ADD.o \ + ../../../../../temp/cmr/ta_ADOSC.o \ + ../../../../../temp/cmr/ta_ADX.o \ + ../../../../../temp/cmr/ta_ADXR.o \ + ../../../../../temp/cmr/ta_APO.o \ + ../../../../../temp/cmr/ta_AROON.o \ + ../../../../../temp/cmr/ta_AROONOSC.o \ + ../../../../../temp/cmr/ta_ASIN.o \ + ../../../../../temp/cmr/ta_ATAN.o \ + ../../../../../temp/cmr/ta_ATR.o \ + ../../../../../temp/cmr/ta_AVGPRICE.o \ + ../../../../../temp/cmr/ta_BBANDS.o \ + ../../../../../temp/cmr/ta_BETA.o \ + ../../../../../temp/cmr/ta_BOP.o \ + ../../../../../temp/cmr/ta_CCI.o \ + ../../../../../temp/cmr/ta_CDL2CROWS.o \ + ../../../../../temp/cmr/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/cmr/ta_CDL3INSIDE.o \ + ../../../../../temp/cmr/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/cmr/ta_CDL3OUTSIDE.o \ + ../../../../../temp/cmr/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/cmr/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/cmr/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/cmr/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/cmr/ta_CDLBELTHOLD.o \ + ../../../../../temp/cmr/ta_CDLBREAKAWAY.o \ + ../../../../../temp/cmr/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/cmr/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/cmr/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/cmr/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/cmr/ta_CDLDOJI.o \ + ../../../../../temp/cmr/ta_CDLDOJISTAR.o \ + ../../../../../temp/cmr/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/cmr/ta_CDLENGULFING.o \ + ../../../../../temp/cmr/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/cmr/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/cmr/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/cmr/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/cmr/ta_CDLHAMMER.o \ + ../../../../../temp/cmr/ta_CDLHANGINGMAN.o \ + ../../../../../temp/cmr/ta_CDLHARAMI.o \ + ../../../../../temp/cmr/ta_CDLHARAMICROSS.o \ + ../../../../../temp/cmr/ta_CDLHIGHWAVE.o \ + ../../../../../temp/cmr/ta_CDLHIKKAKE.o \ + ../../../../../temp/cmr/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/cmr/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/cmr/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/cmr/ta_CDLINNECK.o \ + ../../../../../temp/cmr/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/cmr/ta_CDLKICKING.o \ + ../../../../../temp/cmr/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/cmr/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/cmr/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/cmr/ta_CDLLONGLINE.o \ + ../../../../../temp/cmr/ta_CDLMARUBOZU.o \ + ../../../../../temp/cmr/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/cmr/ta_CDLMATHOLD.o \ + ../../../../../temp/cmr/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/cmr/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/cmr/ta_CDLONNECK.o \ + ../../../../../temp/cmr/ta_CDLPIERCING.o \ + ../../../../../temp/cmr/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/cmr/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/cmr/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/cmr/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/cmr/ta_CDLSHORTLINE.o \ + ../../../../../temp/cmr/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/cmr/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/cmr/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/cmr/ta_CDLTAKURI.o \ + ../../../../../temp/cmr/ta_CDLTASUKIGAP.o \ + ../../../../../temp/cmr/ta_CDLTHRUSTING.o \ + ../../../../../temp/cmr/ta_CDLTRISTAR.o \ + ../../../../../temp/cmr/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/cmr/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/cmr/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/cmr/ta_CEIL.o \ + ../../../../../temp/cmr/ta_CMO.o \ + ../../../../../temp/cmr/ta_CORREL.o \ + ../../../../../temp/cmr/ta_COS.o \ + ../../../../../temp/cmr/ta_COSH.o \ + ../../../../../temp/cmr/ta_DEMA.o \ + ../../../../../temp/cmr/ta_DIV.o \ + ../../../../../temp/cmr/ta_DX.o \ + ../../../../../temp/cmr/ta_EMA.o \ + ../../../../../temp/cmr/ta_EXP.o \ + ../../../../../temp/cmr/ta_FLOOR.o \ + ../../../../../temp/cmr/ta_HT_DCPERIOD.o \ + ../../../../../temp/cmr/ta_HT_DCPHASE.o \ + ../../../../../temp/cmr/ta_HT_PHASOR.o \ + ../../../../../temp/cmr/ta_HT_SINE.o \ + ../../../../../temp/cmr/ta_HT_TRENDLINE.o \ + ../../../../../temp/cmr/ta_HT_TRENDMODE.o \ + ../../../../../temp/cmr/ta_KAMA.o \ + ../../../../../temp/cmr/ta_LINEARREG.o \ + ../../../../../temp/cmr/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/cmr/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/cmr/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/cmr/ta_LN.o \ + ../../../../../temp/cmr/ta_LOG10.o \ + ../../../../../temp/cmr/ta_MA.o \ + ../../../../../temp/cmr/ta_MACD.o \ + ../../../../../temp/cmr/ta_MACDEXT.o \ + ../../../../../temp/cmr/ta_MACDFIX.o \ + ../../../../../temp/cmr/ta_MAMA.o \ + ../../../../../temp/cmr/ta_MAVP.o \ + ../../../../../temp/cmr/ta_MAX.o \ + ../../../../../temp/cmr/ta_MAXINDEX.o \ + ../../../../../temp/cmr/ta_MEDPRICE.o \ + ../../../../../temp/cmr/ta_MFI.o \ + ../../../../../temp/cmr/ta_MIDPOINT.o \ + ../../../../../temp/cmr/ta_MIDPRICE.o \ + ../../../../../temp/cmr/ta_MIN.o \ + ../../../../../temp/cmr/ta_MININDEX.o \ + ../../../../../temp/cmr/ta_MINMAX.o \ + ../../../../../temp/cmr/ta_MINMAXINDEX.o \ + ../../../../../temp/cmr/ta_MINUS_DI.o \ + ../../../../../temp/cmr/ta_MINUS_DM.o \ + ../../../../../temp/cmr/ta_MOM.o \ + ../../../../../temp/cmr/ta_MULT.o \ + ../../../../../temp/cmr/ta_NATR.o \ + ../../../../../temp/cmr/ta_OBV.o \ + ../../../../../temp/cmr/ta_PLUS_DI.o \ + ../../../../../temp/cmr/ta_PLUS_DM.o \ + ../../../../../temp/cmr/ta_PPO.o \ + ../../../../../temp/cmr/ta_ROC.o \ + ../../../../../temp/cmr/ta_ROCP.o \ + ../../../../../temp/cmr/ta_ROCR.o \ + ../../../../../temp/cmr/ta_ROCR100.o \ + ../../../../../temp/cmr/ta_RSI.o \ + ../../../../../temp/cmr/ta_SAR.o \ + ../../../../../temp/cmr/ta_SAREXT.o \ + ../../../../../temp/cmr/ta_SIN.o \ + ../../../../../temp/cmr/ta_SINH.o \ + ../../../../../temp/cmr/ta_SMA.o \ + ../../../../../temp/cmr/ta_SQRT.o \ + ../../../../../temp/cmr/ta_STDDEV.o \ + ../../../../../temp/cmr/ta_STOCH.o \ + ../../../../../temp/cmr/ta_STOCHF.o \ + ../../../../../temp/cmr/ta_STOCHRSI.o \ + ../../../../../temp/cmr/ta_SUB.o \ + ../../../../../temp/cmr/ta_SUM.o \ + ../../../../../temp/cmr/ta_T3.o \ + ../../../../../temp/cmr/ta_TAN.o \ + ../../../../../temp/cmr/ta_TANH.o \ + ../../../../../temp/cmr/ta_TEMA.o \ + ../../../../../temp/cmr/ta_TRANGE.o \ + ../../../../../temp/cmr/ta_TRIMA.o \ + ../../../../../temp/cmr/ta_TRIX.o \ + ../../../../../temp/cmr/ta_TSF.o \ + ../../../../../temp/cmr/ta_TYPPRICE.o \ + ../../../../../temp/cmr/ta_ULTOSC.o \ + ../../../../../temp/cmr/ta_VAR.o \ + ../../../../../temp/cmr/ta_WCLPRICE.o \ + ../../../../../temp/cmr/ta_WILLR.o \ + ../../../../../temp/cmr/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_libc_cmr.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmr/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/cmr/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/cmr/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_version.o ../../../../../src/ta_common/ta_version.c + +../../../../../temp/cmr/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmr/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmr/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/cmr/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/cmr/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/cmr/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmr/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmr/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmr/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmr/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmr/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmr/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmr/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmr/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmr/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmr/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmr/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmr/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmr/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmr/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmr/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmr/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmr/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmr/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmr/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmr/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmr/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmr/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmr/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmr/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmr/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + +../../../../../temp/cmr/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/cmr/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/cmr/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/cmr/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/cmr/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/cmr/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/cmr/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/cmr/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/cmr/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/cmr/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/cmr/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/cmr/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/cmr/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/cmr/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/cmr/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/cmr/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/cmr/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/cmr/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/cmr/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/cmr/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/cmr/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/cmr/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/cmr/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/cmr/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/cmr/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/cmr/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/cmr/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/cmr/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/cmr/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/cmr/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/cmr/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/cmr/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/cmr/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/cmr/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/cmr/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/cmr/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/cmr/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/cmr/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/cmr/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/cmr/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/cmr/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/cmr/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/cmr/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/cmr/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/cmr/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/cmr/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/cmr/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/cmr/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/cmr/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/cmr/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/cmr/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/cmr/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/cmr/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/cmr/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/cmr/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/cmr/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/cmr/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/cmr/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/cmr/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/cmr/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/cmr/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/cmr/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/cmr/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/cmr/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/cmr/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/cmr/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/cmr/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/cmr/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/cmr/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/cmr/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/cmr/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/cmr/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/cmr/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/cmr/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/cmr/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/cmr/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/cmr/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/cmr/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/cmr/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/cmr/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/cmr/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/cmr/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/cmr/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/cmr/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/cmr/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/cmr/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/cmr/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/cmr/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/cmr/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/cmr/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/cmr/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/cmr/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/cmr/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/cmr/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/cmr/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/cmr/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/cmr/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/cmr/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/cmr/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/cmr/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/cmr/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/cmr/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/cmr/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/cmr/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/cmr/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/cmr/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/cmr/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/cmr/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/cmr/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/cmr/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/cmr/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/cmr/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/cmr/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/cmr/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/cmr/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/cmr/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/cmr/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/cmr/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/cmr/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/cmr/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/cmr/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/cmr/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/cmr/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/cmr/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/cmr/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/cmr/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/cmr/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/cmr/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/cmr/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/cmr/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/cmr/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/cmr/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/cmr/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/cmr/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/cmr/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/cmr/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/cmr/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/cmr/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/cmr/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/cmr/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/cmr/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/cmr/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/cmr/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/cmr/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/cmr/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/cmr/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/cmr/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/cmr/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/cmr/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/cmr/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/cmr/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/cmr/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/cmr/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/cmr/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/cmr/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/cmr/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/cmr/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/cmr/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/cmr/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/cmr/freebsd/g++/ta_regtest/Makefile b/vendor/ta-lib/make/cmr/freebsd/g++/ta_regtest/Makefile new file mode 100644 index 000000000..3b4839d53 --- /dev/null +++ b/vendor/ta-lib/make/cmr/freebsd/g++/ta_regtest/Makefile @@ -0,0 +1,205 @@ +############################################################################# +# Makefile for building ../../../../../bin/ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../src/tools/ta_regtest -I../../../../../src/ta_func -I../../../../../include -I/usr/local/include +LINK = g++ +LFLAGS = -L/usr/local/lib +LIBS = $(SUBLIBS) ../../../../../lib/libta_libc_cmr.a -pthread +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/ta_regtest/ta_regtest.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c \ + ../../../../../src/tools/ta_regtest/test_internals.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c \ + ../../../../../src/tools/ta_regtest/test_util.c \ + ../../../../../src/tools/ta_regtest/test_data.c \ + ../../../../../src/tools/ta_regtest/test_abstract.c +OBJECTS = ../../../../../temp/cmr/ta_regtest.o \ + ../../../../../temp/cmr/test_candlestick.o \ + ../../../../../temp/cmr/test_1in_1out.o \ + ../../../../../temp/cmr/test_1in_2out.o \ + ../../../../../temp/cmr/test_internals.o \ + ../../../../../temp/cmr/test_adx.o \ + ../../../../../temp/cmr/test_bbands.o \ + ../../../../../temp/cmr/test_ma.o \ + ../../../../../temp/cmr/test_macd.o \ + ../../../../../temp/cmr/test_minmax.o \ + ../../../../../temp/cmr/test_mom.o \ + ../../../../../temp/cmr/test_per_ema.o \ + ../../../../../temp/cmr/test_per_hl.o \ + ../../../../../temp/cmr/test_per_hlc.o \ + ../../../../../temp/cmr/test_per_hlcv.o \ + ../../../../../temp/cmr/test_per_ohlc.o \ + ../../../../../temp/cmr/test_po.o \ + ../../../../../temp/cmr/test_rsi.o \ + ../../../../../temp/cmr/test_sar.o \ + ../../../../../temp/cmr/test_stddev.o \ + ../../../../../temp/cmr/test_stoch.o \ + ../../../../../temp/cmr/test_trange.o \ + ../../../../../temp/cmr/test_util.o \ + ../../../../../temp/cmr/test_data.o \ + ../../../../../temp/cmr/test_abstract.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/ta_regtest +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmr/ta_regtest.o: ../../../../../src/tools/ta_regtest/ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_regtest.o ../../../../../src/tools/ta_regtest/ta_regtest.c + +../../../../../temp/cmr/test_candlestick.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_candlestick.o ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + +../../../../../temp/cmr/test_1in_1out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_1in_1out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + +../../../../../temp/cmr/test_1in_2out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_1in_2out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + +../../../../../temp/cmr/test_internals.o: ../../../../../src/tools/ta_regtest/test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_internals.o ../../../../../src/tools/ta_regtest/test_internals.c + +../../../../../temp/cmr/test_adx.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_adx.o ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + +../../../../../temp/cmr/test_bbands.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_bbands.o ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + +../../../../../temp/cmr/test_ma.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_ma.o ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + +../../../../../temp/cmr/test_macd.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_macd.o ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + +../../../../../temp/cmr/test_minmax.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_minmax.o ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + +../../../../../temp/cmr/test_mom.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_mom.o ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + +../../../../../temp/cmr/test_per_ema.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_per_ema.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + +../../../../../temp/cmr/test_per_hl.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_per_hl.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + +../../../../../temp/cmr/test_per_hlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_per_hlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + +../../../../../temp/cmr/test_per_hlcv.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_per_hlcv.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + +../../../../../temp/cmr/test_per_ohlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_per_ohlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + +../../../../../temp/cmr/test_po.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_po.o ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + +../../../../../temp/cmr/test_rsi.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_rsi.o ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + +../../../../../temp/cmr/test_sar.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_sar.o ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + +../../../../../temp/cmr/test_stddev.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_stddev.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + +../../../../../temp/cmr/test_stoch.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_stoch.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + +../../../../../temp/cmr/test_trange.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_trange.o ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + +../../../../../temp/cmr/test_util.o: ../../../../../src/tools/ta_regtest/test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_util.o ../../../../../src/tools/ta_regtest/test_util.c + +../../../../../temp/cmr/test_data.o: ../../../../../src/tools/ta_regtest/test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_data.o ../../../../../src/tools/ta_regtest/test_data.c + +../../../../../temp/cmr/test_abstract.o: ../../../../../src/tools/ta_regtest/test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_abstract.o ../../../../../src/tools/ta_regtest/test_abstract.c + diff --git a/vendor/ta-lib/make/cmr/linux/g++/Makefile b/vendor/ta-lib/make/cmr/linux/g++/Makefile new file mode 100644 index 000000000..87e0baf4c --- /dev/null +++ b/vendor/ta-lib/make/cmr/linux/g++/Makefile @@ -0,0 +1,36 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +$(SUBDIRS): FORCE + cd $@; $(MAKE) + +tmake: ../cmr/linux/g++/Makefile + +../cmr/linux/g++/Makefile: rootmake.pro + tmake rootmake.pro -o ../cmr/linux/g++/Makefile + +tmake_all: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done + +#### $text = "\t" . 'for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; pro=`basename $$i`.pro ; $(TMAKE) $$pro -o $(MAKEFILE); grep "TEMPLATE.*subdirs" $$pro 2>/dev/null >/dev/null && $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done'; + +clean release debug: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) $@; fi; ) ; done + +FORCE: diff --git a/vendor/ta-lib/make/cmr/linux/g++/gen_code/Makefile b/vendor/ta-lib/make/cmr/linux/g++/gen_code/Makefile new file mode 100644 index 000000000..d8e9f5837 --- /dev/null +++ b/vendor/ta-lib/make/cmr/linux/g++/gen_code/Makefile @@ -0,0 +1,231 @@ +############################################################################# +# Makefile for building ../../../../../bin/gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DTA_GEN_CODE -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -fPIC -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DTA_GEN_CODE -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../include -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames +LINK = g++ +LFLAGS = +LIBS = $(SUBLIBS) ../../../../../lib/libta_common_cmr.a -ldl -lpthread +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/gen_code/gen_code.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/cmr/gen_code/gen_code.o \ + ../../../../../temp/cmr/gen_code/ta_abstract.o \ + ../../../../../temp/cmr/gen_code/ta_def_ui.o \ + ../../../../../temp/cmr/gen_code/table_a.o \ + ../../../../../temp/cmr/gen_code/table_b.o \ + ../../../../../temp/cmr/gen_code/table_c.o \ + ../../../../../temp/cmr/gen_code/table_d.o \ + ../../../../../temp/cmr/gen_code/table_e.o \ + ../../../../../temp/cmr/gen_code/table_f.o \ + ../../../../../temp/cmr/gen_code/table_g.o \ + ../../../../../temp/cmr/gen_code/table_h.o \ + ../../../../../temp/cmr/gen_code/table_i.o \ + ../../../../../temp/cmr/gen_code/table_j.o \ + ../../../../../temp/cmr/gen_code/table_k.o \ + ../../../../../temp/cmr/gen_code/table_l.o \ + ../../../../../temp/cmr/gen_code/table_m.o \ + ../../../../../temp/cmr/gen_code/table_n.o \ + ../../../../../temp/cmr/gen_code/table_o.o \ + ../../../../../temp/cmr/gen_code/table_p.o \ + ../../../../../temp/cmr/gen_code/table_q.o \ + ../../../../../temp/cmr/gen_code/table_r.o \ + ../../../../../temp/cmr/gen_code/table_s.o \ + ../../../../../temp/cmr/gen_code/table_t.o \ + ../../../../../temp/cmr/gen_code/table_u.o \ + ../../../../../temp/cmr/gen_code/table_v.o \ + ../../../../../temp/cmr/gen_code/table_w.o \ + ../../../../../temp/cmr/gen_code/table_x.o \ + ../../../../../temp/cmr/gen_code/table_y.o \ + ../../../../../temp/cmr/gen_code/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/gen_code +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmr/gen_code/gen_code.o: ../../../../../src/tools/gen_code/gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/gen_code.o ../../../../../src/tools/gen_code/gen_code.c + +../../../../../temp/cmr/gen_code/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmr/gen_code/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmr/gen_code/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmr/gen_code/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmr/gen_code/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmr/gen_code/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmr/gen_code/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmr/gen_code/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmr/gen_code/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmr/gen_code/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmr/gen_code/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmr/gen_code/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmr/gen_code/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmr/gen_code/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmr/gen_code/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmr/gen_code/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmr/gen_code/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmr/gen_code/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmr/gen_code/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmr/gen_code/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmr/gen_code/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmr/gen_code/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmr/gen_code/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmr/gen_code/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmr/gen_code/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmr/gen_code/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmr/gen_code/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmr/gen_code/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/gen_code/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/cmr/linux/g++/ta_abstract/Makefile b/vendor/ta-lib/make/cmr/linux/g++/ta_abstract/Makefile new file mode 100644 index 000000000..faeec4cc9 --- /dev/null +++ b/vendor/ta-lib/make/cmr/linux/g++/ta_abstract/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_abstract_cmr.a +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -fPIC -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/cmr/ta_abstract.o \ + ../../../../../temp/cmr/ta_def_ui.o \ + ../../../../../temp/cmr/ta_func_api.o \ + ../../../../../temp/cmr/ta_group_idx.o \ + ../../../../../temp/cmr/ta_frame.o \ + ../../../../../temp/cmr/table_a.o \ + ../../../../../temp/cmr/table_b.o \ + ../../../../../temp/cmr/table_c.o \ + ../../../../../temp/cmr/table_d.o \ + ../../../../../temp/cmr/table_e.o \ + ../../../../../temp/cmr/table_f.o \ + ../../../../../temp/cmr/table_g.o \ + ../../../../../temp/cmr/table_h.o \ + ../../../../../temp/cmr/table_i.o \ + ../../../../../temp/cmr/table_j.o \ + ../../../../../temp/cmr/table_k.o \ + ../../../../../temp/cmr/table_l.o \ + ../../../../../temp/cmr/table_m.o \ + ../../../../../temp/cmr/table_n.o \ + ../../../../../temp/cmr/table_o.o \ + ../../../../../temp/cmr/table_p.o \ + ../../../../../temp/cmr/table_q.o \ + ../../../../../temp/cmr/table_r.o \ + ../../../../../temp/cmr/table_s.o \ + ../../../../../temp/cmr/table_t.o \ + ../../../../../temp/cmr/table_u.o \ + ../../../../../temp/cmr/table_v.o \ + ../../../../../temp/cmr/table_w.o \ + ../../../../../temp/cmr/table_x.o \ + ../../../../../temp/cmr/table_y.o \ + ../../../../../temp/cmr/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_abstract_cmr.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmr/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmr/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmr/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/cmr/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/cmr/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/cmr/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmr/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmr/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmr/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmr/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmr/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmr/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmr/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmr/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmr/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmr/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmr/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmr/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmr/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmr/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmr/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmr/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmr/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmr/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmr/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmr/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmr/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmr/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmr/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmr/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmr/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/cmr/linux/g++/ta_common/Makefile b/vendor/ta-lib/make/cmr/linux/g++/ta_common/Makefile new file mode 100644 index 000000000..391083660 --- /dev/null +++ b/vendor/ta-lib/make/cmr/linux/g++/ta_common/Makefile @@ -0,0 +1,103 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_common_cmr.a +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -fPIC -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c +OBJECTS = ../../../../../temp/cmr/ta_global.o \ + ../../../../../temp/cmr/ta_retcode.o \ + ../../../../../temp/cmr/ta_version.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_common_cmr.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmr/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/cmr/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/cmr/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_version.o ../../../../../src/ta_common/ta_version.c + diff --git a/vendor/ta-lib/make/cmr/linux/g++/ta_func/Makefile b/vendor/ta-lib/make/cmr/linux/g++/ta_func/Makefile new file mode 100644 index 000000000..310ff283d --- /dev/null +++ b/vendor/ta-lib/make/cmr/linux/g++/ta_func/Makefile @@ -0,0 +1,883 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_func_cmr.a +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -fPIC -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I/n -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/cmr/ta_utility.o \ + ../../../../../temp/cmr/ta_ACOS.o \ + ../../../../../temp/cmr/ta_AD.o \ + ../../../../../temp/cmr/ta_ADD.o \ + ../../../../../temp/cmr/ta_ADOSC.o \ + ../../../../../temp/cmr/ta_ADX.o \ + ../../../../../temp/cmr/ta_ADXR.o \ + ../../../../../temp/cmr/ta_APO.o \ + ../../../../../temp/cmr/ta_AROON.o \ + ../../../../../temp/cmr/ta_AROONOSC.o \ + ../../../../../temp/cmr/ta_ASIN.o \ + ../../../../../temp/cmr/ta_ATAN.o \ + ../../../../../temp/cmr/ta_ATR.o \ + ../../../../../temp/cmr/ta_AVGPRICE.o \ + ../../../../../temp/cmr/ta_BBANDS.o \ + ../../../../../temp/cmr/ta_BETA.o \ + ../../../../../temp/cmr/ta_BOP.o \ + ../../../../../temp/cmr/ta_CCI.o \ + ../../../../../temp/cmr/ta_CDL2CROWS.o \ + ../../../../../temp/cmr/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/cmr/ta_CDL3INSIDE.o \ + ../../../../../temp/cmr/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/cmr/ta_CDL3OUTSIDE.o \ + ../../../../../temp/cmr/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/cmr/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/cmr/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/cmr/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/cmr/ta_CDLBELTHOLD.o \ + ../../../../../temp/cmr/ta_CDLBREAKAWAY.o \ + ../../../../../temp/cmr/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/cmr/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/cmr/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/cmr/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/cmr/ta_CDLDOJI.o \ + ../../../../../temp/cmr/ta_CDLDOJISTAR.o \ + ../../../../../temp/cmr/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/cmr/ta_CDLENGULFING.o \ + ../../../../../temp/cmr/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/cmr/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/cmr/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/cmr/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/cmr/ta_CDLHAMMER.o \ + ../../../../../temp/cmr/ta_CDLHANGINGMAN.o \ + ../../../../../temp/cmr/ta_CDLHARAMI.o \ + ../../../../../temp/cmr/ta_CDLHARAMICROSS.o \ + ../../../../../temp/cmr/ta_CDLHIGHWAVE.o \ + ../../../../../temp/cmr/ta_CDLHIKKAKE.o \ + ../../../../../temp/cmr/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/cmr/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/cmr/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/cmr/ta_CDLINNECK.o \ + ../../../../../temp/cmr/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/cmr/ta_CDLKICKING.o \ + ../../../../../temp/cmr/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/cmr/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/cmr/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/cmr/ta_CDLLONGLINE.o \ + ../../../../../temp/cmr/ta_CDLMARUBOZU.o \ + ../../../../../temp/cmr/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/cmr/ta_CDLMATHOLD.o \ + ../../../../../temp/cmr/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/cmr/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/cmr/ta_CDLONNECK.o \ + ../../../../../temp/cmr/ta_CDLPIERCING.o \ + ../../../../../temp/cmr/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/cmr/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/cmr/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/cmr/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/cmr/ta_CDLSHORTLINE.o \ + ../../../../../temp/cmr/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/cmr/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/cmr/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/cmr/ta_CDLTAKURI.o \ + ../../../../../temp/cmr/ta_CDLTASUKIGAP.o \ + ../../../../../temp/cmr/ta_CDLTHRUSTING.o \ + ../../../../../temp/cmr/ta_CDLTRISTAR.o \ + ../../../../../temp/cmr/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/cmr/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/cmr/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/cmr/ta_CEIL.o \ + ../../../../../temp/cmr/ta_CMO.o \ + ../../../../../temp/cmr/ta_CORREL.o \ + ../../../../../temp/cmr/ta_COS.o \ + ../../../../../temp/cmr/ta_COSH.o \ + ../../../../../temp/cmr/ta_DEMA.o \ + ../../../../../temp/cmr/ta_DIV.o \ + ../../../../../temp/cmr/ta_DX.o \ + ../../../../../temp/cmr/ta_EMA.o \ + ../../../../../temp/cmr/ta_EXP.o \ + ../../../../../temp/cmr/ta_FLOOR.o \ + ../../../../../temp/cmr/ta_HT_DCPERIOD.o \ + ../../../../../temp/cmr/ta_HT_DCPHASE.o \ + ../../../../../temp/cmr/ta_HT_PHASOR.o \ + ../../../../../temp/cmr/ta_HT_SINE.o \ + ../../../../../temp/cmr/ta_HT_TRENDLINE.o \ + ../../../../../temp/cmr/ta_HT_TRENDMODE.o \ + ../../../../../temp/cmr/ta_KAMA.o \ + ../../../../../temp/cmr/ta_LINEARREG.o \ + ../../../../../temp/cmr/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/cmr/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/cmr/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/cmr/ta_LN.o \ + ../../../../../temp/cmr/ta_LOG10.o \ + ../../../../../temp/cmr/ta_MA.o \ + ../../../../../temp/cmr/ta_MACD.o \ + ../../../../../temp/cmr/ta_MACDEXT.o \ + ../../../../../temp/cmr/ta_MACDFIX.o \ + ../../../../../temp/cmr/ta_MAMA.o \ + ../../../../../temp/cmr/ta_MAVP.o \ + ../../../../../temp/cmr/ta_MAX.o \ + ../../../../../temp/cmr/ta_MAXINDEX.o \ + ../../../../../temp/cmr/ta_MEDPRICE.o \ + ../../../../../temp/cmr/ta_MFI.o \ + ../../../../../temp/cmr/ta_MIDPOINT.o \ + ../../../../../temp/cmr/ta_MIDPRICE.o \ + ../../../../../temp/cmr/ta_MIN.o \ + ../../../../../temp/cmr/ta_MININDEX.o \ + ../../../../../temp/cmr/ta_MINMAX.o \ + ../../../../../temp/cmr/ta_MINMAXINDEX.o \ + ../../../../../temp/cmr/ta_MINUS_DI.o \ + ../../../../../temp/cmr/ta_MINUS_DM.o \ + ../../../../../temp/cmr/ta_MOM.o \ + ../../../../../temp/cmr/ta_MULT.o \ + ../../../../../temp/cmr/ta_NATR.o \ + ../../../../../temp/cmr/ta_OBV.o \ + ../../../../../temp/cmr/ta_PLUS_DI.o \ + ../../../../../temp/cmr/ta_PLUS_DM.o \ + ../../../../../temp/cmr/ta_PPO.o \ + ../../../../../temp/cmr/ta_ROC.o \ + ../../../../../temp/cmr/ta_ROCP.o \ + ../../../../../temp/cmr/ta_ROCR.o \ + ../../../../../temp/cmr/ta_ROCR100.o \ + ../../../../../temp/cmr/ta_RSI.o \ + ../../../../../temp/cmr/ta_SAR.o \ + ../../../../../temp/cmr/ta_SAREXT.o \ + ../../../../../temp/cmr/ta_SIN.o \ + ../../../../../temp/cmr/ta_SINH.o \ + ../../../../../temp/cmr/ta_SMA.o \ + ../../../../../temp/cmr/ta_SQRT.o \ + ../../../../../temp/cmr/ta_STDDEV.o \ + ../../../../../temp/cmr/ta_STOCH.o \ + ../../../../../temp/cmr/ta_STOCHF.o \ + ../../../../../temp/cmr/ta_STOCHRSI.o \ + ../../../../../temp/cmr/ta_SUB.o \ + ../../../../../temp/cmr/ta_SUM.o \ + ../../../../../temp/cmr/ta_T3.o \ + ../../../../../temp/cmr/ta_TAN.o \ + ../../../../../temp/cmr/ta_TANH.o \ + ../../../../../temp/cmr/ta_TEMA.o \ + ../../../../../temp/cmr/ta_TRANGE.o \ + ../../../../../temp/cmr/ta_TRIMA.o \ + ../../../../../temp/cmr/ta_TRIX.o \ + ../../../../../temp/cmr/ta_TSF.o \ + ../../../../../temp/cmr/ta_TYPPRICE.o \ + ../../../../../temp/cmr/ta_ULTOSC.o \ + ../../../../../temp/cmr/ta_VAR.o \ + ../../../../../temp/cmr/ta_WCLPRICE.o \ + ../../../../../temp/cmr/ta_WILLR.o \ + ../../../../../temp/cmr/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_func_cmr.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmr/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/cmr/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/cmr/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/cmr/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/cmr/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/cmr/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/cmr/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/cmr/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/cmr/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/cmr/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/cmr/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/cmr/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/cmr/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/cmr/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/cmr/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/cmr/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/cmr/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/cmr/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/cmr/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/cmr/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/cmr/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/cmr/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/cmr/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/cmr/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/cmr/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/cmr/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/cmr/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/cmr/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/cmr/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/cmr/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/cmr/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/cmr/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/cmr/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/cmr/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/cmr/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/cmr/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/cmr/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/cmr/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/cmr/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/cmr/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/cmr/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/cmr/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/cmr/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/cmr/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/cmr/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/cmr/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/cmr/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/cmr/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/cmr/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/cmr/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/cmr/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/cmr/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/cmr/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/cmr/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/cmr/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/cmr/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/cmr/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/cmr/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/cmr/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/cmr/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/cmr/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/cmr/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/cmr/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/cmr/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/cmr/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/cmr/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/cmr/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/cmr/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/cmr/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/cmr/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/cmr/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/cmr/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/cmr/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/cmr/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/cmr/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/cmr/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/cmr/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/cmr/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/cmr/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/cmr/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/cmr/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/cmr/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/cmr/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/cmr/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/cmr/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/cmr/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/cmr/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/cmr/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/cmr/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/cmr/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/cmr/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/cmr/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/cmr/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/cmr/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/cmr/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/cmr/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/cmr/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/cmr/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/cmr/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/cmr/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/cmr/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/cmr/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/cmr/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/cmr/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/cmr/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/cmr/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/cmr/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/cmr/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/cmr/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/cmr/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/cmr/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/cmr/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/cmr/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/cmr/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/cmr/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/cmr/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/cmr/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/cmr/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/cmr/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/cmr/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/cmr/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/cmr/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/cmr/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/cmr/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/cmr/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/cmr/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/cmr/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/cmr/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/cmr/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/cmr/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/cmr/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/cmr/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/cmr/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/cmr/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/cmr/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/cmr/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/cmr/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/cmr/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/cmr/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/cmr/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/cmr/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/cmr/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/cmr/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/cmr/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/cmr/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/cmr/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/cmr/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/cmr/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/cmr/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/cmr/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/cmr/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/cmr/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/cmr/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/cmr/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/cmr/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/cmr/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/cmr/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/cmr/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/cmr/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/cmr/linux/g++/ta_libc/Makefile b/vendor/ta-lib/make/cmr/linux/g++/ta_libc/Makefile new file mode 100644 index 000000000..f123c7513 --- /dev/null +++ b/vendor/ta-lib/make/cmr/linux/g++/ta_libc/Makefile @@ -0,0 +1,1053 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_libc_cmr.a +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT -DNO_DEBUG +CXXFLAGS= -pipe -fPIC -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT -DNO_DEBUG +INCPATH = -I../../../../../src/ta_common -I../../../../../include -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I$(QTDIR)/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c \ + ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/cmr/ta_global.o \ + ../../../../../temp/cmr/ta_retcode.o \ + ../../../../../temp/cmr/ta_version.o \ + ../../../../../temp/cmr/ta_abstract.o \ + ../../../../../temp/cmr/ta_def_ui.o \ + ../../../../../temp/cmr/ta_func_api.o \ + ../../../../../temp/cmr/ta_group_idx.o \ + ../../../../../temp/cmr/ta_frame.o \ + ../../../../../temp/cmr/table_a.o \ + ../../../../../temp/cmr/table_b.o \ + ../../../../../temp/cmr/table_c.o \ + ../../../../../temp/cmr/table_d.o \ + ../../../../../temp/cmr/table_e.o \ + ../../../../../temp/cmr/table_f.o \ + ../../../../../temp/cmr/table_g.o \ + ../../../../../temp/cmr/table_h.o \ + ../../../../../temp/cmr/table_i.o \ + ../../../../../temp/cmr/table_j.o \ + ../../../../../temp/cmr/table_k.o \ + ../../../../../temp/cmr/table_l.o \ + ../../../../../temp/cmr/table_m.o \ + ../../../../../temp/cmr/table_n.o \ + ../../../../../temp/cmr/table_o.o \ + ../../../../../temp/cmr/table_p.o \ + ../../../../../temp/cmr/table_q.o \ + ../../../../../temp/cmr/table_r.o \ + ../../../../../temp/cmr/table_s.o \ + ../../../../../temp/cmr/table_t.o \ + ../../../../../temp/cmr/table_u.o \ + ../../../../../temp/cmr/table_v.o \ + ../../../../../temp/cmr/table_w.o \ + ../../../../../temp/cmr/table_x.o \ + ../../../../../temp/cmr/table_y.o \ + ../../../../../temp/cmr/table_z.o \ + ../../../../../temp/cmr/ta_utility.o \ + ../../../../../temp/cmr/ta_ACOS.o \ + ../../../../../temp/cmr/ta_AD.o \ + ../../../../../temp/cmr/ta_ADD.o \ + ../../../../../temp/cmr/ta_ADOSC.o \ + ../../../../../temp/cmr/ta_ADX.o \ + ../../../../../temp/cmr/ta_ADXR.o \ + ../../../../../temp/cmr/ta_APO.o \ + ../../../../../temp/cmr/ta_AROON.o \ + ../../../../../temp/cmr/ta_AROONOSC.o \ + ../../../../../temp/cmr/ta_ASIN.o \ + ../../../../../temp/cmr/ta_ATAN.o \ + ../../../../../temp/cmr/ta_ATR.o \ + ../../../../../temp/cmr/ta_AVGPRICE.o \ + ../../../../../temp/cmr/ta_BBANDS.o \ + ../../../../../temp/cmr/ta_BETA.o \ + ../../../../../temp/cmr/ta_BOP.o \ + ../../../../../temp/cmr/ta_CCI.o \ + ../../../../../temp/cmr/ta_CDL2CROWS.o \ + ../../../../../temp/cmr/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/cmr/ta_CDL3INSIDE.o \ + ../../../../../temp/cmr/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/cmr/ta_CDL3OUTSIDE.o \ + ../../../../../temp/cmr/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/cmr/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/cmr/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/cmr/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/cmr/ta_CDLBELTHOLD.o \ + ../../../../../temp/cmr/ta_CDLBREAKAWAY.o \ + ../../../../../temp/cmr/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/cmr/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/cmr/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/cmr/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/cmr/ta_CDLDOJI.o \ + ../../../../../temp/cmr/ta_CDLDOJISTAR.o \ + ../../../../../temp/cmr/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/cmr/ta_CDLENGULFING.o \ + ../../../../../temp/cmr/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/cmr/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/cmr/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/cmr/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/cmr/ta_CDLHAMMER.o \ + ../../../../../temp/cmr/ta_CDLHANGINGMAN.o \ + ../../../../../temp/cmr/ta_CDLHARAMI.o \ + ../../../../../temp/cmr/ta_CDLHARAMICROSS.o \ + ../../../../../temp/cmr/ta_CDLHIGHWAVE.o \ + ../../../../../temp/cmr/ta_CDLHIKKAKE.o \ + ../../../../../temp/cmr/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/cmr/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/cmr/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/cmr/ta_CDLINNECK.o \ + ../../../../../temp/cmr/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/cmr/ta_CDLKICKING.o \ + ../../../../../temp/cmr/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/cmr/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/cmr/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/cmr/ta_CDLLONGLINE.o \ + ../../../../../temp/cmr/ta_CDLMARUBOZU.o \ + ../../../../../temp/cmr/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/cmr/ta_CDLMATHOLD.o \ + ../../../../../temp/cmr/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/cmr/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/cmr/ta_CDLONNECK.o \ + ../../../../../temp/cmr/ta_CDLPIERCING.o \ + ../../../../../temp/cmr/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/cmr/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/cmr/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/cmr/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/cmr/ta_CDLSHORTLINE.o \ + ../../../../../temp/cmr/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/cmr/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/cmr/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/cmr/ta_CDLTAKURI.o \ + ../../../../../temp/cmr/ta_CDLTASUKIGAP.o \ + ../../../../../temp/cmr/ta_CDLTHRUSTING.o \ + ../../../../../temp/cmr/ta_CDLTRISTAR.o \ + ../../../../../temp/cmr/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/cmr/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/cmr/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/cmr/ta_CEIL.o \ + ../../../../../temp/cmr/ta_CMO.o \ + ../../../../../temp/cmr/ta_CORREL.o \ + ../../../../../temp/cmr/ta_COS.o \ + ../../../../../temp/cmr/ta_COSH.o \ + ../../../../../temp/cmr/ta_DEMA.o \ + ../../../../../temp/cmr/ta_DIV.o \ + ../../../../../temp/cmr/ta_DX.o \ + ../../../../../temp/cmr/ta_EMA.o \ + ../../../../../temp/cmr/ta_EXP.o \ + ../../../../../temp/cmr/ta_FLOOR.o \ + ../../../../../temp/cmr/ta_HT_DCPERIOD.o \ + ../../../../../temp/cmr/ta_HT_DCPHASE.o \ + ../../../../../temp/cmr/ta_HT_PHASOR.o \ + ../../../../../temp/cmr/ta_HT_SINE.o \ + ../../../../../temp/cmr/ta_HT_TRENDLINE.o \ + ../../../../../temp/cmr/ta_HT_TRENDMODE.o \ + ../../../../../temp/cmr/ta_KAMA.o \ + ../../../../../temp/cmr/ta_LINEARREG.o \ + ../../../../../temp/cmr/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/cmr/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/cmr/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/cmr/ta_LN.o \ + ../../../../../temp/cmr/ta_LOG10.o \ + ../../../../../temp/cmr/ta_MA.o \ + ../../../../../temp/cmr/ta_MACD.o \ + ../../../../../temp/cmr/ta_MACDEXT.o \ + ../../../../../temp/cmr/ta_MACDFIX.o \ + ../../../../../temp/cmr/ta_MAMA.o \ + ../../../../../temp/cmr/ta_MAVP.o \ + ../../../../../temp/cmr/ta_MAX.o \ + ../../../../../temp/cmr/ta_MAXINDEX.o \ + ../../../../../temp/cmr/ta_MEDPRICE.o \ + ../../../../../temp/cmr/ta_MFI.o \ + ../../../../../temp/cmr/ta_MIDPOINT.o \ + ../../../../../temp/cmr/ta_MIDPRICE.o \ + ../../../../../temp/cmr/ta_MIN.o \ + ../../../../../temp/cmr/ta_MININDEX.o \ + ../../../../../temp/cmr/ta_MINMAX.o \ + ../../../../../temp/cmr/ta_MINMAXINDEX.o \ + ../../../../../temp/cmr/ta_MINUS_DI.o \ + ../../../../../temp/cmr/ta_MINUS_DM.o \ + ../../../../../temp/cmr/ta_MOM.o \ + ../../../../../temp/cmr/ta_MULT.o \ + ../../../../../temp/cmr/ta_NATR.o \ + ../../../../../temp/cmr/ta_OBV.o \ + ../../../../../temp/cmr/ta_PLUS_DI.o \ + ../../../../../temp/cmr/ta_PLUS_DM.o \ + ../../../../../temp/cmr/ta_PPO.o \ + ../../../../../temp/cmr/ta_ROC.o \ + ../../../../../temp/cmr/ta_ROCP.o \ + ../../../../../temp/cmr/ta_ROCR.o \ + ../../../../../temp/cmr/ta_ROCR100.o \ + ../../../../../temp/cmr/ta_RSI.o \ + ../../../../../temp/cmr/ta_SAR.o \ + ../../../../../temp/cmr/ta_SAREXT.o \ + ../../../../../temp/cmr/ta_SIN.o \ + ../../../../../temp/cmr/ta_SINH.o \ + ../../../../../temp/cmr/ta_SMA.o \ + ../../../../../temp/cmr/ta_SQRT.o \ + ../../../../../temp/cmr/ta_STDDEV.o \ + ../../../../../temp/cmr/ta_STOCH.o \ + ../../../../../temp/cmr/ta_STOCHF.o \ + ../../../../../temp/cmr/ta_STOCHRSI.o \ + ../../../../../temp/cmr/ta_SUB.o \ + ../../../../../temp/cmr/ta_SUM.o \ + ../../../../../temp/cmr/ta_T3.o \ + ../../../../../temp/cmr/ta_TAN.o \ + ../../../../../temp/cmr/ta_TANH.o \ + ../../../../../temp/cmr/ta_TEMA.o \ + ../../../../../temp/cmr/ta_TRANGE.o \ + ../../../../../temp/cmr/ta_TRIMA.o \ + ../../../../../temp/cmr/ta_TRIX.o \ + ../../../../../temp/cmr/ta_TSF.o \ + ../../../../../temp/cmr/ta_TYPPRICE.o \ + ../../../../../temp/cmr/ta_ULTOSC.o \ + ../../../../../temp/cmr/ta_VAR.o \ + ../../../../../temp/cmr/ta_WCLPRICE.o \ + ../../../../../temp/cmr/ta_WILLR.o \ + ../../../../../temp/cmr/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_libc_cmr.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmr/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/cmr/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/cmr/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_version.o ../../../../../src/ta_common/ta_version.c + +../../../../../temp/cmr/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/cmr/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/cmr/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/cmr/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/cmr/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/cmr/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/cmr/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/cmr/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/cmr/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/cmr/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/cmr/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/cmr/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/cmr/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/cmr/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/cmr/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/cmr/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/cmr/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/cmr/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/cmr/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/cmr/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/cmr/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/cmr/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/cmr/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/cmr/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/cmr/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/cmr/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/cmr/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/cmr/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/cmr/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/cmr/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/cmr/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + +../../../../../temp/cmr/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/cmr/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/cmr/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/cmr/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/cmr/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/cmr/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/cmr/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/cmr/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/cmr/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/cmr/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/cmr/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/cmr/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/cmr/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/cmr/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/cmr/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/cmr/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/cmr/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/cmr/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/cmr/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/cmr/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/cmr/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/cmr/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/cmr/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/cmr/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/cmr/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/cmr/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/cmr/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/cmr/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/cmr/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/cmr/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/cmr/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/cmr/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/cmr/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/cmr/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/cmr/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/cmr/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/cmr/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/cmr/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/cmr/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/cmr/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/cmr/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/cmr/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/cmr/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/cmr/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/cmr/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/cmr/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/cmr/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/cmr/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/cmr/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/cmr/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/cmr/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/cmr/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/cmr/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/cmr/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/cmr/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/cmr/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/cmr/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/cmr/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/cmr/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/cmr/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/cmr/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/cmr/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/cmr/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/cmr/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/cmr/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/cmr/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/cmr/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/cmr/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/cmr/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/cmr/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/cmr/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/cmr/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/cmr/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/cmr/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/cmr/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/cmr/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/cmr/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/cmr/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/cmr/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/cmr/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/cmr/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/cmr/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/cmr/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/cmr/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/cmr/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/cmr/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/cmr/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/cmr/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/cmr/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/cmr/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/cmr/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/cmr/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/cmr/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/cmr/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/cmr/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/cmr/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/cmr/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/cmr/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/cmr/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/cmr/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/cmr/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/cmr/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/cmr/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/cmr/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/cmr/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/cmr/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/cmr/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/cmr/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/cmr/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/cmr/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/cmr/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/cmr/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/cmr/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/cmr/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/cmr/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/cmr/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/cmr/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/cmr/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/cmr/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/cmr/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/cmr/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/cmr/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/cmr/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/cmr/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/cmr/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/cmr/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/cmr/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/cmr/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/cmr/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/cmr/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/cmr/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/cmr/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/cmr/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/cmr/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/cmr/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/cmr/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/cmr/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/cmr/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/cmr/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/cmr/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/cmr/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/cmr/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/cmr/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/cmr/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/cmr/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/cmr/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/cmr/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/cmr/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/cmr/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/cmr/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/cmr/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/cmr/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/cmr/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/cmr/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/cmr/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/cmr/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/cmr/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/cmr/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/cmr/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/cmr/linux/g++/ta_regtest/Makefile b/vendor/ta-lib/make/cmr/linux/g++/ta_regtest/Makefile new file mode 100644 index 000000000..2c253342c --- /dev/null +++ b/vendor/ta-lib/make/cmr/linux/g++/ta_regtest/Makefile @@ -0,0 +1,211 @@ +############################################################################# +# Makefile for building ../../../../../bin/ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT +CXXFLAGS= -pipe -fPIC -Wall -W -O2 -fno-strict-aliasing -D_REENTRANT -DQT_THREAD_SUPPORT +INCPATH = -I../../../../../src/ta_common -I../../../../../src/tools/ta_regtest -I../../../../../src/ta_func -I../../../../../include +LINK = g++ +LFLAGS = +LIBS = $(SUBLIBS) ../../../../../lib/libta_libc_cmr.a -ldl -lpthread +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/ta_regtest/ta_regtest.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c \ + ../../../../../src/tools/ta_regtest/test_internals.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c \ + ../../../../../src/tools/ta_regtest/test_util.c \ + ../../../../../src/tools/ta_regtest/test_data.c \ + ../../../../../src/tools/ta_regtest/test_abstract.c +OBJECTS = ../../../../../temp/cmr/ta_regtest.o \ + ../../../../../temp/cmr/test_candlestick.o \ + ../../../../../temp/cmr/test_1in_1out.o \ + ../../../../../temp/cmr/test_1in_2out.o \ + ../../../../../temp/cmr/test_internals.o \ + ../../../../../temp/cmr/test_adx.o \ + ../../../../../temp/cmr/test_bbands.o \ + ../../../../../temp/cmr/test_ma.o \ + ../../../../../temp/cmr/test_macd.o \ + ../../../../../temp/cmr/test_minmax.o \ + ../../../../../temp/cmr/test_mom.o \ + ../../../../../temp/cmr/test_per_ema.o \ + ../../../../../temp/cmr/test_per_hl.o \ + ../../../../../temp/cmr/test_per_hlc.o \ + ../../../../../temp/cmr/test_per_hlcv.o \ + ../../../../../temp/cmr/test_per_ohlc.o \ + ../../../../../temp/cmr/test_po.o \ + ../../../../../temp/cmr/test_rsi.o \ + ../../../../../temp/cmr/test_sar.o \ + ../../../../../temp/cmr/test_stddev.o \ + ../../../../../temp/cmr/test_stoch.o \ + ../../../../../temp/cmr/test_trange.o \ + ../../../../../temp/cmr/test_util.o \ + ../../../../../temp/cmr/test_data.o \ + ../../../../../temp/cmr/test_abstract.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/ta_regtest +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/cmr/ta_regtest.o: ../../../../../src/tools/ta_regtest/ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/ta_regtest.o ../../../../../src/tools/ta_regtest/ta_regtest.c + +../../../../../temp/cmr/test_candlestick.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_candlestick.o ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + +../../../../../temp/cmr/test_1in_1out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_1in_1out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + +../../../../../temp/cmr/test_1in_2out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_1in_2out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + +../../../../../temp/cmr/test_internals.o: ../../../../../src/tools/ta_regtest/test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_internals.o ../../../../../src/tools/ta_regtest/test_internals.c + +../../../../../temp/cmr/test_adx.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_adx.o ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + +../../../../../temp/cmr/test_bbands.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_bbands.o ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + +../../../../../temp/cmr/test_ma.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_ma.o ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + +../../../../../temp/cmr/test_macd.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_macd.o ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + +../../../../../temp/cmr/test_minmax.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_minmax.o ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + +../../../../../temp/cmr/test_mom.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_mom.o ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + +../../../../../temp/cmr/test_per_ema.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_per_ema.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + +../../../../../temp/cmr/test_per_hl.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_per_hl.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + +../../../../../temp/cmr/test_per_hlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_per_hlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + +../../../../../temp/cmr/test_per_hlcv.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_per_hlcv.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + +../../../../../temp/cmr/test_per_ohlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_per_ohlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + +../../../../../temp/cmr/test_po.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_po.o ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + +../../../../../temp/cmr/test_rsi.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_rsi.o ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + +../../../../../temp/cmr/test_sar.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_sar.o ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + +../../../../../temp/cmr/test_stddev.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_stddev.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + +../../../../../temp/cmr/test_stoch.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_stoch.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + +../../../../../temp/cmr/test_trange.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_trange.o ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + +../../../../../temp/cmr/test_util.o: ../../../../../src/tools/ta_regtest/test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_util.o ../../../../../src/tools/ta_regtest/test_util.c + +../../../../../temp/cmr/test_data.o: ../../../../../src/tools/ta_regtest/test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_data.o ../../../../../src/tools/ta_regtest/test_data.c + +../../../../../temp/cmr/test_abstract.o: ../../../../../src/tools/ta_regtest/test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/cmr/test_abstract.o ../../../../../src/tools/ta_regtest/test_abstract.c + diff --git a/vendor/ta-lib/make/cmr/win32/borland/Makefile b/vendor/ta-lib/make/cmr/win32/borland/Makefile new file mode 100644 index 000000000..f70a23db9 --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/borland/Makefile @@ -0,0 +1,96 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +ta_common: + cd ta_common + $(MAKE) + @cd .. + +ta_func: + cd ta_func + $(MAKE) + @cd .. + +ta_abstract: + cd ta_abstract + $(MAKE) + @cd .. + +ta_libc: + cd ta_libc + $(MAKE) + @cd .. + +gen_code: + cd gen_code + $(MAKE) + @cd .. + +ta_regtest: + cd ta_regtest + $(MAKE) + @cd .. + + +tmake: ../cmr/win32/borland/Makefile + +../cmr/win32/borland/Makefile: rootmake.pro + tmake rootmake.pro -o ../cmr/win32/borland/Makefile + +tmake_all: + cd ta_common + $(TMAKE) ta_common.pro -o $(MAKEFILE) + @cd .. + cd ta_func + $(TMAKE) ta_func.pro -o $(MAKEFILE) + @cd .. + cd ta_abstract + $(TMAKE) ta_abstract.pro -o $(MAKEFILE) + @cd .. + cd ta_libc + $(TMAKE) ta_libc.pro -o $(MAKEFILE) + @cd .. + cd gen_code + $(TMAKE) gen_code.pro -o $(MAKEFILE) + @cd .. + cd ta_regtest + $(TMAKE) ta_regtest.pro -o $(MAKEFILE) + @cd .. + + +clean: + cd ta_common + $(MAKE) clean + @cd .. + cd ta_func + $(MAKE) clean + @cd .. + cd ta_abstract + $(MAKE) clean + @cd .. + cd ta_libc + $(MAKE) clean + @cd .. + cd gen_code + $(MAKE) clean + @cd .. + cd ta_regtest + $(MAKE) clean + @cd .. + diff --git a/vendor/ta-lib/make/cmr/win32/borland/gen_code/Makefile b/vendor/ta-lib/make/cmr/win32/borland/gen_code/Makefile new file mode 100644 index 000000000..7d4dc5e12 --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/borland/gen_code/Makefile @@ -0,0 +1,267 @@ +############################################################################# +# Makefile for building gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +####### Compiler, tools and options + +CC = bcc32 +CXX = bcc32 +CFLAGS = -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -tWM -O2 -DTA_GEN_CODE -DWIN32 -DQT_THREAD_SUPPORT +CXXFLAGS= -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -tWM -O2 -DTA_GEN_CODE -DWIN32 -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" +LINK = ilink32 +LFLAGS = -L$(BCB)\lib -L$(BCB)\lib\PSDK -c -x -Gn -ap -Tpe c0x32.obj +LIBS = import32.lib cw32mti.lib ..\..\..\..\..\lib\ta_common_cmr.lib +MOC = moc +UIC = uic + +ZIP = zip -r -9 +DEF_FILE = +RES_FILE = + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\gen_code\gen_code.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\cmr\gen_code\gen_code.obj \ + ..\..\..\..\..\temp\cmr\gen_code\ta_abstract.obj \ + ..\..\..\..\..\temp\cmr\gen_code\ta_def_ui.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_a.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_b.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_c.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_d.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_e.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_f.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_g.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_h.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_i.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_j.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_k.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_l.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_m.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_n.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_o.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_p.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_q.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_r.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_s.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_t.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_u.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_v.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_w.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_x.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_y.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_z.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\gen_code.exe +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) @&&| + $(LFLAGS) $(OBJECTS) $(OBJMOC),$(TARGET),,$(LIBS),$(DEF_FILE),$(RES_FILE) +| + +moc: $(SRCMOC) + +tmake: ../cmr/win32/borland/gen_code/Makefile + +../cmr/win32/borland/gen_code/Makefile: gen_code/gen_code.pro + tmake gen_code/gen_code.pro -o ../cmr/win32/borland/gen_code/Makefile + +dist: + $(ZIP) gen_code/gen_code.zip gen_code/gen_code.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmr\gen_code\gen_code.obj + -del ..\..\..\..\..\temp\cmr\gen_code\ta_abstract.obj + -del ..\..\..\..\..\temp\cmr\gen_code\ta_def_ui.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_a.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_b.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_c.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_d.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_e.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_f.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_g.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_h.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_i.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_j.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_k.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_l.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_m.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_n.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_o.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_p.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_q.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_r.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_s.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_t.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_u.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_v.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_w.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_x.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_y.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_z.obj + -del $(TARGET) + -del gen_code.tds + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmr/*.pch + -del ../../../../../temp/cmr/*.idb + -del ../../../../../temp/cmr/gen_code/*.pch + -del ../../../../../temp/cmr/gen_code/*.idb + -del ../../../../../temp/cmr/gen_code/*.obj + +####### Compile + +..\..\..\..\..\temp\cmr\gen_code\gen_code.obj: ..\..\..\..\..\src\tools\gen_code\gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\gen_code.obj ..\..\..\..\..\src\tools\gen_code\gen_code.c + +..\..\..\..\..\temp\cmr\gen_code\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cmr\gen_code\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cmr\gen_code\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cmr\gen_code\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cmr\gen_code\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cmr\gen_code\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cmr\gen_code\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cmr\gen_code\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cmr\gen_code\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cmr\gen_code\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cmr\gen_code\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cmr\gen_code\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cmr\gen_code\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cmr\gen_code\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cmr\gen_code\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cmr\gen_code\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cmr\gen_code\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cmr\gen_code\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cmr\gen_code\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cmr\gen_code\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cmr\gen_code\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cmr\gen_code\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cmr\gen_code\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cmr\gen_code\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cmr\gen_code\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cmr\gen_code\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cmr\gen_code\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cmr\gen_code\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/cmr/win32/borland/ta_abstract/Makefile b/vendor/ta-lib/make/cmr/win32/borland/ta_abstract/Makefile new file mode 100644 index 000000000..d1a934f96 --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/borland/ta_abstract/Makefile @@ -0,0 +1,309 @@ +############################################################################# +# Makefile for building ta_abstract_cmr +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +####### Compiler, tools and options + +CC = bcc32 +CXX = bcc32 +CFLAGS = -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -tWM -O2 -DWIN32 -DQT_THREAD_SUPPORT +CXXFLAGS= -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -tWM -O2 -DWIN32 -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"..\..\..\..\..\include" +LIB = tlib /C /P256 +MOC = moc +UIC = uic + +ZIP = zip -r -9 +DEF_FILE = +RES_FILE = + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\cmr\ta_abstract.obj \ + ..\..\..\..\..\temp\cmr\ta_def_ui.obj \ + ..\..\..\..\..\temp\cmr\ta_func_api.obj \ + ..\..\..\..\..\temp\cmr\ta_group_idx.obj \ + ..\..\..\..\..\temp\cmr\ta_frame.obj \ + ..\..\..\..\..\temp\cmr\table_a.obj \ + ..\..\..\..\..\temp\cmr\table_b.obj \ + ..\..\..\..\..\temp\cmr\table_c.obj \ + ..\..\..\..\..\temp\cmr\table_d.obj \ + ..\..\..\..\..\temp\cmr\table_e.obj \ + ..\..\..\..\..\temp\cmr\table_f.obj \ + ..\..\..\..\..\temp\cmr\table_g.obj \ + ..\..\..\..\..\temp\cmr\table_h.obj \ + ..\..\..\..\..\temp\cmr\table_i.obj \ + ..\..\..\..\..\temp\cmr\table_j.obj \ + ..\..\..\..\..\temp\cmr\table_k.obj \ + ..\..\..\..\..\temp\cmr\table_l.obj \ + ..\..\..\..\..\temp\cmr\table_m.obj \ + ..\..\..\..\..\temp\cmr\table_n.obj \ + ..\..\..\..\..\temp\cmr\table_o.obj \ + ..\..\..\..\..\temp\cmr\table_p.obj \ + ..\..\..\..\..\temp\cmr\table_q.obj \ + ..\..\..\..\..\temp\cmr\table_r.obj \ + ..\..\..\..\..\temp\cmr\table_s.obj \ + ..\..\..\..\..\temp\cmr\table_t.obj \ + ..\..\..\..\..\temp\cmr\table_u.obj \ + ..\..\..\..\..\temp\cmr\table_v.obj \ + ..\..\..\..\..\temp\cmr\table_w.obj \ + ..\..\..\..\..\temp\cmr\table_x.obj \ + ..\..\..\..\..\temp\cmr\table_y.obj \ + ..\..\..\..\..\temp\cmr\table_z.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_abstract_cmr.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) @&&| ++..\..\..\..\..\temp\cmr\ta_abstract.obj \ ++..\..\..\..\..\temp\cmr\ta_def_ui.obj \ ++..\..\..\..\..\temp\cmr\ta_func_api.obj \ ++..\..\..\..\..\temp\cmr\ta_group_idx.obj \ ++..\..\..\..\..\temp\cmr\ta_frame.obj \ ++..\..\..\..\..\temp\cmr\table_a.obj \ ++..\..\..\..\..\temp\cmr\table_b.obj \ ++..\..\..\..\..\temp\cmr\table_c.obj \ ++..\..\..\..\..\temp\cmr\table_d.obj \ ++..\..\..\..\..\temp\cmr\table_e.obj \ ++..\..\..\..\..\temp\cmr\table_f.obj \ ++..\..\..\..\..\temp\cmr\table_g.obj \ ++..\..\..\..\..\temp\cmr\table_h.obj \ ++..\..\..\..\..\temp\cmr\table_i.obj \ ++..\..\..\..\..\temp\cmr\table_j.obj \ ++..\..\..\..\..\temp\cmr\table_k.obj \ ++..\..\..\..\..\temp\cmr\table_l.obj \ ++..\..\..\..\..\temp\cmr\table_m.obj \ ++..\..\..\..\..\temp\cmr\table_n.obj \ ++..\..\..\..\..\temp\cmr\table_o.obj \ ++..\..\..\..\..\temp\cmr\table_p.obj \ ++..\..\..\..\..\temp\cmr\table_q.obj \ ++..\..\..\..\..\temp\cmr\table_r.obj \ ++..\..\..\..\..\temp\cmr\table_s.obj \ ++..\..\..\..\..\temp\cmr\table_t.obj \ ++..\..\..\..\..\temp\cmr\table_u.obj \ ++..\..\..\..\..\temp\cmr\table_v.obj \ ++..\..\..\..\..\temp\cmr\table_w.obj \ ++..\..\..\..\..\temp\cmr\table_x.obj \ ++..\..\..\..\..\temp\cmr\table_y.obj \ ++..\..\..\..\..\temp\cmr\table_z.obj \ ++ +| + +moc: $(SRCMOC) + +tmake: ../cmr/win32/borland/ta_abstract/Makefile + +../cmr/win32/borland/ta_abstract/Makefile: ta_abstract/ta_abstract.pro + tmake ta_abstract/ta_abstract.pro -o ../cmr/win32/borland/ta_abstract/Makefile + +dist: + $(ZIP) ta_abstract/ta_abstract.zip ta_abstract/ta_abstract.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmr\ta_abstract.obj + -del ..\..\..\..\..\temp\cmr\ta_def_ui.obj + -del ..\..\..\..\..\temp\cmr\ta_func_api.obj + -del ..\..\..\..\..\temp\cmr\ta_group_idx.obj + -del ..\..\..\..\..\temp\cmr\ta_frame.obj + -del ..\..\..\..\..\temp\cmr\table_a.obj + -del ..\..\..\..\..\temp\cmr\table_b.obj + -del ..\..\..\..\..\temp\cmr\table_c.obj + -del ..\..\..\..\..\temp\cmr\table_d.obj + -del ..\..\..\..\..\temp\cmr\table_e.obj + -del ..\..\..\..\..\temp\cmr\table_f.obj + -del ..\..\..\..\..\temp\cmr\table_g.obj + -del ..\..\..\..\..\temp\cmr\table_h.obj + -del ..\..\..\..\..\temp\cmr\table_i.obj + -del ..\..\..\..\..\temp\cmr\table_j.obj + -del ..\..\..\..\..\temp\cmr\table_k.obj + -del ..\..\..\..\..\temp\cmr\table_l.obj + -del ..\..\..\..\..\temp\cmr\table_m.obj + -del ..\..\..\..\..\temp\cmr\table_n.obj + -del ..\..\..\..\..\temp\cmr\table_o.obj + -del ..\..\..\..\..\temp\cmr\table_p.obj + -del ..\..\..\..\..\temp\cmr\table_q.obj + -del ..\..\..\..\..\temp\cmr\table_r.obj + -del ..\..\..\..\..\temp\cmr\table_s.obj + -del ..\..\..\..\..\temp\cmr\table_t.obj + -del ..\..\..\..\..\temp\cmr\table_u.obj + -del ..\..\..\..\..\temp\cmr\table_v.obj + -del ..\..\..\..\..\temp\cmr\table_w.obj + -del ..\..\..\..\..\temp\cmr\table_x.obj + -del ..\..\..\..\..\temp\cmr\table_y.obj + -del ..\..\..\..\..\temp\cmr\table_z.obj + -del $(TARGET) + -del ta_abstract_cmr.tds + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmr/*.pch + -del ../../../../../temp/cmr/*.idb + -del ../../../../../temp/cmr/ta_abstract/*.pch + -del ../../../../../temp/cmr/ta_abstract/*.idb + -del ../../../../../temp/cmr/ta_abstract/*.obj + +####### Compile + +..\..\..\..\..\temp\cmr\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cmr\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cmr\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\cmr\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\cmr\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\cmr\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cmr\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cmr\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cmr\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cmr\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cmr\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cmr\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cmr\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cmr\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cmr\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cmr\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cmr\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cmr\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cmr\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cmr\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cmr\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cmr\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cmr\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cmr\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cmr\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cmr\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cmr\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cmr\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cmr\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cmr\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cmr\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/cmr/win32/borland/ta_common/Makefile b/vendor/ta-lib/make/cmr/win32/borland/ta_common/Makefile new file mode 100644 index 000000000..a49dbda7c --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/borland/ta_common/Makefile @@ -0,0 +1,113 @@ +############################################################################# +# Makefile for building ta_common_cmr +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +####### Compiler, tools and options + +CC = bcc32 +CXX = bcc32 +CFLAGS = -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -tWM -O2 -DWIN32 -DQT_THREAD_SUPPORT +CXXFLAGS= -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -tWM -O2 -DWIN32 -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" +LIB = tlib /C /P256 +MOC = moc +UIC = uic + +ZIP = zip -r -9 +DEF_FILE = +RES_FILE = + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c +OBJECTS = ..\..\..\..\..\temp\cmr\ta_global.obj \ + ..\..\..\..\..\temp\cmr\ta_retcode.obj \ + ..\..\..\..\..\temp\cmr\ta_version.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_common_cmr.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) @&&| ++..\..\..\..\..\temp\cmr\ta_global.obj \ ++..\..\..\..\..\temp\cmr\ta_retcode.obj \ ++..\..\..\..\..\temp\cmr\ta_version.obj \ ++ +| + +moc: $(SRCMOC) + +tmake: ../cmr/win32/borland/ta_common/Makefile + +../cmr/win32/borland/ta_common/Makefile: ta_common/ta_common.pro + tmake ta_common/ta_common.pro -o ../cmr/win32/borland/ta_common/Makefile + +dist: + $(ZIP) ta_common/ta_common.zip ta_common/ta_common.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmr\ta_global.obj + -del ..\..\..\..\..\temp\cmr\ta_retcode.obj + -del ..\..\..\..\..\temp\cmr\ta_version.obj + -del $(TARGET) + -del ta_common_cmr.tds + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmr/*.pch + -del ../../../../../temp/cmr/*.idb + -del ../../../../../temp/cmr/ta_common_cmr/*.pch + -del ../../../../../temp/cmr/ta_common_cmr/*.idb + -del ../../../../../temp/cmr/ta_common_cmr/*.obj + +####### Compile + +..\..\..\..\..\temp\cmr\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\cmr\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\cmr\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + diff --git a/vendor/ta-lib/make/cmr/win32/borland/ta_func/Makefile b/vendor/ta-lib/make/cmr/win32/borland/ta_func/Makefile new file mode 100644 index 000000000..9b7a0a81f --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/borland/ta_func/Makefile @@ -0,0 +1,1205 @@ +############################################################################# +# Makefile for building ta_func_cmr +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +####### Compiler, tools and options + +CC = bcc32 +CXX = bcc32 +CFLAGS = -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -tWM -O2 -DWIN32 -DQT_THREAD_SUPPORT +CXXFLAGS= -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -tWM -O2 -DWIN32 -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"\n" -I"..\..\..\..\..\include" +LIB = tlib /C /P256 +MOC = moc +UIC = uic + +ZIP = zip -r -9 +DEF_FILE = +RES_FILE = + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\cmr\ta_utility.obj \ + ..\..\..\..\..\temp\cmr\ta_ACOS.obj \ + ..\..\..\..\..\temp\cmr\ta_AD.obj \ + ..\..\..\..\..\temp\cmr\ta_ADD.obj \ + ..\..\..\..\..\temp\cmr\ta_ADOSC.obj \ + ..\..\..\..\..\temp\cmr\ta_ADX.obj \ + ..\..\..\..\..\temp\cmr\ta_ADXR.obj \ + ..\..\..\..\..\temp\cmr\ta_APO.obj \ + ..\..\..\..\..\temp\cmr\ta_AROON.obj \ + ..\..\..\..\..\temp\cmr\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\cmr\ta_ASIN.obj \ + ..\..\..\..\..\temp\cmr\ta_ATAN.obj \ + ..\..\..\..\..\temp\cmr\ta_ATR.obj \ + ..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_BBANDS.obj \ + ..\..\..\..\..\temp\cmr\ta_BETA.obj \ + ..\..\..\..\..\temp\cmr\ta_BOP.obj \ + ..\..\..\..\..\temp\cmr\ta_CCI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\cmr\ta_CEIL.obj \ + ..\..\..\..\..\temp\cmr\ta_CMO.obj \ + ..\..\..\..\..\temp\cmr\ta_CORREL.obj \ + ..\..\..\..\..\temp\cmr\ta_COS.obj \ + ..\..\..\..\..\temp\cmr\ta_COSH.obj \ + ..\..\..\..\..\temp\cmr\ta_DEMA.obj \ + ..\..\..\..\..\temp\cmr\ta_DIV.obj \ + ..\..\..\..\..\temp\cmr\ta_DX.obj \ + ..\..\..\..\..\temp\cmr\ta_EMA.obj \ + ..\..\..\..\..\temp\cmr\ta_EXP.obj \ + ..\..\..\..\..\temp\cmr\ta_FLOOR.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\cmr\ta_KAMA.obj \ + ..\..\..\..\..\temp\cmr\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\cmr\ta_LN.obj \ + ..\..\..\..\..\temp\cmr\ta_LOG10.obj \ + ..\..\..\..\..\temp\cmr\ta_MA.obj \ + ..\..\..\..\..\temp\cmr\ta_MACD.obj \ + ..\..\..\..\..\temp\cmr\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\cmr\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\cmr\ta_MAMA.obj \ + ..\..\..\..\..\temp\cmr\ta_MAVP.obj \ + ..\..\..\..\..\temp\cmr\ta_MAX.obj \ + ..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_MFI.obj \ + ..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_MIN.obj \ + ..\..\..\..\..\temp\cmr\ta_MININDEX.obj \ + ..\..\..\..\..\temp\cmr\ta_MINMAX.obj \ + ..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\cmr\ta_MOM.obj \ + ..\..\..\..\..\temp\cmr\ta_MULT.obj \ + ..\..\..\..\..\temp\cmr\ta_NATR.obj \ + ..\..\..\..\..\temp\cmr\ta_OBV.obj \ + ..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\cmr\ta_PPO.obj \ + ..\..\..\..\..\temp\cmr\ta_ROC.obj \ + ..\..\..\..\..\temp\cmr\ta_ROCP.obj \ + ..\..\..\..\..\temp\cmr\ta_ROCR.obj \ + ..\..\..\..\..\temp\cmr\ta_ROCR100.obj \ + ..\..\..\..\..\temp\cmr\ta_RSI.obj \ + ..\..\..\..\..\temp\cmr\ta_SAR.obj \ + ..\..\..\..\..\temp\cmr\ta_SAREXT.obj \ + ..\..\..\..\..\temp\cmr\ta_SIN.obj \ + ..\..\..\..\..\temp\cmr\ta_SINH.obj \ + ..\..\..\..\..\temp\cmr\ta_SMA.obj \ + ..\..\..\..\..\temp\cmr\ta_SQRT.obj \ + ..\..\..\..\..\temp\cmr\ta_STDDEV.obj \ + ..\..\..\..\..\temp\cmr\ta_STOCH.obj \ + ..\..\..\..\..\temp\cmr\ta_STOCHF.obj \ + ..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\cmr\ta_SUB.obj \ + ..\..\..\..\..\temp\cmr\ta_SUM.obj \ + ..\..\..\..\..\temp\cmr\ta_T3.obj \ + ..\..\..\..\..\temp\cmr\ta_TAN.obj \ + ..\..\..\..\..\temp\cmr\ta_TANH.obj \ + ..\..\..\..\..\temp\cmr\ta_TEMA.obj \ + ..\..\..\..\..\temp\cmr\ta_TRANGE.obj \ + ..\..\..\..\..\temp\cmr\ta_TRIMA.obj \ + ..\..\..\..\..\temp\cmr\ta_TRIX.obj \ + ..\..\..\..\..\temp\cmr\ta_TSF.obj \ + ..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\cmr\ta_VAR.obj \ + ..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_WILLR.obj \ + ..\..\..\..\..\temp\cmr\ta_WMA.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_func_cmr.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) @&&| ++..\..\..\..\..\temp\cmr\ta_utility.obj \ ++..\..\..\..\..\temp\cmr\ta_ACOS.obj \ ++..\..\..\..\..\temp\cmr\ta_AD.obj \ ++..\..\..\..\..\temp\cmr\ta_ADD.obj \ ++..\..\..\..\..\temp\cmr\ta_ADOSC.obj \ ++..\..\..\..\..\temp\cmr\ta_ADX.obj \ ++..\..\..\..\..\temp\cmr\ta_ADXR.obj \ ++..\..\..\..\..\temp\cmr\ta_APO.obj \ ++..\..\..\..\..\temp\cmr\ta_AROON.obj \ ++..\..\..\..\..\temp\cmr\ta_AROONOSC.obj \ ++..\..\..\..\..\temp\cmr\ta_ASIN.obj \ ++..\..\..\..\..\temp\cmr\ta_ATAN.obj \ ++..\..\..\..\..\temp\cmr\ta_ATR.obj \ ++..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj \ ++..\..\..\..\..\temp\cmr\ta_BBANDS.obj \ ++..\..\..\..\..\temp\cmr\ta_BETA.obj \ ++..\..\..\..\..\temp\cmr\ta_BOP.obj \ ++..\..\..\..\..\temp\cmr\ta_CCI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj \ ++..\..\..\..\..\temp\cmr\ta_CEIL.obj \ ++..\..\..\..\..\temp\cmr\ta_CMO.obj \ ++..\..\..\..\..\temp\cmr\ta_CORREL.obj \ ++..\..\..\..\..\temp\cmr\ta_COS.obj \ ++..\..\..\..\..\temp\cmr\ta_COSH.obj \ ++..\..\..\..\..\temp\cmr\ta_DEMA.obj \ ++..\..\..\..\..\temp\cmr\ta_DIV.obj \ ++..\..\..\..\..\temp\cmr\ta_DX.obj \ ++..\..\..\..\..\temp\cmr\ta_EMA.obj \ ++..\..\..\..\..\temp\cmr\ta_EXP.obj \ ++..\..\..\..\..\temp\cmr\ta_FLOOR.obj \ ++..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj \ ++..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj \ ++..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj \ ++..\..\..\..\..\temp\cmr\ta_HT_SINE.obj \ ++..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj \ ++..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj \ ++..\..\..\..\..\temp\cmr\ta_KAMA.obj \ ++..\..\..\..\..\temp\cmr\ta_LINEARREG.obj \ ++..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj \ ++..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj \ ++..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj \ ++..\..\..\..\..\temp\cmr\ta_LN.obj \ ++..\..\..\..\..\temp\cmr\ta_LOG10.obj \ ++..\..\..\..\..\temp\cmr\ta_MA.obj \ ++..\..\..\..\..\temp\cmr\ta_MACD.obj \ ++..\..\..\..\..\temp\cmr\ta_MACDEXT.obj \ ++..\..\..\..\..\temp\cmr\ta_MACDFIX.obj \ ++..\..\..\..\..\temp\cmr\ta_MAMA.obj \ ++..\..\..\..\..\temp\cmr\ta_MAVP.obj \ ++..\..\..\..\..\temp\cmr\ta_MAX.obj \ ++..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj \ ++..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj \ ++..\..\..\..\..\temp\cmr\ta_MFI.obj \ ++..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj \ ++..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj \ ++..\..\..\..\..\temp\cmr\ta_MIN.obj \ ++..\..\..\..\..\temp\cmr\ta_MININDEX.obj \ ++..\..\..\..\..\temp\cmr\ta_MINMAX.obj \ ++..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj \ ++..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj \ ++..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj \ ++..\..\..\..\..\temp\cmr\ta_MOM.obj \ ++..\..\..\..\..\temp\cmr\ta_MULT.obj \ ++..\..\..\..\..\temp\cmr\ta_NATR.obj \ ++..\..\..\..\..\temp\cmr\ta_OBV.obj \ ++..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj \ ++..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj \ ++..\..\..\..\..\temp\cmr\ta_PPO.obj \ ++..\..\..\..\..\temp\cmr\ta_ROC.obj \ ++..\..\..\..\..\temp\cmr\ta_ROCP.obj \ ++..\..\..\..\..\temp\cmr\ta_ROCR.obj \ ++..\..\..\..\..\temp\cmr\ta_ROCR100.obj \ ++..\..\..\..\..\temp\cmr\ta_RSI.obj \ ++..\..\..\..\..\temp\cmr\ta_SAR.obj \ ++..\..\..\..\..\temp\cmr\ta_SAREXT.obj \ ++..\..\..\..\..\temp\cmr\ta_SIN.obj \ ++..\..\..\..\..\temp\cmr\ta_SINH.obj \ ++..\..\..\..\..\temp\cmr\ta_SMA.obj \ ++..\..\..\..\..\temp\cmr\ta_SQRT.obj \ ++..\..\..\..\..\temp\cmr\ta_STDDEV.obj \ ++..\..\..\..\..\temp\cmr\ta_STOCH.obj \ ++..\..\..\..\..\temp\cmr\ta_STOCHF.obj \ ++..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj \ ++..\..\..\..\..\temp\cmr\ta_SUB.obj \ ++..\..\..\..\..\temp\cmr\ta_SUM.obj \ ++..\..\..\..\..\temp\cmr\ta_T3.obj \ ++..\..\..\..\..\temp\cmr\ta_TAN.obj \ ++..\..\..\..\..\temp\cmr\ta_TANH.obj \ ++..\..\..\..\..\temp\cmr\ta_TEMA.obj \ ++..\..\..\..\..\temp\cmr\ta_TRANGE.obj \ ++..\..\..\..\..\temp\cmr\ta_TRIMA.obj \ ++..\..\..\..\..\temp\cmr\ta_TRIX.obj \ ++..\..\..\..\..\temp\cmr\ta_TSF.obj \ ++..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj \ ++..\..\..\..\..\temp\cmr\ta_ULTOSC.obj \ ++..\..\..\..\..\temp\cmr\ta_VAR.obj \ ++..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj \ ++..\..\..\..\..\temp\cmr\ta_WILLR.obj \ ++..\..\..\..\..\temp\cmr\ta_WMA.obj \ ++ +| + +moc: $(SRCMOC) + +tmake: ../cmr/win32/borland/ta_func/Makefile + +../cmr/win32/borland/ta_func/Makefile: ta_func/ta_func.pro + tmake ta_func/ta_func.pro -o ../cmr/win32/borland/ta_func/Makefile + +dist: + $(ZIP) ta_func/ta_func.zip ta_func/ta_func.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmr\ta_utility.obj + -del ..\..\..\..\..\temp\cmr\ta_ACOS.obj + -del ..\..\..\..\..\temp\cmr\ta_AD.obj + -del ..\..\..\..\..\temp\cmr\ta_ADD.obj + -del ..\..\..\..\..\temp\cmr\ta_ADOSC.obj + -del ..\..\..\..\..\temp\cmr\ta_ADX.obj + -del ..\..\..\..\..\temp\cmr\ta_ADXR.obj + -del ..\..\..\..\..\temp\cmr\ta_APO.obj + -del ..\..\..\..\..\temp\cmr\ta_AROON.obj + -del ..\..\..\..\..\temp\cmr\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\cmr\ta_ASIN.obj + -del ..\..\..\..\..\temp\cmr\ta_ATAN.obj + -del ..\..\..\..\..\temp\cmr\ta_ATR.obj + -del ..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_BBANDS.obj + -del ..\..\..\..\..\temp\cmr\ta_BETA.obj + -del ..\..\..\..\..\temp\cmr\ta_BOP.obj + -del ..\..\..\..\..\temp\cmr\ta_CCI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\cmr\ta_CEIL.obj + -del ..\..\..\..\..\temp\cmr\ta_CMO.obj + -del ..\..\..\..\..\temp\cmr\ta_CORREL.obj + -del ..\..\..\..\..\temp\cmr\ta_COS.obj + -del ..\..\..\..\..\temp\cmr\ta_COSH.obj + -del ..\..\..\..\..\temp\cmr\ta_DEMA.obj + -del ..\..\..\..\..\temp\cmr\ta_DIV.obj + -del ..\..\..\..\..\temp\cmr\ta_DX.obj + -del ..\..\..\..\..\temp\cmr\ta_EMA.obj + -del ..\..\..\..\..\temp\cmr\ta_EXP.obj + -del ..\..\..\..\..\temp\cmr\ta_FLOOR.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\cmr\ta_KAMA.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\cmr\ta_LN.obj + -del ..\..\..\..\..\temp\cmr\ta_LOG10.obj + -del ..\..\..\..\..\temp\cmr\ta_MA.obj + -del ..\..\..\..\..\temp\cmr\ta_MACD.obj + -del ..\..\..\..\..\temp\cmr\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\cmr\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\cmr\ta_MAMA.obj + -del ..\..\..\..\..\temp\cmr\ta_MAVP.obj + -del ..\..\..\..\..\temp\cmr\ta_MAX.obj + -del ..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_MFI.obj + -del ..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_MIN.obj + -del ..\..\..\..\..\temp\cmr\ta_MININDEX.obj + -del ..\..\..\..\..\temp\cmr\ta_MINMAX.obj + -del ..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\cmr\ta_MOM.obj + -del ..\..\..\..\..\temp\cmr\ta_MULT.obj + -del ..\..\..\..\..\temp\cmr\ta_NATR.obj + -del ..\..\..\..\..\temp\cmr\ta_OBV.obj + -del ..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\cmr\ta_PPO.obj + -del ..\..\..\..\..\temp\cmr\ta_ROC.obj + -del ..\..\..\..\..\temp\cmr\ta_ROCP.obj + -del ..\..\..\..\..\temp\cmr\ta_ROCR.obj + -del ..\..\..\..\..\temp\cmr\ta_ROCR100.obj + -del ..\..\..\..\..\temp\cmr\ta_RSI.obj + -del ..\..\..\..\..\temp\cmr\ta_SAR.obj + -del ..\..\..\..\..\temp\cmr\ta_SAREXT.obj + -del ..\..\..\..\..\temp\cmr\ta_SIN.obj + -del ..\..\..\..\..\temp\cmr\ta_SINH.obj + -del ..\..\..\..\..\temp\cmr\ta_SMA.obj + -del ..\..\..\..\..\temp\cmr\ta_SQRT.obj + -del ..\..\..\..\..\temp\cmr\ta_STDDEV.obj + -del ..\..\..\..\..\temp\cmr\ta_STOCH.obj + -del ..\..\..\..\..\temp\cmr\ta_STOCHF.obj + -del ..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\cmr\ta_SUB.obj + -del ..\..\..\..\..\temp\cmr\ta_SUM.obj + -del ..\..\..\..\..\temp\cmr\ta_T3.obj + -del ..\..\..\..\..\temp\cmr\ta_TAN.obj + -del ..\..\..\..\..\temp\cmr\ta_TANH.obj + -del ..\..\..\..\..\temp\cmr\ta_TEMA.obj + -del ..\..\..\..\..\temp\cmr\ta_TRANGE.obj + -del ..\..\..\..\..\temp\cmr\ta_TRIMA.obj + -del ..\..\..\..\..\temp\cmr\ta_TRIX.obj + -del ..\..\..\..\..\temp\cmr\ta_TSF.obj + -del ..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\cmr\ta_VAR.obj + -del ..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_WILLR.obj + -del ..\..\..\..\..\temp\cmr\ta_WMA.obj + -del $(TARGET) + -del ta_func_cmr.tds + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmr/*.pch + -del ../../../../../temp/cmr/*.idb + -del ../../../../../temp/cmr/ta_func/*.pch + -del ../../../../../temp/cmr/ta_func/*.idb + -del ../../../../../temp/cmr/ta_func/*.obj + +####### Compile + +..\..\..\..\..\temp\cmr\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\cmr\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\cmr\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\cmr\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\cmr\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\cmr\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\cmr\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\cmr\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\cmr\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\cmr\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\cmr\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\cmr\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\cmr\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\cmr\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\cmr\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\cmr\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\cmr\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\cmr\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\cmr\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\cmr\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\cmr\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\cmr\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\cmr\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\cmr\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\cmr\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\cmr\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\cmr\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\cmr\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\cmr\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\cmr\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\cmr\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\cmr\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\cmr\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\cmr\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\cmr\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\cmr\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\cmr\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\cmr\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\cmr\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\cmr\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\cmr\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\cmr\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\cmr\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\cmr\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\cmr\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\cmr\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\cmr\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\cmr\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\cmr\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\cmr\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\cmr\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\cmr\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\cmr\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\cmr\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\cmr\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\cmr\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\cmr\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\cmr\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\cmr\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\cmr\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\cmr\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\cmr\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\cmr\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\cmr\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\cmr\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\cmr\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\cmr\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\cmr\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\cmr\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\cmr\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\cmr\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\cmr\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\cmr\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\cmr\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\cmr\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\cmr\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/cmr/win32/borland/ta_libc/Makefile b/vendor/ta-lib/make/cmr/win32/borland/ta_libc/Makefile new file mode 100644 index 000000000..12671d842 --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/borland/ta_libc/Makefile @@ -0,0 +1,1438 @@ +############################################################################# +# Makefile for building ta_libc_cmr +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +####### Compiler, tools and options + +CC = bcc32 +CXX = bcc32 +CFLAGS = -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -tWM -O2 -DWIN32 -DQT_THREAD_SUPPORT -DNO_DEBUG +CXXFLAGS= -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -tWM -O2 -DWIN32 -DQT_THREAD_SUPPORT -DNO_DEBUG +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"$(QTDIR)\include" +LIB = tlib /C /P256 +MOC = moc +UIC = uic + +ZIP = zip -r -9 +DEF_FILE = +RES_FILE = + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c \ + ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\cmr\ta_global.obj \ + ..\..\..\..\..\temp\cmr\ta_retcode.obj \ + ..\..\..\..\..\temp\cmr\ta_version.obj \ + ..\..\..\..\..\temp\cmr\ta_abstract.obj \ + ..\..\..\..\..\temp\cmr\ta_def_ui.obj \ + ..\..\..\..\..\temp\cmr\ta_func_api.obj \ + ..\..\..\..\..\temp\cmr\ta_group_idx.obj \ + ..\..\..\..\..\temp\cmr\ta_frame.obj \ + ..\..\..\..\..\temp\cmr\table_a.obj \ + ..\..\..\..\..\temp\cmr\table_b.obj \ + ..\..\..\..\..\temp\cmr\table_c.obj \ + ..\..\..\..\..\temp\cmr\table_d.obj \ + ..\..\..\..\..\temp\cmr\table_e.obj \ + ..\..\..\..\..\temp\cmr\table_f.obj \ + ..\..\..\..\..\temp\cmr\table_g.obj \ + ..\..\..\..\..\temp\cmr\table_h.obj \ + ..\..\..\..\..\temp\cmr\table_i.obj \ + ..\..\..\..\..\temp\cmr\table_j.obj \ + ..\..\..\..\..\temp\cmr\table_k.obj \ + ..\..\..\..\..\temp\cmr\table_l.obj \ + ..\..\..\..\..\temp\cmr\table_m.obj \ + ..\..\..\..\..\temp\cmr\table_n.obj \ + ..\..\..\..\..\temp\cmr\table_o.obj \ + ..\..\..\..\..\temp\cmr\table_p.obj \ + ..\..\..\..\..\temp\cmr\table_q.obj \ + ..\..\..\..\..\temp\cmr\table_r.obj \ + ..\..\..\..\..\temp\cmr\table_s.obj \ + ..\..\..\..\..\temp\cmr\table_t.obj \ + ..\..\..\..\..\temp\cmr\table_u.obj \ + ..\..\..\..\..\temp\cmr\table_v.obj \ + ..\..\..\..\..\temp\cmr\table_w.obj \ + ..\..\..\..\..\temp\cmr\table_x.obj \ + ..\..\..\..\..\temp\cmr\table_y.obj \ + ..\..\..\..\..\temp\cmr\table_z.obj \ + ..\..\..\..\..\temp\cmr\ta_utility.obj \ + ..\..\..\..\..\temp\cmr\ta_ACOS.obj \ + ..\..\..\..\..\temp\cmr\ta_AD.obj \ + ..\..\..\..\..\temp\cmr\ta_ADD.obj \ + ..\..\..\..\..\temp\cmr\ta_ADOSC.obj \ + ..\..\..\..\..\temp\cmr\ta_ADX.obj \ + ..\..\..\..\..\temp\cmr\ta_ADXR.obj \ + ..\..\..\..\..\temp\cmr\ta_APO.obj \ + ..\..\..\..\..\temp\cmr\ta_AROON.obj \ + ..\..\..\..\..\temp\cmr\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\cmr\ta_ASIN.obj \ + ..\..\..\..\..\temp\cmr\ta_ATAN.obj \ + ..\..\..\..\..\temp\cmr\ta_ATR.obj \ + ..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_BBANDS.obj \ + ..\..\..\..\..\temp\cmr\ta_BETA.obj \ + ..\..\..\..\..\temp\cmr\ta_BOP.obj \ + ..\..\..\..\..\temp\cmr\ta_CCI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\cmr\ta_CEIL.obj \ + ..\..\..\..\..\temp\cmr\ta_CMO.obj \ + ..\..\..\..\..\temp\cmr\ta_CORREL.obj \ + ..\..\..\..\..\temp\cmr\ta_COS.obj \ + ..\..\..\..\..\temp\cmr\ta_COSH.obj \ + ..\..\..\..\..\temp\cmr\ta_DEMA.obj \ + ..\..\..\..\..\temp\cmr\ta_DIV.obj \ + ..\..\..\..\..\temp\cmr\ta_DX.obj \ + ..\..\..\..\..\temp\cmr\ta_EMA.obj \ + ..\..\..\..\..\temp\cmr\ta_EXP.obj \ + ..\..\..\..\..\temp\cmr\ta_FLOOR.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\cmr\ta_KAMA.obj \ + ..\..\..\..\..\temp\cmr\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\cmr\ta_LN.obj \ + ..\..\..\..\..\temp\cmr\ta_LOG10.obj \ + ..\..\..\..\..\temp\cmr\ta_MA.obj \ + ..\..\..\..\..\temp\cmr\ta_MACD.obj \ + ..\..\..\..\..\temp\cmr\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\cmr\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\cmr\ta_MAMA.obj \ + ..\..\..\..\..\temp\cmr\ta_MAVP.obj \ + ..\..\..\..\..\temp\cmr\ta_MAX.obj \ + ..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_MFI.obj \ + ..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_MIN.obj \ + ..\..\..\..\..\temp\cmr\ta_MININDEX.obj \ + ..\..\..\..\..\temp\cmr\ta_MINMAX.obj \ + ..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\cmr\ta_MOM.obj \ + ..\..\..\..\..\temp\cmr\ta_MULT.obj \ + ..\..\..\..\..\temp\cmr\ta_NATR.obj \ + ..\..\..\..\..\temp\cmr\ta_OBV.obj \ + ..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\cmr\ta_PPO.obj \ + ..\..\..\..\..\temp\cmr\ta_ROC.obj \ + ..\..\..\..\..\temp\cmr\ta_ROCP.obj \ + ..\..\..\..\..\temp\cmr\ta_ROCR.obj \ + ..\..\..\..\..\temp\cmr\ta_ROCR100.obj \ + ..\..\..\..\..\temp\cmr\ta_RSI.obj \ + ..\..\..\..\..\temp\cmr\ta_SAR.obj \ + ..\..\..\..\..\temp\cmr\ta_SAREXT.obj \ + ..\..\..\..\..\temp\cmr\ta_SIN.obj \ + ..\..\..\..\..\temp\cmr\ta_SINH.obj \ + ..\..\..\..\..\temp\cmr\ta_SMA.obj \ + ..\..\..\..\..\temp\cmr\ta_SQRT.obj \ + ..\..\..\..\..\temp\cmr\ta_STDDEV.obj \ + ..\..\..\..\..\temp\cmr\ta_STOCH.obj \ + ..\..\..\..\..\temp\cmr\ta_STOCHF.obj \ + ..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\cmr\ta_SUB.obj \ + ..\..\..\..\..\temp\cmr\ta_SUM.obj \ + ..\..\..\..\..\temp\cmr\ta_T3.obj \ + ..\..\..\..\..\temp\cmr\ta_TAN.obj \ + ..\..\..\..\..\temp\cmr\ta_TANH.obj \ + ..\..\..\..\..\temp\cmr\ta_TEMA.obj \ + ..\..\..\..\..\temp\cmr\ta_TRANGE.obj \ + ..\..\..\..\..\temp\cmr\ta_TRIMA.obj \ + ..\..\..\..\..\temp\cmr\ta_TRIX.obj \ + ..\..\..\..\..\temp\cmr\ta_TSF.obj \ + ..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\cmr\ta_VAR.obj \ + ..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_WILLR.obj \ + ..\..\..\..\..\temp\cmr\ta_WMA.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_libc_cmr.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) @&&| ++..\..\..\..\..\temp\cmr\ta_global.obj \ ++..\..\..\..\..\temp\cmr\ta_retcode.obj \ ++..\..\..\..\..\temp\cmr\ta_version.obj \ ++..\..\..\..\..\temp\cmr\ta_abstract.obj \ ++..\..\..\..\..\temp\cmr\ta_def_ui.obj \ ++..\..\..\..\..\temp\cmr\ta_func_api.obj \ ++..\..\..\..\..\temp\cmr\ta_group_idx.obj \ ++..\..\..\..\..\temp\cmr\ta_frame.obj \ ++..\..\..\..\..\temp\cmr\table_a.obj \ ++..\..\..\..\..\temp\cmr\table_b.obj \ ++..\..\..\..\..\temp\cmr\table_c.obj \ ++..\..\..\..\..\temp\cmr\table_d.obj \ ++..\..\..\..\..\temp\cmr\table_e.obj \ ++..\..\..\..\..\temp\cmr\table_f.obj \ ++..\..\..\..\..\temp\cmr\table_g.obj \ ++..\..\..\..\..\temp\cmr\table_h.obj \ ++..\..\..\..\..\temp\cmr\table_i.obj \ ++..\..\..\..\..\temp\cmr\table_j.obj \ ++..\..\..\..\..\temp\cmr\table_k.obj \ ++..\..\..\..\..\temp\cmr\table_l.obj \ ++..\..\..\..\..\temp\cmr\table_m.obj \ ++..\..\..\..\..\temp\cmr\table_n.obj \ ++..\..\..\..\..\temp\cmr\table_o.obj \ ++..\..\..\..\..\temp\cmr\table_p.obj \ ++..\..\..\..\..\temp\cmr\table_q.obj \ ++..\..\..\..\..\temp\cmr\table_r.obj \ ++..\..\..\..\..\temp\cmr\table_s.obj \ ++..\..\..\..\..\temp\cmr\table_t.obj \ ++..\..\..\..\..\temp\cmr\table_u.obj \ ++..\..\..\..\..\temp\cmr\table_v.obj \ ++..\..\..\..\..\temp\cmr\table_w.obj \ ++..\..\..\..\..\temp\cmr\table_x.obj \ ++..\..\..\..\..\temp\cmr\table_y.obj \ ++..\..\..\..\..\temp\cmr\table_z.obj \ ++..\..\..\..\..\temp\cmr\ta_utility.obj \ ++..\..\..\..\..\temp\cmr\ta_ACOS.obj \ ++..\..\..\..\..\temp\cmr\ta_AD.obj \ ++..\..\..\..\..\temp\cmr\ta_ADD.obj \ ++..\..\..\..\..\temp\cmr\ta_ADOSC.obj \ ++..\..\..\..\..\temp\cmr\ta_ADX.obj \ ++..\..\..\..\..\temp\cmr\ta_ADXR.obj \ ++..\..\..\..\..\temp\cmr\ta_APO.obj \ ++..\..\..\..\..\temp\cmr\ta_AROON.obj \ ++..\..\..\..\..\temp\cmr\ta_AROONOSC.obj \ ++..\..\..\..\..\temp\cmr\ta_ASIN.obj \ ++..\..\..\..\..\temp\cmr\ta_ATAN.obj \ ++..\..\..\..\..\temp\cmr\ta_ATR.obj \ ++..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj \ ++..\..\..\..\..\temp\cmr\ta_BBANDS.obj \ ++..\..\..\..\..\temp\cmr\ta_BETA.obj \ ++..\..\..\..\..\temp\cmr\ta_BOP.obj \ ++..\..\..\..\..\temp\cmr\ta_CCI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj \ ++..\..\..\..\..\temp\cmr\ta_CEIL.obj \ ++..\..\..\..\..\temp\cmr\ta_CMO.obj \ ++..\..\..\..\..\temp\cmr\ta_CORREL.obj \ ++..\..\..\..\..\temp\cmr\ta_COS.obj \ ++..\..\..\..\..\temp\cmr\ta_COSH.obj \ ++..\..\..\..\..\temp\cmr\ta_DEMA.obj \ ++..\..\..\..\..\temp\cmr\ta_DIV.obj \ ++..\..\..\..\..\temp\cmr\ta_DX.obj \ ++..\..\..\..\..\temp\cmr\ta_EMA.obj \ ++..\..\..\..\..\temp\cmr\ta_EXP.obj \ ++..\..\..\..\..\temp\cmr\ta_FLOOR.obj \ ++..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj \ ++..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj \ ++..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj \ ++..\..\..\..\..\temp\cmr\ta_HT_SINE.obj \ ++..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj \ ++..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj \ ++..\..\..\..\..\temp\cmr\ta_KAMA.obj \ ++..\..\..\..\..\temp\cmr\ta_LINEARREG.obj \ ++..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj \ ++..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj \ ++..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj \ ++..\..\..\..\..\temp\cmr\ta_LN.obj \ ++..\..\..\..\..\temp\cmr\ta_LOG10.obj \ ++..\..\..\..\..\temp\cmr\ta_MA.obj \ ++..\..\..\..\..\temp\cmr\ta_MACD.obj \ ++..\..\..\..\..\temp\cmr\ta_MACDEXT.obj \ ++..\..\..\..\..\temp\cmr\ta_MACDFIX.obj \ ++..\..\..\..\..\temp\cmr\ta_MAMA.obj \ ++..\..\..\..\..\temp\cmr\ta_MAVP.obj \ ++..\..\..\..\..\temp\cmr\ta_MAX.obj \ ++..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj \ ++..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj \ ++..\..\..\..\..\temp\cmr\ta_MFI.obj \ ++..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj \ ++..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj \ ++..\..\..\..\..\temp\cmr\ta_MIN.obj \ ++..\..\..\..\..\temp\cmr\ta_MININDEX.obj \ ++..\..\..\..\..\temp\cmr\ta_MINMAX.obj \ ++..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj \ ++..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj \ ++..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj \ ++..\..\..\..\..\temp\cmr\ta_MOM.obj \ ++..\..\..\..\..\temp\cmr\ta_MULT.obj \ ++..\..\..\..\..\temp\cmr\ta_NATR.obj \ ++..\..\..\..\..\temp\cmr\ta_OBV.obj \ ++..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj \ ++..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj \ ++..\..\..\..\..\temp\cmr\ta_PPO.obj \ ++..\..\..\..\..\temp\cmr\ta_ROC.obj \ ++..\..\..\..\..\temp\cmr\ta_ROCP.obj \ ++..\..\..\..\..\temp\cmr\ta_ROCR.obj \ ++..\..\..\..\..\temp\cmr\ta_ROCR100.obj \ ++..\..\..\..\..\temp\cmr\ta_RSI.obj \ ++..\..\..\..\..\temp\cmr\ta_SAR.obj \ ++..\..\..\..\..\temp\cmr\ta_SAREXT.obj \ ++..\..\..\..\..\temp\cmr\ta_SIN.obj \ ++..\..\..\..\..\temp\cmr\ta_SINH.obj \ ++..\..\..\..\..\temp\cmr\ta_SMA.obj \ ++..\..\..\..\..\temp\cmr\ta_SQRT.obj \ ++..\..\..\..\..\temp\cmr\ta_STDDEV.obj \ ++..\..\..\..\..\temp\cmr\ta_STOCH.obj \ ++..\..\..\..\..\temp\cmr\ta_STOCHF.obj \ ++..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj \ ++..\..\..\..\..\temp\cmr\ta_SUB.obj \ ++..\..\..\..\..\temp\cmr\ta_SUM.obj \ ++..\..\..\..\..\temp\cmr\ta_T3.obj \ ++..\..\..\..\..\temp\cmr\ta_TAN.obj \ ++..\..\..\..\..\temp\cmr\ta_TANH.obj \ ++..\..\..\..\..\temp\cmr\ta_TEMA.obj \ ++..\..\..\..\..\temp\cmr\ta_TRANGE.obj \ ++..\..\..\..\..\temp\cmr\ta_TRIMA.obj \ ++..\..\..\..\..\temp\cmr\ta_TRIX.obj \ ++..\..\..\..\..\temp\cmr\ta_TSF.obj \ ++..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj \ ++..\..\..\..\..\temp\cmr\ta_ULTOSC.obj \ ++..\..\..\..\..\temp\cmr\ta_VAR.obj \ ++..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj \ ++..\..\..\..\..\temp\cmr\ta_WILLR.obj \ ++..\..\..\..\..\temp\cmr\ta_WMA.obj \ ++ +| + +moc: $(SRCMOC) + +tmake: ../cmr/win32/borland/ta_libc/Makefile + +../cmr/win32/borland/ta_libc/Makefile: ta_libc/ta_libc.pro + tmake ta_libc/ta_libc.pro -o ../cmr/win32/borland/ta_libc/Makefile + +dist: + $(ZIP) ta_libc/ta_libc.zip ta_libc/ta_libc.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmr\ta_global.obj + -del ..\..\..\..\..\temp\cmr\ta_retcode.obj + -del ..\..\..\..\..\temp\cmr\ta_version.obj + -del ..\..\..\..\..\temp\cmr\ta_abstract.obj + -del ..\..\..\..\..\temp\cmr\ta_def_ui.obj + -del ..\..\..\..\..\temp\cmr\ta_func_api.obj + -del ..\..\..\..\..\temp\cmr\ta_group_idx.obj + -del ..\..\..\..\..\temp\cmr\ta_frame.obj + -del ..\..\..\..\..\temp\cmr\table_a.obj + -del ..\..\..\..\..\temp\cmr\table_b.obj + -del ..\..\..\..\..\temp\cmr\table_c.obj + -del ..\..\..\..\..\temp\cmr\table_d.obj + -del ..\..\..\..\..\temp\cmr\table_e.obj + -del ..\..\..\..\..\temp\cmr\table_f.obj + -del ..\..\..\..\..\temp\cmr\table_g.obj + -del ..\..\..\..\..\temp\cmr\table_h.obj + -del ..\..\..\..\..\temp\cmr\table_i.obj + -del ..\..\..\..\..\temp\cmr\table_j.obj + -del ..\..\..\..\..\temp\cmr\table_k.obj + -del ..\..\..\..\..\temp\cmr\table_l.obj + -del ..\..\..\..\..\temp\cmr\table_m.obj + -del ..\..\..\..\..\temp\cmr\table_n.obj + -del ..\..\..\..\..\temp\cmr\table_o.obj + -del ..\..\..\..\..\temp\cmr\table_p.obj + -del ..\..\..\..\..\temp\cmr\table_q.obj + -del ..\..\..\..\..\temp\cmr\table_r.obj + -del ..\..\..\..\..\temp\cmr\table_s.obj + -del ..\..\..\..\..\temp\cmr\table_t.obj + -del ..\..\..\..\..\temp\cmr\table_u.obj + -del ..\..\..\..\..\temp\cmr\table_v.obj + -del ..\..\..\..\..\temp\cmr\table_w.obj + -del ..\..\..\..\..\temp\cmr\table_x.obj + -del ..\..\..\..\..\temp\cmr\table_y.obj + -del ..\..\..\..\..\temp\cmr\table_z.obj + -del ..\..\..\..\..\temp\cmr\ta_utility.obj + -del ..\..\..\..\..\temp\cmr\ta_ACOS.obj + -del ..\..\..\..\..\temp\cmr\ta_AD.obj + -del ..\..\..\..\..\temp\cmr\ta_ADD.obj + -del ..\..\..\..\..\temp\cmr\ta_ADOSC.obj + -del ..\..\..\..\..\temp\cmr\ta_ADX.obj + -del ..\..\..\..\..\temp\cmr\ta_ADXR.obj + -del ..\..\..\..\..\temp\cmr\ta_APO.obj + -del ..\..\..\..\..\temp\cmr\ta_AROON.obj + -del ..\..\..\..\..\temp\cmr\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\cmr\ta_ASIN.obj + -del ..\..\..\..\..\temp\cmr\ta_ATAN.obj + -del ..\..\..\..\..\temp\cmr\ta_ATR.obj + -del ..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_BBANDS.obj + -del ..\..\..\..\..\temp\cmr\ta_BETA.obj + -del ..\..\..\..\..\temp\cmr\ta_BOP.obj + -del ..\..\..\..\..\temp\cmr\ta_CCI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\cmr\ta_CEIL.obj + -del ..\..\..\..\..\temp\cmr\ta_CMO.obj + -del ..\..\..\..\..\temp\cmr\ta_CORREL.obj + -del ..\..\..\..\..\temp\cmr\ta_COS.obj + -del ..\..\..\..\..\temp\cmr\ta_COSH.obj + -del ..\..\..\..\..\temp\cmr\ta_DEMA.obj + -del ..\..\..\..\..\temp\cmr\ta_DIV.obj + -del ..\..\..\..\..\temp\cmr\ta_DX.obj + -del ..\..\..\..\..\temp\cmr\ta_EMA.obj + -del ..\..\..\..\..\temp\cmr\ta_EXP.obj + -del ..\..\..\..\..\temp\cmr\ta_FLOOR.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\cmr\ta_KAMA.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\cmr\ta_LN.obj + -del ..\..\..\..\..\temp\cmr\ta_LOG10.obj + -del ..\..\..\..\..\temp\cmr\ta_MA.obj + -del ..\..\..\..\..\temp\cmr\ta_MACD.obj + -del ..\..\..\..\..\temp\cmr\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\cmr\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\cmr\ta_MAMA.obj + -del ..\..\..\..\..\temp\cmr\ta_MAVP.obj + -del ..\..\..\..\..\temp\cmr\ta_MAX.obj + -del ..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_MFI.obj + -del ..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_MIN.obj + -del ..\..\..\..\..\temp\cmr\ta_MININDEX.obj + -del ..\..\..\..\..\temp\cmr\ta_MINMAX.obj + -del ..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\cmr\ta_MOM.obj + -del ..\..\..\..\..\temp\cmr\ta_MULT.obj + -del ..\..\..\..\..\temp\cmr\ta_NATR.obj + -del ..\..\..\..\..\temp\cmr\ta_OBV.obj + -del ..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\cmr\ta_PPO.obj + -del ..\..\..\..\..\temp\cmr\ta_ROC.obj + -del ..\..\..\..\..\temp\cmr\ta_ROCP.obj + -del ..\..\..\..\..\temp\cmr\ta_ROCR.obj + -del ..\..\..\..\..\temp\cmr\ta_ROCR100.obj + -del ..\..\..\..\..\temp\cmr\ta_RSI.obj + -del ..\..\..\..\..\temp\cmr\ta_SAR.obj + -del ..\..\..\..\..\temp\cmr\ta_SAREXT.obj + -del ..\..\..\..\..\temp\cmr\ta_SIN.obj + -del ..\..\..\..\..\temp\cmr\ta_SINH.obj + -del ..\..\..\..\..\temp\cmr\ta_SMA.obj + -del ..\..\..\..\..\temp\cmr\ta_SQRT.obj + -del ..\..\..\..\..\temp\cmr\ta_STDDEV.obj + -del ..\..\..\..\..\temp\cmr\ta_STOCH.obj + -del ..\..\..\..\..\temp\cmr\ta_STOCHF.obj + -del ..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\cmr\ta_SUB.obj + -del ..\..\..\..\..\temp\cmr\ta_SUM.obj + -del ..\..\..\..\..\temp\cmr\ta_T3.obj + -del ..\..\..\..\..\temp\cmr\ta_TAN.obj + -del ..\..\..\..\..\temp\cmr\ta_TANH.obj + -del ..\..\..\..\..\temp\cmr\ta_TEMA.obj + -del ..\..\..\..\..\temp\cmr\ta_TRANGE.obj + -del ..\..\..\..\..\temp\cmr\ta_TRIMA.obj + -del ..\..\..\..\..\temp\cmr\ta_TRIX.obj + -del ..\..\..\..\..\temp\cmr\ta_TSF.obj + -del ..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\cmr\ta_VAR.obj + -del ..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_WILLR.obj + -del ..\..\..\..\..\temp\cmr\ta_WMA.obj + -del $(TARGET) + -del ta_libc_cmr.tds + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + +####### Compile + +..\..\..\..\..\temp\cmr\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\cmr\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\cmr\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + +..\..\..\..\..\temp\cmr\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cmr\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cmr\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\cmr\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\cmr\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\cmr\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cmr\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cmr\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cmr\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cmr\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cmr\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cmr\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cmr\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cmr\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cmr\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cmr\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cmr\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cmr\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cmr\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cmr\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cmr\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cmr\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cmr\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cmr\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cmr\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cmr\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cmr\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cmr\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cmr\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cmr\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cmr\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + +..\..\..\..\..\temp\cmr\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\cmr\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\cmr\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\cmr\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\cmr\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\cmr\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\cmr\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\cmr\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\cmr\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\cmr\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\cmr\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\cmr\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\cmr\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\cmr\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\cmr\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\cmr\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\cmr\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\cmr\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\cmr\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\cmr\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\cmr\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\cmr\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\cmr\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\cmr\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\cmr\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\cmr\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\cmr\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\cmr\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\cmr\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\cmr\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\cmr\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\cmr\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\cmr\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\cmr\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\cmr\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\cmr\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\cmr\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\cmr\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\cmr\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\cmr\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\cmr\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\cmr\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\cmr\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\cmr\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\cmr\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\cmr\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\cmr\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\cmr\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\cmr\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\cmr\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\cmr\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\cmr\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\cmr\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\cmr\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\cmr\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\cmr\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\cmr\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\cmr\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\cmr\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\cmr\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\cmr\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\cmr\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\cmr\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\cmr\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\cmr\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\cmr\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\cmr\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\cmr\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\cmr\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\cmr\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\cmr\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\cmr\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\cmr\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\cmr\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\cmr\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\cmr\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/cmr/win32/borland/ta_regtest/Makefile b/vendor/ta-lib/make/cmr/win32/borland/ta_regtest/Makefile new file mode 100644 index 000000000..48e615c93 --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/borland/ta_regtest/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +####### Compiler, tools and options + +CC = bcc32 +CXX = bcc32 +CFLAGS = -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -tWM -O2 -DWIN32 -DQT_THREAD_SUPPORT +CXXFLAGS= -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -tWM -O2 -DWIN32 -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\tools\ta_regtest" -I"..\..\..\..\..\src\ta_func" -I"..\..\..\..\..\include" +LINK = ilink32 +LFLAGS = -L$(BCB)\lib -L$(BCB)\lib\PSDK -c -x -Gn -ap -Tpe c0x32.obj +LIBS = import32.lib cw32mti.lib ..\..\..\..\..\lib\ta_libc_cmr.lib +MOC = moc +UIC = uic + +ZIP = zip -r -9 +DEF_FILE = +RES_FILE = + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_internals.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_util.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_data.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c +OBJECTS = ..\..\..\..\..\temp\cmr\ta_regtest.obj \ + ..\..\..\..\..\temp\cmr\test_candlestick.obj \ + ..\..\..\..\..\temp\cmr\test_1in_1out.obj \ + ..\..\..\..\..\temp\cmr\test_1in_2out.obj \ + ..\..\..\..\..\temp\cmr\test_internals.obj \ + ..\..\..\..\..\temp\cmr\test_adx.obj \ + ..\..\..\..\..\temp\cmr\test_bbands.obj \ + ..\..\..\..\..\temp\cmr\test_ma.obj \ + ..\..\..\..\..\temp\cmr\test_macd.obj \ + ..\..\..\..\..\temp\cmr\test_minmax.obj \ + ..\..\..\..\..\temp\cmr\test_mom.obj \ + ..\..\..\..\..\temp\cmr\test_per_ema.obj \ + ..\..\..\..\..\temp\cmr\test_per_hl.obj \ + ..\..\..\..\..\temp\cmr\test_per_hlc.obj \ + ..\..\..\..\..\temp\cmr\test_per_hlcv.obj \ + ..\..\..\..\..\temp\cmr\test_per_ohlc.obj \ + ..\..\..\..\..\temp\cmr\test_po.obj \ + ..\..\..\..\..\temp\cmr\test_rsi.obj \ + ..\..\..\..\..\temp\cmr\test_sar.obj \ + ..\..\..\..\..\temp\cmr\test_stddev.obj \ + ..\..\..\..\..\temp\cmr\test_stoch.obj \ + ..\..\..\..\..\temp\cmr\test_trange.obj \ + ..\..\..\..\..\temp\cmr\test_util.obj \ + ..\..\..\..\..\temp\cmr\test_data.obj \ + ..\..\..\..\..\temp\cmr\test_abstract.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\ta_regtest.exe +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) @&&| + $(LFLAGS) $(OBJECTS) $(OBJMOC),$(TARGET),,$(LIBS),$(DEF_FILE),$(RES_FILE) +| + +moc: $(SRCMOC) + +tmake: ../cmr/win32/borland/ta_regtest/Makefile + +../cmr/win32/borland/ta_regtest/Makefile: ta_regtest/ta_regtest.pro + tmake ta_regtest/ta_regtest.pro -o ../cmr/win32/borland/ta_regtest/Makefile + +dist: + $(ZIP) ta_regtest/ta_regtest.zip ta_regtest/ta_regtest.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmr\ta_regtest.obj + -del ..\..\..\..\..\temp\cmr\test_candlestick.obj + -del ..\..\..\..\..\temp\cmr\test_1in_1out.obj + -del ..\..\..\..\..\temp\cmr\test_1in_2out.obj + -del ..\..\..\..\..\temp\cmr\test_internals.obj + -del ..\..\..\..\..\temp\cmr\test_adx.obj + -del ..\..\..\..\..\temp\cmr\test_bbands.obj + -del ..\..\..\..\..\temp\cmr\test_ma.obj + -del ..\..\..\..\..\temp\cmr\test_macd.obj + -del ..\..\..\..\..\temp\cmr\test_minmax.obj + -del ..\..\..\..\..\temp\cmr\test_mom.obj + -del ..\..\..\..\..\temp\cmr\test_per_ema.obj + -del ..\..\..\..\..\temp\cmr\test_per_hl.obj + -del ..\..\..\..\..\temp\cmr\test_per_hlc.obj + -del ..\..\..\..\..\temp\cmr\test_per_hlcv.obj + -del ..\..\..\..\..\temp\cmr\test_per_ohlc.obj + -del ..\..\..\..\..\temp\cmr\test_po.obj + -del ..\..\..\..\..\temp\cmr\test_rsi.obj + -del ..\..\..\..\..\temp\cmr\test_sar.obj + -del ..\..\..\..\..\temp\cmr\test_stddev.obj + -del ..\..\..\..\..\temp\cmr\test_stoch.obj + -del ..\..\..\..\..\temp\cmr\test_trange.obj + -del ..\..\..\..\..\temp\cmr\test_util.obj + -del ..\..\..\..\..\temp\cmr\test_data.obj + -del ..\..\..\..\..\temp\cmr\test_abstract.obj + -del $(TARGET) + -del ta_regtest.tds + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmr/*.pch + -del ../../../../../temp/cmr/*.idb + -del ../../../../../temp/cmr/ta_regtest/*.pch + -del ../../../../../temp/cmr/ta_regtest/*.idb + -del ../../../../../temp/cmr/ta_regtest/*.obj + +####### Compile + +..\..\..\..\..\temp\cmr\ta_regtest.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_regtest.obj ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + +..\..\..\..\..\temp\cmr\test_candlestick.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_candlestick.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + +..\..\..\..\..\temp\cmr\test_1in_1out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_1in_1out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + +..\..\..\..\..\temp\cmr\test_1in_2out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_1in_2out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + +..\..\..\..\..\temp\cmr\test_internals.obj: ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_internals.obj ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + +..\..\..\..\..\temp\cmr\test_adx.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_adx.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + +..\..\..\..\..\temp\cmr\test_bbands.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_bbands.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + +..\..\..\..\..\temp\cmr\test_ma.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_ma.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + +..\..\..\..\..\temp\cmr\test_macd.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_macd.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + +..\..\..\..\..\temp\cmr\test_minmax.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_minmax.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + +..\..\..\..\..\temp\cmr\test_mom.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_mom.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + +..\..\..\..\..\temp\cmr\test_per_ema.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_per_ema.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + +..\..\..\..\..\temp\cmr\test_per_hl.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_per_hl.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + +..\..\..\..\..\temp\cmr\test_per_hlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_per_hlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + +..\..\..\..\..\temp\cmr\test_per_hlcv.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_per_hlcv.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + +..\..\..\..\..\temp\cmr\test_per_ohlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_per_ohlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + +..\..\..\..\..\temp\cmr\test_po.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_po.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + +..\..\..\..\..\temp\cmr\test_rsi.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_rsi.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + +..\..\..\..\..\temp\cmr\test_sar.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_sar.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + +..\..\..\..\..\temp\cmr\test_stddev.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_stddev.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + +..\..\..\..\..\temp\cmr\test_stoch.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_stoch.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + +..\..\..\..\..\temp\cmr\test_trange.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_trange.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + +..\..\..\..\..\temp\cmr\test_util.obj: ..\..\..\..\..\src\tools\ta_regtest\test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_util.obj ..\..\..\..\..\src\tools\ta_regtest\test_util.c + +..\..\..\..\..\temp\cmr\test_data.obj: ..\..\..\..\..\src\tools\ta_regtest\test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_data.obj ..\..\..\..\..\src\tools\ta_regtest\test_data.c + +..\..\..\..\..\temp\cmr\test_abstract.obj: ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_abstract.obj ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + diff --git a/vendor/ta-lib/make/cmr/win32/msvc/Makefile b/vendor/ta-lib/make/cmr/win32/msvc/Makefile new file mode 100644 index 000000000..22e8b666a --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/msvc/Makefile @@ -0,0 +1,97 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +ta_common: FORCE + cd ta_common + $(MAKE) /nologo + @cd .. + +ta_func: FORCE + cd ta_func + $(MAKE) /nologo + @cd .. + +ta_abstract: FORCE + cd ta_abstract + $(MAKE) /nologo + @cd .. + +ta_libc: FORCE + cd ta_libc + $(MAKE) /nologo + @cd .. + +gen_code: FORCE + cd gen_code + $(MAKE) /nologo + @cd .. + +ta_regtest: FORCE + cd ta_regtest + $(MAKE) /nologo + @cd .. + + +tmake: ../cmr/win32/msvc/Makefile + +../cmr/win32/msvc/Makefile: rootmake.pro + tmake rootmake.pro -o ../cmr/win32/msvc/Makefile + +tmake_all: + cd ta_common + $(TMAKE) ta_common.pro -o $(MAKEFILE) + @cd .. + cd ta_func + $(TMAKE) ta_func.pro -o $(MAKEFILE) + @cd .. + cd ta_abstract + $(TMAKE) ta_abstract.pro -o $(MAKEFILE) + @cd .. + cd ta_libc + $(TMAKE) ta_libc.pro -o $(MAKEFILE) + @cd .. + cd gen_code + $(TMAKE) gen_code.pro -o $(MAKEFILE) + @cd .. + cd ta_regtest + $(TMAKE) ta_regtest.pro -o $(MAKEFILE) + @cd .. + + +clean: + cd ta_common + $(MAKE) clean + @cd .. + cd ta_func + $(MAKE) clean + @cd .. + cd ta_abstract + $(MAKE) clean + @cd .. + cd ta_libc + $(MAKE) clean + @cd .. + cd gen_code + $(MAKE) clean + @cd .. + cd ta_regtest + $(MAKE) clean + @cd .. + +FORCE: diff --git a/vendor/ta-lib/make/cmr/win32/msvc/gen_code/Makefile b/vendor/ta-lib/make/cmr/win32/msvc/gen_code/Makefile new file mode 100644 index 000000000..0cc426d52 --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/msvc/gen_code/Makefile @@ -0,0 +1,260 @@ +############################################################################# +# Makefile for building gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -MT -O2 -DTA_GEN_CODE -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +CXXFLAGS= -nologo -W3 -MT -O2 -DTA_GEN_CODE -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" +LINK = link +LFLAGS = /NOLOGO /SUBSYSTEM:console +LIBS = ..\..\..\..\..\lib\ta_common_cmr.lib +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\gen_code\gen_code.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\cmr\gen_code\gen_code.obj \ + ..\..\..\..\..\temp\cmr\gen_code\ta_abstract.obj \ + ..\..\..\..\..\temp\cmr\gen_code\ta_def_ui.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_a.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_b.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_c.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_d.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_e.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_f.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_g.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_h.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_i.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_j.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_k.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_l.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_m.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_n.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_o.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_p.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_q.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_r.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_s.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_t.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_u.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_v.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_w.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_x.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_y.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_z.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\gen_code.exe +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) $(LIBS) +<< + +moc: $(SRCMOC) + +tmake: ../cmr/win32/msvc/gen_code/Makefile + +../cmr/win32/msvc/gen_code/Makefile: gen_code/gen_code.pro + tmake gen_code/gen_code.pro -o ../cmr/win32/msvc/gen_code/Makefile + +dist: + $(ZIP) gen_code/gen_code.zip gen_code/gen_code.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\cmr\gen_code\gen_code.obj + -del ..\..\..\..\..\temp\cmr\gen_code\ta_abstract.obj + -del ..\..\..\..\..\temp\cmr\gen_code\ta_def_ui.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_a.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_b.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_c.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_d.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_e.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_f.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_g.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_h.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_i.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_j.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_k.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_l.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_m.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_n.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_o.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_p.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_q.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_r.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_s.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_t.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_u.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_v.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_w.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_x.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_y.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmr/*.pch + -del ../../../../../temp/cmr/*.idb + -del ../../../../../temp/cmr/gen_code/*.pch + -del ../../../../../temp/cmr/gen_code/*.idb + -del ../../../../../temp/cmr/gen_code/*.obj + +####### Compile + +..\..\..\..\..\temp\cmr\gen_code\gen_code.obj: ..\..\..\..\..\src\tools\gen_code\gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\gen_code.obj ..\..\..\..\..\src\tools\gen_code\gen_code.c + +..\..\..\..\..\temp\cmr\gen_code\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cmr\gen_code\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cmr\gen_code\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cmr\gen_code\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cmr\gen_code\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cmr\gen_code\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cmr\gen_code\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cmr\gen_code\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cmr\gen_code\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cmr\gen_code\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cmr\gen_code\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cmr\gen_code\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cmr\gen_code\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cmr\gen_code\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cmr\gen_code\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cmr\gen_code\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cmr\gen_code\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cmr\gen_code\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cmr\gen_code\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cmr\gen_code\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cmr\gen_code\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cmr\gen_code\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cmr\gen_code\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cmr\gen_code\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cmr\gen_code\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cmr\gen_code\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cmr\gen_code\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cmr\gen_code\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\gen_code\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/cmr/win32/msvc/ta_abstract/Makefile b/vendor/ta-lib/make/cmr/win32/msvc/ta_abstract/Makefile new file mode 100644 index 000000000..a4ef22b6f --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/msvc/ta_abstract/Makefile @@ -0,0 +1,270 @@ +############################################################################# +# Makefile for building ta_abstract_cmr +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -MT -O2 -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +CXXFLAGS= -nologo -W3 -MT -O2 -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"..\..\..\..\..\include" +LIB = lib /NOLOGO +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\cmr\ta_abstract.obj \ + ..\..\..\..\..\temp\cmr\ta_def_ui.obj \ + ..\..\..\..\..\temp\cmr\ta_func_api.obj \ + ..\..\..\..\..\temp\cmr\ta_group_idx.obj \ + ..\..\..\..\..\temp\cmr\ta_frame.obj \ + ..\..\..\..\..\temp\cmr\table_a.obj \ + ..\..\..\..\..\temp\cmr\table_b.obj \ + ..\..\..\..\..\temp\cmr\table_c.obj \ + ..\..\..\..\..\temp\cmr\table_d.obj \ + ..\..\..\..\..\temp\cmr\table_e.obj \ + ..\..\..\..\..\temp\cmr\table_f.obj \ + ..\..\..\..\..\temp\cmr\table_g.obj \ + ..\..\..\..\..\temp\cmr\table_h.obj \ + ..\..\..\..\..\temp\cmr\table_i.obj \ + ..\..\..\..\..\temp\cmr\table_j.obj \ + ..\..\..\..\..\temp\cmr\table_k.obj \ + ..\..\..\..\..\temp\cmr\table_l.obj \ + ..\..\..\..\..\temp\cmr\table_m.obj \ + ..\..\..\..\..\temp\cmr\table_n.obj \ + ..\..\..\..\..\temp\cmr\table_o.obj \ + ..\..\..\..\..\temp\cmr\table_p.obj \ + ..\..\..\..\..\temp\cmr\table_q.obj \ + ..\..\..\..\..\temp\cmr\table_r.obj \ + ..\..\..\..\..\temp\cmr\table_s.obj \ + ..\..\..\..\..\temp\cmr\table_t.obj \ + ..\..\..\..\..\temp\cmr\table_u.obj \ + ..\..\..\..\..\temp\cmr\table_v.obj \ + ..\..\..\..\..\temp\cmr\table_w.obj \ + ..\..\..\..\..\temp\cmr\table_x.obj \ + ..\..\..\..\..\temp\cmr\table_y.obj \ + ..\..\..\..\..\temp\cmr\table_z.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_abstract_cmr.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LIB) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) +<< + +moc: $(SRCMOC) + +tmake: ../cmr/win32/msvc/ta_abstract/Makefile + +../cmr/win32/msvc/ta_abstract/Makefile: ta_abstract/ta_abstract.pro + tmake ta_abstract/ta_abstract.pro -o ../cmr/win32/msvc/ta_abstract/Makefile + +dist: + $(ZIP) ta_abstract/ta_abstract.zip ta_abstract/ta_abstract.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\cmr\ta_abstract.obj + -del ..\..\..\..\..\temp\cmr\ta_def_ui.obj + -del ..\..\..\..\..\temp\cmr\ta_func_api.obj + -del ..\..\..\..\..\temp\cmr\ta_group_idx.obj + -del ..\..\..\..\..\temp\cmr\ta_frame.obj + -del ..\..\..\..\..\temp\cmr\table_a.obj + -del ..\..\..\..\..\temp\cmr\table_b.obj + -del ..\..\..\..\..\temp\cmr\table_c.obj + -del ..\..\..\..\..\temp\cmr\table_d.obj + -del ..\..\..\..\..\temp\cmr\table_e.obj + -del ..\..\..\..\..\temp\cmr\table_f.obj + -del ..\..\..\..\..\temp\cmr\table_g.obj + -del ..\..\..\..\..\temp\cmr\table_h.obj + -del ..\..\..\..\..\temp\cmr\table_i.obj + -del ..\..\..\..\..\temp\cmr\table_j.obj + -del ..\..\..\..\..\temp\cmr\table_k.obj + -del ..\..\..\..\..\temp\cmr\table_l.obj + -del ..\..\..\..\..\temp\cmr\table_m.obj + -del ..\..\..\..\..\temp\cmr\table_n.obj + -del ..\..\..\..\..\temp\cmr\table_o.obj + -del ..\..\..\..\..\temp\cmr\table_p.obj + -del ..\..\..\..\..\temp\cmr\table_q.obj + -del ..\..\..\..\..\temp\cmr\table_r.obj + -del ..\..\..\..\..\temp\cmr\table_s.obj + -del ..\..\..\..\..\temp\cmr\table_t.obj + -del ..\..\..\..\..\temp\cmr\table_u.obj + -del ..\..\..\..\..\temp\cmr\table_v.obj + -del ..\..\..\..\..\temp\cmr\table_w.obj + -del ..\..\..\..\..\temp\cmr\table_x.obj + -del ..\..\..\..\..\temp\cmr\table_y.obj + -del ..\..\..\..\..\temp\cmr\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmr/*.pch + -del ../../../../../temp/cmr/*.idb + -del ../../../../../temp/cmr/ta_abstract/*.pch + -del ../../../../../temp/cmr/ta_abstract/*.idb + -del ../../../../../temp/cmr/ta_abstract/*.obj + +####### Compile + +..\..\..\..\..\temp\cmr\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cmr\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cmr\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\cmr\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\cmr\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\cmr\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cmr\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cmr\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cmr\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cmr\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cmr\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cmr\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cmr\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cmr\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cmr\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cmr\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cmr\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cmr\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cmr\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cmr\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cmr\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cmr\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cmr\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cmr\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cmr\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cmr\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cmr\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cmr\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cmr\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cmr\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cmr\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/cmr/win32/msvc/ta_common/Makefile b/vendor/ta-lib/make/cmr/win32/msvc/ta_common/Makefile new file mode 100644 index 000000000..c51a47886 --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/msvc/ta_common/Makefile @@ -0,0 +1,102 @@ +############################################################################# +# Makefile for building ta_common_cmr +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -MT -O2 -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +CXXFLAGS= -nologo -W3 -MT -O2 -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" +LIB = lib /NOLOGO +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c +OBJECTS = ..\..\..\..\..\temp\cmr\ta_global.obj \ + ..\..\..\..\..\temp\cmr\ta_retcode.obj \ + ..\..\..\..\..\temp\cmr\ta_version.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_common_cmr.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LIB) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) +<< + +moc: $(SRCMOC) + +tmake: ../cmr/win32/msvc/ta_common/Makefile + +../cmr/win32/msvc/ta_common/Makefile: ta_common/ta_common.pro + tmake ta_common/ta_common.pro -o ../cmr/win32/msvc/ta_common/Makefile + +dist: + $(ZIP) ta_common/ta_common.zip ta_common/ta_common.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\cmr\ta_global.obj + -del ..\..\..\..\..\temp\cmr\ta_retcode.obj + -del ..\..\..\..\..\temp\cmr\ta_version.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmr/*.pch + -del ../../../../../temp/cmr/*.idb + -del ../../../../../temp/cmr/ta_common_cmr/*.pch + -del ../../../../../temp/cmr/ta_common_cmr/*.idb + -del ../../../../../temp/cmr/ta_common_cmr/*.obj + +####### Compile + +..\..\..\..\..\temp\cmr\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\cmr\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\cmr\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + diff --git a/vendor/ta-lib/make/cmr/win32/msvc/ta_func/Makefile b/vendor/ta-lib/make/cmr/win32/msvc/ta_func/Makefile new file mode 100644 index 000000000..13fbb1175 --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/msvc/ta_func/Makefile @@ -0,0 +1,1038 @@ +############################################################################# +# Makefile for building ta_func_cmr +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -MT -O2 -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +CXXFLAGS= -nologo -W3 -MT -O2 -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"\n" -I"..\..\..\..\..\include" +LIB = lib /NOLOGO +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\cmr\ta_utility.obj \ + ..\..\..\..\..\temp\cmr\ta_ACOS.obj \ + ..\..\..\..\..\temp\cmr\ta_AD.obj \ + ..\..\..\..\..\temp\cmr\ta_ADD.obj \ + ..\..\..\..\..\temp\cmr\ta_ADOSC.obj \ + ..\..\..\..\..\temp\cmr\ta_ADX.obj \ + ..\..\..\..\..\temp\cmr\ta_ADXR.obj \ + ..\..\..\..\..\temp\cmr\ta_APO.obj \ + ..\..\..\..\..\temp\cmr\ta_AROON.obj \ + ..\..\..\..\..\temp\cmr\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\cmr\ta_ASIN.obj \ + ..\..\..\..\..\temp\cmr\ta_ATAN.obj \ + ..\..\..\..\..\temp\cmr\ta_ATR.obj \ + ..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_BBANDS.obj \ + ..\..\..\..\..\temp\cmr\ta_BETA.obj \ + ..\..\..\..\..\temp\cmr\ta_BOP.obj \ + ..\..\..\..\..\temp\cmr\ta_CCI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\cmr\ta_CEIL.obj \ + ..\..\..\..\..\temp\cmr\ta_CMO.obj \ + ..\..\..\..\..\temp\cmr\ta_CORREL.obj \ + ..\..\..\..\..\temp\cmr\ta_COS.obj \ + ..\..\..\..\..\temp\cmr\ta_COSH.obj \ + ..\..\..\..\..\temp\cmr\ta_DEMA.obj \ + ..\..\..\..\..\temp\cmr\ta_DIV.obj \ + ..\..\..\..\..\temp\cmr\ta_DX.obj \ + ..\..\..\..\..\temp\cmr\ta_EMA.obj \ + ..\..\..\..\..\temp\cmr\ta_EXP.obj \ + ..\..\..\..\..\temp\cmr\ta_FLOOR.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\cmr\ta_KAMA.obj \ + ..\..\..\..\..\temp\cmr\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\cmr\ta_LN.obj \ + ..\..\..\..\..\temp\cmr\ta_LOG10.obj \ + ..\..\..\..\..\temp\cmr\ta_MA.obj \ + ..\..\..\..\..\temp\cmr\ta_MACD.obj \ + ..\..\..\..\..\temp\cmr\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\cmr\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\cmr\ta_MAMA.obj \ + ..\..\..\..\..\temp\cmr\ta_MAVP.obj \ + ..\..\..\..\..\temp\cmr\ta_MAX.obj \ + ..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_MFI.obj \ + ..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_MIN.obj \ + ..\..\..\..\..\temp\cmr\ta_MININDEX.obj \ + ..\..\..\..\..\temp\cmr\ta_MINMAX.obj \ + ..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\cmr\ta_MOM.obj \ + ..\..\..\..\..\temp\cmr\ta_MULT.obj \ + ..\..\..\..\..\temp\cmr\ta_NATR.obj \ + ..\..\..\..\..\temp\cmr\ta_OBV.obj \ + ..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\cmr\ta_PPO.obj \ + ..\..\..\..\..\temp\cmr\ta_ROC.obj \ + ..\..\..\..\..\temp\cmr\ta_ROCP.obj \ + ..\..\..\..\..\temp\cmr\ta_ROCR.obj \ + ..\..\..\..\..\temp\cmr\ta_ROCR100.obj \ + ..\..\..\..\..\temp\cmr\ta_RSI.obj \ + ..\..\..\..\..\temp\cmr\ta_SAR.obj \ + ..\..\..\..\..\temp\cmr\ta_SAREXT.obj \ + ..\..\..\..\..\temp\cmr\ta_SIN.obj \ + ..\..\..\..\..\temp\cmr\ta_SINH.obj \ + ..\..\..\..\..\temp\cmr\ta_SMA.obj \ + ..\..\..\..\..\temp\cmr\ta_SQRT.obj \ + ..\..\..\..\..\temp\cmr\ta_STDDEV.obj \ + ..\..\..\..\..\temp\cmr\ta_STOCH.obj \ + ..\..\..\..\..\temp\cmr\ta_STOCHF.obj \ + ..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\cmr\ta_SUB.obj \ + ..\..\..\..\..\temp\cmr\ta_SUM.obj \ + ..\..\..\..\..\temp\cmr\ta_T3.obj \ + ..\..\..\..\..\temp\cmr\ta_TAN.obj \ + ..\..\..\..\..\temp\cmr\ta_TANH.obj \ + ..\..\..\..\..\temp\cmr\ta_TEMA.obj \ + ..\..\..\..\..\temp\cmr\ta_TRANGE.obj \ + ..\..\..\..\..\temp\cmr\ta_TRIMA.obj \ + ..\..\..\..\..\temp\cmr\ta_TRIX.obj \ + ..\..\..\..\..\temp\cmr\ta_TSF.obj \ + ..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\cmr\ta_VAR.obj \ + ..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_WILLR.obj \ + ..\..\..\..\..\temp\cmr\ta_WMA.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_func_cmr.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LIB) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) +<< + +moc: $(SRCMOC) + +tmake: ../cmr/win32/msvc/ta_func/Makefile + +../cmr/win32/msvc/ta_func/Makefile: ta_func/ta_func.pro + tmake ta_func/ta_func.pro -o ../cmr/win32/msvc/ta_func/Makefile + +dist: + $(ZIP) ta_func/ta_func.zip ta_func/ta_func.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\cmr\ta_utility.obj + -del ..\..\..\..\..\temp\cmr\ta_ACOS.obj + -del ..\..\..\..\..\temp\cmr\ta_AD.obj + -del ..\..\..\..\..\temp\cmr\ta_ADD.obj + -del ..\..\..\..\..\temp\cmr\ta_ADOSC.obj + -del ..\..\..\..\..\temp\cmr\ta_ADX.obj + -del ..\..\..\..\..\temp\cmr\ta_ADXR.obj + -del ..\..\..\..\..\temp\cmr\ta_APO.obj + -del ..\..\..\..\..\temp\cmr\ta_AROON.obj + -del ..\..\..\..\..\temp\cmr\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\cmr\ta_ASIN.obj + -del ..\..\..\..\..\temp\cmr\ta_ATAN.obj + -del ..\..\..\..\..\temp\cmr\ta_ATR.obj + -del ..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_BBANDS.obj + -del ..\..\..\..\..\temp\cmr\ta_BETA.obj + -del ..\..\..\..\..\temp\cmr\ta_BOP.obj + -del ..\..\..\..\..\temp\cmr\ta_CCI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\cmr\ta_CEIL.obj + -del ..\..\..\..\..\temp\cmr\ta_CMO.obj + -del ..\..\..\..\..\temp\cmr\ta_CORREL.obj + -del ..\..\..\..\..\temp\cmr\ta_COS.obj + -del ..\..\..\..\..\temp\cmr\ta_COSH.obj + -del ..\..\..\..\..\temp\cmr\ta_DEMA.obj + -del ..\..\..\..\..\temp\cmr\ta_DIV.obj + -del ..\..\..\..\..\temp\cmr\ta_DX.obj + -del ..\..\..\..\..\temp\cmr\ta_EMA.obj + -del ..\..\..\..\..\temp\cmr\ta_EXP.obj + -del ..\..\..\..\..\temp\cmr\ta_FLOOR.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\cmr\ta_KAMA.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\cmr\ta_LN.obj + -del ..\..\..\..\..\temp\cmr\ta_LOG10.obj + -del ..\..\..\..\..\temp\cmr\ta_MA.obj + -del ..\..\..\..\..\temp\cmr\ta_MACD.obj + -del ..\..\..\..\..\temp\cmr\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\cmr\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\cmr\ta_MAMA.obj + -del ..\..\..\..\..\temp\cmr\ta_MAVP.obj + -del ..\..\..\..\..\temp\cmr\ta_MAX.obj + -del ..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_MFI.obj + -del ..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_MIN.obj + -del ..\..\..\..\..\temp\cmr\ta_MININDEX.obj + -del ..\..\..\..\..\temp\cmr\ta_MINMAX.obj + -del ..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\cmr\ta_MOM.obj + -del ..\..\..\..\..\temp\cmr\ta_MULT.obj + -del ..\..\..\..\..\temp\cmr\ta_NATR.obj + -del ..\..\..\..\..\temp\cmr\ta_OBV.obj + -del ..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\cmr\ta_PPO.obj + -del ..\..\..\..\..\temp\cmr\ta_ROC.obj + -del ..\..\..\..\..\temp\cmr\ta_ROCP.obj + -del ..\..\..\..\..\temp\cmr\ta_ROCR.obj + -del ..\..\..\..\..\temp\cmr\ta_ROCR100.obj + -del ..\..\..\..\..\temp\cmr\ta_RSI.obj + -del ..\..\..\..\..\temp\cmr\ta_SAR.obj + -del ..\..\..\..\..\temp\cmr\ta_SAREXT.obj + -del ..\..\..\..\..\temp\cmr\ta_SIN.obj + -del ..\..\..\..\..\temp\cmr\ta_SINH.obj + -del ..\..\..\..\..\temp\cmr\ta_SMA.obj + -del ..\..\..\..\..\temp\cmr\ta_SQRT.obj + -del ..\..\..\..\..\temp\cmr\ta_STDDEV.obj + -del ..\..\..\..\..\temp\cmr\ta_STOCH.obj + -del ..\..\..\..\..\temp\cmr\ta_STOCHF.obj + -del ..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\cmr\ta_SUB.obj + -del ..\..\..\..\..\temp\cmr\ta_SUM.obj + -del ..\..\..\..\..\temp\cmr\ta_T3.obj + -del ..\..\..\..\..\temp\cmr\ta_TAN.obj + -del ..\..\..\..\..\temp\cmr\ta_TANH.obj + -del ..\..\..\..\..\temp\cmr\ta_TEMA.obj + -del ..\..\..\..\..\temp\cmr\ta_TRANGE.obj + -del ..\..\..\..\..\temp\cmr\ta_TRIMA.obj + -del ..\..\..\..\..\temp\cmr\ta_TRIX.obj + -del ..\..\..\..\..\temp\cmr\ta_TSF.obj + -del ..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\cmr\ta_VAR.obj + -del ..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_WILLR.obj + -del ..\..\..\..\..\temp\cmr\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmr/*.pch + -del ../../../../../temp/cmr/*.idb + -del ../../../../../temp/cmr/ta_func/*.pch + -del ../../../../../temp/cmr/ta_func/*.idb + -del ../../../../../temp/cmr/ta_func/*.obj + +####### Compile + +..\..\..\..\..\temp\cmr\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\cmr\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\cmr\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\cmr\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\cmr\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\cmr\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\cmr\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\cmr\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\cmr\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\cmr\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\cmr\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\cmr\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\cmr\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\cmr\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\cmr\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\cmr\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\cmr\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\cmr\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\cmr\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\cmr\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\cmr\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\cmr\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\cmr\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\cmr\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\cmr\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\cmr\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\cmr\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\cmr\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\cmr\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\cmr\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\cmr\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\cmr\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\cmr\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\cmr\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\cmr\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\cmr\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\cmr\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\cmr\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\cmr\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\cmr\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\cmr\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\cmr\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\cmr\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\cmr\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\cmr\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\cmr\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\cmr\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\cmr\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\cmr\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\cmr\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\cmr\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\cmr\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\cmr\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\cmr\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\cmr\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\cmr\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\cmr\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\cmr\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\cmr\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\cmr\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\cmr\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\cmr\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\cmr\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\cmr\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\cmr\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\cmr\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\cmr\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\cmr\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\cmr\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\cmr\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\cmr\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\cmr\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\cmr\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\cmr\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\cmr\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\cmr\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/cmr/win32/msvc/ta_libc/Makefile b/vendor/ta-lib/make/cmr/win32/msvc/ta_libc/Makefile new file mode 100644 index 000000000..09d07a78d --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/msvc/ta_libc/Makefile @@ -0,0 +1,1237 @@ +############################################################################# +# Makefile for building ta_libc_cmr +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -MT -O2 -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT -DNO_DEBUG +CXXFLAGS= -nologo -W3 -MT -O2 -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT -DNO_DEBUG +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"$(QTDIR)\include" +LIB = lib /NOLOGO +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c \ + ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\cmr\ta_global.obj \ + ..\..\..\..\..\temp\cmr\ta_retcode.obj \ + ..\..\..\..\..\temp\cmr\ta_version.obj \ + ..\..\..\..\..\temp\cmr\ta_abstract.obj \ + ..\..\..\..\..\temp\cmr\ta_def_ui.obj \ + ..\..\..\..\..\temp\cmr\ta_func_api.obj \ + ..\..\..\..\..\temp\cmr\ta_group_idx.obj \ + ..\..\..\..\..\temp\cmr\ta_frame.obj \ + ..\..\..\..\..\temp\cmr\table_a.obj \ + ..\..\..\..\..\temp\cmr\table_b.obj \ + ..\..\..\..\..\temp\cmr\table_c.obj \ + ..\..\..\..\..\temp\cmr\table_d.obj \ + ..\..\..\..\..\temp\cmr\table_e.obj \ + ..\..\..\..\..\temp\cmr\table_f.obj \ + ..\..\..\..\..\temp\cmr\table_g.obj \ + ..\..\..\..\..\temp\cmr\table_h.obj \ + ..\..\..\..\..\temp\cmr\table_i.obj \ + ..\..\..\..\..\temp\cmr\table_j.obj \ + ..\..\..\..\..\temp\cmr\table_k.obj \ + ..\..\..\..\..\temp\cmr\table_l.obj \ + ..\..\..\..\..\temp\cmr\table_m.obj \ + ..\..\..\..\..\temp\cmr\table_n.obj \ + ..\..\..\..\..\temp\cmr\table_o.obj \ + ..\..\..\..\..\temp\cmr\table_p.obj \ + ..\..\..\..\..\temp\cmr\table_q.obj \ + ..\..\..\..\..\temp\cmr\table_r.obj \ + ..\..\..\..\..\temp\cmr\table_s.obj \ + ..\..\..\..\..\temp\cmr\table_t.obj \ + ..\..\..\..\..\temp\cmr\table_u.obj \ + ..\..\..\..\..\temp\cmr\table_v.obj \ + ..\..\..\..\..\temp\cmr\table_w.obj \ + ..\..\..\..\..\temp\cmr\table_x.obj \ + ..\..\..\..\..\temp\cmr\table_y.obj \ + ..\..\..\..\..\temp\cmr\table_z.obj \ + ..\..\..\..\..\temp\cmr\ta_utility.obj \ + ..\..\..\..\..\temp\cmr\ta_ACOS.obj \ + ..\..\..\..\..\temp\cmr\ta_AD.obj \ + ..\..\..\..\..\temp\cmr\ta_ADD.obj \ + ..\..\..\..\..\temp\cmr\ta_ADOSC.obj \ + ..\..\..\..\..\temp\cmr\ta_ADX.obj \ + ..\..\..\..\..\temp\cmr\ta_ADXR.obj \ + ..\..\..\..\..\temp\cmr\ta_APO.obj \ + ..\..\..\..\..\temp\cmr\ta_AROON.obj \ + ..\..\..\..\..\temp\cmr\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\cmr\ta_ASIN.obj \ + ..\..\..\..\..\temp\cmr\ta_ATAN.obj \ + ..\..\..\..\..\temp\cmr\ta_ATR.obj \ + ..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_BBANDS.obj \ + ..\..\..\..\..\temp\cmr\ta_BETA.obj \ + ..\..\..\..\..\temp\cmr\ta_BOP.obj \ + ..\..\..\..\..\temp\cmr\ta_CCI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\cmr\ta_CEIL.obj \ + ..\..\..\..\..\temp\cmr\ta_CMO.obj \ + ..\..\..\..\..\temp\cmr\ta_CORREL.obj \ + ..\..\..\..\..\temp\cmr\ta_COS.obj \ + ..\..\..\..\..\temp\cmr\ta_COSH.obj \ + ..\..\..\..\..\temp\cmr\ta_DEMA.obj \ + ..\..\..\..\..\temp\cmr\ta_DIV.obj \ + ..\..\..\..\..\temp\cmr\ta_DX.obj \ + ..\..\..\..\..\temp\cmr\ta_EMA.obj \ + ..\..\..\..\..\temp\cmr\ta_EXP.obj \ + ..\..\..\..\..\temp\cmr\ta_FLOOR.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\cmr\ta_KAMA.obj \ + ..\..\..\..\..\temp\cmr\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\cmr\ta_LN.obj \ + ..\..\..\..\..\temp\cmr\ta_LOG10.obj \ + ..\..\..\..\..\temp\cmr\ta_MA.obj \ + ..\..\..\..\..\temp\cmr\ta_MACD.obj \ + ..\..\..\..\..\temp\cmr\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\cmr\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\cmr\ta_MAMA.obj \ + ..\..\..\..\..\temp\cmr\ta_MAVP.obj \ + ..\..\..\..\..\temp\cmr\ta_MAX.obj \ + ..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_MFI.obj \ + ..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_MIN.obj \ + ..\..\..\..\..\temp\cmr\ta_MININDEX.obj \ + ..\..\..\..\..\temp\cmr\ta_MINMAX.obj \ + ..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\cmr\ta_MOM.obj \ + ..\..\..\..\..\temp\cmr\ta_MULT.obj \ + ..\..\..\..\..\temp\cmr\ta_NATR.obj \ + ..\..\..\..\..\temp\cmr\ta_OBV.obj \ + ..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\cmr\ta_PPO.obj \ + ..\..\..\..\..\temp\cmr\ta_ROC.obj \ + ..\..\..\..\..\temp\cmr\ta_ROCP.obj \ + ..\..\..\..\..\temp\cmr\ta_ROCR.obj \ + ..\..\..\..\..\temp\cmr\ta_ROCR100.obj \ + ..\..\..\..\..\temp\cmr\ta_RSI.obj \ + ..\..\..\..\..\temp\cmr\ta_SAR.obj \ + ..\..\..\..\..\temp\cmr\ta_SAREXT.obj \ + ..\..\..\..\..\temp\cmr\ta_SIN.obj \ + ..\..\..\..\..\temp\cmr\ta_SINH.obj \ + ..\..\..\..\..\temp\cmr\ta_SMA.obj \ + ..\..\..\..\..\temp\cmr\ta_SQRT.obj \ + ..\..\..\..\..\temp\cmr\ta_STDDEV.obj \ + ..\..\..\..\..\temp\cmr\ta_STOCH.obj \ + ..\..\..\..\..\temp\cmr\ta_STOCHF.obj \ + ..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\cmr\ta_SUB.obj \ + ..\..\..\..\..\temp\cmr\ta_SUM.obj \ + ..\..\..\..\..\temp\cmr\ta_T3.obj \ + ..\..\..\..\..\temp\cmr\ta_TAN.obj \ + ..\..\..\..\..\temp\cmr\ta_TANH.obj \ + ..\..\..\..\..\temp\cmr\ta_TEMA.obj \ + ..\..\..\..\..\temp\cmr\ta_TRANGE.obj \ + ..\..\..\..\..\temp\cmr\ta_TRIMA.obj \ + ..\..\..\..\..\temp\cmr\ta_TRIX.obj \ + ..\..\..\..\..\temp\cmr\ta_TSF.obj \ + ..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\cmr\ta_VAR.obj \ + ..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_WILLR.obj \ + ..\..\..\..\..\temp\cmr\ta_WMA.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_libc_cmr.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LIB) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) +<< + +moc: $(SRCMOC) + +tmake: ../cmr/win32/msvc/ta_libc/Makefile + +../cmr/win32/msvc/ta_libc/Makefile: ta_libc/ta_libc.pro + tmake ta_libc/ta_libc.pro -o ../cmr/win32/msvc/ta_libc/Makefile + +dist: + $(ZIP) ta_libc/ta_libc.zip ta_libc/ta_libc.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\cmr\ta_global.obj + -del ..\..\..\..\..\temp\cmr\ta_retcode.obj + -del ..\..\..\..\..\temp\cmr\ta_version.obj + -del ..\..\..\..\..\temp\cmr\ta_abstract.obj + -del ..\..\..\..\..\temp\cmr\ta_def_ui.obj + -del ..\..\..\..\..\temp\cmr\ta_func_api.obj + -del ..\..\..\..\..\temp\cmr\ta_group_idx.obj + -del ..\..\..\..\..\temp\cmr\ta_frame.obj + -del ..\..\..\..\..\temp\cmr\table_a.obj + -del ..\..\..\..\..\temp\cmr\table_b.obj + -del ..\..\..\..\..\temp\cmr\table_c.obj + -del ..\..\..\..\..\temp\cmr\table_d.obj + -del ..\..\..\..\..\temp\cmr\table_e.obj + -del ..\..\..\..\..\temp\cmr\table_f.obj + -del ..\..\..\..\..\temp\cmr\table_g.obj + -del ..\..\..\..\..\temp\cmr\table_h.obj + -del ..\..\..\..\..\temp\cmr\table_i.obj + -del ..\..\..\..\..\temp\cmr\table_j.obj + -del ..\..\..\..\..\temp\cmr\table_k.obj + -del ..\..\..\..\..\temp\cmr\table_l.obj + -del ..\..\..\..\..\temp\cmr\table_m.obj + -del ..\..\..\..\..\temp\cmr\table_n.obj + -del ..\..\..\..\..\temp\cmr\table_o.obj + -del ..\..\..\..\..\temp\cmr\table_p.obj + -del ..\..\..\..\..\temp\cmr\table_q.obj + -del ..\..\..\..\..\temp\cmr\table_r.obj + -del ..\..\..\..\..\temp\cmr\table_s.obj + -del ..\..\..\..\..\temp\cmr\table_t.obj + -del ..\..\..\..\..\temp\cmr\table_u.obj + -del ..\..\..\..\..\temp\cmr\table_v.obj + -del ..\..\..\..\..\temp\cmr\table_w.obj + -del ..\..\..\..\..\temp\cmr\table_x.obj + -del ..\..\..\..\..\temp\cmr\table_y.obj + -del ..\..\..\..\..\temp\cmr\table_z.obj + -del ..\..\..\..\..\temp\cmr\ta_utility.obj + -del ..\..\..\..\..\temp\cmr\ta_ACOS.obj + -del ..\..\..\..\..\temp\cmr\ta_AD.obj + -del ..\..\..\..\..\temp\cmr\ta_ADD.obj + -del ..\..\..\..\..\temp\cmr\ta_ADOSC.obj + -del ..\..\..\..\..\temp\cmr\ta_ADX.obj + -del ..\..\..\..\..\temp\cmr\ta_ADXR.obj + -del ..\..\..\..\..\temp\cmr\ta_APO.obj + -del ..\..\..\..\..\temp\cmr\ta_AROON.obj + -del ..\..\..\..\..\temp\cmr\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\cmr\ta_ASIN.obj + -del ..\..\..\..\..\temp\cmr\ta_ATAN.obj + -del ..\..\..\..\..\temp\cmr\ta_ATR.obj + -del ..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_BBANDS.obj + -del ..\..\..\..\..\temp\cmr\ta_BETA.obj + -del ..\..\..\..\..\temp\cmr\ta_BOP.obj + -del ..\..\..\..\..\temp\cmr\ta_CCI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\cmr\ta_CEIL.obj + -del ..\..\..\..\..\temp\cmr\ta_CMO.obj + -del ..\..\..\..\..\temp\cmr\ta_CORREL.obj + -del ..\..\..\..\..\temp\cmr\ta_COS.obj + -del ..\..\..\..\..\temp\cmr\ta_COSH.obj + -del ..\..\..\..\..\temp\cmr\ta_DEMA.obj + -del ..\..\..\..\..\temp\cmr\ta_DIV.obj + -del ..\..\..\..\..\temp\cmr\ta_DX.obj + -del ..\..\..\..\..\temp\cmr\ta_EMA.obj + -del ..\..\..\..\..\temp\cmr\ta_EXP.obj + -del ..\..\..\..\..\temp\cmr\ta_FLOOR.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\cmr\ta_KAMA.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\cmr\ta_LN.obj + -del ..\..\..\..\..\temp\cmr\ta_LOG10.obj + -del ..\..\..\..\..\temp\cmr\ta_MA.obj + -del ..\..\..\..\..\temp\cmr\ta_MACD.obj + -del ..\..\..\..\..\temp\cmr\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\cmr\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\cmr\ta_MAMA.obj + -del ..\..\..\..\..\temp\cmr\ta_MAVP.obj + -del ..\..\..\..\..\temp\cmr\ta_MAX.obj + -del ..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_MFI.obj + -del ..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_MIN.obj + -del ..\..\..\..\..\temp\cmr\ta_MININDEX.obj + -del ..\..\..\..\..\temp\cmr\ta_MINMAX.obj + -del ..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\cmr\ta_MOM.obj + -del ..\..\..\..\..\temp\cmr\ta_MULT.obj + -del ..\..\..\..\..\temp\cmr\ta_NATR.obj + -del ..\..\..\..\..\temp\cmr\ta_OBV.obj + -del ..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\cmr\ta_PPO.obj + -del ..\..\..\..\..\temp\cmr\ta_ROC.obj + -del ..\..\..\..\..\temp\cmr\ta_ROCP.obj + -del ..\..\..\..\..\temp\cmr\ta_ROCR.obj + -del ..\..\..\..\..\temp\cmr\ta_ROCR100.obj + -del ..\..\..\..\..\temp\cmr\ta_RSI.obj + -del ..\..\..\..\..\temp\cmr\ta_SAR.obj + -del ..\..\..\..\..\temp\cmr\ta_SAREXT.obj + -del ..\..\..\..\..\temp\cmr\ta_SIN.obj + -del ..\..\..\..\..\temp\cmr\ta_SINH.obj + -del ..\..\..\..\..\temp\cmr\ta_SMA.obj + -del ..\..\..\..\..\temp\cmr\ta_SQRT.obj + -del ..\..\..\..\..\temp\cmr\ta_STDDEV.obj + -del ..\..\..\..\..\temp\cmr\ta_STOCH.obj + -del ..\..\..\..\..\temp\cmr\ta_STOCHF.obj + -del ..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\cmr\ta_SUB.obj + -del ..\..\..\..\..\temp\cmr\ta_SUM.obj + -del ..\..\..\..\..\temp\cmr\ta_T3.obj + -del ..\..\..\..\..\temp\cmr\ta_TAN.obj + -del ..\..\..\..\..\temp\cmr\ta_TANH.obj + -del ..\..\..\..\..\temp\cmr\ta_TEMA.obj + -del ..\..\..\..\..\temp\cmr\ta_TRANGE.obj + -del ..\..\..\..\..\temp\cmr\ta_TRIMA.obj + -del ..\..\..\..\..\temp\cmr\ta_TRIX.obj + -del ..\..\..\..\..\temp\cmr\ta_TSF.obj + -del ..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\cmr\ta_VAR.obj + -del ..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_WILLR.obj + -del ..\..\..\..\..\temp\cmr\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + +####### Compile + +..\..\..\..\..\temp\cmr\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\cmr\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\cmr\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + +..\..\..\..\..\temp\cmr\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cmr\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cmr\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\cmr\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\cmr\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\cmr\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cmr\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cmr\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cmr\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cmr\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cmr\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cmr\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cmr\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cmr\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cmr\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cmr\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cmr\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cmr\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cmr\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cmr\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cmr\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cmr\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cmr\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cmr\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cmr\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cmr\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cmr\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cmr\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cmr\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cmr\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cmr\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + +..\..\..\..\..\temp\cmr\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\cmr\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\cmr\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\cmr\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\cmr\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\cmr\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\cmr\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\cmr\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\cmr\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\cmr\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\cmr\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\cmr\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\cmr\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\cmr\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\cmr\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\cmr\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\cmr\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\cmr\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\cmr\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\cmr\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\cmr\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\cmr\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\cmr\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\cmr\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\cmr\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\cmr\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\cmr\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\cmr\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\cmr\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\cmr\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\cmr\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\cmr\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\cmr\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\cmr\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\cmr\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\cmr\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\cmr\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\cmr\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\cmr\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\cmr\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\cmr\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\cmr\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\cmr\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\cmr\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\cmr\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\cmr\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\cmr\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\cmr\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\cmr\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\cmr\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\cmr\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\cmr\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\cmr\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\cmr\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\cmr\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\cmr\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\cmr\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\cmr\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\cmr\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\cmr\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\cmr\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\cmr\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\cmr\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\cmr\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\cmr\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\cmr\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\cmr\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\cmr\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\cmr\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\cmr\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\cmr\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\cmr\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\cmr\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\cmr\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\cmr\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\cmr\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/cmr/win32/msvc/ta_regtest/Makefile b/vendor/ta-lib/make/cmr/win32/msvc/ta_regtest/Makefile new file mode 100644 index 000000000..4ec443d17 --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/msvc/ta_regtest/Makefile @@ -0,0 +1,236 @@ +############################################################################# +# Makefile for building ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -MT -O2 -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +CXXFLAGS= -nologo -W3 -MT -O2 -DWIN32 -D_MBCS -D_LIB -DQT_THREAD_SUPPORT +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\tools\ta_regtest" -I"..\..\..\..\..\src\ta_func" -I"..\..\..\..\..\include" +LINK = link +LFLAGS = /NOLOGO /SUBSYSTEM:console +LIBS = ..\..\..\..\..\lib\ta_libc_cmr.lib +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_internals.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_util.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_data.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c +OBJECTS = ..\..\..\..\..\temp\cmr\ta_regtest.obj \ + ..\..\..\..\..\temp\cmr\test_candlestick.obj \ + ..\..\..\..\..\temp\cmr\test_1in_1out.obj \ + ..\..\..\..\..\temp\cmr\test_1in_2out.obj \ + ..\..\..\..\..\temp\cmr\test_internals.obj \ + ..\..\..\..\..\temp\cmr\test_adx.obj \ + ..\..\..\..\..\temp\cmr\test_bbands.obj \ + ..\..\..\..\..\temp\cmr\test_ma.obj \ + ..\..\..\..\..\temp\cmr\test_macd.obj \ + ..\..\..\..\..\temp\cmr\test_minmax.obj \ + ..\..\..\..\..\temp\cmr\test_mom.obj \ + ..\..\..\..\..\temp\cmr\test_per_ema.obj \ + ..\..\..\..\..\temp\cmr\test_per_hl.obj \ + ..\..\..\..\..\temp\cmr\test_per_hlc.obj \ + ..\..\..\..\..\temp\cmr\test_per_hlcv.obj \ + ..\..\..\..\..\temp\cmr\test_per_ohlc.obj \ + ..\..\..\..\..\temp\cmr\test_po.obj \ + ..\..\..\..\..\temp\cmr\test_rsi.obj \ + ..\..\..\..\..\temp\cmr\test_sar.obj \ + ..\..\..\..\..\temp\cmr\test_stddev.obj \ + ..\..\..\..\..\temp\cmr\test_stoch.obj \ + ..\..\..\..\..\temp\cmr\test_trange.obj \ + ..\..\..\..\..\temp\cmr\test_util.obj \ + ..\..\..\..\..\temp\cmr\test_data.obj \ + ..\..\..\..\..\temp\cmr\test_abstract.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\ta_regtest.exe +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) $(LIBS) +<< + +moc: $(SRCMOC) + +tmake: ../cmr/win32/msvc/ta_regtest/Makefile + +../cmr/win32/msvc/ta_regtest/Makefile: ta_regtest/ta_regtest.pro + tmake ta_regtest/ta_regtest.pro -o ../cmr/win32/msvc/ta_regtest/Makefile + +dist: + $(ZIP) ta_regtest/ta_regtest.zip ta_regtest/ta_regtest.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\cmr\ta_regtest.obj + -del ..\..\..\..\..\temp\cmr\test_candlestick.obj + -del ..\..\..\..\..\temp\cmr\test_1in_1out.obj + -del ..\..\..\..\..\temp\cmr\test_1in_2out.obj + -del ..\..\..\..\..\temp\cmr\test_internals.obj + -del ..\..\..\..\..\temp\cmr\test_adx.obj + -del ..\..\..\..\..\temp\cmr\test_bbands.obj + -del ..\..\..\..\..\temp\cmr\test_ma.obj + -del ..\..\..\..\..\temp\cmr\test_macd.obj + -del ..\..\..\..\..\temp\cmr\test_minmax.obj + -del ..\..\..\..\..\temp\cmr\test_mom.obj + -del ..\..\..\..\..\temp\cmr\test_per_ema.obj + -del ..\..\..\..\..\temp\cmr\test_per_hl.obj + -del ..\..\..\..\..\temp\cmr\test_per_hlc.obj + -del ..\..\..\..\..\temp\cmr\test_per_hlcv.obj + -del ..\..\..\..\..\temp\cmr\test_per_ohlc.obj + -del ..\..\..\..\..\temp\cmr\test_po.obj + -del ..\..\..\..\..\temp\cmr\test_rsi.obj + -del ..\..\..\..\..\temp\cmr\test_sar.obj + -del ..\..\..\..\..\temp\cmr\test_stddev.obj + -del ..\..\..\..\..\temp\cmr\test_stoch.obj + -del ..\..\..\..\..\temp\cmr\test_trange.obj + -del ..\..\..\..\..\temp\cmr\test_util.obj + -del ..\..\..\..\..\temp\cmr\test_data.obj + -del ..\..\..\..\..\temp\cmr\test_abstract.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmr/*.pch + -del ../../../../../temp/cmr/*.idb + -del ../../../../../temp/cmr/ta_regtest/*.pch + -del ../../../../../temp/cmr/ta_regtest/*.idb + -del ../../../../../temp/cmr/ta_regtest/*.obj + +####### Compile + +..\..\..\..\..\temp\cmr\ta_regtest.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\ta_regtest.obj ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + +..\..\..\..\..\temp\cmr\test_candlestick.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\test_candlestick.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + +..\..\..\..\..\temp\cmr\test_1in_1out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\test_1in_1out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + +..\..\..\..\..\temp\cmr\test_1in_2out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\test_1in_2out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + +..\..\..\..\..\temp\cmr\test_internals.obj: ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\test_internals.obj ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + +..\..\..\..\..\temp\cmr\test_adx.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\test_adx.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + +..\..\..\..\..\temp\cmr\test_bbands.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\test_bbands.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + +..\..\..\..\..\temp\cmr\test_ma.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\test_ma.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + +..\..\..\..\..\temp\cmr\test_macd.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\test_macd.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + +..\..\..\..\..\temp\cmr\test_minmax.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\test_minmax.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + +..\..\..\..\..\temp\cmr\test_mom.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\test_mom.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + +..\..\..\..\..\temp\cmr\test_per_ema.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\test_per_ema.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + +..\..\..\..\..\temp\cmr\test_per_hl.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\test_per_hl.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + +..\..\..\..\..\temp\cmr\test_per_hlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\test_per_hlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + +..\..\..\..\..\temp\cmr\test_per_hlcv.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\test_per_hlcv.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + +..\..\..\..\..\temp\cmr\test_per_ohlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\test_per_ohlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + +..\..\..\..\..\temp\cmr\test_po.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\test_po.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + +..\..\..\..\..\temp\cmr\test_rsi.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\test_rsi.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + +..\..\..\..\..\temp\cmr\test_sar.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\test_sar.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + +..\..\..\..\..\temp\cmr\test_stddev.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\test_stddev.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + +..\..\..\..\..\temp\cmr\test_stoch.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\test_stoch.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + +..\..\..\..\..\temp\cmr\test_trange.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\test_trange.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + +..\..\..\..\..\temp\cmr\test_util.obj: ..\..\..\..\..\src\tools\ta_regtest\test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\test_util.obj ..\..\..\..\..\src\tools\ta_regtest\test_util.c + +..\..\..\..\..\temp\cmr\test_data.obj: ..\..\..\..\..\src\tools\ta_regtest\test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\test_data.obj ..\..\..\..\..\src\tools\ta_regtest\test_data.c + +..\..\..\..\..\temp\cmr\test_abstract.obj: ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\cmr\test_abstract.obj ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + diff --git a/vendor/ta-lib/make/cmr/win32/symantec/Makefile b/vendor/ta-lib/make/cmr/win32/symantec/Makefile new file mode 100644 index 000000000..e66c217dc --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/symantec/Makefile @@ -0,0 +1,97 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +ta_common: FORCE + cd ta_common + $(MAKE) + @cd .. + +ta_func: FORCE + cd ta_func + $(MAKE) + @cd .. + +ta_abstract: FORCE + cd ta_abstract + $(MAKE) + @cd .. + +ta_libc: FORCE + cd ta_libc + $(MAKE) + @cd .. + +gen_code: FORCE + cd gen_code + $(MAKE) + @cd .. + +ta_regtest: FORCE + cd ta_regtest + $(MAKE) + @cd .. + + +tmake: ../cmr/win32/symantec/Makefile + +../cmr/win32/symantec/Makefile: rootmake.pro + tmake rootmake.pro -o ../cmr/win32/symantec/Makefile + +tmake_all: + cd ta_common + $(TMAKE) ta_common.pro -o $(MAKEFILE) + @cd .. + cd ta_func + $(TMAKE) ta_func.pro -o $(MAKEFILE) + @cd .. + cd ta_abstract + $(TMAKE) ta_abstract.pro -o $(MAKEFILE) + @cd .. + cd ta_libc + $(TMAKE) ta_libc.pro -o $(MAKEFILE) + @cd .. + cd gen_code + $(TMAKE) gen_code.pro -o $(MAKEFILE) + @cd .. + cd ta_regtest + $(TMAKE) ta_regtest.pro -o $(MAKEFILE) + @cd .. + + +clean: + cd ta_common + $(MAKE) clean + @cd .. + cd ta_func + $(MAKE) clean + @cd .. + cd ta_abstract + $(MAKE) clean + @cd .. + cd ta_libc + $(MAKE) clean + @cd .. + cd gen_code + $(MAKE) clean + @cd .. + cd ta_regtest + $(MAKE) clean + @cd .. + +FORCE: diff --git a/vendor/ta-lib/make/cmr/win32/symantec/gen_code/Makefile b/vendor/ta-lib/make/cmr/win32/symantec/gen_code/Makefile new file mode 100644 index 000000000..94c48713d --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/symantec/gen_code/Makefile @@ -0,0 +1,253 @@ +############################################################################# +# Makefile for building gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = sc +CXX = sc +CFLAGS = -mn -w2 -o -DTA_GEN_CODE -DWIN32 +CXXFLAGS= -mn -w2 -o -DTA_GEN_CODE -DWIN32 +INCPATH = -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" +LINK = link +LFLAGS = /NOLOGO /NOI /SUBSYSTEM:console +LIBS = ..\..\..\..\..\lib\ta_common_cmr.lib +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\gen_code\gen_code.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\cmr\gen_code\gen_code.obj \ + ..\..\..\..\..\temp\cmr\gen_code\ta_abstract.obj \ + ..\..\..\..\..\temp\cmr\gen_code\ta_def_ui.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_a.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_b.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_c.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_d.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_e.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_f.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_g.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_h.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_i.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_j.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_k.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_l.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_m.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_n.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_o.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_p.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_q.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_r.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_s.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_t.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_u.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_v.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_w.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_x.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_y.obj \ + ..\..\..\..\..\temp\cmr\gen_code\table_z.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\gen_code.exe + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) $(OBJECTS) $(OBJMOC), $(TARGET),, $(LIBS) + +moc: $(SRCMOC) + +tmake: ../cmr/win32/symantec/gen_code/Makefile + +../cmr/win32/symantec/gen_code/Makefile: gen_code/gen_code.pro + tmake gen_code/gen_code.pro -o ../cmr/win32/symantec/gen_code/Makefile + +dist: + $(ZIP) gen_code/gen_code.zip gen_code/gen_code.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmr\gen_code\gen_code.obj + -del ..\..\..\..\..\temp\cmr\gen_code\ta_abstract.obj + -del ..\..\..\..\..\temp\cmr\gen_code\ta_def_ui.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_a.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_b.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_c.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_d.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_e.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_f.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_g.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_h.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_i.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_j.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_k.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_l.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_m.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_n.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_o.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_p.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_q.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_r.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_s.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_t.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_u.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_v.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_w.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_x.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_y.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmr/*.pch + -del ../../../../../temp/cmr/*.idb + -del ../../../../../temp/cmr/gen_code/*.pch + -del ../../../../../temp/cmr/gen_code/*.idb + -del ../../../../../temp/cmr/gen_code/*.obj + +####### Compile + +..\..\..\..\..\temp\cmr\gen_code\gen_code.obj: ..\..\..\..\..\src\tools\gen_code\gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\gen_code.obj ..\..\..\..\..\src\tools\gen_code\gen_code.c + +..\..\..\..\..\temp\cmr\gen_code\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cmr\gen_code\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cmr\gen_code\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cmr\gen_code\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cmr\gen_code\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cmr\gen_code\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cmr\gen_code\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cmr\gen_code\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cmr\gen_code\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cmr\gen_code\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cmr\gen_code\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cmr\gen_code\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cmr\gen_code\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cmr\gen_code\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cmr\gen_code\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cmr\gen_code\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cmr\gen_code\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cmr\gen_code\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cmr\gen_code\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cmr\gen_code\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cmr\gen_code\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cmr\gen_code\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cmr\gen_code\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cmr\gen_code\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cmr\gen_code\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cmr\gen_code\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cmr\gen_code\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cmr\gen_code\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\gen_code\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/cmr/win32/symantec/ta_abstract/Makefile b/vendor/ta-lib/make/cmr/win32/symantec/ta_abstract/Makefile new file mode 100644 index 000000000..f5f5692aa --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/symantec/ta_abstract/Makefile @@ -0,0 +1,295 @@ +############################################################################# +# Makefile for building ta_abstract_cmr +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = sc +CXX = sc +CFLAGS = -mn -w2 -o -DWIN32 +CXXFLAGS= -mn -w2 -o -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"..\..\..\..\..\include" +LIB = lib /C /N /NOI /P:32 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\cmr\ta_abstract.obj \ + ..\..\..\..\..\temp\cmr\ta_def_ui.obj \ + ..\..\..\..\..\temp\cmr\ta_func_api.obj \ + ..\..\..\..\..\temp\cmr\ta_group_idx.obj \ + ..\..\..\..\..\temp\cmr\ta_frame.obj \ + ..\..\..\..\..\temp\cmr\table_a.obj \ + ..\..\..\..\..\temp\cmr\table_b.obj \ + ..\..\..\..\..\temp\cmr\table_c.obj \ + ..\..\..\..\..\temp\cmr\table_d.obj \ + ..\..\..\..\..\temp\cmr\table_e.obj \ + ..\..\..\..\..\temp\cmr\table_f.obj \ + ..\..\..\..\..\temp\cmr\table_g.obj \ + ..\..\..\..\..\temp\cmr\table_h.obj \ + ..\..\..\..\..\temp\cmr\table_i.obj \ + ..\..\..\..\..\temp\cmr\table_j.obj \ + ..\..\..\..\..\temp\cmr\table_k.obj \ + ..\..\..\..\..\temp\cmr\table_l.obj \ + ..\..\..\..\..\temp\cmr\table_m.obj \ + ..\..\..\..\..\temp\cmr\table_n.obj \ + ..\..\..\..\..\temp\cmr\table_o.obj \ + ..\..\..\..\..\temp\cmr\table_p.obj \ + ..\..\..\..\..\temp\cmr\table_q.obj \ + ..\..\..\..\..\temp\cmr\table_r.obj \ + ..\..\..\..\..\temp\cmr\table_s.obj \ + ..\..\..\..\..\temp\cmr\table_t.obj \ + ..\..\..\..\..\temp\cmr\table_u.obj \ + ..\..\..\..\..\temp\cmr\table_v.obj \ + ..\..\..\..\..\temp\cmr\table_w.obj \ + ..\..\..\..\..\temp\cmr\table_x.obj \ + ..\..\..\..\..\temp\cmr\table_y.obj \ + ..\..\..\..\..\temp\cmr\table_z.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_abstract_cmr.lib + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) ..\..\..\..\..\temp\cmr\ta_abstract.obj \ ++..\..\..\..\..\temp\cmr\ta_def_ui.obj \ ++..\..\..\..\..\temp\cmr\ta_func_api.obj \ ++..\..\..\..\..\temp\cmr\ta_group_idx.obj \ ++..\..\..\..\..\temp\cmr\ta_frame.obj \ ++..\..\..\..\..\temp\cmr\table_a.obj \ ++..\..\..\..\..\temp\cmr\table_b.obj \ ++..\..\..\..\..\temp\cmr\table_c.obj \ ++..\..\..\..\..\temp\cmr\table_d.obj \ ++..\..\..\..\..\temp\cmr\table_e.obj \ ++..\..\..\..\..\temp\cmr\table_f.obj \ ++..\..\..\..\..\temp\cmr\table_g.obj \ ++..\..\..\..\..\temp\cmr\table_h.obj \ ++..\..\..\..\..\temp\cmr\table_i.obj \ ++..\..\..\..\..\temp\cmr\table_j.obj \ ++..\..\..\..\..\temp\cmr\table_k.obj \ ++..\..\..\..\..\temp\cmr\table_l.obj \ ++..\..\..\..\..\temp\cmr\table_m.obj \ ++..\..\..\..\..\temp\cmr\table_n.obj \ ++..\..\..\..\..\temp\cmr\table_o.obj \ ++..\..\..\..\..\temp\cmr\table_p.obj \ ++..\..\..\..\..\temp\cmr\table_q.obj \ ++..\..\..\..\..\temp\cmr\table_r.obj \ ++..\..\..\..\..\temp\cmr\table_s.obj \ ++..\..\..\..\..\temp\cmr\table_t.obj \ ++..\..\..\..\..\temp\cmr\table_u.obj \ ++..\..\..\..\..\temp\cmr\table_v.obj \ ++..\..\..\..\..\temp\cmr\table_w.obj \ ++..\..\..\..\..\temp\cmr\table_x.obj \ ++..\..\..\..\..\temp\cmr\table_y.obj \ ++..\..\..\..\..\temp\cmr\table_z.obj \ ++,; + +moc: $(SRCMOC) + +tmake: ../cmr/win32/symantec/ta_abstract/Makefile + +../cmr/win32/symantec/ta_abstract/Makefile: ta_abstract/ta_abstract.pro + tmake ta_abstract/ta_abstract.pro -o ../cmr/win32/symantec/ta_abstract/Makefile + +dist: + $(ZIP) ta_abstract/ta_abstract.zip ta_abstract/ta_abstract.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmr\ta_abstract.obj + -del ..\..\..\..\..\temp\cmr\ta_def_ui.obj + -del ..\..\..\..\..\temp\cmr\ta_func_api.obj + -del ..\..\..\..\..\temp\cmr\ta_group_idx.obj + -del ..\..\..\..\..\temp\cmr\ta_frame.obj + -del ..\..\..\..\..\temp\cmr\table_a.obj + -del ..\..\..\..\..\temp\cmr\table_b.obj + -del ..\..\..\..\..\temp\cmr\table_c.obj + -del ..\..\..\..\..\temp\cmr\table_d.obj + -del ..\..\..\..\..\temp\cmr\table_e.obj + -del ..\..\..\..\..\temp\cmr\table_f.obj + -del ..\..\..\..\..\temp\cmr\table_g.obj + -del ..\..\..\..\..\temp\cmr\table_h.obj + -del ..\..\..\..\..\temp\cmr\table_i.obj + -del ..\..\..\..\..\temp\cmr\table_j.obj + -del ..\..\..\..\..\temp\cmr\table_k.obj + -del ..\..\..\..\..\temp\cmr\table_l.obj + -del ..\..\..\..\..\temp\cmr\table_m.obj + -del ..\..\..\..\..\temp\cmr\table_n.obj + -del ..\..\..\..\..\temp\cmr\table_o.obj + -del ..\..\..\..\..\temp\cmr\table_p.obj + -del ..\..\..\..\..\temp\cmr\table_q.obj + -del ..\..\..\..\..\temp\cmr\table_r.obj + -del ..\..\..\..\..\temp\cmr\table_s.obj + -del ..\..\..\..\..\temp\cmr\table_t.obj + -del ..\..\..\..\..\temp\cmr\table_u.obj + -del ..\..\..\..\..\temp\cmr\table_v.obj + -del ..\..\..\..\..\temp\cmr\table_w.obj + -del ..\..\..\..\..\temp\cmr\table_x.obj + -del ..\..\..\..\..\temp\cmr\table_y.obj + -del ..\..\..\..\..\temp\cmr\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmr/*.pch + -del ../../../../../temp/cmr/*.idb + -del ../../../../../temp/cmr/ta_abstract/*.pch + -del ../../../../../temp/cmr/ta_abstract/*.idb + -del ../../../../../temp/cmr/ta_abstract/*.obj + +####### Compile + +..\..\..\..\..\temp\cmr\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cmr\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cmr\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\cmr\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\cmr\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\cmr\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cmr\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cmr\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cmr\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cmr\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cmr\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cmr\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cmr\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cmr\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cmr\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cmr\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cmr\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cmr\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cmr\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cmr\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cmr\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cmr\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cmr\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cmr\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cmr\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cmr\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cmr\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cmr\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cmr\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cmr\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cmr\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/cmr/win32/symantec/ta_common/Makefile b/vendor/ta-lib/make/cmr/win32/symantec/ta_common/Makefile new file mode 100644 index 000000000..1dbbb8e62 --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/symantec/ta_common/Makefile @@ -0,0 +1,99 @@ +############################################################################# +# Makefile for building ta_common_cmr +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = sc +CXX = sc +CFLAGS = -mn -w2 -o -DWIN32 +CXXFLAGS= -mn -w2 -o -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" +LIB = lib /C /N /NOI /P:32 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c +OBJECTS = ..\..\..\..\..\temp\cmr\ta_global.obj \ + ..\..\..\..\..\temp\cmr\ta_retcode.obj \ + ..\..\..\..\..\temp\cmr\ta_version.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_common_cmr.lib + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) ..\..\..\..\..\temp\cmr\ta_global.obj \ ++..\..\..\..\..\temp\cmr\ta_retcode.obj \ ++..\..\..\..\..\temp\cmr\ta_version.obj \ ++,; + +moc: $(SRCMOC) + +tmake: ../cmr/win32/symantec/ta_common/Makefile + +../cmr/win32/symantec/ta_common/Makefile: ta_common/ta_common.pro + tmake ta_common/ta_common.pro -o ../cmr/win32/symantec/ta_common/Makefile + +dist: + $(ZIP) ta_common/ta_common.zip ta_common/ta_common.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmr\ta_global.obj + -del ..\..\..\..\..\temp\cmr\ta_retcode.obj + -del ..\..\..\..\..\temp\cmr\ta_version.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmr/*.pch + -del ../../../../../temp/cmr/*.idb + -del ../../../../../temp/cmr/ta_common_cmr/*.pch + -del ../../../../../temp/cmr/ta_common_cmr/*.idb + -del ../../../../../temp/cmr/ta_common_cmr/*.obj + +####### Compile + +..\..\..\..\..\temp\cmr\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\cmr\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\cmr\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + diff --git a/vendor/ta-lib/make/cmr/win32/symantec/ta_func/Makefile b/vendor/ta-lib/make/cmr/win32/symantec/ta_func/Makefile new file mode 100644 index 000000000..b7030d07b --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/symantec/ta_func/Makefile @@ -0,0 +1,1191 @@ +############################################################################# +# Makefile for building ta_func_cmr +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = sc +CXX = sc +CFLAGS = -mn -w2 -o -DWIN32 +CXXFLAGS= -mn -w2 -o -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"\n" -I"..\..\..\..\..\include" +LIB = lib /C /N /NOI /P:32 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\cmr\ta_utility.obj \ + ..\..\..\..\..\temp\cmr\ta_ACOS.obj \ + ..\..\..\..\..\temp\cmr\ta_AD.obj \ + ..\..\..\..\..\temp\cmr\ta_ADD.obj \ + ..\..\..\..\..\temp\cmr\ta_ADOSC.obj \ + ..\..\..\..\..\temp\cmr\ta_ADX.obj \ + ..\..\..\..\..\temp\cmr\ta_ADXR.obj \ + ..\..\..\..\..\temp\cmr\ta_APO.obj \ + ..\..\..\..\..\temp\cmr\ta_AROON.obj \ + ..\..\..\..\..\temp\cmr\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\cmr\ta_ASIN.obj \ + ..\..\..\..\..\temp\cmr\ta_ATAN.obj \ + ..\..\..\..\..\temp\cmr\ta_ATR.obj \ + ..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_BBANDS.obj \ + ..\..\..\..\..\temp\cmr\ta_BETA.obj \ + ..\..\..\..\..\temp\cmr\ta_BOP.obj \ + ..\..\..\..\..\temp\cmr\ta_CCI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\cmr\ta_CEIL.obj \ + ..\..\..\..\..\temp\cmr\ta_CMO.obj \ + ..\..\..\..\..\temp\cmr\ta_CORREL.obj \ + ..\..\..\..\..\temp\cmr\ta_COS.obj \ + ..\..\..\..\..\temp\cmr\ta_COSH.obj \ + ..\..\..\..\..\temp\cmr\ta_DEMA.obj \ + ..\..\..\..\..\temp\cmr\ta_DIV.obj \ + ..\..\..\..\..\temp\cmr\ta_DX.obj \ + ..\..\..\..\..\temp\cmr\ta_EMA.obj \ + ..\..\..\..\..\temp\cmr\ta_EXP.obj \ + ..\..\..\..\..\temp\cmr\ta_FLOOR.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\cmr\ta_KAMA.obj \ + ..\..\..\..\..\temp\cmr\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\cmr\ta_LN.obj \ + ..\..\..\..\..\temp\cmr\ta_LOG10.obj \ + ..\..\..\..\..\temp\cmr\ta_MA.obj \ + ..\..\..\..\..\temp\cmr\ta_MACD.obj \ + ..\..\..\..\..\temp\cmr\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\cmr\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\cmr\ta_MAMA.obj \ + ..\..\..\..\..\temp\cmr\ta_MAVP.obj \ + ..\..\..\..\..\temp\cmr\ta_MAX.obj \ + ..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_MFI.obj \ + ..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_MIN.obj \ + ..\..\..\..\..\temp\cmr\ta_MININDEX.obj \ + ..\..\..\..\..\temp\cmr\ta_MINMAX.obj \ + ..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\cmr\ta_MOM.obj \ + ..\..\..\..\..\temp\cmr\ta_MULT.obj \ + ..\..\..\..\..\temp\cmr\ta_NATR.obj \ + ..\..\..\..\..\temp\cmr\ta_OBV.obj \ + ..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\cmr\ta_PPO.obj \ + ..\..\..\..\..\temp\cmr\ta_ROC.obj \ + ..\..\..\..\..\temp\cmr\ta_ROCP.obj \ + ..\..\..\..\..\temp\cmr\ta_ROCR.obj \ + ..\..\..\..\..\temp\cmr\ta_ROCR100.obj \ + ..\..\..\..\..\temp\cmr\ta_RSI.obj \ + ..\..\..\..\..\temp\cmr\ta_SAR.obj \ + ..\..\..\..\..\temp\cmr\ta_SAREXT.obj \ + ..\..\..\..\..\temp\cmr\ta_SIN.obj \ + ..\..\..\..\..\temp\cmr\ta_SINH.obj \ + ..\..\..\..\..\temp\cmr\ta_SMA.obj \ + ..\..\..\..\..\temp\cmr\ta_SQRT.obj \ + ..\..\..\..\..\temp\cmr\ta_STDDEV.obj \ + ..\..\..\..\..\temp\cmr\ta_STOCH.obj \ + ..\..\..\..\..\temp\cmr\ta_STOCHF.obj \ + ..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\cmr\ta_SUB.obj \ + ..\..\..\..\..\temp\cmr\ta_SUM.obj \ + ..\..\..\..\..\temp\cmr\ta_T3.obj \ + ..\..\..\..\..\temp\cmr\ta_TAN.obj \ + ..\..\..\..\..\temp\cmr\ta_TANH.obj \ + ..\..\..\..\..\temp\cmr\ta_TEMA.obj \ + ..\..\..\..\..\temp\cmr\ta_TRANGE.obj \ + ..\..\..\..\..\temp\cmr\ta_TRIMA.obj \ + ..\..\..\..\..\temp\cmr\ta_TRIX.obj \ + ..\..\..\..\..\temp\cmr\ta_TSF.obj \ + ..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\cmr\ta_VAR.obj \ + ..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_WILLR.obj \ + ..\..\..\..\..\temp\cmr\ta_WMA.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_func_cmr.lib + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) ..\..\..\..\..\temp\cmr\ta_utility.obj \ ++..\..\..\..\..\temp\cmr\ta_ACOS.obj \ ++..\..\..\..\..\temp\cmr\ta_AD.obj \ ++..\..\..\..\..\temp\cmr\ta_ADD.obj \ ++..\..\..\..\..\temp\cmr\ta_ADOSC.obj \ ++..\..\..\..\..\temp\cmr\ta_ADX.obj \ ++..\..\..\..\..\temp\cmr\ta_ADXR.obj \ ++..\..\..\..\..\temp\cmr\ta_APO.obj \ ++..\..\..\..\..\temp\cmr\ta_AROON.obj \ ++..\..\..\..\..\temp\cmr\ta_AROONOSC.obj \ ++..\..\..\..\..\temp\cmr\ta_ASIN.obj \ ++..\..\..\..\..\temp\cmr\ta_ATAN.obj \ ++..\..\..\..\..\temp\cmr\ta_ATR.obj \ ++..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj \ ++..\..\..\..\..\temp\cmr\ta_BBANDS.obj \ ++..\..\..\..\..\temp\cmr\ta_BETA.obj \ ++..\..\..\..\..\temp\cmr\ta_BOP.obj \ ++..\..\..\..\..\temp\cmr\ta_CCI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj \ ++..\..\..\..\..\temp\cmr\ta_CEIL.obj \ ++..\..\..\..\..\temp\cmr\ta_CMO.obj \ ++..\..\..\..\..\temp\cmr\ta_CORREL.obj \ ++..\..\..\..\..\temp\cmr\ta_COS.obj \ ++..\..\..\..\..\temp\cmr\ta_COSH.obj \ ++..\..\..\..\..\temp\cmr\ta_DEMA.obj \ ++..\..\..\..\..\temp\cmr\ta_DIV.obj \ ++..\..\..\..\..\temp\cmr\ta_DX.obj \ ++..\..\..\..\..\temp\cmr\ta_EMA.obj \ ++..\..\..\..\..\temp\cmr\ta_EXP.obj \ ++..\..\..\..\..\temp\cmr\ta_FLOOR.obj \ ++..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj \ ++..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj \ ++..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj \ ++..\..\..\..\..\temp\cmr\ta_HT_SINE.obj \ ++..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj \ ++..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj \ ++..\..\..\..\..\temp\cmr\ta_KAMA.obj \ ++..\..\..\..\..\temp\cmr\ta_LINEARREG.obj \ ++..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj \ ++..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj \ ++..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj \ ++..\..\..\..\..\temp\cmr\ta_LN.obj \ ++..\..\..\..\..\temp\cmr\ta_LOG10.obj \ ++..\..\..\..\..\temp\cmr\ta_MA.obj \ ++..\..\..\..\..\temp\cmr\ta_MACD.obj \ ++..\..\..\..\..\temp\cmr\ta_MACDEXT.obj \ ++..\..\..\..\..\temp\cmr\ta_MACDFIX.obj \ ++..\..\..\..\..\temp\cmr\ta_MAMA.obj \ ++..\..\..\..\..\temp\cmr\ta_MAVP.obj \ ++..\..\..\..\..\temp\cmr\ta_MAX.obj \ ++..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj \ ++..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj \ ++..\..\..\..\..\temp\cmr\ta_MFI.obj \ ++..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj \ ++..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj \ ++..\..\..\..\..\temp\cmr\ta_MIN.obj \ ++..\..\..\..\..\temp\cmr\ta_MININDEX.obj \ ++..\..\..\..\..\temp\cmr\ta_MINMAX.obj \ ++..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj \ ++..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj \ ++..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj \ ++..\..\..\..\..\temp\cmr\ta_MOM.obj \ ++..\..\..\..\..\temp\cmr\ta_MULT.obj \ ++..\..\..\..\..\temp\cmr\ta_NATR.obj \ ++..\..\..\..\..\temp\cmr\ta_OBV.obj \ ++..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj \ ++..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj \ ++..\..\..\..\..\temp\cmr\ta_PPO.obj \ ++..\..\..\..\..\temp\cmr\ta_ROC.obj \ ++..\..\..\..\..\temp\cmr\ta_ROCP.obj \ ++..\..\..\..\..\temp\cmr\ta_ROCR.obj \ ++..\..\..\..\..\temp\cmr\ta_ROCR100.obj \ ++..\..\..\..\..\temp\cmr\ta_RSI.obj \ ++..\..\..\..\..\temp\cmr\ta_SAR.obj \ ++..\..\..\..\..\temp\cmr\ta_SAREXT.obj \ ++..\..\..\..\..\temp\cmr\ta_SIN.obj \ ++..\..\..\..\..\temp\cmr\ta_SINH.obj \ ++..\..\..\..\..\temp\cmr\ta_SMA.obj \ ++..\..\..\..\..\temp\cmr\ta_SQRT.obj \ ++..\..\..\..\..\temp\cmr\ta_STDDEV.obj \ ++..\..\..\..\..\temp\cmr\ta_STOCH.obj \ ++..\..\..\..\..\temp\cmr\ta_STOCHF.obj \ ++..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj \ ++..\..\..\..\..\temp\cmr\ta_SUB.obj \ ++..\..\..\..\..\temp\cmr\ta_SUM.obj \ ++..\..\..\..\..\temp\cmr\ta_T3.obj \ ++..\..\..\..\..\temp\cmr\ta_TAN.obj \ ++..\..\..\..\..\temp\cmr\ta_TANH.obj \ ++..\..\..\..\..\temp\cmr\ta_TEMA.obj \ ++..\..\..\..\..\temp\cmr\ta_TRANGE.obj \ ++..\..\..\..\..\temp\cmr\ta_TRIMA.obj \ ++..\..\..\..\..\temp\cmr\ta_TRIX.obj \ ++..\..\..\..\..\temp\cmr\ta_TSF.obj \ ++..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj \ ++..\..\..\..\..\temp\cmr\ta_ULTOSC.obj \ ++..\..\..\..\..\temp\cmr\ta_VAR.obj \ ++..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj \ ++..\..\..\..\..\temp\cmr\ta_WILLR.obj \ ++..\..\..\..\..\temp\cmr\ta_WMA.obj \ ++,; + +moc: $(SRCMOC) + +tmake: ../cmr/win32/symantec/ta_func/Makefile + +../cmr/win32/symantec/ta_func/Makefile: ta_func/ta_func.pro + tmake ta_func/ta_func.pro -o ../cmr/win32/symantec/ta_func/Makefile + +dist: + $(ZIP) ta_func/ta_func.zip ta_func/ta_func.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmr\ta_utility.obj + -del ..\..\..\..\..\temp\cmr\ta_ACOS.obj + -del ..\..\..\..\..\temp\cmr\ta_AD.obj + -del ..\..\..\..\..\temp\cmr\ta_ADD.obj + -del ..\..\..\..\..\temp\cmr\ta_ADOSC.obj + -del ..\..\..\..\..\temp\cmr\ta_ADX.obj + -del ..\..\..\..\..\temp\cmr\ta_ADXR.obj + -del ..\..\..\..\..\temp\cmr\ta_APO.obj + -del ..\..\..\..\..\temp\cmr\ta_AROON.obj + -del ..\..\..\..\..\temp\cmr\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\cmr\ta_ASIN.obj + -del ..\..\..\..\..\temp\cmr\ta_ATAN.obj + -del ..\..\..\..\..\temp\cmr\ta_ATR.obj + -del ..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_BBANDS.obj + -del ..\..\..\..\..\temp\cmr\ta_BETA.obj + -del ..\..\..\..\..\temp\cmr\ta_BOP.obj + -del ..\..\..\..\..\temp\cmr\ta_CCI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\cmr\ta_CEIL.obj + -del ..\..\..\..\..\temp\cmr\ta_CMO.obj + -del ..\..\..\..\..\temp\cmr\ta_CORREL.obj + -del ..\..\..\..\..\temp\cmr\ta_COS.obj + -del ..\..\..\..\..\temp\cmr\ta_COSH.obj + -del ..\..\..\..\..\temp\cmr\ta_DEMA.obj + -del ..\..\..\..\..\temp\cmr\ta_DIV.obj + -del ..\..\..\..\..\temp\cmr\ta_DX.obj + -del ..\..\..\..\..\temp\cmr\ta_EMA.obj + -del ..\..\..\..\..\temp\cmr\ta_EXP.obj + -del ..\..\..\..\..\temp\cmr\ta_FLOOR.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\cmr\ta_KAMA.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\cmr\ta_LN.obj + -del ..\..\..\..\..\temp\cmr\ta_LOG10.obj + -del ..\..\..\..\..\temp\cmr\ta_MA.obj + -del ..\..\..\..\..\temp\cmr\ta_MACD.obj + -del ..\..\..\..\..\temp\cmr\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\cmr\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\cmr\ta_MAMA.obj + -del ..\..\..\..\..\temp\cmr\ta_MAVP.obj + -del ..\..\..\..\..\temp\cmr\ta_MAX.obj + -del ..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_MFI.obj + -del ..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_MIN.obj + -del ..\..\..\..\..\temp\cmr\ta_MININDEX.obj + -del ..\..\..\..\..\temp\cmr\ta_MINMAX.obj + -del ..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\cmr\ta_MOM.obj + -del ..\..\..\..\..\temp\cmr\ta_MULT.obj + -del ..\..\..\..\..\temp\cmr\ta_NATR.obj + -del ..\..\..\..\..\temp\cmr\ta_OBV.obj + -del ..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\cmr\ta_PPO.obj + -del ..\..\..\..\..\temp\cmr\ta_ROC.obj + -del ..\..\..\..\..\temp\cmr\ta_ROCP.obj + -del ..\..\..\..\..\temp\cmr\ta_ROCR.obj + -del ..\..\..\..\..\temp\cmr\ta_ROCR100.obj + -del ..\..\..\..\..\temp\cmr\ta_RSI.obj + -del ..\..\..\..\..\temp\cmr\ta_SAR.obj + -del ..\..\..\..\..\temp\cmr\ta_SAREXT.obj + -del ..\..\..\..\..\temp\cmr\ta_SIN.obj + -del ..\..\..\..\..\temp\cmr\ta_SINH.obj + -del ..\..\..\..\..\temp\cmr\ta_SMA.obj + -del ..\..\..\..\..\temp\cmr\ta_SQRT.obj + -del ..\..\..\..\..\temp\cmr\ta_STDDEV.obj + -del ..\..\..\..\..\temp\cmr\ta_STOCH.obj + -del ..\..\..\..\..\temp\cmr\ta_STOCHF.obj + -del ..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\cmr\ta_SUB.obj + -del ..\..\..\..\..\temp\cmr\ta_SUM.obj + -del ..\..\..\..\..\temp\cmr\ta_T3.obj + -del ..\..\..\..\..\temp\cmr\ta_TAN.obj + -del ..\..\..\..\..\temp\cmr\ta_TANH.obj + -del ..\..\..\..\..\temp\cmr\ta_TEMA.obj + -del ..\..\..\..\..\temp\cmr\ta_TRANGE.obj + -del ..\..\..\..\..\temp\cmr\ta_TRIMA.obj + -del ..\..\..\..\..\temp\cmr\ta_TRIX.obj + -del ..\..\..\..\..\temp\cmr\ta_TSF.obj + -del ..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\cmr\ta_VAR.obj + -del ..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_WILLR.obj + -del ..\..\..\..\..\temp\cmr\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmr/*.pch + -del ../../../../../temp/cmr/*.idb + -del ../../../../../temp/cmr/ta_func/*.pch + -del ../../../../../temp/cmr/ta_func/*.idb + -del ../../../../../temp/cmr/ta_func/*.obj + +####### Compile + +..\..\..\..\..\temp\cmr\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\cmr\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\cmr\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\cmr\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\cmr\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\cmr\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\cmr\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\cmr\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\cmr\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\cmr\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\cmr\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\cmr\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\cmr\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\cmr\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\cmr\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\cmr\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\cmr\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\cmr\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\cmr\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\cmr\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\cmr\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\cmr\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\cmr\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\cmr\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\cmr\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\cmr\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\cmr\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\cmr\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\cmr\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\cmr\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\cmr\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\cmr\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\cmr\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\cmr\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\cmr\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\cmr\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\cmr\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\cmr\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\cmr\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\cmr\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\cmr\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\cmr\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\cmr\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\cmr\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\cmr\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\cmr\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\cmr\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\cmr\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\cmr\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\cmr\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\cmr\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\cmr\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\cmr\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\cmr\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\cmr\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\cmr\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\cmr\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\cmr\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\cmr\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\cmr\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\cmr\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\cmr\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\cmr\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\cmr\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\cmr\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\cmr\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\cmr\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\cmr\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\cmr\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\cmr\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\cmr\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\cmr\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\cmr\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\cmr\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\cmr\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\cmr\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/cmr/win32/symantec/ta_libc/Makefile b/vendor/ta-lib/make/cmr/win32/symantec/ta_libc/Makefile new file mode 100644 index 000000000..0e679949a --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/symantec/ta_libc/Makefile @@ -0,0 +1,1424 @@ +############################################################################# +# Makefile for building ta_libc_cmr +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = sc +CXX = sc +CFLAGS = -mn -w2 -o -DWIN32 -DNO_DEBUG +CXXFLAGS= -mn -w2 -o -DWIN32 -DNO_DEBUG +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"$(QTDIR)\include" +LIB = lib /C /N /NOI /P:32 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c \ + ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\cmr\ta_global.obj \ + ..\..\..\..\..\temp\cmr\ta_retcode.obj \ + ..\..\..\..\..\temp\cmr\ta_version.obj \ + ..\..\..\..\..\temp\cmr\ta_abstract.obj \ + ..\..\..\..\..\temp\cmr\ta_def_ui.obj \ + ..\..\..\..\..\temp\cmr\ta_func_api.obj \ + ..\..\..\..\..\temp\cmr\ta_group_idx.obj \ + ..\..\..\..\..\temp\cmr\ta_frame.obj \ + ..\..\..\..\..\temp\cmr\table_a.obj \ + ..\..\..\..\..\temp\cmr\table_b.obj \ + ..\..\..\..\..\temp\cmr\table_c.obj \ + ..\..\..\..\..\temp\cmr\table_d.obj \ + ..\..\..\..\..\temp\cmr\table_e.obj \ + ..\..\..\..\..\temp\cmr\table_f.obj \ + ..\..\..\..\..\temp\cmr\table_g.obj \ + ..\..\..\..\..\temp\cmr\table_h.obj \ + ..\..\..\..\..\temp\cmr\table_i.obj \ + ..\..\..\..\..\temp\cmr\table_j.obj \ + ..\..\..\..\..\temp\cmr\table_k.obj \ + ..\..\..\..\..\temp\cmr\table_l.obj \ + ..\..\..\..\..\temp\cmr\table_m.obj \ + ..\..\..\..\..\temp\cmr\table_n.obj \ + ..\..\..\..\..\temp\cmr\table_o.obj \ + ..\..\..\..\..\temp\cmr\table_p.obj \ + ..\..\..\..\..\temp\cmr\table_q.obj \ + ..\..\..\..\..\temp\cmr\table_r.obj \ + ..\..\..\..\..\temp\cmr\table_s.obj \ + ..\..\..\..\..\temp\cmr\table_t.obj \ + ..\..\..\..\..\temp\cmr\table_u.obj \ + ..\..\..\..\..\temp\cmr\table_v.obj \ + ..\..\..\..\..\temp\cmr\table_w.obj \ + ..\..\..\..\..\temp\cmr\table_x.obj \ + ..\..\..\..\..\temp\cmr\table_y.obj \ + ..\..\..\..\..\temp\cmr\table_z.obj \ + ..\..\..\..\..\temp\cmr\ta_utility.obj \ + ..\..\..\..\..\temp\cmr\ta_ACOS.obj \ + ..\..\..\..\..\temp\cmr\ta_AD.obj \ + ..\..\..\..\..\temp\cmr\ta_ADD.obj \ + ..\..\..\..\..\temp\cmr\ta_ADOSC.obj \ + ..\..\..\..\..\temp\cmr\ta_ADX.obj \ + ..\..\..\..\..\temp\cmr\ta_ADXR.obj \ + ..\..\..\..\..\temp\cmr\ta_APO.obj \ + ..\..\..\..\..\temp\cmr\ta_AROON.obj \ + ..\..\..\..\..\temp\cmr\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\cmr\ta_ASIN.obj \ + ..\..\..\..\..\temp\cmr\ta_ATAN.obj \ + ..\..\..\..\..\temp\cmr\ta_ATR.obj \ + ..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_BBANDS.obj \ + ..\..\..\..\..\temp\cmr\ta_BETA.obj \ + ..\..\..\..\..\temp\cmr\ta_BOP.obj \ + ..\..\..\..\..\temp\cmr\ta_CCI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\cmr\ta_CEIL.obj \ + ..\..\..\..\..\temp\cmr\ta_CMO.obj \ + ..\..\..\..\..\temp\cmr\ta_CORREL.obj \ + ..\..\..\..\..\temp\cmr\ta_COS.obj \ + ..\..\..\..\..\temp\cmr\ta_COSH.obj \ + ..\..\..\..\..\temp\cmr\ta_DEMA.obj \ + ..\..\..\..\..\temp\cmr\ta_DIV.obj \ + ..\..\..\..\..\temp\cmr\ta_DX.obj \ + ..\..\..\..\..\temp\cmr\ta_EMA.obj \ + ..\..\..\..\..\temp\cmr\ta_EXP.obj \ + ..\..\..\..\..\temp\cmr\ta_FLOOR.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\cmr\ta_KAMA.obj \ + ..\..\..\..\..\temp\cmr\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\cmr\ta_LN.obj \ + ..\..\..\..\..\temp\cmr\ta_LOG10.obj \ + ..\..\..\..\..\temp\cmr\ta_MA.obj \ + ..\..\..\..\..\temp\cmr\ta_MACD.obj \ + ..\..\..\..\..\temp\cmr\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\cmr\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\cmr\ta_MAMA.obj \ + ..\..\..\..\..\temp\cmr\ta_MAVP.obj \ + ..\..\..\..\..\temp\cmr\ta_MAX.obj \ + ..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_MFI.obj \ + ..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_MIN.obj \ + ..\..\..\..\..\temp\cmr\ta_MININDEX.obj \ + ..\..\..\..\..\temp\cmr\ta_MINMAX.obj \ + ..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\cmr\ta_MOM.obj \ + ..\..\..\..\..\temp\cmr\ta_MULT.obj \ + ..\..\..\..\..\temp\cmr\ta_NATR.obj \ + ..\..\..\..\..\temp\cmr\ta_OBV.obj \ + ..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\cmr\ta_PPO.obj \ + ..\..\..\..\..\temp\cmr\ta_ROC.obj \ + ..\..\..\..\..\temp\cmr\ta_ROCP.obj \ + ..\..\..\..\..\temp\cmr\ta_ROCR.obj \ + ..\..\..\..\..\temp\cmr\ta_ROCR100.obj \ + ..\..\..\..\..\temp\cmr\ta_RSI.obj \ + ..\..\..\..\..\temp\cmr\ta_SAR.obj \ + ..\..\..\..\..\temp\cmr\ta_SAREXT.obj \ + ..\..\..\..\..\temp\cmr\ta_SIN.obj \ + ..\..\..\..\..\temp\cmr\ta_SINH.obj \ + ..\..\..\..\..\temp\cmr\ta_SMA.obj \ + ..\..\..\..\..\temp\cmr\ta_SQRT.obj \ + ..\..\..\..\..\temp\cmr\ta_STDDEV.obj \ + ..\..\..\..\..\temp\cmr\ta_STOCH.obj \ + ..\..\..\..\..\temp\cmr\ta_STOCHF.obj \ + ..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\cmr\ta_SUB.obj \ + ..\..\..\..\..\temp\cmr\ta_SUM.obj \ + ..\..\..\..\..\temp\cmr\ta_T3.obj \ + ..\..\..\..\..\temp\cmr\ta_TAN.obj \ + ..\..\..\..\..\temp\cmr\ta_TANH.obj \ + ..\..\..\..\..\temp\cmr\ta_TEMA.obj \ + ..\..\..\..\..\temp\cmr\ta_TRANGE.obj \ + ..\..\..\..\..\temp\cmr\ta_TRIMA.obj \ + ..\..\..\..\..\temp\cmr\ta_TRIX.obj \ + ..\..\..\..\..\temp\cmr\ta_TSF.obj \ + ..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\cmr\ta_VAR.obj \ + ..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\cmr\ta_WILLR.obj \ + ..\..\..\..\..\temp\cmr\ta_WMA.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_libc_cmr.lib + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) ..\..\..\..\..\temp\cmr\ta_global.obj \ ++..\..\..\..\..\temp\cmr\ta_retcode.obj \ ++..\..\..\..\..\temp\cmr\ta_version.obj \ ++..\..\..\..\..\temp\cmr\ta_abstract.obj \ ++..\..\..\..\..\temp\cmr\ta_def_ui.obj \ ++..\..\..\..\..\temp\cmr\ta_func_api.obj \ ++..\..\..\..\..\temp\cmr\ta_group_idx.obj \ ++..\..\..\..\..\temp\cmr\ta_frame.obj \ ++..\..\..\..\..\temp\cmr\table_a.obj \ ++..\..\..\..\..\temp\cmr\table_b.obj \ ++..\..\..\..\..\temp\cmr\table_c.obj \ ++..\..\..\..\..\temp\cmr\table_d.obj \ ++..\..\..\..\..\temp\cmr\table_e.obj \ ++..\..\..\..\..\temp\cmr\table_f.obj \ ++..\..\..\..\..\temp\cmr\table_g.obj \ ++..\..\..\..\..\temp\cmr\table_h.obj \ ++..\..\..\..\..\temp\cmr\table_i.obj \ ++..\..\..\..\..\temp\cmr\table_j.obj \ ++..\..\..\..\..\temp\cmr\table_k.obj \ ++..\..\..\..\..\temp\cmr\table_l.obj \ ++..\..\..\..\..\temp\cmr\table_m.obj \ ++..\..\..\..\..\temp\cmr\table_n.obj \ ++..\..\..\..\..\temp\cmr\table_o.obj \ ++..\..\..\..\..\temp\cmr\table_p.obj \ ++..\..\..\..\..\temp\cmr\table_q.obj \ ++..\..\..\..\..\temp\cmr\table_r.obj \ ++..\..\..\..\..\temp\cmr\table_s.obj \ ++..\..\..\..\..\temp\cmr\table_t.obj \ ++..\..\..\..\..\temp\cmr\table_u.obj \ ++..\..\..\..\..\temp\cmr\table_v.obj \ ++..\..\..\..\..\temp\cmr\table_w.obj \ ++..\..\..\..\..\temp\cmr\table_x.obj \ ++..\..\..\..\..\temp\cmr\table_y.obj \ ++..\..\..\..\..\temp\cmr\table_z.obj \ ++..\..\..\..\..\temp\cmr\ta_utility.obj \ ++..\..\..\..\..\temp\cmr\ta_ACOS.obj \ ++..\..\..\..\..\temp\cmr\ta_AD.obj \ ++..\..\..\..\..\temp\cmr\ta_ADD.obj \ ++..\..\..\..\..\temp\cmr\ta_ADOSC.obj \ ++..\..\..\..\..\temp\cmr\ta_ADX.obj \ ++..\..\..\..\..\temp\cmr\ta_ADXR.obj \ ++..\..\..\..\..\temp\cmr\ta_APO.obj \ ++..\..\..\..\..\temp\cmr\ta_AROON.obj \ ++..\..\..\..\..\temp\cmr\ta_AROONOSC.obj \ ++..\..\..\..\..\temp\cmr\ta_ASIN.obj \ ++..\..\..\..\..\temp\cmr\ta_ATAN.obj \ ++..\..\..\..\..\temp\cmr\ta_ATR.obj \ ++..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj \ ++..\..\..\..\..\temp\cmr\ta_BBANDS.obj \ ++..\..\..\..\..\temp\cmr\ta_BETA.obj \ ++..\..\..\..\..\temp\cmr\ta_BOP.obj \ ++..\..\..\..\..\temp\cmr\ta_CCI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj \ ++..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj \ ++..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj \ ++..\..\..\..\..\temp\cmr\ta_CEIL.obj \ ++..\..\..\..\..\temp\cmr\ta_CMO.obj \ ++..\..\..\..\..\temp\cmr\ta_CORREL.obj \ ++..\..\..\..\..\temp\cmr\ta_COS.obj \ ++..\..\..\..\..\temp\cmr\ta_COSH.obj \ ++..\..\..\..\..\temp\cmr\ta_DEMA.obj \ ++..\..\..\..\..\temp\cmr\ta_DIV.obj \ ++..\..\..\..\..\temp\cmr\ta_DX.obj \ ++..\..\..\..\..\temp\cmr\ta_EMA.obj \ ++..\..\..\..\..\temp\cmr\ta_EXP.obj \ ++..\..\..\..\..\temp\cmr\ta_FLOOR.obj \ ++..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj \ ++..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj \ ++..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj \ ++..\..\..\..\..\temp\cmr\ta_HT_SINE.obj \ ++..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj \ ++..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj \ ++..\..\..\..\..\temp\cmr\ta_KAMA.obj \ ++..\..\..\..\..\temp\cmr\ta_LINEARREG.obj \ ++..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj \ ++..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj \ ++..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj \ ++..\..\..\..\..\temp\cmr\ta_LN.obj \ ++..\..\..\..\..\temp\cmr\ta_LOG10.obj \ ++..\..\..\..\..\temp\cmr\ta_MA.obj \ ++..\..\..\..\..\temp\cmr\ta_MACD.obj \ ++..\..\..\..\..\temp\cmr\ta_MACDEXT.obj \ ++..\..\..\..\..\temp\cmr\ta_MACDFIX.obj \ ++..\..\..\..\..\temp\cmr\ta_MAMA.obj \ ++..\..\..\..\..\temp\cmr\ta_MAVP.obj \ ++..\..\..\..\..\temp\cmr\ta_MAX.obj \ ++..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj \ ++..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj \ ++..\..\..\..\..\temp\cmr\ta_MFI.obj \ ++..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj \ ++..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj \ ++..\..\..\..\..\temp\cmr\ta_MIN.obj \ ++..\..\..\..\..\temp\cmr\ta_MININDEX.obj \ ++..\..\..\..\..\temp\cmr\ta_MINMAX.obj \ ++..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj \ ++..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj \ ++..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj \ ++..\..\..\..\..\temp\cmr\ta_MOM.obj \ ++..\..\..\..\..\temp\cmr\ta_MULT.obj \ ++..\..\..\..\..\temp\cmr\ta_NATR.obj \ ++..\..\..\..\..\temp\cmr\ta_OBV.obj \ ++..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj \ ++..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj \ ++..\..\..\..\..\temp\cmr\ta_PPO.obj \ ++..\..\..\..\..\temp\cmr\ta_ROC.obj \ ++..\..\..\..\..\temp\cmr\ta_ROCP.obj \ ++..\..\..\..\..\temp\cmr\ta_ROCR.obj \ ++..\..\..\..\..\temp\cmr\ta_ROCR100.obj \ ++..\..\..\..\..\temp\cmr\ta_RSI.obj \ ++..\..\..\..\..\temp\cmr\ta_SAR.obj \ ++..\..\..\..\..\temp\cmr\ta_SAREXT.obj \ ++..\..\..\..\..\temp\cmr\ta_SIN.obj \ ++..\..\..\..\..\temp\cmr\ta_SINH.obj \ ++..\..\..\..\..\temp\cmr\ta_SMA.obj \ ++..\..\..\..\..\temp\cmr\ta_SQRT.obj \ ++..\..\..\..\..\temp\cmr\ta_STDDEV.obj \ ++..\..\..\..\..\temp\cmr\ta_STOCH.obj \ ++..\..\..\..\..\temp\cmr\ta_STOCHF.obj \ ++..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj \ ++..\..\..\..\..\temp\cmr\ta_SUB.obj \ ++..\..\..\..\..\temp\cmr\ta_SUM.obj \ ++..\..\..\..\..\temp\cmr\ta_T3.obj \ ++..\..\..\..\..\temp\cmr\ta_TAN.obj \ ++..\..\..\..\..\temp\cmr\ta_TANH.obj \ ++..\..\..\..\..\temp\cmr\ta_TEMA.obj \ ++..\..\..\..\..\temp\cmr\ta_TRANGE.obj \ ++..\..\..\..\..\temp\cmr\ta_TRIMA.obj \ ++..\..\..\..\..\temp\cmr\ta_TRIX.obj \ ++..\..\..\..\..\temp\cmr\ta_TSF.obj \ ++..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj \ ++..\..\..\..\..\temp\cmr\ta_ULTOSC.obj \ ++..\..\..\..\..\temp\cmr\ta_VAR.obj \ ++..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj \ ++..\..\..\..\..\temp\cmr\ta_WILLR.obj \ ++..\..\..\..\..\temp\cmr\ta_WMA.obj \ ++,; + +moc: $(SRCMOC) + +tmake: ../cmr/win32/symantec/ta_libc/Makefile + +../cmr/win32/symantec/ta_libc/Makefile: ta_libc/ta_libc.pro + tmake ta_libc/ta_libc.pro -o ../cmr/win32/symantec/ta_libc/Makefile + +dist: + $(ZIP) ta_libc/ta_libc.zip ta_libc/ta_libc.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmr\ta_global.obj + -del ..\..\..\..\..\temp\cmr\ta_retcode.obj + -del ..\..\..\..\..\temp\cmr\ta_version.obj + -del ..\..\..\..\..\temp\cmr\ta_abstract.obj + -del ..\..\..\..\..\temp\cmr\ta_def_ui.obj + -del ..\..\..\..\..\temp\cmr\ta_func_api.obj + -del ..\..\..\..\..\temp\cmr\ta_group_idx.obj + -del ..\..\..\..\..\temp\cmr\ta_frame.obj + -del ..\..\..\..\..\temp\cmr\table_a.obj + -del ..\..\..\..\..\temp\cmr\table_b.obj + -del ..\..\..\..\..\temp\cmr\table_c.obj + -del ..\..\..\..\..\temp\cmr\table_d.obj + -del ..\..\..\..\..\temp\cmr\table_e.obj + -del ..\..\..\..\..\temp\cmr\table_f.obj + -del ..\..\..\..\..\temp\cmr\table_g.obj + -del ..\..\..\..\..\temp\cmr\table_h.obj + -del ..\..\..\..\..\temp\cmr\table_i.obj + -del ..\..\..\..\..\temp\cmr\table_j.obj + -del ..\..\..\..\..\temp\cmr\table_k.obj + -del ..\..\..\..\..\temp\cmr\table_l.obj + -del ..\..\..\..\..\temp\cmr\table_m.obj + -del ..\..\..\..\..\temp\cmr\table_n.obj + -del ..\..\..\..\..\temp\cmr\table_o.obj + -del ..\..\..\..\..\temp\cmr\table_p.obj + -del ..\..\..\..\..\temp\cmr\table_q.obj + -del ..\..\..\..\..\temp\cmr\table_r.obj + -del ..\..\..\..\..\temp\cmr\table_s.obj + -del ..\..\..\..\..\temp\cmr\table_t.obj + -del ..\..\..\..\..\temp\cmr\table_u.obj + -del ..\..\..\..\..\temp\cmr\table_v.obj + -del ..\..\..\..\..\temp\cmr\table_w.obj + -del ..\..\..\..\..\temp\cmr\table_x.obj + -del ..\..\..\..\..\temp\cmr\table_y.obj + -del ..\..\..\..\..\temp\cmr\table_z.obj + -del ..\..\..\..\..\temp\cmr\ta_utility.obj + -del ..\..\..\..\..\temp\cmr\ta_ACOS.obj + -del ..\..\..\..\..\temp\cmr\ta_AD.obj + -del ..\..\..\..\..\temp\cmr\ta_ADD.obj + -del ..\..\..\..\..\temp\cmr\ta_ADOSC.obj + -del ..\..\..\..\..\temp\cmr\ta_ADX.obj + -del ..\..\..\..\..\temp\cmr\ta_ADXR.obj + -del ..\..\..\..\..\temp\cmr\ta_APO.obj + -del ..\..\..\..\..\temp\cmr\ta_AROON.obj + -del ..\..\..\..\..\temp\cmr\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\cmr\ta_ASIN.obj + -del ..\..\..\..\..\temp\cmr\ta_ATAN.obj + -del ..\..\..\..\..\temp\cmr\ta_ATR.obj + -del ..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_BBANDS.obj + -del ..\..\..\..\..\temp\cmr\ta_BETA.obj + -del ..\..\..\..\..\temp\cmr\ta_BOP.obj + -del ..\..\..\..\..\temp\cmr\ta_CCI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\cmr\ta_CEIL.obj + -del ..\..\..\..\..\temp\cmr\ta_CMO.obj + -del ..\..\..\..\..\temp\cmr\ta_CORREL.obj + -del ..\..\..\..\..\temp\cmr\ta_COS.obj + -del ..\..\..\..\..\temp\cmr\ta_COSH.obj + -del ..\..\..\..\..\temp\cmr\ta_DEMA.obj + -del ..\..\..\..\..\temp\cmr\ta_DIV.obj + -del ..\..\..\..\..\temp\cmr\ta_DX.obj + -del ..\..\..\..\..\temp\cmr\ta_EMA.obj + -del ..\..\..\..\..\temp\cmr\ta_EXP.obj + -del ..\..\..\..\..\temp\cmr\ta_FLOOR.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\cmr\ta_KAMA.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\cmr\ta_LN.obj + -del ..\..\..\..\..\temp\cmr\ta_LOG10.obj + -del ..\..\..\..\..\temp\cmr\ta_MA.obj + -del ..\..\..\..\..\temp\cmr\ta_MACD.obj + -del ..\..\..\..\..\temp\cmr\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\cmr\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\cmr\ta_MAMA.obj + -del ..\..\..\..\..\temp\cmr\ta_MAVP.obj + -del ..\..\..\..\..\temp\cmr\ta_MAX.obj + -del ..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_MFI.obj + -del ..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_MIN.obj + -del ..\..\..\..\..\temp\cmr\ta_MININDEX.obj + -del ..\..\..\..\..\temp\cmr\ta_MINMAX.obj + -del ..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\cmr\ta_MOM.obj + -del ..\..\..\..\..\temp\cmr\ta_MULT.obj + -del ..\..\..\..\..\temp\cmr\ta_NATR.obj + -del ..\..\..\..\..\temp\cmr\ta_OBV.obj + -del ..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\cmr\ta_PPO.obj + -del ..\..\..\..\..\temp\cmr\ta_ROC.obj + -del ..\..\..\..\..\temp\cmr\ta_ROCP.obj + -del ..\..\..\..\..\temp\cmr\ta_ROCR.obj + -del ..\..\..\..\..\temp\cmr\ta_ROCR100.obj + -del ..\..\..\..\..\temp\cmr\ta_RSI.obj + -del ..\..\..\..\..\temp\cmr\ta_SAR.obj + -del ..\..\..\..\..\temp\cmr\ta_SAREXT.obj + -del ..\..\..\..\..\temp\cmr\ta_SIN.obj + -del ..\..\..\..\..\temp\cmr\ta_SINH.obj + -del ..\..\..\..\..\temp\cmr\ta_SMA.obj + -del ..\..\..\..\..\temp\cmr\ta_SQRT.obj + -del ..\..\..\..\..\temp\cmr\ta_STDDEV.obj + -del ..\..\..\..\..\temp\cmr\ta_STOCH.obj + -del ..\..\..\..\..\temp\cmr\ta_STOCHF.obj + -del ..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\cmr\ta_SUB.obj + -del ..\..\..\..\..\temp\cmr\ta_SUM.obj + -del ..\..\..\..\..\temp\cmr\ta_T3.obj + -del ..\..\..\..\..\temp\cmr\ta_TAN.obj + -del ..\..\..\..\..\temp\cmr\ta_TANH.obj + -del ..\..\..\..\..\temp\cmr\ta_TEMA.obj + -del ..\..\..\..\..\temp\cmr\ta_TRANGE.obj + -del ..\..\..\..\..\temp\cmr\ta_TRIMA.obj + -del ..\..\..\..\..\temp\cmr\ta_TRIX.obj + -del ..\..\..\..\..\temp\cmr\ta_TSF.obj + -del ..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\cmr\ta_VAR.obj + -del ..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_WILLR.obj + -del ..\..\..\..\..\temp\cmr\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + +####### Compile + +..\..\..\..\..\temp\cmr\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\cmr\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\cmr\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + +..\..\..\..\..\temp\cmr\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cmr\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cmr\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\cmr\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\cmr\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\cmr\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cmr\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cmr\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cmr\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cmr\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cmr\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cmr\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cmr\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cmr\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cmr\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cmr\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cmr\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cmr\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cmr\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cmr\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cmr\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cmr\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cmr\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cmr\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cmr\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cmr\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cmr\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cmr\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cmr\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cmr\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cmr\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + +..\..\..\..\..\temp\cmr\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\cmr\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\cmr\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\cmr\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\cmr\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\cmr\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\cmr\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\cmr\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\cmr\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\cmr\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\cmr\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\cmr\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\cmr\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\cmr\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\cmr\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\cmr\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\cmr\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\cmr\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\cmr\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\cmr\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\cmr\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\cmr\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\cmr\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\cmr\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\cmr\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\cmr\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\cmr\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\cmr\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\cmr\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\cmr\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\cmr\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\cmr\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\cmr\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\cmr\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\cmr\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\cmr\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\cmr\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\cmr\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\cmr\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\cmr\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\cmr\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\cmr\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\cmr\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\cmr\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\cmr\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\cmr\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\cmr\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\cmr\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\cmr\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\cmr\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\cmr\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\cmr\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\cmr\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\cmr\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\cmr\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\cmr\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\cmr\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\cmr\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\cmr\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\cmr\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\cmr\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\cmr\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\cmr\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\cmr\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\cmr\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\cmr\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\cmr\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\cmr\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\cmr\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\cmr\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\cmr\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\cmr\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\cmr\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\cmr\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\cmr\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\cmr\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/cmr/win32/symantec/ta_regtest/Makefile b/vendor/ta-lib/make/cmr/win32/symantec/ta_regtest/Makefile new file mode 100644 index 000000000..1efb1416a --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/symantec/ta_regtest/Makefile @@ -0,0 +1,229 @@ +############################################################################# +# Makefile for building ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = sc +CXX = sc +CFLAGS = -mn -w2 -o -DWIN32 +CXXFLAGS= -mn -w2 -o -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\tools\ta_regtest" -I"..\..\..\..\..\src\ta_func" -I"..\..\..\..\..\include" +LINK = link +LFLAGS = /NOLOGO /NOI /SUBSYSTEM:console +LIBS = ..\..\..\..\..\lib\ta_libc_cmr.lib +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_internals.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_util.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_data.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c +OBJECTS = ..\..\..\..\..\temp\cmr\ta_regtest.obj \ + ..\..\..\..\..\temp\cmr\test_candlestick.obj \ + ..\..\..\..\..\temp\cmr\test_1in_1out.obj \ + ..\..\..\..\..\temp\cmr\test_1in_2out.obj \ + ..\..\..\..\..\temp\cmr\test_internals.obj \ + ..\..\..\..\..\temp\cmr\test_adx.obj \ + ..\..\..\..\..\temp\cmr\test_bbands.obj \ + ..\..\..\..\..\temp\cmr\test_ma.obj \ + ..\..\..\..\..\temp\cmr\test_macd.obj \ + ..\..\..\..\..\temp\cmr\test_minmax.obj \ + ..\..\..\..\..\temp\cmr\test_mom.obj \ + ..\..\..\..\..\temp\cmr\test_per_ema.obj \ + ..\..\..\..\..\temp\cmr\test_per_hl.obj \ + ..\..\..\..\..\temp\cmr\test_per_hlc.obj \ + ..\..\..\..\..\temp\cmr\test_per_hlcv.obj \ + ..\..\..\..\..\temp\cmr\test_per_ohlc.obj \ + ..\..\..\..\..\temp\cmr\test_po.obj \ + ..\..\..\..\..\temp\cmr\test_rsi.obj \ + ..\..\..\..\..\temp\cmr\test_sar.obj \ + ..\..\..\..\..\temp\cmr\test_stddev.obj \ + ..\..\..\..\..\temp\cmr\test_stoch.obj \ + ..\..\..\..\..\temp\cmr\test_trange.obj \ + ..\..\..\..\..\temp\cmr\test_util.obj \ + ..\..\..\..\..\temp\cmr\test_data.obj \ + ..\..\..\..\..\temp\cmr\test_abstract.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\ta_regtest.exe + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) $(OBJECTS) $(OBJMOC), $(TARGET),, $(LIBS) + +moc: $(SRCMOC) + +tmake: ../cmr/win32/symantec/ta_regtest/Makefile + +../cmr/win32/symantec/ta_regtest/Makefile: ta_regtest/ta_regtest.pro + tmake ta_regtest/ta_regtest.pro -o ../cmr/win32/symantec/ta_regtest/Makefile + +dist: + $(ZIP) ta_regtest/ta_regtest.zip ta_regtest/ta_regtest.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmr\ta_regtest.obj + -del ..\..\..\..\..\temp\cmr\test_candlestick.obj + -del ..\..\..\..\..\temp\cmr\test_1in_1out.obj + -del ..\..\..\..\..\temp\cmr\test_1in_2out.obj + -del ..\..\..\..\..\temp\cmr\test_internals.obj + -del ..\..\..\..\..\temp\cmr\test_adx.obj + -del ..\..\..\..\..\temp\cmr\test_bbands.obj + -del ..\..\..\..\..\temp\cmr\test_ma.obj + -del ..\..\..\..\..\temp\cmr\test_macd.obj + -del ..\..\..\..\..\temp\cmr\test_minmax.obj + -del ..\..\..\..\..\temp\cmr\test_mom.obj + -del ..\..\..\..\..\temp\cmr\test_per_ema.obj + -del ..\..\..\..\..\temp\cmr\test_per_hl.obj + -del ..\..\..\..\..\temp\cmr\test_per_hlc.obj + -del ..\..\..\..\..\temp\cmr\test_per_hlcv.obj + -del ..\..\..\..\..\temp\cmr\test_per_ohlc.obj + -del ..\..\..\..\..\temp\cmr\test_po.obj + -del ..\..\..\..\..\temp\cmr\test_rsi.obj + -del ..\..\..\..\..\temp\cmr\test_sar.obj + -del ..\..\..\..\..\temp\cmr\test_stddev.obj + -del ..\..\..\..\..\temp\cmr\test_stoch.obj + -del ..\..\..\..\..\temp\cmr\test_trange.obj + -del ..\..\..\..\..\temp\cmr\test_util.obj + -del ..\..\..\..\..\temp\cmr\test_data.obj + -del ..\..\..\..\..\temp\cmr\test_abstract.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmr/*.pch + -del ../../../../../temp/cmr/*.idb + -del ../../../../../temp/cmr/ta_regtest/*.pch + -del ../../../../../temp/cmr/ta_regtest/*.idb + -del ../../../../../temp/cmr/ta_regtest/*.obj + +####### Compile + +..\..\..\..\..\temp\cmr\ta_regtest.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\ta_regtest.obj ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + +..\..\..\..\..\temp\cmr\test_candlestick.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_candlestick.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + +..\..\..\..\..\temp\cmr\test_1in_1out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_1in_1out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + +..\..\..\..\..\temp\cmr\test_1in_2out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_1in_2out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + +..\..\..\..\..\temp\cmr\test_internals.obj: ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_internals.obj ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + +..\..\..\..\..\temp\cmr\test_adx.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_adx.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + +..\..\..\..\..\temp\cmr\test_bbands.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_bbands.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + +..\..\..\..\..\temp\cmr\test_ma.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_ma.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + +..\..\..\..\..\temp\cmr\test_macd.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_macd.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + +..\..\..\..\..\temp\cmr\test_minmax.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_minmax.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + +..\..\..\..\..\temp\cmr\test_mom.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_mom.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + +..\..\..\..\..\temp\cmr\test_per_ema.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_per_ema.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + +..\..\..\..\..\temp\cmr\test_per_hl.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_per_hl.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + +..\..\..\..\..\temp\cmr\test_per_hlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_per_hlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + +..\..\..\..\..\temp\cmr\test_per_hlcv.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_per_hlcv.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + +..\..\..\..\..\temp\cmr\test_per_ohlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_per_ohlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + +..\..\..\..\..\temp\cmr\test_po.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_po.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + +..\..\..\..\..\temp\cmr\test_rsi.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_rsi.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + +..\..\..\..\..\temp\cmr\test_sar.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_sar.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + +..\..\..\..\..\temp\cmr\test_stddev.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_stddev.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + +..\..\..\..\..\temp\cmr\test_stoch.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_stoch.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + +..\..\..\..\..\temp\cmr\test_trange.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_trange.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + +..\..\..\..\..\temp\cmr\test_util.obj: ..\..\..\..\..\src\tools\ta_regtest\test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_util.obj ..\..\..\..\..\src\tools\ta_regtest\test_util.c + +..\..\..\..\..\temp\cmr\test_data.obj: ..\..\..\..\..\src\tools\ta_regtest\test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_data.obj ..\..\..\..\..\src\tools\ta_regtest\test_data.c + +..\..\..\..\..\temp\cmr\test_abstract.obj: ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\cmr\test_abstract.obj ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + diff --git a/vendor/ta-lib/make/cmr/win32/watcom/Makefile b/vendor/ta-lib/make/cmr/win32/watcom/Makefile new file mode 100644 index 000000000..8bc58ca8b --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/watcom/Makefile @@ -0,0 +1,97 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +ta_common: FORCE + cd ta_common + $(MAKE) + @cd .. + +ta_func: FORCE + cd ta_func + $(MAKE) + @cd .. + +ta_abstract: FORCE + cd ta_abstract + $(MAKE) + @cd .. + +ta_libc: FORCE + cd ta_libc + $(MAKE) + @cd .. + +gen_code: FORCE + cd gen_code + $(MAKE) + @cd .. + +ta_regtest: FORCE + cd ta_regtest + $(MAKE) + @cd .. + + +tmake: ../cmr/win32/watcom/Makefile + +../cmr/win32/watcom/Makefile: rootmake.pro + tmake rootmake.pro -o ../cmr/win32/watcom/Makefile + +tmake_all: + cd ta_common + $(TMAKE) ta_common.pro -o $(MAKEFILE) + @cd .. + cd ta_func + $(TMAKE) ta_func.pro -o $(MAKEFILE) + @cd .. + cd ta_abstract + $(TMAKE) ta_abstract.pro -o $(MAKEFILE) + @cd .. + cd ta_libc + $(TMAKE) ta_libc.pro -o $(MAKEFILE) + @cd .. + cd gen_code + $(TMAKE) gen_code.pro -o $(MAKEFILE) + @cd .. + cd ta_regtest + $(TMAKE) ta_regtest.pro -o $(MAKEFILE) + @cd .. + + +clean: + cd ta_common + $(MAKE) clean + @cd .. + cd ta_func + $(MAKE) clean + @cd .. + cd ta_abstract + $(MAKE) clean + @cd .. + cd ta_libc + $(MAKE) clean + @cd .. + cd gen_code + $(MAKE) clean + @cd .. + cd ta_regtest + $(MAKE) clean + @cd .. + +FORCE: diff --git a/vendor/ta-lib/make/cmr/win32/watcom/gen_code/Makefile b/vendor/ta-lib/make/cmr/win32/watcom/gen_code/Makefile new file mode 100644 index 000000000..168e7a797 --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/watcom/gen_code/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = wcl386 +CXX = wcl386 +CFLAGS = -zq -w2 -ox -d=TA_GEN_CODE -d=WIN32 +CXXFLAGS= -zq -w2 -ox -d=TA_GEN_CODE -d=WIN32 +INCPATH = -i="..\..\..\..\..\include" -i="..\..\..\..\..\src\ta_common" -i="..\..\..\..\..\src\ta_abstract" -i="..\..\..\..\..\src\ta_abstract\tables" -i="..\..\..\..\..\src\ta_abstract\frames" +LINK = wlink +LFLAGS = op quiet op c sys nt +LIBS = ..\..\..\..\..\lib\ta_common_cmr.lib +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\gen_code\gen_code.c & + ..\..\..\..\..\src\ta_abstract\ta_abstract.c & + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c & + ..\..\..\..\..\src\ta_abstract\tables\table_a.c & + ..\..\..\..\..\src\ta_abstract\tables\table_b.c & + ..\..\..\..\..\src\ta_abstract\tables\table_c.c & + ..\..\..\..\..\src\ta_abstract\tables\table_d.c & + ..\..\..\..\..\src\ta_abstract\tables\table_e.c & + ..\..\..\..\..\src\ta_abstract\tables\table_f.c & + ..\..\..\..\..\src\ta_abstract\tables\table_g.c & + ..\..\..\..\..\src\ta_abstract\tables\table_h.c & + ..\..\..\..\..\src\ta_abstract\tables\table_i.c & + ..\..\..\..\..\src\ta_abstract\tables\table_j.c & + ..\..\..\..\..\src\ta_abstract\tables\table_k.c & + ..\..\..\..\..\src\ta_abstract\tables\table_l.c & + ..\..\..\..\..\src\ta_abstract\tables\table_m.c & + ..\..\..\..\..\src\ta_abstract\tables\table_n.c & + ..\..\..\..\..\src\ta_abstract\tables\table_o.c & + ..\..\..\..\..\src\ta_abstract\tables\table_p.c & + ..\..\..\..\..\src\ta_abstract\tables\table_q.c & + ..\..\..\..\..\src\ta_abstract\tables\table_r.c & + ..\..\..\..\..\src\ta_abstract\tables\table_s.c & + ..\..\..\..\..\src\ta_abstract\tables\table_t.c & + ..\..\..\..\..\src\ta_abstract\tables\table_u.c & + ..\..\..\..\..\src\ta_abstract\tables\table_v.c & + ..\..\..\..\..\src\ta_abstract\tables\table_w.c & + ..\..\..\..\..\src\ta_abstract\tables\table_x.c & + ..\..\..\..\..\src\ta_abstract\tables\table_y.c & + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\cmr\gen_code\gen_code.obj & + ..\..\..\..\..\temp\cmr\gen_code\ta_abstract.obj & + ..\..\..\..\..\temp\cmr\gen_code\ta_def_ui.obj & + ..\..\..\..\..\temp\cmr\gen_code\table_a.obj & + ..\..\..\..\..\temp\cmr\gen_code\table_b.obj & + ..\..\..\..\..\temp\cmr\gen_code\table_c.obj & + ..\..\..\..\..\temp\cmr\gen_code\table_d.obj & + ..\..\..\..\..\temp\cmr\gen_code\table_e.obj & + ..\..\..\..\..\temp\cmr\gen_code\table_f.obj & + ..\..\..\..\..\temp\cmr\gen_code\table_g.obj & + ..\..\..\..\..\temp\cmr\gen_code\table_h.obj & + ..\..\..\..\..\temp\cmr\gen_code\table_i.obj & + ..\..\..\..\..\temp\cmr\gen_code\table_j.obj & + ..\..\..\..\..\temp\cmr\gen_code\table_k.obj & + ..\..\..\..\..\temp\cmr\gen_code\table_l.obj & + ..\..\..\..\..\temp\cmr\gen_code\table_m.obj & + ..\..\..\..\..\temp\cmr\gen_code\table_n.obj & + ..\..\..\..\..\temp\cmr\gen_code\table_o.obj & + ..\..\..\..\..\temp\cmr\gen_code\table_p.obj & + ..\..\..\..\..\temp\cmr\gen_code\table_q.obj & + ..\..\..\..\..\temp\cmr\gen_code\table_r.obj & + ..\..\..\..\..\temp\cmr\gen_code\table_s.obj & + ..\..\..\..\..\temp\cmr\gen_code\table_t.obj & + ..\..\..\..\..\temp\cmr\gen_code\table_u.obj & + ..\..\..\..\..\temp\cmr\gen_code\table_v.obj & + ..\..\..\..\..\temp\cmr\gen_code\table_w.obj & + ..\..\..\..\..\temp\cmr\gen_code\table_x.obj & + ..\..\..\..\..\temp\cmr\gen_code\table_y.obj & + ..\..\..\..\..\temp\cmr\gen_code\table_z.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\gen_code.exe +TMPLIST = gen_code.lst + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + @%create $(TMPLIST) + @%append $(TMPLIST) NAME gen_code + @%append $(TMPLIST) FIL ..\..\..\..\..\temp\cmr\gen_code\gen_code.obj,..\..\..\..\..\temp\cmr\gen_code\ta_abstract.obj,..\..\..\..\..\temp\cmr\gen_code\ta_def_ui.obj,..\..\..\..\..\temp\cmr\gen_code\table_a.obj,..\..\..\..\..\temp\cmr\gen_code\table_b.obj,..\..\..\..\..\temp\cmr\gen_code\table_c.obj,..\..\..\..\..\temp\cmr\gen_code\table_d.obj,..\..\..\..\..\temp\cmr\gen_code\table_e.obj,..\..\..\..\..\temp\cmr\gen_code\table_f.obj,..\..\..\..\..\temp\cmr\gen_code\table_g.obj,..\..\..\..\..\temp\cmr\gen_code\table_h.obj,..\..\..\..\..\temp\cmr\gen_code\table_i.obj,..\..\..\..\..\temp\cmr\gen_code\table_j.obj,..\..\..\..\..\temp\cmr\gen_code\table_k.obj,..\..\..\..\..\temp\cmr\gen_code\table_l.obj,..\..\..\..\..\temp\cmr\gen_code\table_m.obj,..\..\..\..\..\temp\cmr\gen_code\table_n.obj,..\..\..\..\..\temp\cmr\gen_code\table_o.obj,..\..\..\..\..\temp\cmr\gen_code\table_p.obj,..\..\..\..\..\temp\cmr\gen_code\table_q.obj,..\..\..\..\..\temp\cmr\gen_code\table_r.obj,..\..\..\..\..\temp\cmr\gen_code\table_s.obj,..\..\..\..\..\temp\cmr\gen_code\table_t.obj,..\..\..\..\..\temp\cmr\gen_code\table_u.obj,..\..\..\..\..\temp\cmr\gen_code\table_v.obj,..\..\..\..\..\temp\cmr\gen_code\table_w.obj,..\..\..\..\..\temp\cmr\gen_code\table_x.obj,..\..\..\..\..\temp\cmr\gen_code\table_y.obj,..\..\..\..\..\temp\cmr\gen_code\table_z.obj + @%append $(TMPLIST) LIBR ..\..\..\..\..\lib\ta_common_cmr.lib + $(LINK) $(LFLAGS) @$(TMPLIST) + del $(TMPLIST) + +moc: $(SRCMOC) + +tmake: ../cmr/win32/watcom/gen_code/Makefile + +../cmr/win32/watcom/gen_code/Makefile: gen_code/gen_code.pro + tmake gen_code/gen_code.pro -o ../cmr/win32/watcom/gen_code/Makefile + +dist: + $(ZIP) gen_code/gen_code.zip gen_code/gen_code.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmr\gen_code\gen_code.obj + -del ..\..\..\..\..\temp\cmr\gen_code\ta_abstract.obj + -del ..\..\..\..\..\temp\cmr\gen_code\ta_def_ui.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_a.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_b.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_c.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_d.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_e.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_f.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_g.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_h.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_i.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_j.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_k.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_l.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_m.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_n.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_o.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_p.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_q.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_r.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_s.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_t.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_u.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_v.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_w.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_x.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_y.obj + -del ..\..\..\..\..\temp\cmr\gen_code\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmr/*.pch + -del ../../../../../temp/cmr/*.idb + -del ../../../../../temp/cmr/gen_code/*.pch + -del ../../../../../temp/cmr/gen_code/*.idb + -del ../../../../../temp/cmr/gen_code/*.obj + +####### Compile + +..\..\..\..\..\temp\cmr\gen_code\gen_code.obj: ..\..\..\..\..\src\tools\gen_code\gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\gen_code.obj ..\..\..\..\..\src\tools\gen_code\gen_code.c + +..\..\..\..\..\temp\cmr\gen_code\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cmr\gen_code\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cmr\gen_code\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cmr\gen_code\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cmr\gen_code\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cmr\gen_code\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cmr\gen_code\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cmr\gen_code\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cmr\gen_code\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cmr\gen_code\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cmr\gen_code\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cmr\gen_code\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cmr\gen_code\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cmr\gen_code\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cmr\gen_code\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cmr\gen_code\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cmr\gen_code\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cmr\gen_code\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cmr\gen_code\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cmr\gen_code\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cmr\gen_code\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cmr\gen_code\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cmr\gen_code\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cmr\gen_code\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cmr\gen_code\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cmr\gen_code\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cmr\gen_code\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cmr\gen_code\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\gen_code\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/cmr/win32/watcom/ta_abstract/Makefile b/vendor/ta-lib/make/cmr/win32/watcom/ta_abstract/Makefile new file mode 100644 index 000000000..272497a29 --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/watcom/ta_abstract/Makefile @@ -0,0 +1,251 @@ +############################################################################# +# Makefile for building ta_abstract_cmr +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = wcl386 +CXX = wcl386 +CFLAGS = -zq -w2 -ox -d=WIN32 +CXXFLAGS= -zq -w2 -ox -d=WIN32 +INCPATH = -i="..\..\..\..\..\src\ta_common" -i="..\..\..\..\..\src\ta_abstract" -i="..\..\..\..\..\src\ta_abstract\tables" -i="..\..\..\..\..\src\ta_abstract\frames" -i="..\..\..\..\..\include" +LIB = wlib -b -c -n -q -p=512 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_abstract\ta_abstract.c & + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c & + ..\..\..\..\..\src\ta_abstract\ta_func_api.c & + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c & + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c & + ..\..\..\..\..\src\ta_abstract\tables\table_a.c & + ..\..\..\..\..\src\ta_abstract\tables\table_b.c & + ..\..\..\..\..\src\ta_abstract\tables\table_c.c & + ..\..\..\..\..\src\ta_abstract\tables\table_d.c & + ..\..\..\..\..\src\ta_abstract\tables\table_e.c & + ..\..\..\..\..\src\ta_abstract\tables\table_f.c & + ..\..\..\..\..\src\ta_abstract\tables\table_g.c & + ..\..\..\..\..\src\ta_abstract\tables\table_h.c & + ..\..\..\..\..\src\ta_abstract\tables\table_i.c & + ..\..\..\..\..\src\ta_abstract\tables\table_j.c & + ..\..\..\..\..\src\ta_abstract\tables\table_k.c & + ..\..\..\..\..\src\ta_abstract\tables\table_l.c & + ..\..\..\..\..\src\ta_abstract\tables\table_m.c & + ..\..\..\..\..\src\ta_abstract\tables\table_n.c & + ..\..\..\..\..\src\ta_abstract\tables\table_o.c & + ..\..\..\..\..\src\ta_abstract\tables\table_p.c & + ..\..\..\..\..\src\ta_abstract\tables\table_q.c & + ..\..\..\..\..\src\ta_abstract\tables\table_r.c & + ..\..\..\..\..\src\ta_abstract\tables\table_s.c & + ..\..\..\..\..\src\ta_abstract\tables\table_t.c & + ..\..\..\..\..\src\ta_abstract\tables\table_u.c & + ..\..\..\..\..\src\ta_abstract\tables\table_v.c & + ..\..\..\..\..\src\ta_abstract\tables\table_w.c & + ..\..\..\..\..\src\ta_abstract\tables\table_x.c & + ..\..\..\..\..\src\ta_abstract\tables\table_y.c & + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\cmr\ta_abstract.obj & + ..\..\..\..\..\temp\cmr\ta_def_ui.obj & + ..\..\..\..\..\temp\cmr\ta_func_api.obj & + ..\..\..\..\..\temp\cmr\ta_group_idx.obj & + ..\..\..\..\..\temp\cmr\ta_frame.obj & + ..\..\..\..\..\temp\cmr\table_a.obj & + ..\..\..\..\..\temp\cmr\table_b.obj & + ..\..\..\..\..\temp\cmr\table_c.obj & + ..\..\..\..\..\temp\cmr\table_d.obj & + ..\..\..\..\..\temp\cmr\table_e.obj & + ..\..\..\..\..\temp\cmr\table_f.obj & + ..\..\..\..\..\temp\cmr\table_g.obj & + ..\..\..\..\..\temp\cmr\table_h.obj & + ..\..\..\..\..\temp\cmr\table_i.obj & + ..\..\..\..\..\temp\cmr\table_j.obj & + ..\..\..\..\..\temp\cmr\table_k.obj & + ..\..\..\..\..\temp\cmr\table_l.obj & + ..\..\..\..\..\temp\cmr\table_m.obj & + ..\..\..\..\..\temp\cmr\table_n.obj & + ..\..\..\..\..\temp\cmr\table_o.obj & + ..\..\..\..\..\temp\cmr\table_p.obj & + ..\..\..\..\..\temp\cmr\table_q.obj & + ..\..\..\..\..\temp\cmr\table_r.obj & + ..\..\..\..\..\temp\cmr\table_s.obj & + ..\..\..\..\..\temp\cmr\table_t.obj & + ..\..\..\..\..\temp\cmr\table_u.obj & + ..\..\..\..\..\temp\cmr\table_v.obj & + ..\..\..\..\..\temp\cmr\table_w.obj & + ..\..\..\..\..\temp\cmr\table_x.obj & + ..\..\..\..\..\temp\cmr\table_y.obj & + ..\..\..\..\..\temp\cmr\table_z.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_abstract_cmr.lib +TMPLIST = ta_abstract_cmr.lst + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + @%create $(TMPLIST) + @for %i in ( $(OBJECTS) $(OBJMOC) ) do @%append $(TMPLIST) +'%i' + $(LIB) $(TARGET) @$(TMPLIST) + del $(TMPLIST) + +moc: $(SRCMOC) + +tmake: ../cmr/win32/watcom/ta_abstract/Makefile + +../cmr/win32/watcom/ta_abstract/Makefile: ta_abstract/ta_abstract.pro + tmake ta_abstract/ta_abstract.pro -o ../cmr/win32/watcom/ta_abstract/Makefile + +dist: + $(ZIP) ta_abstract/ta_abstract.zip ta_abstract/ta_abstract.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmr\ta_abstract.obj + -del ..\..\..\..\..\temp\cmr\ta_def_ui.obj + -del ..\..\..\..\..\temp\cmr\ta_func_api.obj + -del ..\..\..\..\..\temp\cmr\ta_group_idx.obj + -del ..\..\..\..\..\temp\cmr\ta_frame.obj + -del ..\..\..\..\..\temp\cmr\table_a.obj + -del ..\..\..\..\..\temp\cmr\table_b.obj + -del ..\..\..\..\..\temp\cmr\table_c.obj + -del ..\..\..\..\..\temp\cmr\table_d.obj + -del ..\..\..\..\..\temp\cmr\table_e.obj + -del ..\..\..\..\..\temp\cmr\table_f.obj + -del ..\..\..\..\..\temp\cmr\table_g.obj + -del ..\..\..\..\..\temp\cmr\table_h.obj + -del ..\..\..\..\..\temp\cmr\table_i.obj + -del ..\..\..\..\..\temp\cmr\table_j.obj + -del ..\..\..\..\..\temp\cmr\table_k.obj + -del ..\..\..\..\..\temp\cmr\table_l.obj + -del ..\..\..\..\..\temp\cmr\table_m.obj + -del ..\..\..\..\..\temp\cmr\table_n.obj + -del ..\..\..\..\..\temp\cmr\table_o.obj + -del ..\..\..\..\..\temp\cmr\table_p.obj + -del ..\..\..\..\..\temp\cmr\table_q.obj + -del ..\..\..\..\..\temp\cmr\table_r.obj + -del ..\..\..\..\..\temp\cmr\table_s.obj + -del ..\..\..\..\..\temp\cmr\table_t.obj + -del ..\..\..\..\..\temp\cmr\table_u.obj + -del ..\..\..\..\..\temp\cmr\table_v.obj + -del ..\..\..\..\..\temp\cmr\table_w.obj + -del ..\..\..\..\..\temp\cmr\table_x.obj + -del ..\..\..\..\..\temp\cmr\table_y.obj + -del ..\..\..\..\..\temp\cmr\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmr/*.pch + -del ../../../../../temp/cmr/*.idb + -del ../../../../../temp/cmr/ta_abstract/*.pch + -del ../../../../../temp/cmr/ta_abstract/*.idb + -del ../../../../../temp/cmr/ta_abstract/*.obj + +####### Compile + +..\..\..\..\..\temp\cmr\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cmr\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cmr\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\cmr\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\cmr\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\cmr\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cmr\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cmr\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cmr\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cmr\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cmr\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cmr\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cmr\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cmr\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cmr\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cmr\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cmr\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cmr\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cmr\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cmr\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cmr\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cmr\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cmr\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cmr\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cmr\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cmr\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cmr\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cmr\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cmr\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cmr\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cmr\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/cmr/win32/watcom/ta_common/Makefile b/vendor/ta-lib/make/cmr/win32/watcom/ta_common/Makefile new file mode 100644 index 000000000..6e3dfa16f --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/watcom/ta_common/Makefile @@ -0,0 +1,83 @@ +############################################################################# +# Makefile for building ta_common_cmr +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = wcl386 +CXX = wcl386 +CFLAGS = -zq -w2 -ox -d=WIN32 +CXXFLAGS= -zq -w2 -ox -d=WIN32 +INCPATH = -i="..\..\..\..\..\src\ta_common" -i="..\..\..\..\..\include" +LIB = wlib -b -c -n -q -p=512 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c & + ..\..\..\..\..\src\ta_common\ta_retcode.c & + ..\..\..\..\..\src\ta_common\ta_version.c +OBJECTS = ..\..\..\..\..\temp\cmr\ta_global.obj & + ..\..\..\..\..\temp\cmr\ta_retcode.obj & + ..\..\..\..\..\temp\cmr\ta_version.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_common_cmr.lib +TMPLIST = ta_common_cmr.lst + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + @%create $(TMPLIST) + @for %i in ( $(OBJECTS) $(OBJMOC) ) do @%append $(TMPLIST) +'%i' + $(LIB) $(TARGET) @$(TMPLIST) + del $(TMPLIST) + +moc: $(SRCMOC) + +tmake: ../cmr/win32/watcom/ta_common/Makefile + +../cmr/win32/watcom/ta_common/Makefile: ta_common/ta_common.pro + tmake ta_common/ta_common.pro -o ../cmr/win32/watcom/ta_common/Makefile + +dist: + $(ZIP) ta_common/ta_common.zip ta_common/ta_common.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmr\ta_global.obj + -del ..\..\..\..\..\temp\cmr\ta_retcode.obj + -del ..\..\..\..\..\temp\cmr\ta_version.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmr/*.pch + -del ../../../../../temp/cmr/*.idb + -del ../../../../../temp/cmr/ta_common_cmr/*.pch + -del ../../../../../temp/cmr/ta_common_cmr/*.idb + -del ../../../../../temp/cmr/ta_common_cmr/*.obj + +####### Compile + +..\..\..\..\..\temp\cmr\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\cmr\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\cmr\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + diff --git a/vendor/ta-lib/make/cmr/win32/watcom/ta_func/Makefile b/vendor/ta-lib/make/cmr/win32/watcom/ta_func/Makefile new file mode 100644 index 000000000..b364f9887 --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/watcom/ta_func/Makefile @@ -0,0 +1,1019 @@ +############################################################################# +# Makefile for building ta_func_cmr +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = wcl386 +CXX = wcl386 +CFLAGS = -zq -w2 -ox -d=WIN32 +CXXFLAGS= -zq -w2 -ox -d=WIN32 +INCPATH = -i="..\..\..\..\..\src\ta_common" -i="\n" -i="..\..\..\..\..\include" +LIB = wlib -b -c -n -q -p=512 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_func\ta_utility.c & + ..\..\..\..\..\src\ta_func\ta_ACOS.c & + ..\..\..\..\..\src\ta_func\ta_AD.c & + ..\..\..\..\..\src\ta_func\ta_ADD.c & + ..\..\..\..\..\src\ta_func\ta_ADOSC.c & + ..\..\..\..\..\src\ta_func\ta_ADX.c & + ..\..\..\..\..\src\ta_func\ta_ADXR.c & + ..\..\..\..\..\src\ta_func\ta_APO.c & + ..\..\..\..\..\src\ta_func\ta_AROON.c & + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c & + ..\..\..\..\..\src\ta_func\ta_ASIN.c & + ..\..\..\..\..\src\ta_func\ta_ATAN.c & + ..\..\..\..\..\src\ta_func\ta_ATR.c & + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c & + ..\..\..\..\..\src\ta_func\ta_BBANDS.c & + ..\..\..\..\..\src\ta_func\ta_BETA.c & + ..\..\..\..\..\src\ta_func\ta_BOP.c & + ..\..\..\..\..\src\ta_func\ta_CCI.c & + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c & + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c & + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c & + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c & + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c & + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c & + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c & + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c & + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c & + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c & + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c & + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c & + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c & + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c & + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c & + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c & + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c & + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c & + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c & + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c & + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c & + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c & + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c & + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c & + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c & + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c & + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c & + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c & + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c & + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c & + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c & + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c & + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c & + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c & + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c & + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c & + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c & + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c & + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c & + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c & + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c & + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c & + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c & + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c & + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c & + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c & + ..\..\..\..\..\src\ta_func\ta_CEIL.c & + ..\..\..\..\..\src\ta_func\ta_CMO.c & + ..\..\..\..\..\src\ta_func\ta_CORREL.c & + ..\..\..\..\..\src\ta_func\ta_COS.c & + ..\..\..\..\..\src\ta_func\ta_COSH.c & + ..\..\..\..\..\src\ta_func\ta_DEMA.c & + ..\..\..\..\..\src\ta_func\ta_DIV.c & + ..\..\..\..\..\src\ta_func\ta_DX.c & + ..\..\..\..\..\src\ta_func\ta_EMA.c & + ..\..\..\..\..\src\ta_func\ta_EXP.c & + ..\..\..\..\..\src\ta_func\ta_FLOOR.c & + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c & + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c & + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c & + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c & + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c & + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c & + ..\..\..\..\..\src\ta_func\ta_KAMA.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c & + ..\..\..\..\..\src\ta_func\ta_LN.c & + ..\..\..\..\..\src\ta_func\ta_LOG10.c & + ..\..\..\..\..\src\ta_func\ta_MA.c & + ..\..\..\..\..\src\ta_func\ta_MACD.c & + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c & + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c & + ..\..\..\..\..\src\ta_func\ta_MAMA.c & + ..\..\..\..\..\src\ta_func\ta_MAVP.c & + ..\..\..\..\..\src\ta_func\ta_MAX.c & + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c & + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c & + ..\..\..\..\..\src\ta_func\ta_MFI.c & + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c & + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c & + ..\..\..\..\..\src\ta_func\ta_MIN.c & + ..\..\..\..\..\src\ta_func\ta_MININDEX.c & + ..\..\..\..\..\src\ta_func\ta_MINMAX.c & + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c & + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c & + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c & + ..\..\..\..\..\src\ta_func\ta_MOM.c & + ..\..\..\..\..\src\ta_func\ta_MULT.c & + ..\..\..\..\..\src\ta_func\ta_NATR.c & + ..\..\..\..\..\src\ta_func\ta_OBV.c & + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c & + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c & + ..\..\..\..\..\src\ta_func\ta_PPO.c & + ..\..\..\..\..\src\ta_func\ta_ROC.c & + ..\..\..\..\..\src\ta_func\ta_ROCP.c & + ..\..\..\..\..\src\ta_func\ta_ROCR.c & + ..\..\..\..\..\src\ta_func\ta_ROCR100.c & + ..\..\..\..\..\src\ta_func\ta_RSI.c & + ..\..\..\..\..\src\ta_func\ta_SAR.c & + ..\..\..\..\..\src\ta_func\ta_SAREXT.c & + ..\..\..\..\..\src\ta_func\ta_SIN.c & + ..\..\..\..\..\src\ta_func\ta_SINH.c & + ..\..\..\..\..\src\ta_func\ta_SMA.c & + ..\..\..\..\..\src\ta_func\ta_SQRT.c & + ..\..\..\..\..\src\ta_func\ta_STDDEV.c & + ..\..\..\..\..\src\ta_func\ta_STOCH.c & + ..\..\..\..\..\src\ta_func\ta_STOCHF.c & + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c & + ..\..\..\..\..\src\ta_func\ta_SUB.c & + ..\..\..\..\..\src\ta_func\ta_SUM.c & + ..\..\..\..\..\src\ta_func\ta_T3.c & + ..\..\..\..\..\src\ta_func\ta_TAN.c & + ..\..\..\..\..\src\ta_func\ta_TANH.c & + ..\..\..\..\..\src\ta_func\ta_TEMA.c & + ..\..\..\..\..\src\ta_func\ta_TRANGE.c & + ..\..\..\..\..\src\ta_func\ta_TRIMA.c & + ..\..\..\..\..\src\ta_func\ta_TRIX.c & + ..\..\..\..\..\src\ta_func\ta_TSF.c & + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c & + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c & + ..\..\..\..\..\src\ta_func\ta_VAR.c & + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c & + ..\..\..\..\..\src\ta_func\ta_WILLR.c & + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\cmr\ta_utility.obj & + ..\..\..\..\..\temp\cmr\ta_ACOS.obj & + ..\..\..\..\..\temp\cmr\ta_AD.obj & + ..\..\..\..\..\temp\cmr\ta_ADD.obj & + ..\..\..\..\..\temp\cmr\ta_ADOSC.obj & + ..\..\..\..\..\temp\cmr\ta_ADX.obj & + ..\..\..\..\..\temp\cmr\ta_ADXR.obj & + ..\..\..\..\..\temp\cmr\ta_APO.obj & + ..\..\..\..\..\temp\cmr\ta_AROON.obj & + ..\..\..\..\..\temp\cmr\ta_AROONOSC.obj & + ..\..\..\..\..\temp\cmr\ta_ASIN.obj & + ..\..\..\..\..\temp\cmr\ta_ATAN.obj & + ..\..\..\..\..\temp\cmr\ta_ATR.obj & + ..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj & + ..\..\..\..\..\temp\cmr\ta_BBANDS.obj & + ..\..\..\..\..\temp\cmr\ta_BETA.obj & + ..\..\..\..\..\temp\cmr\ta_BOP.obj & + ..\..\..\..\..\temp\cmr\ta_CCI.obj & + ..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj & + ..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj & + ..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj & + ..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj & + ..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj & + ..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj & + ..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj & + ..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj & + ..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj & + ..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj & + ..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj & + ..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj & + ..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj & + ..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj & + ..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj & + ..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj & + ..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj & + ..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj & + ..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj & + ..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj & + ..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj & + ..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj & + ..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj & + ..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj & + ..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj & + ..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj & + ..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj & + ..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj & + ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj & + ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj & + ..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj & + ..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj & + ..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj & + ..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj & + ..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj & + ..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj & + ..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj & + ..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj & + ..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj & + ..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj & + ..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj & + ..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj & + ..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj & + ..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj & + ..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj & + ..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj & + ..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj & + ..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj & + ..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj & + ..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj & + ..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj & + ..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj & + ..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj & + ..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj & + ..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj & + ..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj & + ..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj & + ..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj & + ..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj & + ..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj & + ..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj & + ..\..\..\..\..\temp\cmr\ta_CEIL.obj & + ..\..\..\..\..\temp\cmr\ta_CMO.obj & + ..\..\..\..\..\temp\cmr\ta_CORREL.obj & + ..\..\..\..\..\temp\cmr\ta_COS.obj & + ..\..\..\..\..\temp\cmr\ta_COSH.obj & + ..\..\..\..\..\temp\cmr\ta_DEMA.obj & + ..\..\..\..\..\temp\cmr\ta_DIV.obj & + ..\..\..\..\..\temp\cmr\ta_DX.obj & + ..\..\..\..\..\temp\cmr\ta_EMA.obj & + ..\..\..\..\..\temp\cmr\ta_EXP.obj & + ..\..\..\..\..\temp\cmr\ta_FLOOR.obj & + ..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj & + ..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj & + ..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj & + ..\..\..\..\..\temp\cmr\ta_HT_SINE.obj & + ..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj & + ..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj & + ..\..\..\..\..\temp\cmr\ta_KAMA.obj & + ..\..\..\..\..\temp\cmr\ta_LINEARREG.obj & + ..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj & + ..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj & + ..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj & + ..\..\..\..\..\temp\cmr\ta_LN.obj & + ..\..\..\..\..\temp\cmr\ta_LOG10.obj & + ..\..\..\..\..\temp\cmr\ta_MA.obj & + ..\..\..\..\..\temp\cmr\ta_MACD.obj & + ..\..\..\..\..\temp\cmr\ta_MACDEXT.obj & + ..\..\..\..\..\temp\cmr\ta_MACDFIX.obj & + ..\..\..\..\..\temp\cmr\ta_MAMA.obj & + ..\..\..\..\..\temp\cmr\ta_MAVP.obj & + ..\..\..\..\..\temp\cmr\ta_MAX.obj & + ..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj & + ..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj & + ..\..\..\..\..\temp\cmr\ta_MFI.obj & + ..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj & + ..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj & + ..\..\..\..\..\temp\cmr\ta_MIN.obj & + ..\..\..\..\..\temp\cmr\ta_MININDEX.obj & + ..\..\..\..\..\temp\cmr\ta_MINMAX.obj & + ..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj & + ..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj & + ..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj & + ..\..\..\..\..\temp\cmr\ta_MOM.obj & + ..\..\..\..\..\temp\cmr\ta_MULT.obj & + ..\..\..\..\..\temp\cmr\ta_NATR.obj & + ..\..\..\..\..\temp\cmr\ta_OBV.obj & + ..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj & + ..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj & + ..\..\..\..\..\temp\cmr\ta_PPO.obj & + ..\..\..\..\..\temp\cmr\ta_ROC.obj & + ..\..\..\..\..\temp\cmr\ta_ROCP.obj & + ..\..\..\..\..\temp\cmr\ta_ROCR.obj & + ..\..\..\..\..\temp\cmr\ta_ROCR100.obj & + ..\..\..\..\..\temp\cmr\ta_RSI.obj & + ..\..\..\..\..\temp\cmr\ta_SAR.obj & + ..\..\..\..\..\temp\cmr\ta_SAREXT.obj & + ..\..\..\..\..\temp\cmr\ta_SIN.obj & + ..\..\..\..\..\temp\cmr\ta_SINH.obj & + ..\..\..\..\..\temp\cmr\ta_SMA.obj & + ..\..\..\..\..\temp\cmr\ta_SQRT.obj & + ..\..\..\..\..\temp\cmr\ta_STDDEV.obj & + ..\..\..\..\..\temp\cmr\ta_STOCH.obj & + ..\..\..\..\..\temp\cmr\ta_STOCHF.obj & + ..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj & + ..\..\..\..\..\temp\cmr\ta_SUB.obj & + ..\..\..\..\..\temp\cmr\ta_SUM.obj & + ..\..\..\..\..\temp\cmr\ta_T3.obj & + ..\..\..\..\..\temp\cmr\ta_TAN.obj & + ..\..\..\..\..\temp\cmr\ta_TANH.obj & + ..\..\..\..\..\temp\cmr\ta_TEMA.obj & + ..\..\..\..\..\temp\cmr\ta_TRANGE.obj & + ..\..\..\..\..\temp\cmr\ta_TRIMA.obj & + ..\..\..\..\..\temp\cmr\ta_TRIX.obj & + ..\..\..\..\..\temp\cmr\ta_TSF.obj & + ..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj & + ..\..\..\..\..\temp\cmr\ta_ULTOSC.obj & + ..\..\..\..\..\temp\cmr\ta_VAR.obj & + ..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj & + ..\..\..\..\..\temp\cmr\ta_WILLR.obj & + ..\..\..\..\..\temp\cmr\ta_WMA.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_func_cmr.lib +TMPLIST = ta_func_cmr.lst + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + @%create $(TMPLIST) + @for %i in ( $(OBJECTS) $(OBJMOC) ) do @%append $(TMPLIST) +'%i' + $(LIB) $(TARGET) @$(TMPLIST) + del $(TMPLIST) + +moc: $(SRCMOC) + +tmake: ../cmr/win32/watcom/ta_func/Makefile + +../cmr/win32/watcom/ta_func/Makefile: ta_func/ta_func.pro + tmake ta_func/ta_func.pro -o ../cmr/win32/watcom/ta_func/Makefile + +dist: + $(ZIP) ta_func/ta_func.zip ta_func/ta_func.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmr\ta_utility.obj + -del ..\..\..\..\..\temp\cmr\ta_ACOS.obj + -del ..\..\..\..\..\temp\cmr\ta_AD.obj + -del ..\..\..\..\..\temp\cmr\ta_ADD.obj + -del ..\..\..\..\..\temp\cmr\ta_ADOSC.obj + -del ..\..\..\..\..\temp\cmr\ta_ADX.obj + -del ..\..\..\..\..\temp\cmr\ta_ADXR.obj + -del ..\..\..\..\..\temp\cmr\ta_APO.obj + -del ..\..\..\..\..\temp\cmr\ta_AROON.obj + -del ..\..\..\..\..\temp\cmr\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\cmr\ta_ASIN.obj + -del ..\..\..\..\..\temp\cmr\ta_ATAN.obj + -del ..\..\..\..\..\temp\cmr\ta_ATR.obj + -del ..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_BBANDS.obj + -del ..\..\..\..\..\temp\cmr\ta_BETA.obj + -del ..\..\..\..\..\temp\cmr\ta_BOP.obj + -del ..\..\..\..\..\temp\cmr\ta_CCI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\cmr\ta_CEIL.obj + -del ..\..\..\..\..\temp\cmr\ta_CMO.obj + -del ..\..\..\..\..\temp\cmr\ta_CORREL.obj + -del ..\..\..\..\..\temp\cmr\ta_COS.obj + -del ..\..\..\..\..\temp\cmr\ta_COSH.obj + -del ..\..\..\..\..\temp\cmr\ta_DEMA.obj + -del ..\..\..\..\..\temp\cmr\ta_DIV.obj + -del ..\..\..\..\..\temp\cmr\ta_DX.obj + -del ..\..\..\..\..\temp\cmr\ta_EMA.obj + -del ..\..\..\..\..\temp\cmr\ta_EXP.obj + -del ..\..\..\..\..\temp\cmr\ta_FLOOR.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\cmr\ta_KAMA.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\cmr\ta_LN.obj + -del ..\..\..\..\..\temp\cmr\ta_LOG10.obj + -del ..\..\..\..\..\temp\cmr\ta_MA.obj + -del ..\..\..\..\..\temp\cmr\ta_MACD.obj + -del ..\..\..\..\..\temp\cmr\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\cmr\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\cmr\ta_MAMA.obj + -del ..\..\..\..\..\temp\cmr\ta_MAVP.obj + -del ..\..\..\..\..\temp\cmr\ta_MAX.obj + -del ..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_MFI.obj + -del ..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_MIN.obj + -del ..\..\..\..\..\temp\cmr\ta_MININDEX.obj + -del ..\..\..\..\..\temp\cmr\ta_MINMAX.obj + -del ..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\cmr\ta_MOM.obj + -del ..\..\..\..\..\temp\cmr\ta_MULT.obj + -del ..\..\..\..\..\temp\cmr\ta_NATR.obj + -del ..\..\..\..\..\temp\cmr\ta_OBV.obj + -del ..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\cmr\ta_PPO.obj + -del ..\..\..\..\..\temp\cmr\ta_ROC.obj + -del ..\..\..\..\..\temp\cmr\ta_ROCP.obj + -del ..\..\..\..\..\temp\cmr\ta_ROCR.obj + -del ..\..\..\..\..\temp\cmr\ta_ROCR100.obj + -del ..\..\..\..\..\temp\cmr\ta_RSI.obj + -del ..\..\..\..\..\temp\cmr\ta_SAR.obj + -del ..\..\..\..\..\temp\cmr\ta_SAREXT.obj + -del ..\..\..\..\..\temp\cmr\ta_SIN.obj + -del ..\..\..\..\..\temp\cmr\ta_SINH.obj + -del ..\..\..\..\..\temp\cmr\ta_SMA.obj + -del ..\..\..\..\..\temp\cmr\ta_SQRT.obj + -del ..\..\..\..\..\temp\cmr\ta_STDDEV.obj + -del ..\..\..\..\..\temp\cmr\ta_STOCH.obj + -del ..\..\..\..\..\temp\cmr\ta_STOCHF.obj + -del ..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\cmr\ta_SUB.obj + -del ..\..\..\..\..\temp\cmr\ta_SUM.obj + -del ..\..\..\..\..\temp\cmr\ta_T3.obj + -del ..\..\..\..\..\temp\cmr\ta_TAN.obj + -del ..\..\..\..\..\temp\cmr\ta_TANH.obj + -del ..\..\..\..\..\temp\cmr\ta_TEMA.obj + -del ..\..\..\..\..\temp\cmr\ta_TRANGE.obj + -del ..\..\..\..\..\temp\cmr\ta_TRIMA.obj + -del ..\..\..\..\..\temp\cmr\ta_TRIX.obj + -del ..\..\..\..\..\temp\cmr\ta_TSF.obj + -del ..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\cmr\ta_VAR.obj + -del ..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_WILLR.obj + -del ..\..\..\..\..\temp\cmr\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmr/*.pch + -del ../../../../../temp/cmr/*.idb + -del ../../../../../temp/cmr/ta_func/*.pch + -del ../../../../../temp/cmr/ta_func/*.idb + -del ../../../../../temp/cmr/ta_func/*.obj + +####### Compile + +..\..\..\..\..\temp\cmr\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\cmr\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\cmr\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\cmr\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\cmr\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\cmr\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\cmr\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\cmr\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\cmr\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\cmr\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\cmr\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\cmr\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\cmr\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\cmr\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\cmr\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\cmr\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\cmr\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\cmr\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\cmr\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\cmr\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\cmr\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\cmr\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\cmr\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\cmr\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\cmr\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\cmr\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\cmr\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\cmr\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\cmr\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\cmr\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\cmr\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\cmr\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\cmr\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\cmr\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\cmr\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\cmr\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\cmr\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\cmr\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\cmr\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\cmr\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\cmr\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\cmr\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\cmr\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\cmr\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\cmr\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\cmr\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\cmr\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\cmr\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\cmr\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\cmr\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\cmr\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\cmr\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\cmr\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\cmr\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\cmr\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\cmr\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\cmr\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\cmr\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\cmr\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\cmr\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\cmr\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\cmr\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\cmr\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\cmr\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\cmr\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\cmr\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\cmr\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\cmr\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\cmr\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\cmr\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\cmr\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\cmr\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\cmr\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\cmr\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\cmr\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\cmr\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/cmr/win32/watcom/ta_libc/Makefile b/vendor/ta-lib/make/cmr/win32/watcom/ta_libc/Makefile new file mode 100644 index 000000000..00c2e6873 --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/watcom/ta_libc/Makefile @@ -0,0 +1,1219 @@ +############################################################################# +# Makefile for building ta_libc_cmr +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +QTDIR = +CC = wcl386 +CXX = wcl386 +CFLAGS = -zq -w2 -ox -d=WIN32 -d=NO_DEBUG +CXXFLAGS= -zq -w2 -ox -d=WIN32 -d=NO_DEBUG +INCPATH = -i="..\..\..\..\..\src\ta_common" -i="..\..\..\..\..\include" -i="..\..\..\..\..\src\ta_abstract" -i="..\..\..\..\..\src\ta_abstract\tables" -i="..\..\..\..\..\src\ta_abstract\frames" -i="$(QTDIR)\include" +LIB = wlib -b -c -n -q -p=512 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c & + ..\..\..\..\..\src\ta_common\ta_retcode.c & + ..\..\..\..\..\src\ta_common\ta_version.c & + ..\..\..\..\..\src\ta_abstract\ta_abstract.c & + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c & + ..\..\..\..\..\src\ta_abstract\ta_func_api.c & + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c & + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c & + ..\..\..\..\..\src\ta_abstract\tables\table_a.c & + ..\..\..\..\..\src\ta_abstract\tables\table_b.c & + ..\..\..\..\..\src\ta_abstract\tables\table_c.c & + ..\..\..\..\..\src\ta_abstract\tables\table_d.c & + ..\..\..\..\..\src\ta_abstract\tables\table_e.c & + ..\..\..\..\..\src\ta_abstract\tables\table_f.c & + ..\..\..\..\..\src\ta_abstract\tables\table_g.c & + ..\..\..\..\..\src\ta_abstract\tables\table_h.c & + ..\..\..\..\..\src\ta_abstract\tables\table_i.c & + ..\..\..\..\..\src\ta_abstract\tables\table_j.c & + ..\..\..\..\..\src\ta_abstract\tables\table_k.c & + ..\..\..\..\..\src\ta_abstract\tables\table_l.c & + ..\..\..\..\..\src\ta_abstract\tables\table_m.c & + ..\..\..\..\..\src\ta_abstract\tables\table_n.c & + ..\..\..\..\..\src\ta_abstract\tables\table_o.c & + ..\..\..\..\..\src\ta_abstract\tables\table_p.c & + ..\..\..\..\..\src\ta_abstract\tables\table_q.c & + ..\..\..\..\..\src\ta_abstract\tables\table_r.c & + ..\..\..\..\..\src\ta_abstract\tables\table_s.c & + ..\..\..\..\..\src\ta_abstract\tables\table_t.c & + ..\..\..\..\..\src\ta_abstract\tables\table_u.c & + ..\..\..\..\..\src\ta_abstract\tables\table_v.c & + ..\..\..\..\..\src\ta_abstract\tables\table_w.c & + ..\..\..\..\..\src\ta_abstract\tables\table_x.c & + ..\..\..\..\..\src\ta_abstract\tables\table_y.c & + ..\..\..\..\..\src\ta_abstract\tables\table_z.c & + ..\..\..\..\..\src\ta_func\ta_utility.c & + ..\..\..\..\..\src\ta_func\ta_ACOS.c & + ..\..\..\..\..\src\ta_func\ta_AD.c & + ..\..\..\..\..\src\ta_func\ta_ADD.c & + ..\..\..\..\..\src\ta_func\ta_ADOSC.c & + ..\..\..\..\..\src\ta_func\ta_ADX.c & + ..\..\..\..\..\src\ta_func\ta_ADXR.c & + ..\..\..\..\..\src\ta_func\ta_APO.c & + ..\..\..\..\..\src\ta_func\ta_AROON.c & + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c & + ..\..\..\..\..\src\ta_func\ta_ASIN.c & + ..\..\..\..\..\src\ta_func\ta_ATAN.c & + ..\..\..\..\..\src\ta_func\ta_ATR.c & + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c & + ..\..\..\..\..\src\ta_func\ta_BBANDS.c & + ..\..\..\..\..\src\ta_func\ta_BETA.c & + ..\..\..\..\..\src\ta_func\ta_BOP.c & + ..\..\..\..\..\src\ta_func\ta_CCI.c & + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c & + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c & + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c & + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c & + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c & + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c & + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c & + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c & + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c & + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c & + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c & + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c & + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c & + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c & + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c & + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c & + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c & + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c & + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c & + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c & + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c & + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c & + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c & + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c & + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c & + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c & + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c & + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c & + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c & + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c & + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c & + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c & + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c & + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c & + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c & + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c & + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c & + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c & + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c & + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c & + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c & + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c & + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c & + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c & + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c & + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c & + ..\..\..\..\..\src\ta_func\ta_CEIL.c & + ..\..\..\..\..\src\ta_func\ta_CMO.c & + ..\..\..\..\..\src\ta_func\ta_CORREL.c & + ..\..\..\..\..\src\ta_func\ta_COS.c & + ..\..\..\..\..\src\ta_func\ta_COSH.c & + ..\..\..\..\..\src\ta_func\ta_DEMA.c & + ..\..\..\..\..\src\ta_func\ta_DIV.c & + ..\..\..\..\..\src\ta_func\ta_DX.c & + ..\..\..\..\..\src\ta_func\ta_EMA.c & + ..\..\..\..\..\src\ta_func\ta_EXP.c & + ..\..\..\..\..\src\ta_func\ta_FLOOR.c & + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c & + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c & + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c & + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c & + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c & + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c & + ..\..\..\..\..\src\ta_func\ta_KAMA.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c & + ..\..\..\..\..\src\ta_func\ta_LN.c & + ..\..\..\..\..\src\ta_func\ta_LOG10.c & + ..\..\..\..\..\src\ta_func\ta_MA.c & + ..\..\..\..\..\src\ta_func\ta_MACD.c & + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c & + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c & + ..\..\..\..\..\src\ta_func\ta_MAMA.c & + ..\..\..\..\..\src\ta_func\ta_MAVP.c & + ..\..\..\..\..\src\ta_func\ta_MAX.c & + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c & + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c & + ..\..\..\..\..\src\ta_func\ta_MFI.c & + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c & + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c & + ..\..\..\..\..\src\ta_func\ta_MIN.c & + ..\..\..\..\..\src\ta_func\ta_MININDEX.c & + ..\..\..\..\..\src\ta_func\ta_MINMAX.c & + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c & + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c & + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c & + ..\..\..\..\..\src\ta_func\ta_MOM.c & + ..\..\..\..\..\src\ta_func\ta_MULT.c & + ..\..\..\..\..\src\ta_func\ta_NATR.c & + ..\..\..\..\..\src\ta_func\ta_OBV.c & + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c & + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c & + ..\..\..\..\..\src\ta_func\ta_PPO.c & + ..\..\..\..\..\src\ta_func\ta_ROC.c & + ..\..\..\..\..\src\ta_func\ta_ROCP.c & + ..\..\..\..\..\src\ta_func\ta_ROCR.c & + ..\..\..\..\..\src\ta_func\ta_ROCR100.c & + ..\..\..\..\..\src\ta_func\ta_RSI.c & + ..\..\..\..\..\src\ta_func\ta_SAR.c & + ..\..\..\..\..\src\ta_func\ta_SAREXT.c & + ..\..\..\..\..\src\ta_func\ta_SIN.c & + ..\..\..\..\..\src\ta_func\ta_SINH.c & + ..\..\..\..\..\src\ta_func\ta_SMA.c & + ..\..\..\..\..\src\ta_func\ta_SQRT.c & + ..\..\..\..\..\src\ta_func\ta_STDDEV.c & + ..\..\..\..\..\src\ta_func\ta_STOCH.c & + ..\..\..\..\..\src\ta_func\ta_STOCHF.c & + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c & + ..\..\..\..\..\src\ta_func\ta_SUB.c & + ..\..\..\..\..\src\ta_func\ta_SUM.c & + ..\..\..\..\..\src\ta_func\ta_T3.c & + ..\..\..\..\..\src\ta_func\ta_TAN.c & + ..\..\..\..\..\src\ta_func\ta_TANH.c & + ..\..\..\..\..\src\ta_func\ta_TEMA.c & + ..\..\..\..\..\src\ta_func\ta_TRANGE.c & + ..\..\..\..\..\src\ta_func\ta_TRIMA.c & + ..\..\..\..\..\src\ta_func\ta_TRIX.c & + ..\..\..\..\..\src\ta_func\ta_TSF.c & + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c & + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c & + ..\..\..\..\..\src\ta_func\ta_VAR.c & + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c & + ..\..\..\..\..\src\ta_func\ta_WILLR.c & + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\cmr\ta_global.obj & + ..\..\..\..\..\temp\cmr\ta_retcode.obj & + ..\..\..\..\..\temp\cmr\ta_version.obj & + ..\..\..\..\..\temp\cmr\ta_abstract.obj & + ..\..\..\..\..\temp\cmr\ta_def_ui.obj & + ..\..\..\..\..\temp\cmr\ta_func_api.obj & + ..\..\..\..\..\temp\cmr\ta_group_idx.obj & + ..\..\..\..\..\temp\cmr\ta_frame.obj & + ..\..\..\..\..\temp\cmr\table_a.obj & + ..\..\..\..\..\temp\cmr\table_b.obj & + ..\..\..\..\..\temp\cmr\table_c.obj & + ..\..\..\..\..\temp\cmr\table_d.obj & + ..\..\..\..\..\temp\cmr\table_e.obj & + ..\..\..\..\..\temp\cmr\table_f.obj & + ..\..\..\..\..\temp\cmr\table_g.obj & + ..\..\..\..\..\temp\cmr\table_h.obj & + ..\..\..\..\..\temp\cmr\table_i.obj & + ..\..\..\..\..\temp\cmr\table_j.obj & + ..\..\..\..\..\temp\cmr\table_k.obj & + ..\..\..\..\..\temp\cmr\table_l.obj & + ..\..\..\..\..\temp\cmr\table_m.obj & + ..\..\..\..\..\temp\cmr\table_n.obj & + ..\..\..\..\..\temp\cmr\table_o.obj & + ..\..\..\..\..\temp\cmr\table_p.obj & + ..\..\..\..\..\temp\cmr\table_q.obj & + ..\..\..\..\..\temp\cmr\table_r.obj & + ..\..\..\..\..\temp\cmr\table_s.obj & + ..\..\..\..\..\temp\cmr\table_t.obj & + ..\..\..\..\..\temp\cmr\table_u.obj & + ..\..\..\..\..\temp\cmr\table_v.obj & + ..\..\..\..\..\temp\cmr\table_w.obj & + ..\..\..\..\..\temp\cmr\table_x.obj & + ..\..\..\..\..\temp\cmr\table_y.obj & + ..\..\..\..\..\temp\cmr\table_z.obj & + ..\..\..\..\..\temp\cmr\ta_utility.obj & + ..\..\..\..\..\temp\cmr\ta_ACOS.obj & + ..\..\..\..\..\temp\cmr\ta_AD.obj & + ..\..\..\..\..\temp\cmr\ta_ADD.obj & + ..\..\..\..\..\temp\cmr\ta_ADOSC.obj & + ..\..\..\..\..\temp\cmr\ta_ADX.obj & + ..\..\..\..\..\temp\cmr\ta_ADXR.obj & + ..\..\..\..\..\temp\cmr\ta_APO.obj & + ..\..\..\..\..\temp\cmr\ta_AROON.obj & + ..\..\..\..\..\temp\cmr\ta_AROONOSC.obj & + ..\..\..\..\..\temp\cmr\ta_ASIN.obj & + ..\..\..\..\..\temp\cmr\ta_ATAN.obj & + ..\..\..\..\..\temp\cmr\ta_ATR.obj & + ..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj & + ..\..\..\..\..\temp\cmr\ta_BBANDS.obj & + ..\..\..\..\..\temp\cmr\ta_BETA.obj & + ..\..\..\..\..\temp\cmr\ta_BOP.obj & + ..\..\..\..\..\temp\cmr\ta_CCI.obj & + ..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj & + ..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj & + ..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj & + ..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj & + ..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj & + ..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj & + ..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj & + ..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj & + ..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj & + ..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj & + ..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj & + ..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj & + ..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj & + ..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj & + ..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj & + ..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj & + ..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj & + ..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj & + ..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj & + ..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj & + ..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj & + ..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj & + ..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj & + ..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj & + ..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj & + ..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj & + ..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj & + ..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj & + ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj & + ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj & + ..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj & + ..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj & + ..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj & + ..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj & + ..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj & + ..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj & + ..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj & + ..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj & + ..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj & + ..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj & + ..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj & + ..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj & + ..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj & + ..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj & + ..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj & + ..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj & + ..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj & + ..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj & + ..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj & + ..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj & + ..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj & + ..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj & + ..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj & + ..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj & + ..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj & + ..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj & + ..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj & + ..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj & + ..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj & + ..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj & + ..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj & + ..\..\..\..\..\temp\cmr\ta_CEIL.obj & + ..\..\..\..\..\temp\cmr\ta_CMO.obj & + ..\..\..\..\..\temp\cmr\ta_CORREL.obj & + ..\..\..\..\..\temp\cmr\ta_COS.obj & + ..\..\..\..\..\temp\cmr\ta_COSH.obj & + ..\..\..\..\..\temp\cmr\ta_DEMA.obj & + ..\..\..\..\..\temp\cmr\ta_DIV.obj & + ..\..\..\..\..\temp\cmr\ta_DX.obj & + ..\..\..\..\..\temp\cmr\ta_EMA.obj & + ..\..\..\..\..\temp\cmr\ta_EXP.obj & + ..\..\..\..\..\temp\cmr\ta_FLOOR.obj & + ..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj & + ..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj & + ..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj & + ..\..\..\..\..\temp\cmr\ta_HT_SINE.obj & + ..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj & + ..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj & + ..\..\..\..\..\temp\cmr\ta_KAMA.obj & + ..\..\..\..\..\temp\cmr\ta_LINEARREG.obj & + ..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj & + ..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj & + ..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj & + ..\..\..\..\..\temp\cmr\ta_LN.obj & + ..\..\..\..\..\temp\cmr\ta_LOG10.obj & + ..\..\..\..\..\temp\cmr\ta_MA.obj & + ..\..\..\..\..\temp\cmr\ta_MACD.obj & + ..\..\..\..\..\temp\cmr\ta_MACDEXT.obj & + ..\..\..\..\..\temp\cmr\ta_MACDFIX.obj & + ..\..\..\..\..\temp\cmr\ta_MAMA.obj & + ..\..\..\..\..\temp\cmr\ta_MAVP.obj & + ..\..\..\..\..\temp\cmr\ta_MAX.obj & + ..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj & + ..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj & + ..\..\..\..\..\temp\cmr\ta_MFI.obj & + ..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj & + ..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj & + ..\..\..\..\..\temp\cmr\ta_MIN.obj & + ..\..\..\..\..\temp\cmr\ta_MININDEX.obj & + ..\..\..\..\..\temp\cmr\ta_MINMAX.obj & + ..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj & + ..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj & + ..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj & + ..\..\..\..\..\temp\cmr\ta_MOM.obj & + ..\..\..\..\..\temp\cmr\ta_MULT.obj & + ..\..\..\..\..\temp\cmr\ta_NATR.obj & + ..\..\..\..\..\temp\cmr\ta_OBV.obj & + ..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj & + ..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj & + ..\..\..\..\..\temp\cmr\ta_PPO.obj & + ..\..\..\..\..\temp\cmr\ta_ROC.obj & + ..\..\..\..\..\temp\cmr\ta_ROCP.obj & + ..\..\..\..\..\temp\cmr\ta_ROCR.obj & + ..\..\..\..\..\temp\cmr\ta_ROCR100.obj & + ..\..\..\..\..\temp\cmr\ta_RSI.obj & + ..\..\..\..\..\temp\cmr\ta_SAR.obj & + ..\..\..\..\..\temp\cmr\ta_SAREXT.obj & + ..\..\..\..\..\temp\cmr\ta_SIN.obj & + ..\..\..\..\..\temp\cmr\ta_SINH.obj & + ..\..\..\..\..\temp\cmr\ta_SMA.obj & + ..\..\..\..\..\temp\cmr\ta_SQRT.obj & + ..\..\..\..\..\temp\cmr\ta_STDDEV.obj & + ..\..\..\..\..\temp\cmr\ta_STOCH.obj & + ..\..\..\..\..\temp\cmr\ta_STOCHF.obj & + ..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj & + ..\..\..\..\..\temp\cmr\ta_SUB.obj & + ..\..\..\..\..\temp\cmr\ta_SUM.obj & + ..\..\..\..\..\temp\cmr\ta_T3.obj & + ..\..\..\..\..\temp\cmr\ta_TAN.obj & + ..\..\..\..\..\temp\cmr\ta_TANH.obj & + ..\..\..\..\..\temp\cmr\ta_TEMA.obj & + ..\..\..\..\..\temp\cmr\ta_TRANGE.obj & + ..\..\..\..\..\temp\cmr\ta_TRIMA.obj & + ..\..\..\..\..\temp\cmr\ta_TRIX.obj & + ..\..\..\..\..\temp\cmr\ta_TSF.obj & + ..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj & + ..\..\..\..\..\temp\cmr\ta_ULTOSC.obj & + ..\..\..\..\..\temp\cmr\ta_VAR.obj & + ..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj & + ..\..\..\..\..\temp\cmr\ta_WILLR.obj & + ..\..\..\..\..\temp\cmr\ta_WMA.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_libc_cmr.lib +TMPLIST = ta_libc_cmr.lst + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + @%create $(TMPLIST) + @for %i in ( $(OBJECTS) $(OBJMOC) ) do @%append $(TMPLIST) +'%i' + $(LIB) $(TARGET) @$(TMPLIST) + del $(TMPLIST) + +moc: $(SRCMOC) + +tmake: ../cmr/win32/watcom/ta_libc/Makefile + +../cmr/win32/watcom/ta_libc/Makefile: ta_libc/ta_libc.pro + tmake ta_libc/ta_libc.pro -o ../cmr/win32/watcom/ta_libc/Makefile + +dist: + $(ZIP) ta_libc/ta_libc.zip ta_libc/ta_libc.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmr\ta_global.obj + -del ..\..\..\..\..\temp\cmr\ta_retcode.obj + -del ..\..\..\..\..\temp\cmr\ta_version.obj + -del ..\..\..\..\..\temp\cmr\ta_abstract.obj + -del ..\..\..\..\..\temp\cmr\ta_def_ui.obj + -del ..\..\..\..\..\temp\cmr\ta_func_api.obj + -del ..\..\..\..\..\temp\cmr\ta_group_idx.obj + -del ..\..\..\..\..\temp\cmr\ta_frame.obj + -del ..\..\..\..\..\temp\cmr\table_a.obj + -del ..\..\..\..\..\temp\cmr\table_b.obj + -del ..\..\..\..\..\temp\cmr\table_c.obj + -del ..\..\..\..\..\temp\cmr\table_d.obj + -del ..\..\..\..\..\temp\cmr\table_e.obj + -del ..\..\..\..\..\temp\cmr\table_f.obj + -del ..\..\..\..\..\temp\cmr\table_g.obj + -del ..\..\..\..\..\temp\cmr\table_h.obj + -del ..\..\..\..\..\temp\cmr\table_i.obj + -del ..\..\..\..\..\temp\cmr\table_j.obj + -del ..\..\..\..\..\temp\cmr\table_k.obj + -del ..\..\..\..\..\temp\cmr\table_l.obj + -del ..\..\..\..\..\temp\cmr\table_m.obj + -del ..\..\..\..\..\temp\cmr\table_n.obj + -del ..\..\..\..\..\temp\cmr\table_o.obj + -del ..\..\..\..\..\temp\cmr\table_p.obj + -del ..\..\..\..\..\temp\cmr\table_q.obj + -del ..\..\..\..\..\temp\cmr\table_r.obj + -del ..\..\..\..\..\temp\cmr\table_s.obj + -del ..\..\..\..\..\temp\cmr\table_t.obj + -del ..\..\..\..\..\temp\cmr\table_u.obj + -del ..\..\..\..\..\temp\cmr\table_v.obj + -del ..\..\..\..\..\temp\cmr\table_w.obj + -del ..\..\..\..\..\temp\cmr\table_x.obj + -del ..\..\..\..\..\temp\cmr\table_y.obj + -del ..\..\..\..\..\temp\cmr\table_z.obj + -del ..\..\..\..\..\temp\cmr\ta_utility.obj + -del ..\..\..\..\..\temp\cmr\ta_ACOS.obj + -del ..\..\..\..\..\temp\cmr\ta_AD.obj + -del ..\..\..\..\..\temp\cmr\ta_ADD.obj + -del ..\..\..\..\..\temp\cmr\ta_ADOSC.obj + -del ..\..\..\..\..\temp\cmr\ta_ADX.obj + -del ..\..\..\..\..\temp\cmr\ta_ADXR.obj + -del ..\..\..\..\..\temp\cmr\ta_APO.obj + -del ..\..\..\..\..\temp\cmr\ta_AROON.obj + -del ..\..\..\..\..\temp\cmr\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\cmr\ta_ASIN.obj + -del ..\..\..\..\..\temp\cmr\ta_ATAN.obj + -del ..\..\..\..\..\temp\cmr\ta_ATR.obj + -del ..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_BBANDS.obj + -del ..\..\..\..\..\temp\cmr\ta_BETA.obj + -del ..\..\..\..\..\temp\cmr\ta_BOP.obj + -del ..\..\..\..\..\temp\cmr\ta_CCI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\cmr\ta_CEIL.obj + -del ..\..\..\..\..\temp\cmr\ta_CMO.obj + -del ..\..\..\..\..\temp\cmr\ta_CORREL.obj + -del ..\..\..\..\..\temp\cmr\ta_COS.obj + -del ..\..\..\..\..\temp\cmr\ta_COSH.obj + -del ..\..\..\..\..\temp\cmr\ta_DEMA.obj + -del ..\..\..\..\..\temp\cmr\ta_DIV.obj + -del ..\..\..\..\..\temp\cmr\ta_DX.obj + -del ..\..\..\..\..\temp\cmr\ta_EMA.obj + -del ..\..\..\..\..\temp\cmr\ta_EXP.obj + -del ..\..\..\..\..\temp\cmr\ta_FLOOR.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\cmr\ta_KAMA.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\cmr\ta_LN.obj + -del ..\..\..\..\..\temp\cmr\ta_LOG10.obj + -del ..\..\..\..\..\temp\cmr\ta_MA.obj + -del ..\..\..\..\..\temp\cmr\ta_MACD.obj + -del ..\..\..\..\..\temp\cmr\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\cmr\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\cmr\ta_MAMA.obj + -del ..\..\..\..\..\temp\cmr\ta_MAVP.obj + -del ..\..\..\..\..\temp\cmr\ta_MAX.obj + -del ..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_MFI.obj + -del ..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_MIN.obj + -del ..\..\..\..\..\temp\cmr\ta_MININDEX.obj + -del ..\..\..\..\..\temp\cmr\ta_MINMAX.obj + -del ..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\cmr\ta_MOM.obj + -del ..\..\..\..\..\temp\cmr\ta_MULT.obj + -del ..\..\..\..\..\temp\cmr\ta_NATR.obj + -del ..\..\..\..\..\temp\cmr\ta_OBV.obj + -del ..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\cmr\ta_PPO.obj + -del ..\..\..\..\..\temp\cmr\ta_ROC.obj + -del ..\..\..\..\..\temp\cmr\ta_ROCP.obj + -del ..\..\..\..\..\temp\cmr\ta_ROCR.obj + -del ..\..\..\..\..\temp\cmr\ta_ROCR100.obj + -del ..\..\..\..\..\temp\cmr\ta_RSI.obj + -del ..\..\..\..\..\temp\cmr\ta_SAR.obj + -del ..\..\..\..\..\temp\cmr\ta_SAREXT.obj + -del ..\..\..\..\..\temp\cmr\ta_SIN.obj + -del ..\..\..\..\..\temp\cmr\ta_SINH.obj + -del ..\..\..\..\..\temp\cmr\ta_SMA.obj + -del ..\..\..\..\..\temp\cmr\ta_SQRT.obj + -del ..\..\..\..\..\temp\cmr\ta_STDDEV.obj + -del ..\..\..\..\..\temp\cmr\ta_STOCH.obj + -del ..\..\..\..\..\temp\cmr\ta_STOCHF.obj + -del ..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\cmr\ta_SUB.obj + -del ..\..\..\..\..\temp\cmr\ta_SUM.obj + -del ..\..\..\..\..\temp\cmr\ta_T3.obj + -del ..\..\..\..\..\temp\cmr\ta_TAN.obj + -del ..\..\..\..\..\temp\cmr\ta_TANH.obj + -del ..\..\..\..\..\temp\cmr\ta_TEMA.obj + -del ..\..\..\..\..\temp\cmr\ta_TRANGE.obj + -del ..\..\..\..\..\temp\cmr\ta_TRIMA.obj + -del ..\..\..\..\..\temp\cmr\ta_TRIX.obj + -del ..\..\..\..\..\temp\cmr\ta_TSF.obj + -del ..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\cmr\ta_VAR.obj + -del ..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\cmr\ta_WILLR.obj + -del ..\..\..\..\..\temp\cmr\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + +####### Compile + +..\..\..\..\..\temp\cmr\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\cmr\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\cmr\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + +..\..\..\..\..\temp\cmr\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\cmr\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\cmr\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\cmr\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\cmr\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\cmr\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\cmr\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\cmr\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\cmr\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\cmr\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\cmr\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\cmr\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\cmr\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\cmr\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\cmr\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\cmr\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\cmr\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\cmr\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\cmr\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\cmr\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\cmr\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\cmr\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\cmr\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\cmr\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\cmr\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\cmr\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\cmr\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\cmr\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\cmr\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\cmr\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\cmr\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + +..\..\..\..\..\temp\cmr\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\cmr\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\cmr\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\cmr\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\cmr\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\cmr\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\cmr\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\cmr\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\cmr\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\cmr\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\cmr\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\cmr\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\cmr\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\cmr\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\cmr\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\cmr\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\cmr\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\cmr\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\cmr\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\cmr\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\cmr\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\cmr\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\cmr\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\cmr\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\cmr\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\cmr\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\cmr\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\cmr\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\cmr\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\cmr\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\cmr\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\cmr\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\cmr\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\cmr\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\cmr\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\cmr\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\cmr\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\cmr\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\cmr\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\cmr\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\cmr\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\cmr\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\cmr\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\cmr\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\cmr\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\cmr\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\cmr\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\cmr\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\cmr\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\cmr\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\cmr\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\cmr\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\cmr\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\cmr\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\cmr\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\cmr\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\cmr\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\cmr\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\cmr\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\cmr\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\cmr\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\cmr\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\cmr\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\cmr\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\cmr\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\cmr\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\cmr\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\cmr\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\cmr\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\cmr\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\cmr\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\cmr\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\cmr\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\cmr\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\cmr\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\cmr\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/cmr/win32/watcom/ta_regtest/Makefile b/vendor/ta-lib/make/cmr/win32/watcom/ta_regtest/Makefile new file mode 100644 index 000000000..f2e488d15 --- /dev/null +++ b/vendor/ta-lib/make/cmr/win32/watcom/ta_regtest/Makefile @@ -0,0 +1,219 @@ +############################################################################# +# Makefile for building ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = wcl386 +CXX = wcl386 +CFLAGS = -zq -w2 -ox -d=WIN32 +CXXFLAGS= -zq -w2 -ox -d=WIN32 +INCPATH = -i="..\..\..\..\..\src\ta_common" -i="..\..\..\..\..\src\tools\ta_regtest" -i="..\..\..\..\..\src\ta_func" -i="..\..\..\..\..\include" +LINK = wlink +LFLAGS = op quiet op c sys nt +LIBS = ..\..\..\..\..\lib\ta_libc_cmr.lib +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c & + ..\..\..\..\..\src\tools\ta_regtest\test_internals.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c & + ..\..\..\..\..\src\tools\ta_regtest\test_util.c & + ..\..\..\..\..\src\tools\ta_regtest\test_data.c & + ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c +OBJECTS = ..\..\..\..\..\temp\cmr\ta_regtest.obj & + ..\..\..\..\..\temp\cmr\test_candlestick.obj & + ..\..\..\..\..\temp\cmr\test_1in_1out.obj & + ..\..\..\..\..\temp\cmr\test_1in_2out.obj & + ..\..\..\..\..\temp\cmr\test_internals.obj & + ..\..\..\..\..\temp\cmr\test_adx.obj & + ..\..\..\..\..\temp\cmr\test_bbands.obj & + ..\..\..\..\..\temp\cmr\test_ma.obj & + ..\..\..\..\..\temp\cmr\test_macd.obj & + ..\..\..\..\..\temp\cmr\test_minmax.obj & + ..\..\..\..\..\temp\cmr\test_mom.obj & + ..\..\..\..\..\temp\cmr\test_per_ema.obj & + ..\..\..\..\..\temp\cmr\test_per_hl.obj & + ..\..\..\..\..\temp\cmr\test_per_hlc.obj & + ..\..\..\..\..\temp\cmr\test_per_hlcv.obj & + ..\..\..\..\..\temp\cmr\test_per_ohlc.obj & + ..\..\..\..\..\temp\cmr\test_po.obj & + ..\..\..\..\..\temp\cmr\test_rsi.obj & + ..\..\..\..\..\temp\cmr\test_sar.obj & + ..\..\..\..\..\temp\cmr\test_stddev.obj & + ..\..\..\..\..\temp\cmr\test_stoch.obj & + ..\..\..\..\..\temp\cmr\test_trange.obj & + ..\..\..\..\..\temp\cmr\test_util.obj & + ..\..\..\..\..\temp\cmr\test_data.obj & + ..\..\..\..\..\temp\cmr\test_abstract.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\ta_regtest.exe +TMPLIST = ta_regtest.lst + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + @%create $(TMPLIST) + @%append $(TMPLIST) NAME ta_regtest + @%append $(TMPLIST) FIL ..\..\..\..\..\temp\cmr\ta_regtest.obj,..\..\..\..\..\temp\cmr\test_candlestick.obj,..\..\..\..\..\temp\cmr\test_1in_1out.obj,..\..\..\..\..\temp\cmr\test_1in_2out.obj,..\..\..\..\..\temp\cmr\test_internals.obj,..\..\..\..\..\temp\cmr\test_adx.obj,..\..\..\..\..\temp\cmr\test_bbands.obj,..\..\..\..\..\temp\cmr\test_ma.obj,..\..\..\..\..\temp\cmr\test_macd.obj,..\..\..\..\..\temp\cmr\test_minmax.obj,..\..\..\..\..\temp\cmr\test_mom.obj,..\..\..\..\..\temp\cmr\test_per_ema.obj,..\..\..\..\..\temp\cmr\test_per_hl.obj,..\..\..\..\..\temp\cmr\test_per_hlc.obj,..\..\..\..\..\temp\cmr\test_per_hlcv.obj,..\..\..\..\..\temp\cmr\test_per_ohlc.obj,..\..\..\..\..\temp\cmr\test_po.obj,..\..\..\..\..\temp\cmr\test_rsi.obj,..\..\..\..\..\temp\cmr\test_sar.obj,..\..\..\..\..\temp\cmr\test_stddev.obj,..\..\..\..\..\temp\cmr\test_stoch.obj,..\..\..\..\..\temp\cmr\test_trange.obj,..\..\..\..\..\temp\cmr\test_util.obj,..\..\..\..\..\temp\cmr\test_data.obj,..\..\..\..\..\temp\cmr\test_abstract.obj + @%append $(TMPLIST) LIBR ..\..\..\..\..\lib\ta_libc_cmr.lib + $(LINK) $(LFLAGS) @$(TMPLIST) + del $(TMPLIST) + +moc: $(SRCMOC) + +tmake: ../cmr/win32/watcom/ta_regtest/Makefile + +../cmr/win32/watcom/ta_regtest/Makefile: ta_regtest/ta_regtest.pro + tmake ta_regtest/ta_regtest.pro -o ../cmr/win32/watcom/ta_regtest/Makefile + +dist: + $(ZIP) ta_regtest/ta_regtest.zip ta_regtest/ta_regtest.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\cmr\ta_regtest.obj + -del ..\..\..\..\..\temp\cmr\test_candlestick.obj + -del ..\..\..\..\..\temp\cmr\test_1in_1out.obj + -del ..\..\..\..\..\temp\cmr\test_1in_2out.obj + -del ..\..\..\..\..\temp\cmr\test_internals.obj + -del ..\..\..\..\..\temp\cmr\test_adx.obj + -del ..\..\..\..\..\temp\cmr\test_bbands.obj + -del ..\..\..\..\..\temp\cmr\test_ma.obj + -del ..\..\..\..\..\temp\cmr\test_macd.obj + -del ..\..\..\..\..\temp\cmr\test_minmax.obj + -del ..\..\..\..\..\temp\cmr\test_mom.obj + -del ..\..\..\..\..\temp\cmr\test_per_ema.obj + -del ..\..\..\..\..\temp\cmr\test_per_hl.obj + -del ..\..\..\..\..\temp\cmr\test_per_hlc.obj + -del ..\..\..\..\..\temp\cmr\test_per_hlcv.obj + -del ..\..\..\..\..\temp\cmr\test_per_ohlc.obj + -del ..\..\..\..\..\temp\cmr\test_po.obj + -del ..\..\..\..\..\temp\cmr\test_rsi.obj + -del ..\..\..\..\..\temp\cmr\test_sar.obj + -del ..\..\..\..\..\temp\cmr\test_stddev.obj + -del ..\..\..\..\..\temp\cmr\test_stoch.obj + -del ..\..\..\..\..\temp\cmr\test_trange.obj + -del ..\..\..\..\..\temp\cmr\test_util.obj + -del ..\..\..\..\..\temp\cmr\test_data.obj + -del ..\..\..\..\..\temp\cmr\test_abstract.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/cmr/*.pch + -del ../../../../../temp/cmr/*.idb + -del ../../../../../temp/cmr/ta_regtest/*.pch + -del ../../../../../temp/cmr/ta_regtest/*.idb + -del ../../../../../temp/cmr/ta_regtest/*.obj + +####### Compile + +..\..\..\..\..\temp\cmr\ta_regtest.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\ta_regtest.obj ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + +..\..\..\..\..\temp\cmr\test_candlestick.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\test_candlestick.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + +..\..\..\..\..\temp\cmr\test_1in_1out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\test_1in_1out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + +..\..\..\..\..\temp\cmr\test_1in_2out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\test_1in_2out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + +..\..\..\..\..\temp\cmr\test_internals.obj: ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\test_internals.obj ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + +..\..\..\..\..\temp\cmr\test_adx.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\test_adx.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + +..\..\..\..\..\temp\cmr\test_bbands.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\test_bbands.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + +..\..\..\..\..\temp\cmr\test_ma.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\test_ma.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + +..\..\..\..\..\temp\cmr\test_macd.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\test_macd.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + +..\..\..\..\..\temp\cmr\test_minmax.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\test_minmax.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + +..\..\..\..\..\temp\cmr\test_mom.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\test_mom.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + +..\..\..\..\..\temp\cmr\test_per_ema.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\test_per_ema.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + +..\..\..\..\..\temp\cmr\test_per_hl.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\test_per_hl.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + +..\..\..\..\..\temp\cmr\test_per_hlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\test_per_hlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + +..\..\..\..\..\temp\cmr\test_per_hlcv.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\test_per_hlcv.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + +..\..\..\..\..\temp\cmr\test_per_ohlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\test_per_ohlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + +..\..\..\..\..\temp\cmr\test_po.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\test_po.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + +..\..\..\..\..\temp\cmr\test_rsi.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\test_rsi.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + +..\..\..\..\..\temp\cmr\test_sar.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\test_sar.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + +..\..\..\..\..\temp\cmr\test_stddev.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\test_stddev.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + +..\..\..\..\..\temp\cmr\test_stoch.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\test_stoch.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + +..\..\..\..\..\temp\cmr\test_trange.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\test_trange.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + +..\..\..\..\..\temp\cmr\test_util.obj: ..\..\..\..\..\src\tools\ta_regtest\test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\test_util.obj ..\..\..\..\..\src\tools\ta_regtest\test_util.c + +..\..\..\..\..\temp\cmr\test_data.obj: ..\..\..\..\..\src\tools\ta_regtest\test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\test_data.obj ..\..\..\..\..\src\tools\ta_regtest\test_data.c + +..\..\..\..\..\temp\cmr\test_abstract.obj: ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\cmr\test_abstract.obj ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + diff --git a/vendor/ta-lib/make/csd/cygwin/g++/Makefile b/vendor/ta-lib/make/csd/cygwin/g++/Makefile new file mode 100644 index 000000000..b59a6f4f7 --- /dev/null +++ b/vendor/ta-lib/make/csd/cygwin/g++/Makefile @@ -0,0 +1,36 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +$(SUBDIRS): FORCE + cd $@; $(MAKE) + +tmake: ../csd/cygwin/g++/Makefile + +../csd/cygwin/g++/Makefile: rootmake.pro + tmake rootmake.pro -o ../csd/cygwin/g++/Makefile + +tmake_all: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done + +#### $text = "\t" . 'for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; pro=`basename $$i`.pro ; $(TMAKE) $$pro -o $(MAKEFILE); grep "TEMPLATE.*subdirs" $$pro 2>/dev/null >/dev/null && $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done'; + +clean release debug: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) $@; fi; ) ; done + +FORCE: diff --git a/vendor/ta-lib/make/csd/cygwin/g++/gen_code/Makefile b/vendor/ta-lib/make/csd/cygwin/g++/gen_code/Makefile new file mode 100644 index 000000000..7b418e3d5 --- /dev/null +++ b/vendor/ta-lib/make/csd/cygwin/g++/gen_code/Makefile @@ -0,0 +1,231 @@ +############################################################################# +# Makefile for building ../../../../../bin/gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -g -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../include -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames +LINK = g++ +LFLAGS = +LIBS = $(SUBLIBS) ../../../../../lib/libta_common_csd.a +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/gen_code/gen_code.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/csd/gen_code/gen_code.o \ + ../../../../../temp/csd/gen_code/ta_abstract.o \ + ../../../../../temp/csd/gen_code/ta_def_ui.o \ + ../../../../../temp/csd/gen_code/table_a.o \ + ../../../../../temp/csd/gen_code/table_b.o \ + ../../../../../temp/csd/gen_code/table_c.o \ + ../../../../../temp/csd/gen_code/table_d.o \ + ../../../../../temp/csd/gen_code/table_e.o \ + ../../../../../temp/csd/gen_code/table_f.o \ + ../../../../../temp/csd/gen_code/table_g.o \ + ../../../../../temp/csd/gen_code/table_h.o \ + ../../../../../temp/csd/gen_code/table_i.o \ + ../../../../../temp/csd/gen_code/table_j.o \ + ../../../../../temp/csd/gen_code/table_k.o \ + ../../../../../temp/csd/gen_code/table_l.o \ + ../../../../../temp/csd/gen_code/table_m.o \ + ../../../../../temp/csd/gen_code/table_n.o \ + ../../../../../temp/csd/gen_code/table_o.o \ + ../../../../../temp/csd/gen_code/table_p.o \ + ../../../../../temp/csd/gen_code/table_q.o \ + ../../../../../temp/csd/gen_code/table_r.o \ + ../../../../../temp/csd/gen_code/table_s.o \ + ../../../../../temp/csd/gen_code/table_t.o \ + ../../../../../temp/csd/gen_code/table_u.o \ + ../../../../../temp/csd/gen_code/table_v.o \ + ../../../../../temp/csd/gen_code/table_w.o \ + ../../../../../temp/csd/gen_code/table_x.o \ + ../../../../../temp/csd/gen_code/table_y.o \ + ../../../../../temp/csd/gen_code/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/gen_code +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csd/gen_code/gen_code.o: ../../../../../src/tools/gen_code/gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/gen_code.o ../../../../../src/tools/gen_code/gen_code.c + +../../../../../temp/csd/gen_code/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csd/gen_code/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csd/gen_code/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csd/gen_code/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csd/gen_code/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csd/gen_code/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csd/gen_code/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csd/gen_code/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csd/gen_code/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csd/gen_code/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csd/gen_code/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csd/gen_code/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csd/gen_code/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csd/gen_code/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csd/gen_code/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csd/gen_code/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csd/gen_code/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csd/gen_code/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csd/gen_code/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csd/gen_code/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csd/gen_code/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csd/gen_code/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csd/gen_code/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csd/gen_code/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csd/gen_code/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csd/gen_code/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csd/gen_code/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csd/gen_code/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/csd/cygwin/g++/ta_abstract/Makefile b/vendor/ta-lib/make/csd/cygwin/g++/ta_abstract/Makefile new file mode 100644 index 000000000..27f5e69a4 --- /dev/null +++ b/vendor/ta-lib/make/csd/cygwin/g++/ta_abstract/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_abstract_csd.a +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/csd/ta_abstract.o \ + ../../../../../temp/csd/ta_def_ui.o \ + ../../../../../temp/csd/ta_func_api.o \ + ../../../../../temp/csd/ta_group_idx.o \ + ../../../../../temp/csd/ta_frame.o \ + ../../../../../temp/csd/table_a.o \ + ../../../../../temp/csd/table_b.o \ + ../../../../../temp/csd/table_c.o \ + ../../../../../temp/csd/table_d.o \ + ../../../../../temp/csd/table_e.o \ + ../../../../../temp/csd/table_f.o \ + ../../../../../temp/csd/table_g.o \ + ../../../../../temp/csd/table_h.o \ + ../../../../../temp/csd/table_i.o \ + ../../../../../temp/csd/table_j.o \ + ../../../../../temp/csd/table_k.o \ + ../../../../../temp/csd/table_l.o \ + ../../../../../temp/csd/table_m.o \ + ../../../../../temp/csd/table_n.o \ + ../../../../../temp/csd/table_o.o \ + ../../../../../temp/csd/table_p.o \ + ../../../../../temp/csd/table_q.o \ + ../../../../../temp/csd/table_r.o \ + ../../../../../temp/csd/table_s.o \ + ../../../../../temp/csd/table_t.o \ + ../../../../../temp/csd/table_u.o \ + ../../../../../temp/csd/table_v.o \ + ../../../../../temp/csd/table_w.o \ + ../../../../../temp/csd/table_x.o \ + ../../../../../temp/csd/table_y.o \ + ../../../../../temp/csd/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_abstract_csd.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csd/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csd/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csd/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/csd/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/csd/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/csd/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csd/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csd/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csd/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csd/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csd/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csd/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csd/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csd/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csd/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csd/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csd/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csd/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csd/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csd/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csd/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csd/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csd/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csd/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csd/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csd/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csd/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csd/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csd/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csd/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csd/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/csd/cygwin/g++/ta_common/Makefile b/vendor/ta-lib/make/csd/cygwin/g++/ta_common/Makefile new file mode 100644 index 000000000..44013cfdb --- /dev/null +++ b/vendor/ta-lib/make/csd/cygwin/g++/ta_common/Makefile @@ -0,0 +1,103 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_common_csd.a +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c +OBJECTS = ../../../../../temp/csd/ta_global.o \ + ../../../../../temp/csd/ta_retcode.o \ + ../../../../../temp/csd/ta_version.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_common_csd.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csd/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/csd/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/csd/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_version.o ../../../../../src/ta_common/ta_version.c + diff --git a/vendor/ta-lib/make/csd/cygwin/g++/ta_func/Makefile b/vendor/ta-lib/make/csd/cygwin/g++/ta_func/Makefile new file mode 100644 index 000000000..7740c1a6c --- /dev/null +++ b/vendor/ta-lib/make/csd/cygwin/g++/ta_func/Makefile @@ -0,0 +1,883 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_func_csd.a +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I/n -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/csd/ta_utility.o \ + ../../../../../temp/csd/ta_ACOS.o \ + ../../../../../temp/csd/ta_AD.o \ + ../../../../../temp/csd/ta_ADD.o \ + ../../../../../temp/csd/ta_ADOSC.o \ + ../../../../../temp/csd/ta_ADX.o \ + ../../../../../temp/csd/ta_ADXR.o \ + ../../../../../temp/csd/ta_APO.o \ + ../../../../../temp/csd/ta_AROON.o \ + ../../../../../temp/csd/ta_AROONOSC.o \ + ../../../../../temp/csd/ta_ASIN.o \ + ../../../../../temp/csd/ta_ATAN.o \ + ../../../../../temp/csd/ta_ATR.o \ + ../../../../../temp/csd/ta_AVGPRICE.o \ + ../../../../../temp/csd/ta_BBANDS.o \ + ../../../../../temp/csd/ta_BETA.o \ + ../../../../../temp/csd/ta_BOP.o \ + ../../../../../temp/csd/ta_CCI.o \ + ../../../../../temp/csd/ta_CDL2CROWS.o \ + ../../../../../temp/csd/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/csd/ta_CDL3INSIDE.o \ + ../../../../../temp/csd/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/csd/ta_CDL3OUTSIDE.o \ + ../../../../../temp/csd/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/csd/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/csd/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/csd/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/csd/ta_CDLBELTHOLD.o \ + ../../../../../temp/csd/ta_CDLBREAKAWAY.o \ + ../../../../../temp/csd/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/csd/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/csd/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/csd/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/csd/ta_CDLDOJI.o \ + ../../../../../temp/csd/ta_CDLDOJISTAR.o \ + ../../../../../temp/csd/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/csd/ta_CDLENGULFING.o \ + ../../../../../temp/csd/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/csd/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/csd/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/csd/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/csd/ta_CDLHAMMER.o \ + ../../../../../temp/csd/ta_CDLHANGINGMAN.o \ + ../../../../../temp/csd/ta_CDLHARAMI.o \ + ../../../../../temp/csd/ta_CDLHARAMICROSS.o \ + ../../../../../temp/csd/ta_CDLHIGHWAVE.o \ + ../../../../../temp/csd/ta_CDLHIKKAKE.o \ + ../../../../../temp/csd/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/csd/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/csd/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/csd/ta_CDLINNECK.o \ + ../../../../../temp/csd/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/csd/ta_CDLKICKING.o \ + ../../../../../temp/csd/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/csd/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/csd/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/csd/ta_CDLLONGLINE.o \ + ../../../../../temp/csd/ta_CDLMARUBOZU.o \ + ../../../../../temp/csd/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/csd/ta_CDLMATHOLD.o \ + ../../../../../temp/csd/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/csd/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/csd/ta_CDLONNECK.o \ + ../../../../../temp/csd/ta_CDLPIERCING.o \ + ../../../../../temp/csd/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/csd/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/csd/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/csd/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/csd/ta_CDLSHORTLINE.o \ + ../../../../../temp/csd/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/csd/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/csd/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/csd/ta_CDLTAKURI.o \ + ../../../../../temp/csd/ta_CDLTASUKIGAP.o \ + ../../../../../temp/csd/ta_CDLTHRUSTING.o \ + ../../../../../temp/csd/ta_CDLTRISTAR.o \ + ../../../../../temp/csd/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/csd/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/csd/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/csd/ta_CEIL.o \ + ../../../../../temp/csd/ta_CMO.o \ + ../../../../../temp/csd/ta_CORREL.o \ + ../../../../../temp/csd/ta_COS.o \ + ../../../../../temp/csd/ta_COSH.o \ + ../../../../../temp/csd/ta_DEMA.o \ + ../../../../../temp/csd/ta_DIV.o \ + ../../../../../temp/csd/ta_DX.o \ + ../../../../../temp/csd/ta_EMA.o \ + ../../../../../temp/csd/ta_EXP.o \ + ../../../../../temp/csd/ta_FLOOR.o \ + ../../../../../temp/csd/ta_HT_DCPERIOD.o \ + ../../../../../temp/csd/ta_HT_DCPHASE.o \ + ../../../../../temp/csd/ta_HT_PHASOR.o \ + ../../../../../temp/csd/ta_HT_SINE.o \ + ../../../../../temp/csd/ta_HT_TRENDLINE.o \ + ../../../../../temp/csd/ta_HT_TRENDMODE.o \ + ../../../../../temp/csd/ta_KAMA.o \ + ../../../../../temp/csd/ta_LINEARREG.o \ + ../../../../../temp/csd/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/csd/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/csd/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/csd/ta_LN.o \ + ../../../../../temp/csd/ta_LOG10.o \ + ../../../../../temp/csd/ta_MA.o \ + ../../../../../temp/csd/ta_MACD.o \ + ../../../../../temp/csd/ta_MACDEXT.o \ + ../../../../../temp/csd/ta_MACDFIX.o \ + ../../../../../temp/csd/ta_MAMA.o \ + ../../../../../temp/csd/ta_MAVP.o \ + ../../../../../temp/csd/ta_MAX.o \ + ../../../../../temp/csd/ta_MAXINDEX.o \ + ../../../../../temp/csd/ta_MEDPRICE.o \ + ../../../../../temp/csd/ta_MFI.o \ + ../../../../../temp/csd/ta_MIDPOINT.o \ + ../../../../../temp/csd/ta_MIDPRICE.o \ + ../../../../../temp/csd/ta_MIN.o \ + ../../../../../temp/csd/ta_MININDEX.o \ + ../../../../../temp/csd/ta_MINMAX.o \ + ../../../../../temp/csd/ta_MINMAXINDEX.o \ + ../../../../../temp/csd/ta_MINUS_DI.o \ + ../../../../../temp/csd/ta_MINUS_DM.o \ + ../../../../../temp/csd/ta_MOM.o \ + ../../../../../temp/csd/ta_MULT.o \ + ../../../../../temp/csd/ta_NATR.o \ + ../../../../../temp/csd/ta_OBV.o \ + ../../../../../temp/csd/ta_PLUS_DI.o \ + ../../../../../temp/csd/ta_PLUS_DM.o \ + ../../../../../temp/csd/ta_PPO.o \ + ../../../../../temp/csd/ta_ROC.o \ + ../../../../../temp/csd/ta_ROCP.o \ + ../../../../../temp/csd/ta_ROCR.o \ + ../../../../../temp/csd/ta_ROCR100.o \ + ../../../../../temp/csd/ta_RSI.o \ + ../../../../../temp/csd/ta_SAR.o \ + ../../../../../temp/csd/ta_SAREXT.o \ + ../../../../../temp/csd/ta_SIN.o \ + ../../../../../temp/csd/ta_SINH.o \ + ../../../../../temp/csd/ta_SMA.o \ + ../../../../../temp/csd/ta_SQRT.o \ + ../../../../../temp/csd/ta_STDDEV.o \ + ../../../../../temp/csd/ta_STOCH.o \ + ../../../../../temp/csd/ta_STOCHF.o \ + ../../../../../temp/csd/ta_STOCHRSI.o \ + ../../../../../temp/csd/ta_SUB.o \ + ../../../../../temp/csd/ta_SUM.o \ + ../../../../../temp/csd/ta_T3.o \ + ../../../../../temp/csd/ta_TAN.o \ + ../../../../../temp/csd/ta_TANH.o \ + ../../../../../temp/csd/ta_TEMA.o \ + ../../../../../temp/csd/ta_TRANGE.o \ + ../../../../../temp/csd/ta_TRIMA.o \ + ../../../../../temp/csd/ta_TRIX.o \ + ../../../../../temp/csd/ta_TSF.o \ + ../../../../../temp/csd/ta_TYPPRICE.o \ + ../../../../../temp/csd/ta_ULTOSC.o \ + ../../../../../temp/csd/ta_VAR.o \ + ../../../../../temp/csd/ta_WCLPRICE.o \ + ../../../../../temp/csd/ta_WILLR.o \ + ../../../../../temp/csd/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_func_csd.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csd/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/csd/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/csd/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/csd/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/csd/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/csd/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/csd/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/csd/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/csd/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/csd/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/csd/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/csd/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/csd/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/csd/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/csd/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/csd/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/csd/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/csd/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/csd/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/csd/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/csd/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/csd/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/csd/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/csd/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/csd/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/csd/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/csd/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/csd/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/csd/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/csd/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/csd/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/csd/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/csd/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/csd/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/csd/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/csd/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/csd/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/csd/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/csd/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/csd/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/csd/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/csd/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/csd/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/csd/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/csd/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/csd/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/csd/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/csd/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/csd/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/csd/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/csd/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/csd/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/csd/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/csd/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/csd/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/csd/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/csd/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/csd/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/csd/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/csd/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/csd/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/csd/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/csd/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/csd/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/csd/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/csd/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/csd/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/csd/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/csd/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/csd/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/csd/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/csd/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/csd/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/csd/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/csd/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/csd/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/csd/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/csd/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/csd/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/csd/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/csd/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/csd/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/csd/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/csd/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/csd/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/csd/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/csd/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/csd/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/csd/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/csd/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/csd/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/csd/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/csd/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/csd/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/csd/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/csd/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/csd/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/csd/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/csd/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/csd/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/csd/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/csd/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/csd/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/csd/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/csd/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/csd/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/csd/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/csd/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/csd/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/csd/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/csd/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/csd/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/csd/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/csd/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/csd/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/csd/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/csd/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/csd/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/csd/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/csd/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/csd/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/csd/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/csd/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/csd/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/csd/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/csd/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/csd/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/csd/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/csd/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/csd/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/csd/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/csd/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/csd/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/csd/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/csd/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/csd/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/csd/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/csd/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/csd/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/csd/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/csd/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/csd/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/csd/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/csd/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/csd/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/csd/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/csd/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/csd/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/csd/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/csd/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/csd/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/csd/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/csd/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/csd/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/csd/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/csd/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/csd/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/csd/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/csd/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/csd/cygwin/g++/ta_libc/Makefile b/vendor/ta-lib/make/csd/cygwin/g++/ta_libc/Makefile new file mode 100644 index 000000000..12e20364a --- /dev/null +++ b/vendor/ta-lib/make/csd/cygwin/g++/ta_libc/Makefile @@ -0,0 +1,1053 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_libc_csd.a +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../include -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I$(QTDIR)/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c \ + ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/csd/ta_global.o \ + ../../../../../temp/csd/ta_retcode.o \ + ../../../../../temp/csd/ta_version.o \ + ../../../../../temp/csd/ta_abstract.o \ + ../../../../../temp/csd/ta_def_ui.o \ + ../../../../../temp/csd/ta_func_api.o \ + ../../../../../temp/csd/ta_group_idx.o \ + ../../../../../temp/csd/ta_frame.o \ + ../../../../../temp/csd/table_a.o \ + ../../../../../temp/csd/table_b.o \ + ../../../../../temp/csd/table_c.o \ + ../../../../../temp/csd/table_d.o \ + ../../../../../temp/csd/table_e.o \ + ../../../../../temp/csd/table_f.o \ + ../../../../../temp/csd/table_g.o \ + ../../../../../temp/csd/table_h.o \ + ../../../../../temp/csd/table_i.o \ + ../../../../../temp/csd/table_j.o \ + ../../../../../temp/csd/table_k.o \ + ../../../../../temp/csd/table_l.o \ + ../../../../../temp/csd/table_m.o \ + ../../../../../temp/csd/table_n.o \ + ../../../../../temp/csd/table_o.o \ + ../../../../../temp/csd/table_p.o \ + ../../../../../temp/csd/table_q.o \ + ../../../../../temp/csd/table_r.o \ + ../../../../../temp/csd/table_s.o \ + ../../../../../temp/csd/table_t.o \ + ../../../../../temp/csd/table_u.o \ + ../../../../../temp/csd/table_v.o \ + ../../../../../temp/csd/table_w.o \ + ../../../../../temp/csd/table_x.o \ + ../../../../../temp/csd/table_y.o \ + ../../../../../temp/csd/table_z.o \ + ../../../../../temp/csd/ta_utility.o \ + ../../../../../temp/csd/ta_ACOS.o \ + ../../../../../temp/csd/ta_AD.o \ + ../../../../../temp/csd/ta_ADD.o \ + ../../../../../temp/csd/ta_ADOSC.o \ + ../../../../../temp/csd/ta_ADX.o \ + ../../../../../temp/csd/ta_ADXR.o \ + ../../../../../temp/csd/ta_APO.o \ + ../../../../../temp/csd/ta_AROON.o \ + ../../../../../temp/csd/ta_AROONOSC.o \ + ../../../../../temp/csd/ta_ASIN.o \ + ../../../../../temp/csd/ta_ATAN.o \ + ../../../../../temp/csd/ta_ATR.o \ + ../../../../../temp/csd/ta_AVGPRICE.o \ + ../../../../../temp/csd/ta_BBANDS.o \ + ../../../../../temp/csd/ta_BETA.o \ + ../../../../../temp/csd/ta_BOP.o \ + ../../../../../temp/csd/ta_CCI.o \ + ../../../../../temp/csd/ta_CDL2CROWS.o \ + ../../../../../temp/csd/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/csd/ta_CDL3INSIDE.o \ + ../../../../../temp/csd/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/csd/ta_CDL3OUTSIDE.o \ + ../../../../../temp/csd/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/csd/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/csd/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/csd/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/csd/ta_CDLBELTHOLD.o \ + ../../../../../temp/csd/ta_CDLBREAKAWAY.o \ + ../../../../../temp/csd/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/csd/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/csd/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/csd/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/csd/ta_CDLDOJI.o \ + ../../../../../temp/csd/ta_CDLDOJISTAR.o \ + ../../../../../temp/csd/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/csd/ta_CDLENGULFING.o \ + ../../../../../temp/csd/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/csd/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/csd/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/csd/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/csd/ta_CDLHAMMER.o \ + ../../../../../temp/csd/ta_CDLHANGINGMAN.o \ + ../../../../../temp/csd/ta_CDLHARAMI.o \ + ../../../../../temp/csd/ta_CDLHARAMICROSS.o \ + ../../../../../temp/csd/ta_CDLHIGHWAVE.o \ + ../../../../../temp/csd/ta_CDLHIKKAKE.o \ + ../../../../../temp/csd/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/csd/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/csd/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/csd/ta_CDLINNECK.o \ + ../../../../../temp/csd/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/csd/ta_CDLKICKING.o \ + ../../../../../temp/csd/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/csd/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/csd/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/csd/ta_CDLLONGLINE.o \ + ../../../../../temp/csd/ta_CDLMARUBOZU.o \ + ../../../../../temp/csd/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/csd/ta_CDLMATHOLD.o \ + ../../../../../temp/csd/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/csd/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/csd/ta_CDLONNECK.o \ + ../../../../../temp/csd/ta_CDLPIERCING.o \ + ../../../../../temp/csd/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/csd/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/csd/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/csd/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/csd/ta_CDLSHORTLINE.o \ + ../../../../../temp/csd/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/csd/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/csd/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/csd/ta_CDLTAKURI.o \ + ../../../../../temp/csd/ta_CDLTASUKIGAP.o \ + ../../../../../temp/csd/ta_CDLTHRUSTING.o \ + ../../../../../temp/csd/ta_CDLTRISTAR.o \ + ../../../../../temp/csd/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/csd/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/csd/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/csd/ta_CEIL.o \ + ../../../../../temp/csd/ta_CMO.o \ + ../../../../../temp/csd/ta_CORREL.o \ + ../../../../../temp/csd/ta_COS.o \ + ../../../../../temp/csd/ta_COSH.o \ + ../../../../../temp/csd/ta_DEMA.o \ + ../../../../../temp/csd/ta_DIV.o \ + ../../../../../temp/csd/ta_DX.o \ + ../../../../../temp/csd/ta_EMA.o \ + ../../../../../temp/csd/ta_EXP.o \ + ../../../../../temp/csd/ta_FLOOR.o \ + ../../../../../temp/csd/ta_HT_DCPERIOD.o \ + ../../../../../temp/csd/ta_HT_DCPHASE.o \ + ../../../../../temp/csd/ta_HT_PHASOR.o \ + ../../../../../temp/csd/ta_HT_SINE.o \ + ../../../../../temp/csd/ta_HT_TRENDLINE.o \ + ../../../../../temp/csd/ta_HT_TRENDMODE.o \ + ../../../../../temp/csd/ta_KAMA.o \ + ../../../../../temp/csd/ta_LINEARREG.o \ + ../../../../../temp/csd/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/csd/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/csd/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/csd/ta_LN.o \ + ../../../../../temp/csd/ta_LOG10.o \ + ../../../../../temp/csd/ta_MA.o \ + ../../../../../temp/csd/ta_MACD.o \ + ../../../../../temp/csd/ta_MACDEXT.o \ + ../../../../../temp/csd/ta_MACDFIX.o \ + ../../../../../temp/csd/ta_MAMA.o \ + ../../../../../temp/csd/ta_MAVP.o \ + ../../../../../temp/csd/ta_MAX.o \ + ../../../../../temp/csd/ta_MAXINDEX.o \ + ../../../../../temp/csd/ta_MEDPRICE.o \ + ../../../../../temp/csd/ta_MFI.o \ + ../../../../../temp/csd/ta_MIDPOINT.o \ + ../../../../../temp/csd/ta_MIDPRICE.o \ + ../../../../../temp/csd/ta_MIN.o \ + ../../../../../temp/csd/ta_MININDEX.o \ + ../../../../../temp/csd/ta_MINMAX.o \ + ../../../../../temp/csd/ta_MINMAXINDEX.o \ + ../../../../../temp/csd/ta_MINUS_DI.o \ + ../../../../../temp/csd/ta_MINUS_DM.o \ + ../../../../../temp/csd/ta_MOM.o \ + ../../../../../temp/csd/ta_MULT.o \ + ../../../../../temp/csd/ta_NATR.o \ + ../../../../../temp/csd/ta_OBV.o \ + ../../../../../temp/csd/ta_PLUS_DI.o \ + ../../../../../temp/csd/ta_PLUS_DM.o \ + ../../../../../temp/csd/ta_PPO.o \ + ../../../../../temp/csd/ta_ROC.o \ + ../../../../../temp/csd/ta_ROCP.o \ + ../../../../../temp/csd/ta_ROCR.o \ + ../../../../../temp/csd/ta_ROCR100.o \ + ../../../../../temp/csd/ta_RSI.o \ + ../../../../../temp/csd/ta_SAR.o \ + ../../../../../temp/csd/ta_SAREXT.o \ + ../../../../../temp/csd/ta_SIN.o \ + ../../../../../temp/csd/ta_SINH.o \ + ../../../../../temp/csd/ta_SMA.o \ + ../../../../../temp/csd/ta_SQRT.o \ + ../../../../../temp/csd/ta_STDDEV.o \ + ../../../../../temp/csd/ta_STOCH.o \ + ../../../../../temp/csd/ta_STOCHF.o \ + ../../../../../temp/csd/ta_STOCHRSI.o \ + ../../../../../temp/csd/ta_SUB.o \ + ../../../../../temp/csd/ta_SUM.o \ + ../../../../../temp/csd/ta_T3.o \ + ../../../../../temp/csd/ta_TAN.o \ + ../../../../../temp/csd/ta_TANH.o \ + ../../../../../temp/csd/ta_TEMA.o \ + ../../../../../temp/csd/ta_TRANGE.o \ + ../../../../../temp/csd/ta_TRIMA.o \ + ../../../../../temp/csd/ta_TRIX.o \ + ../../../../../temp/csd/ta_TSF.o \ + ../../../../../temp/csd/ta_TYPPRICE.o \ + ../../../../../temp/csd/ta_ULTOSC.o \ + ../../../../../temp/csd/ta_VAR.o \ + ../../../../../temp/csd/ta_WCLPRICE.o \ + ../../../../../temp/csd/ta_WILLR.o \ + ../../../../../temp/csd/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_libc_csd.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csd/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/csd/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/csd/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_version.o ../../../../../src/ta_common/ta_version.c + +../../../../../temp/csd/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csd/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csd/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/csd/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/csd/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/csd/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csd/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csd/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csd/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csd/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csd/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csd/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csd/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csd/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csd/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csd/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csd/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csd/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csd/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csd/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csd/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csd/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csd/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csd/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csd/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csd/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csd/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csd/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csd/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csd/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csd/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + +../../../../../temp/csd/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/csd/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/csd/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/csd/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/csd/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/csd/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/csd/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/csd/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/csd/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/csd/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/csd/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/csd/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/csd/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/csd/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/csd/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/csd/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/csd/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/csd/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/csd/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/csd/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/csd/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/csd/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/csd/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/csd/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/csd/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/csd/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/csd/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/csd/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/csd/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/csd/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/csd/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/csd/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/csd/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/csd/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/csd/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/csd/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/csd/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/csd/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/csd/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/csd/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/csd/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/csd/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/csd/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/csd/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/csd/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/csd/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/csd/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/csd/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/csd/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/csd/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/csd/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/csd/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/csd/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/csd/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/csd/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/csd/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/csd/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/csd/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/csd/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/csd/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/csd/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/csd/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/csd/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/csd/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/csd/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/csd/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/csd/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/csd/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/csd/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/csd/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/csd/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/csd/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/csd/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/csd/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/csd/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/csd/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/csd/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/csd/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/csd/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/csd/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/csd/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/csd/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/csd/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/csd/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/csd/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/csd/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/csd/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/csd/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/csd/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/csd/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/csd/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/csd/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/csd/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/csd/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/csd/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/csd/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/csd/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/csd/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/csd/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/csd/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/csd/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/csd/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/csd/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/csd/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/csd/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/csd/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/csd/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/csd/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/csd/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/csd/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/csd/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/csd/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/csd/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/csd/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/csd/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/csd/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/csd/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/csd/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/csd/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/csd/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/csd/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/csd/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/csd/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/csd/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/csd/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/csd/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/csd/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/csd/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/csd/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/csd/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/csd/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/csd/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/csd/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/csd/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/csd/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/csd/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/csd/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/csd/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/csd/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/csd/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/csd/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/csd/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/csd/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/csd/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/csd/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/csd/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/csd/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/csd/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/csd/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/csd/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/csd/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/csd/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/csd/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/csd/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/csd/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/csd/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/csd/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/csd/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/csd/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/csd/cygwin/g++/ta_regtest/Makefile b/vendor/ta-lib/make/csd/cygwin/g++/ta_regtest/Makefile new file mode 100644 index 000000000..7f59ebf68 --- /dev/null +++ b/vendor/ta-lib/make/csd/cygwin/g++/ta_regtest/Makefile @@ -0,0 +1,211 @@ +############################################################################# +# Makefile for building ../../../../../bin/ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../src/tools/ta_regtest -I../../../../../src/ta_func -I../../../../../include +LINK = g++ +LFLAGS = +LIBS = $(SUBLIBS) ../../../../../lib/libta_libc_csd.a +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/ta_regtest/ta_regtest.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c \ + ../../../../../src/tools/ta_regtest/test_internals.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c \ + ../../../../../src/tools/ta_regtest/test_util.c \ + ../../../../../src/tools/ta_regtest/test_data.c \ + ../../../../../src/tools/ta_regtest/test_abstract.c +OBJECTS = ../../../../../temp/csd/ta_regtest.o \ + ../../../../../temp/csd/test_candlestick.o \ + ../../../../../temp/csd/test_1in_1out.o \ + ../../../../../temp/csd/test_1in_2out.o \ + ../../../../../temp/csd/test_internals.o \ + ../../../../../temp/csd/test_adx.o \ + ../../../../../temp/csd/test_bbands.o \ + ../../../../../temp/csd/test_ma.o \ + ../../../../../temp/csd/test_macd.o \ + ../../../../../temp/csd/test_minmax.o \ + ../../../../../temp/csd/test_mom.o \ + ../../../../../temp/csd/test_per_ema.o \ + ../../../../../temp/csd/test_per_hl.o \ + ../../../../../temp/csd/test_per_hlc.o \ + ../../../../../temp/csd/test_per_hlcv.o \ + ../../../../../temp/csd/test_per_ohlc.o \ + ../../../../../temp/csd/test_po.o \ + ../../../../../temp/csd/test_rsi.o \ + ../../../../../temp/csd/test_sar.o \ + ../../../../../temp/csd/test_stddev.o \ + ../../../../../temp/csd/test_stoch.o \ + ../../../../../temp/csd/test_trange.o \ + ../../../../../temp/csd/test_util.o \ + ../../../../../temp/csd/test_data.o \ + ../../../../../temp/csd/test_abstract.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/ta_regtest +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csd/ta_regtest.o: ../../../../../src/tools/ta_regtest/ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_regtest.o ../../../../../src/tools/ta_regtest/ta_regtest.c + +../../../../../temp/csd/test_candlestick.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_candlestick.o ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + +../../../../../temp/csd/test_1in_1out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_1in_1out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + +../../../../../temp/csd/test_1in_2out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_1in_2out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + +../../../../../temp/csd/test_internals.o: ../../../../../src/tools/ta_regtest/test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_internals.o ../../../../../src/tools/ta_regtest/test_internals.c + +../../../../../temp/csd/test_adx.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_adx.o ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + +../../../../../temp/csd/test_bbands.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_bbands.o ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + +../../../../../temp/csd/test_ma.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_ma.o ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + +../../../../../temp/csd/test_macd.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_macd.o ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + +../../../../../temp/csd/test_minmax.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_minmax.o ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + +../../../../../temp/csd/test_mom.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_mom.o ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + +../../../../../temp/csd/test_per_ema.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_per_ema.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + +../../../../../temp/csd/test_per_hl.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_per_hl.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + +../../../../../temp/csd/test_per_hlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_per_hlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + +../../../../../temp/csd/test_per_hlcv.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_per_hlcv.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + +../../../../../temp/csd/test_per_ohlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_per_ohlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + +../../../../../temp/csd/test_po.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_po.o ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + +../../../../../temp/csd/test_rsi.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_rsi.o ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + +../../../../../temp/csd/test_sar.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_sar.o ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + +../../../../../temp/csd/test_stddev.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_stddev.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + +../../../../../temp/csd/test_stoch.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_stoch.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + +../../../../../temp/csd/test_trange.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_trange.o ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + +../../../../../temp/csd/test_util.o: ../../../../../src/tools/ta_regtest/test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_util.o ../../../../../src/tools/ta_regtest/test_util.c + +../../../../../temp/csd/test_data.o: ../../../../../src/tools/ta_regtest/test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_data.o ../../../../../src/tools/ta_regtest/test_data.c + +../../../../../temp/csd/test_abstract.o: ../../../../../src/tools/ta_regtest/test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_abstract.o ../../../../../src/tools/ta_regtest/test_abstract.c + diff --git a/vendor/ta-lib/make/csd/freebsd/g++/Makefile b/vendor/ta-lib/make/csd/freebsd/g++/Makefile new file mode 100644 index 000000000..d07b6c51d --- /dev/null +++ b/vendor/ta-lib/make/csd/freebsd/g++/Makefile @@ -0,0 +1,36 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +$(SUBDIRS): FORCE + cd $@; $(MAKE) + +tmake: ../csd/freebsd/g++/Makefile + +../csd/freebsd/g++/Makefile: rootmake.pro + tmake rootmake.pro -o ../csd/freebsd/g++/Makefile + +tmake_all: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done + +#### $text = "\t" . 'for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; pro=`basename $$i`.pro ; $(TMAKE) $$pro -o $(MAKEFILE); grep "TEMPLATE.*subdirs" $$pro 2>/dev/null >/dev/null && $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done'; + +clean release debug: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) $@; fi; ) ; done + +FORCE: diff --git a/vendor/ta-lib/make/csd/freebsd/g++/gen_code/Makefile b/vendor/ta-lib/make/csd/freebsd/g++/gen_code/Makefile new file mode 100644 index 000000000..d21be7c60 --- /dev/null +++ b/vendor/ta-lib/make/csd/freebsd/g++/gen_code/Makefile @@ -0,0 +1,225 @@ +############################################################################# +# Makefile for building ../../../../../bin/gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -g -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../include -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I/usr/local/include +LINK = g++ +LFLAGS = -L/usr/local/lib +LIBS = $(SUBLIBS) ../../../../../lib/libta_common_csd.a +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/gen_code/gen_code.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/csd/gen_code/gen_code.o \ + ../../../../../temp/csd/gen_code/ta_abstract.o \ + ../../../../../temp/csd/gen_code/ta_def_ui.o \ + ../../../../../temp/csd/gen_code/table_a.o \ + ../../../../../temp/csd/gen_code/table_b.o \ + ../../../../../temp/csd/gen_code/table_c.o \ + ../../../../../temp/csd/gen_code/table_d.o \ + ../../../../../temp/csd/gen_code/table_e.o \ + ../../../../../temp/csd/gen_code/table_f.o \ + ../../../../../temp/csd/gen_code/table_g.o \ + ../../../../../temp/csd/gen_code/table_h.o \ + ../../../../../temp/csd/gen_code/table_i.o \ + ../../../../../temp/csd/gen_code/table_j.o \ + ../../../../../temp/csd/gen_code/table_k.o \ + ../../../../../temp/csd/gen_code/table_l.o \ + ../../../../../temp/csd/gen_code/table_m.o \ + ../../../../../temp/csd/gen_code/table_n.o \ + ../../../../../temp/csd/gen_code/table_o.o \ + ../../../../../temp/csd/gen_code/table_p.o \ + ../../../../../temp/csd/gen_code/table_q.o \ + ../../../../../temp/csd/gen_code/table_r.o \ + ../../../../../temp/csd/gen_code/table_s.o \ + ../../../../../temp/csd/gen_code/table_t.o \ + ../../../../../temp/csd/gen_code/table_u.o \ + ../../../../../temp/csd/gen_code/table_v.o \ + ../../../../../temp/csd/gen_code/table_w.o \ + ../../../../../temp/csd/gen_code/table_x.o \ + ../../../../../temp/csd/gen_code/table_y.o \ + ../../../../../temp/csd/gen_code/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/gen_code +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csd/gen_code/gen_code.o: ../../../../../src/tools/gen_code/gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/gen_code.o ../../../../../src/tools/gen_code/gen_code.c + +../../../../../temp/csd/gen_code/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csd/gen_code/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csd/gen_code/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csd/gen_code/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csd/gen_code/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csd/gen_code/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csd/gen_code/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csd/gen_code/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csd/gen_code/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csd/gen_code/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csd/gen_code/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csd/gen_code/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csd/gen_code/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csd/gen_code/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csd/gen_code/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csd/gen_code/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csd/gen_code/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csd/gen_code/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csd/gen_code/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csd/gen_code/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csd/gen_code/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csd/gen_code/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csd/gen_code/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csd/gen_code/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csd/gen_code/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csd/gen_code/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csd/gen_code/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csd/gen_code/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/csd/freebsd/g++/ta_abstract/Makefile b/vendor/ta-lib/make/csd/freebsd/g++/ta_abstract/Makefile new file mode 100644 index 000000000..926157df2 --- /dev/null +++ b/vendor/ta-lib/make/csd/freebsd/g++/ta_abstract/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_abstract_csd.a +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I../../../../../include -I/usr/local/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/csd/ta_abstract.o \ + ../../../../../temp/csd/ta_def_ui.o \ + ../../../../../temp/csd/ta_func_api.o \ + ../../../../../temp/csd/ta_group_idx.o \ + ../../../../../temp/csd/ta_frame.o \ + ../../../../../temp/csd/table_a.o \ + ../../../../../temp/csd/table_b.o \ + ../../../../../temp/csd/table_c.o \ + ../../../../../temp/csd/table_d.o \ + ../../../../../temp/csd/table_e.o \ + ../../../../../temp/csd/table_f.o \ + ../../../../../temp/csd/table_g.o \ + ../../../../../temp/csd/table_h.o \ + ../../../../../temp/csd/table_i.o \ + ../../../../../temp/csd/table_j.o \ + ../../../../../temp/csd/table_k.o \ + ../../../../../temp/csd/table_l.o \ + ../../../../../temp/csd/table_m.o \ + ../../../../../temp/csd/table_n.o \ + ../../../../../temp/csd/table_o.o \ + ../../../../../temp/csd/table_p.o \ + ../../../../../temp/csd/table_q.o \ + ../../../../../temp/csd/table_r.o \ + ../../../../../temp/csd/table_s.o \ + ../../../../../temp/csd/table_t.o \ + ../../../../../temp/csd/table_u.o \ + ../../../../../temp/csd/table_v.o \ + ../../../../../temp/csd/table_w.o \ + ../../../../../temp/csd/table_x.o \ + ../../../../../temp/csd/table_y.o \ + ../../../../../temp/csd/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_abstract_csd.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csd/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csd/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csd/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/csd/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/csd/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/csd/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csd/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csd/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csd/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csd/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csd/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csd/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csd/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csd/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csd/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csd/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csd/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csd/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csd/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csd/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csd/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csd/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csd/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csd/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csd/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csd/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csd/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csd/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csd/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csd/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csd/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/csd/freebsd/g++/ta_common/Makefile b/vendor/ta-lib/make/csd/freebsd/g++/ta_common/Makefile new file mode 100644 index 000000000..334e85080 --- /dev/null +++ b/vendor/ta-lib/make/csd/freebsd/g++/ta_common/Makefile @@ -0,0 +1,103 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_common_csd.a +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../include -I/usr/local/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c +OBJECTS = ../../../../../temp/csd/ta_global.o \ + ../../../../../temp/csd/ta_retcode.o \ + ../../../../../temp/csd/ta_version.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_common_csd.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csd/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/csd/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/csd/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_version.o ../../../../../src/ta_common/ta_version.c + diff --git a/vendor/ta-lib/make/csd/freebsd/g++/ta_func/Makefile b/vendor/ta-lib/make/csd/freebsd/g++/ta_func/Makefile new file mode 100644 index 000000000..1aae53b6d --- /dev/null +++ b/vendor/ta-lib/make/csd/freebsd/g++/ta_func/Makefile @@ -0,0 +1,883 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_func_csd.a +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I/n -I../../../../../include -I/usr/local/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/csd/ta_utility.o \ + ../../../../../temp/csd/ta_ACOS.o \ + ../../../../../temp/csd/ta_AD.o \ + ../../../../../temp/csd/ta_ADD.o \ + ../../../../../temp/csd/ta_ADOSC.o \ + ../../../../../temp/csd/ta_ADX.o \ + ../../../../../temp/csd/ta_ADXR.o \ + ../../../../../temp/csd/ta_APO.o \ + ../../../../../temp/csd/ta_AROON.o \ + ../../../../../temp/csd/ta_AROONOSC.o \ + ../../../../../temp/csd/ta_ASIN.o \ + ../../../../../temp/csd/ta_ATAN.o \ + ../../../../../temp/csd/ta_ATR.o \ + ../../../../../temp/csd/ta_AVGPRICE.o \ + ../../../../../temp/csd/ta_BBANDS.o \ + ../../../../../temp/csd/ta_BETA.o \ + ../../../../../temp/csd/ta_BOP.o \ + ../../../../../temp/csd/ta_CCI.o \ + ../../../../../temp/csd/ta_CDL2CROWS.o \ + ../../../../../temp/csd/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/csd/ta_CDL3INSIDE.o \ + ../../../../../temp/csd/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/csd/ta_CDL3OUTSIDE.o \ + ../../../../../temp/csd/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/csd/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/csd/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/csd/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/csd/ta_CDLBELTHOLD.o \ + ../../../../../temp/csd/ta_CDLBREAKAWAY.o \ + ../../../../../temp/csd/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/csd/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/csd/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/csd/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/csd/ta_CDLDOJI.o \ + ../../../../../temp/csd/ta_CDLDOJISTAR.o \ + ../../../../../temp/csd/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/csd/ta_CDLENGULFING.o \ + ../../../../../temp/csd/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/csd/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/csd/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/csd/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/csd/ta_CDLHAMMER.o \ + ../../../../../temp/csd/ta_CDLHANGINGMAN.o \ + ../../../../../temp/csd/ta_CDLHARAMI.o \ + ../../../../../temp/csd/ta_CDLHARAMICROSS.o \ + ../../../../../temp/csd/ta_CDLHIGHWAVE.o \ + ../../../../../temp/csd/ta_CDLHIKKAKE.o \ + ../../../../../temp/csd/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/csd/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/csd/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/csd/ta_CDLINNECK.o \ + ../../../../../temp/csd/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/csd/ta_CDLKICKING.o \ + ../../../../../temp/csd/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/csd/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/csd/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/csd/ta_CDLLONGLINE.o \ + ../../../../../temp/csd/ta_CDLMARUBOZU.o \ + ../../../../../temp/csd/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/csd/ta_CDLMATHOLD.o \ + ../../../../../temp/csd/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/csd/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/csd/ta_CDLONNECK.o \ + ../../../../../temp/csd/ta_CDLPIERCING.o \ + ../../../../../temp/csd/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/csd/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/csd/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/csd/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/csd/ta_CDLSHORTLINE.o \ + ../../../../../temp/csd/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/csd/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/csd/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/csd/ta_CDLTAKURI.o \ + ../../../../../temp/csd/ta_CDLTASUKIGAP.o \ + ../../../../../temp/csd/ta_CDLTHRUSTING.o \ + ../../../../../temp/csd/ta_CDLTRISTAR.o \ + ../../../../../temp/csd/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/csd/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/csd/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/csd/ta_CEIL.o \ + ../../../../../temp/csd/ta_CMO.o \ + ../../../../../temp/csd/ta_CORREL.o \ + ../../../../../temp/csd/ta_COS.o \ + ../../../../../temp/csd/ta_COSH.o \ + ../../../../../temp/csd/ta_DEMA.o \ + ../../../../../temp/csd/ta_DIV.o \ + ../../../../../temp/csd/ta_DX.o \ + ../../../../../temp/csd/ta_EMA.o \ + ../../../../../temp/csd/ta_EXP.o \ + ../../../../../temp/csd/ta_FLOOR.o \ + ../../../../../temp/csd/ta_HT_DCPERIOD.o \ + ../../../../../temp/csd/ta_HT_DCPHASE.o \ + ../../../../../temp/csd/ta_HT_PHASOR.o \ + ../../../../../temp/csd/ta_HT_SINE.o \ + ../../../../../temp/csd/ta_HT_TRENDLINE.o \ + ../../../../../temp/csd/ta_HT_TRENDMODE.o \ + ../../../../../temp/csd/ta_KAMA.o \ + ../../../../../temp/csd/ta_LINEARREG.o \ + ../../../../../temp/csd/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/csd/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/csd/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/csd/ta_LN.o \ + ../../../../../temp/csd/ta_LOG10.o \ + ../../../../../temp/csd/ta_MA.o \ + ../../../../../temp/csd/ta_MACD.o \ + ../../../../../temp/csd/ta_MACDEXT.o \ + ../../../../../temp/csd/ta_MACDFIX.o \ + ../../../../../temp/csd/ta_MAMA.o \ + ../../../../../temp/csd/ta_MAVP.o \ + ../../../../../temp/csd/ta_MAX.o \ + ../../../../../temp/csd/ta_MAXINDEX.o \ + ../../../../../temp/csd/ta_MEDPRICE.o \ + ../../../../../temp/csd/ta_MFI.o \ + ../../../../../temp/csd/ta_MIDPOINT.o \ + ../../../../../temp/csd/ta_MIDPRICE.o \ + ../../../../../temp/csd/ta_MIN.o \ + ../../../../../temp/csd/ta_MININDEX.o \ + ../../../../../temp/csd/ta_MINMAX.o \ + ../../../../../temp/csd/ta_MINMAXINDEX.o \ + ../../../../../temp/csd/ta_MINUS_DI.o \ + ../../../../../temp/csd/ta_MINUS_DM.o \ + ../../../../../temp/csd/ta_MOM.o \ + ../../../../../temp/csd/ta_MULT.o \ + ../../../../../temp/csd/ta_NATR.o \ + ../../../../../temp/csd/ta_OBV.o \ + ../../../../../temp/csd/ta_PLUS_DI.o \ + ../../../../../temp/csd/ta_PLUS_DM.o \ + ../../../../../temp/csd/ta_PPO.o \ + ../../../../../temp/csd/ta_ROC.o \ + ../../../../../temp/csd/ta_ROCP.o \ + ../../../../../temp/csd/ta_ROCR.o \ + ../../../../../temp/csd/ta_ROCR100.o \ + ../../../../../temp/csd/ta_RSI.o \ + ../../../../../temp/csd/ta_SAR.o \ + ../../../../../temp/csd/ta_SAREXT.o \ + ../../../../../temp/csd/ta_SIN.o \ + ../../../../../temp/csd/ta_SINH.o \ + ../../../../../temp/csd/ta_SMA.o \ + ../../../../../temp/csd/ta_SQRT.o \ + ../../../../../temp/csd/ta_STDDEV.o \ + ../../../../../temp/csd/ta_STOCH.o \ + ../../../../../temp/csd/ta_STOCHF.o \ + ../../../../../temp/csd/ta_STOCHRSI.o \ + ../../../../../temp/csd/ta_SUB.o \ + ../../../../../temp/csd/ta_SUM.o \ + ../../../../../temp/csd/ta_T3.o \ + ../../../../../temp/csd/ta_TAN.o \ + ../../../../../temp/csd/ta_TANH.o \ + ../../../../../temp/csd/ta_TEMA.o \ + ../../../../../temp/csd/ta_TRANGE.o \ + ../../../../../temp/csd/ta_TRIMA.o \ + ../../../../../temp/csd/ta_TRIX.o \ + ../../../../../temp/csd/ta_TSF.o \ + ../../../../../temp/csd/ta_TYPPRICE.o \ + ../../../../../temp/csd/ta_ULTOSC.o \ + ../../../../../temp/csd/ta_VAR.o \ + ../../../../../temp/csd/ta_WCLPRICE.o \ + ../../../../../temp/csd/ta_WILLR.o \ + ../../../../../temp/csd/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_func_csd.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csd/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/csd/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/csd/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/csd/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/csd/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/csd/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/csd/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/csd/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/csd/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/csd/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/csd/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/csd/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/csd/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/csd/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/csd/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/csd/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/csd/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/csd/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/csd/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/csd/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/csd/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/csd/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/csd/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/csd/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/csd/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/csd/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/csd/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/csd/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/csd/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/csd/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/csd/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/csd/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/csd/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/csd/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/csd/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/csd/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/csd/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/csd/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/csd/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/csd/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/csd/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/csd/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/csd/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/csd/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/csd/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/csd/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/csd/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/csd/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/csd/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/csd/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/csd/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/csd/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/csd/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/csd/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/csd/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/csd/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/csd/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/csd/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/csd/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/csd/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/csd/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/csd/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/csd/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/csd/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/csd/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/csd/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/csd/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/csd/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/csd/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/csd/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/csd/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/csd/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/csd/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/csd/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/csd/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/csd/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/csd/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/csd/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/csd/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/csd/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/csd/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/csd/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/csd/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/csd/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/csd/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/csd/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/csd/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/csd/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/csd/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/csd/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/csd/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/csd/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/csd/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/csd/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/csd/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/csd/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/csd/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/csd/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/csd/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/csd/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/csd/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/csd/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/csd/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/csd/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/csd/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/csd/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/csd/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/csd/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/csd/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/csd/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/csd/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/csd/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/csd/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/csd/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/csd/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/csd/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/csd/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/csd/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/csd/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/csd/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/csd/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/csd/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/csd/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/csd/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/csd/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/csd/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/csd/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/csd/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/csd/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/csd/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/csd/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/csd/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/csd/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/csd/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/csd/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/csd/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/csd/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/csd/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/csd/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/csd/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/csd/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/csd/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/csd/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/csd/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/csd/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/csd/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/csd/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/csd/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/csd/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/csd/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/csd/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/csd/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/csd/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/csd/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/csd/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/csd/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/csd/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/csd/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/csd/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/csd/freebsd/g++/ta_libc/Makefile b/vendor/ta-lib/make/csd/freebsd/g++/ta_libc/Makefile new file mode 100644 index 000000000..d191f2cd6 --- /dev/null +++ b/vendor/ta-lib/make/csd/freebsd/g++/ta_libc/Makefile @@ -0,0 +1,1053 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_libc_csd.a +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../include -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I/usr/local/include -I$(QTDIR)/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c \ + ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/csd/ta_global.o \ + ../../../../../temp/csd/ta_retcode.o \ + ../../../../../temp/csd/ta_version.o \ + ../../../../../temp/csd/ta_abstract.o \ + ../../../../../temp/csd/ta_def_ui.o \ + ../../../../../temp/csd/ta_func_api.o \ + ../../../../../temp/csd/ta_group_idx.o \ + ../../../../../temp/csd/ta_frame.o \ + ../../../../../temp/csd/table_a.o \ + ../../../../../temp/csd/table_b.o \ + ../../../../../temp/csd/table_c.o \ + ../../../../../temp/csd/table_d.o \ + ../../../../../temp/csd/table_e.o \ + ../../../../../temp/csd/table_f.o \ + ../../../../../temp/csd/table_g.o \ + ../../../../../temp/csd/table_h.o \ + ../../../../../temp/csd/table_i.o \ + ../../../../../temp/csd/table_j.o \ + ../../../../../temp/csd/table_k.o \ + ../../../../../temp/csd/table_l.o \ + ../../../../../temp/csd/table_m.o \ + ../../../../../temp/csd/table_n.o \ + ../../../../../temp/csd/table_o.o \ + ../../../../../temp/csd/table_p.o \ + ../../../../../temp/csd/table_q.o \ + ../../../../../temp/csd/table_r.o \ + ../../../../../temp/csd/table_s.o \ + ../../../../../temp/csd/table_t.o \ + ../../../../../temp/csd/table_u.o \ + ../../../../../temp/csd/table_v.o \ + ../../../../../temp/csd/table_w.o \ + ../../../../../temp/csd/table_x.o \ + ../../../../../temp/csd/table_y.o \ + ../../../../../temp/csd/table_z.o \ + ../../../../../temp/csd/ta_utility.o \ + ../../../../../temp/csd/ta_ACOS.o \ + ../../../../../temp/csd/ta_AD.o \ + ../../../../../temp/csd/ta_ADD.o \ + ../../../../../temp/csd/ta_ADOSC.o \ + ../../../../../temp/csd/ta_ADX.o \ + ../../../../../temp/csd/ta_ADXR.o \ + ../../../../../temp/csd/ta_APO.o \ + ../../../../../temp/csd/ta_AROON.o \ + ../../../../../temp/csd/ta_AROONOSC.o \ + ../../../../../temp/csd/ta_ASIN.o \ + ../../../../../temp/csd/ta_ATAN.o \ + ../../../../../temp/csd/ta_ATR.o \ + ../../../../../temp/csd/ta_AVGPRICE.o \ + ../../../../../temp/csd/ta_BBANDS.o \ + ../../../../../temp/csd/ta_BETA.o \ + ../../../../../temp/csd/ta_BOP.o \ + ../../../../../temp/csd/ta_CCI.o \ + ../../../../../temp/csd/ta_CDL2CROWS.o \ + ../../../../../temp/csd/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/csd/ta_CDL3INSIDE.o \ + ../../../../../temp/csd/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/csd/ta_CDL3OUTSIDE.o \ + ../../../../../temp/csd/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/csd/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/csd/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/csd/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/csd/ta_CDLBELTHOLD.o \ + ../../../../../temp/csd/ta_CDLBREAKAWAY.o \ + ../../../../../temp/csd/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/csd/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/csd/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/csd/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/csd/ta_CDLDOJI.o \ + ../../../../../temp/csd/ta_CDLDOJISTAR.o \ + ../../../../../temp/csd/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/csd/ta_CDLENGULFING.o \ + ../../../../../temp/csd/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/csd/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/csd/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/csd/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/csd/ta_CDLHAMMER.o \ + ../../../../../temp/csd/ta_CDLHANGINGMAN.o \ + ../../../../../temp/csd/ta_CDLHARAMI.o \ + ../../../../../temp/csd/ta_CDLHARAMICROSS.o \ + ../../../../../temp/csd/ta_CDLHIGHWAVE.o \ + ../../../../../temp/csd/ta_CDLHIKKAKE.o \ + ../../../../../temp/csd/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/csd/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/csd/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/csd/ta_CDLINNECK.o \ + ../../../../../temp/csd/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/csd/ta_CDLKICKING.o \ + ../../../../../temp/csd/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/csd/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/csd/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/csd/ta_CDLLONGLINE.o \ + ../../../../../temp/csd/ta_CDLMARUBOZU.o \ + ../../../../../temp/csd/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/csd/ta_CDLMATHOLD.o \ + ../../../../../temp/csd/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/csd/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/csd/ta_CDLONNECK.o \ + ../../../../../temp/csd/ta_CDLPIERCING.o \ + ../../../../../temp/csd/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/csd/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/csd/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/csd/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/csd/ta_CDLSHORTLINE.o \ + ../../../../../temp/csd/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/csd/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/csd/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/csd/ta_CDLTAKURI.o \ + ../../../../../temp/csd/ta_CDLTASUKIGAP.o \ + ../../../../../temp/csd/ta_CDLTHRUSTING.o \ + ../../../../../temp/csd/ta_CDLTRISTAR.o \ + ../../../../../temp/csd/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/csd/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/csd/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/csd/ta_CEIL.o \ + ../../../../../temp/csd/ta_CMO.o \ + ../../../../../temp/csd/ta_CORREL.o \ + ../../../../../temp/csd/ta_COS.o \ + ../../../../../temp/csd/ta_COSH.o \ + ../../../../../temp/csd/ta_DEMA.o \ + ../../../../../temp/csd/ta_DIV.o \ + ../../../../../temp/csd/ta_DX.o \ + ../../../../../temp/csd/ta_EMA.o \ + ../../../../../temp/csd/ta_EXP.o \ + ../../../../../temp/csd/ta_FLOOR.o \ + ../../../../../temp/csd/ta_HT_DCPERIOD.o \ + ../../../../../temp/csd/ta_HT_DCPHASE.o \ + ../../../../../temp/csd/ta_HT_PHASOR.o \ + ../../../../../temp/csd/ta_HT_SINE.o \ + ../../../../../temp/csd/ta_HT_TRENDLINE.o \ + ../../../../../temp/csd/ta_HT_TRENDMODE.o \ + ../../../../../temp/csd/ta_KAMA.o \ + ../../../../../temp/csd/ta_LINEARREG.o \ + ../../../../../temp/csd/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/csd/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/csd/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/csd/ta_LN.o \ + ../../../../../temp/csd/ta_LOG10.o \ + ../../../../../temp/csd/ta_MA.o \ + ../../../../../temp/csd/ta_MACD.o \ + ../../../../../temp/csd/ta_MACDEXT.o \ + ../../../../../temp/csd/ta_MACDFIX.o \ + ../../../../../temp/csd/ta_MAMA.o \ + ../../../../../temp/csd/ta_MAVP.o \ + ../../../../../temp/csd/ta_MAX.o \ + ../../../../../temp/csd/ta_MAXINDEX.o \ + ../../../../../temp/csd/ta_MEDPRICE.o \ + ../../../../../temp/csd/ta_MFI.o \ + ../../../../../temp/csd/ta_MIDPOINT.o \ + ../../../../../temp/csd/ta_MIDPRICE.o \ + ../../../../../temp/csd/ta_MIN.o \ + ../../../../../temp/csd/ta_MININDEX.o \ + ../../../../../temp/csd/ta_MINMAX.o \ + ../../../../../temp/csd/ta_MINMAXINDEX.o \ + ../../../../../temp/csd/ta_MINUS_DI.o \ + ../../../../../temp/csd/ta_MINUS_DM.o \ + ../../../../../temp/csd/ta_MOM.o \ + ../../../../../temp/csd/ta_MULT.o \ + ../../../../../temp/csd/ta_NATR.o \ + ../../../../../temp/csd/ta_OBV.o \ + ../../../../../temp/csd/ta_PLUS_DI.o \ + ../../../../../temp/csd/ta_PLUS_DM.o \ + ../../../../../temp/csd/ta_PPO.o \ + ../../../../../temp/csd/ta_ROC.o \ + ../../../../../temp/csd/ta_ROCP.o \ + ../../../../../temp/csd/ta_ROCR.o \ + ../../../../../temp/csd/ta_ROCR100.o \ + ../../../../../temp/csd/ta_RSI.o \ + ../../../../../temp/csd/ta_SAR.o \ + ../../../../../temp/csd/ta_SAREXT.o \ + ../../../../../temp/csd/ta_SIN.o \ + ../../../../../temp/csd/ta_SINH.o \ + ../../../../../temp/csd/ta_SMA.o \ + ../../../../../temp/csd/ta_SQRT.o \ + ../../../../../temp/csd/ta_STDDEV.o \ + ../../../../../temp/csd/ta_STOCH.o \ + ../../../../../temp/csd/ta_STOCHF.o \ + ../../../../../temp/csd/ta_STOCHRSI.o \ + ../../../../../temp/csd/ta_SUB.o \ + ../../../../../temp/csd/ta_SUM.o \ + ../../../../../temp/csd/ta_T3.o \ + ../../../../../temp/csd/ta_TAN.o \ + ../../../../../temp/csd/ta_TANH.o \ + ../../../../../temp/csd/ta_TEMA.o \ + ../../../../../temp/csd/ta_TRANGE.o \ + ../../../../../temp/csd/ta_TRIMA.o \ + ../../../../../temp/csd/ta_TRIX.o \ + ../../../../../temp/csd/ta_TSF.o \ + ../../../../../temp/csd/ta_TYPPRICE.o \ + ../../../../../temp/csd/ta_ULTOSC.o \ + ../../../../../temp/csd/ta_VAR.o \ + ../../../../../temp/csd/ta_WCLPRICE.o \ + ../../../../../temp/csd/ta_WILLR.o \ + ../../../../../temp/csd/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_libc_csd.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csd/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/csd/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/csd/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_version.o ../../../../../src/ta_common/ta_version.c + +../../../../../temp/csd/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csd/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csd/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/csd/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/csd/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/csd/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csd/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csd/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csd/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csd/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csd/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csd/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csd/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csd/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csd/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csd/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csd/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csd/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csd/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csd/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csd/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csd/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csd/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csd/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csd/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csd/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csd/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csd/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csd/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csd/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csd/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + +../../../../../temp/csd/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/csd/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/csd/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/csd/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/csd/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/csd/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/csd/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/csd/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/csd/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/csd/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/csd/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/csd/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/csd/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/csd/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/csd/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/csd/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/csd/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/csd/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/csd/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/csd/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/csd/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/csd/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/csd/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/csd/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/csd/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/csd/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/csd/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/csd/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/csd/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/csd/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/csd/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/csd/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/csd/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/csd/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/csd/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/csd/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/csd/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/csd/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/csd/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/csd/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/csd/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/csd/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/csd/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/csd/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/csd/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/csd/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/csd/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/csd/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/csd/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/csd/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/csd/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/csd/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/csd/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/csd/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/csd/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/csd/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/csd/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/csd/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/csd/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/csd/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/csd/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/csd/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/csd/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/csd/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/csd/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/csd/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/csd/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/csd/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/csd/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/csd/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/csd/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/csd/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/csd/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/csd/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/csd/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/csd/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/csd/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/csd/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/csd/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/csd/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/csd/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/csd/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/csd/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/csd/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/csd/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/csd/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/csd/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/csd/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/csd/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/csd/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/csd/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/csd/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/csd/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/csd/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/csd/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/csd/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/csd/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/csd/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/csd/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/csd/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/csd/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/csd/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/csd/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/csd/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/csd/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/csd/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/csd/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/csd/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/csd/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/csd/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/csd/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/csd/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/csd/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/csd/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/csd/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/csd/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/csd/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/csd/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/csd/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/csd/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/csd/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/csd/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/csd/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/csd/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/csd/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/csd/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/csd/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/csd/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/csd/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/csd/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/csd/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/csd/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/csd/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/csd/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/csd/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/csd/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/csd/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/csd/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/csd/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/csd/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/csd/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/csd/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/csd/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/csd/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/csd/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/csd/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/csd/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/csd/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/csd/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/csd/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/csd/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/csd/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/csd/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/csd/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/csd/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/csd/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/csd/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/csd/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/csd/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/csd/freebsd/g++/ta_regtest/Makefile b/vendor/ta-lib/make/csd/freebsd/g++/ta_regtest/Makefile new file mode 100644 index 000000000..c3d45acbc --- /dev/null +++ b/vendor/ta-lib/make/csd/freebsd/g++/ta_regtest/Makefile @@ -0,0 +1,205 @@ +############################################################################# +# Makefile for building ../../../../../bin/ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../src/tools/ta_regtest -I../../../../../src/ta_func -I../../../../../include -I/usr/local/include +LINK = g++ +LFLAGS = -L/usr/local/lib +LIBS = $(SUBLIBS) ../../../../../lib/libta_libc_csd.a +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/ta_regtest/ta_regtest.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c \ + ../../../../../src/tools/ta_regtest/test_internals.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c \ + ../../../../../src/tools/ta_regtest/test_util.c \ + ../../../../../src/tools/ta_regtest/test_data.c \ + ../../../../../src/tools/ta_regtest/test_abstract.c +OBJECTS = ../../../../../temp/csd/ta_regtest.o \ + ../../../../../temp/csd/test_candlestick.o \ + ../../../../../temp/csd/test_1in_1out.o \ + ../../../../../temp/csd/test_1in_2out.o \ + ../../../../../temp/csd/test_internals.o \ + ../../../../../temp/csd/test_adx.o \ + ../../../../../temp/csd/test_bbands.o \ + ../../../../../temp/csd/test_ma.o \ + ../../../../../temp/csd/test_macd.o \ + ../../../../../temp/csd/test_minmax.o \ + ../../../../../temp/csd/test_mom.o \ + ../../../../../temp/csd/test_per_ema.o \ + ../../../../../temp/csd/test_per_hl.o \ + ../../../../../temp/csd/test_per_hlc.o \ + ../../../../../temp/csd/test_per_hlcv.o \ + ../../../../../temp/csd/test_per_ohlc.o \ + ../../../../../temp/csd/test_po.o \ + ../../../../../temp/csd/test_rsi.o \ + ../../../../../temp/csd/test_sar.o \ + ../../../../../temp/csd/test_stddev.o \ + ../../../../../temp/csd/test_stoch.o \ + ../../../../../temp/csd/test_trange.o \ + ../../../../../temp/csd/test_util.o \ + ../../../../../temp/csd/test_data.o \ + ../../../../../temp/csd/test_abstract.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/ta_regtest +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csd/ta_regtest.o: ../../../../../src/tools/ta_regtest/ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_regtest.o ../../../../../src/tools/ta_regtest/ta_regtest.c + +../../../../../temp/csd/test_candlestick.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_candlestick.o ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + +../../../../../temp/csd/test_1in_1out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_1in_1out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + +../../../../../temp/csd/test_1in_2out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_1in_2out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + +../../../../../temp/csd/test_internals.o: ../../../../../src/tools/ta_regtest/test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_internals.o ../../../../../src/tools/ta_regtest/test_internals.c + +../../../../../temp/csd/test_adx.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_adx.o ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + +../../../../../temp/csd/test_bbands.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_bbands.o ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + +../../../../../temp/csd/test_ma.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_ma.o ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + +../../../../../temp/csd/test_macd.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_macd.o ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + +../../../../../temp/csd/test_minmax.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_minmax.o ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + +../../../../../temp/csd/test_mom.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_mom.o ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + +../../../../../temp/csd/test_per_ema.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_per_ema.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + +../../../../../temp/csd/test_per_hl.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_per_hl.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + +../../../../../temp/csd/test_per_hlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_per_hlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + +../../../../../temp/csd/test_per_hlcv.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_per_hlcv.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + +../../../../../temp/csd/test_per_ohlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_per_ohlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + +../../../../../temp/csd/test_po.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_po.o ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + +../../../../../temp/csd/test_rsi.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_rsi.o ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + +../../../../../temp/csd/test_sar.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_sar.o ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + +../../../../../temp/csd/test_stddev.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_stddev.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + +../../../../../temp/csd/test_stoch.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_stoch.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + +../../../../../temp/csd/test_trange.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_trange.o ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + +../../../../../temp/csd/test_util.o: ../../../../../src/tools/ta_regtest/test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_util.o ../../../../../src/tools/ta_regtest/test_util.c + +../../../../../temp/csd/test_data.o: ../../../../../src/tools/ta_regtest/test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_data.o ../../../../../src/tools/ta_regtest/test_data.c + +../../../../../temp/csd/test_abstract.o: ../../../../../src/tools/ta_regtest/test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_abstract.o ../../../../../src/tools/ta_regtest/test_abstract.c + diff --git a/vendor/ta-lib/make/csd/linux/g++/Makefile b/vendor/ta-lib/make/csd/linux/g++/Makefile new file mode 100644 index 000000000..5e7342c2d --- /dev/null +++ b/vendor/ta-lib/make/csd/linux/g++/Makefile @@ -0,0 +1,36 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +$(SUBDIRS): FORCE + cd $@; $(MAKE) + +tmake: ../csd/linux/g++/Makefile + +../csd/linux/g++/Makefile: rootmake.pro + tmake rootmake.pro -o ../csd/linux/g++/Makefile + +tmake_all: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done + +#### $text = "\t" . 'for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; pro=`basename $$i`.pro ; $(TMAKE) $$pro -o $(MAKEFILE); grep "TEMPLATE.*subdirs" $$pro 2>/dev/null >/dev/null && $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done'; + +clean release debug: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) $@; fi; ) ; done + +FORCE: diff --git a/vendor/ta-lib/make/csd/linux/g++/gen_code/Makefile b/vendor/ta-lib/make/csd/linux/g++/gen_code/Makefile new file mode 100644 index 000000000..a2637e4cd --- /dev/null +++ b/vendor/ta-lib/make/csd/linux/g++/gen_code/Makefile @@ -0,0 +1,231 @@ +############################################################################# +# Makefile for building ../../../../../bin/gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -g -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -fPIC -Wall -W -g -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../include -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames +LINK = g++ +LFLAGS = +LIBS = $(SUBLIBS) ../../../../../lib/libta_common_csd.a -ldl +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/gen_code/gen_code.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/csd/gen_code/gen_code.o \ + ../../../../../temp/csd/gen_code/ta_abstract.o \ + ../../../../../temp/csd/gen_code/ta_def_ui.o \ + ../../../../../temp/csd/gen_code/table_a.o \ + ../../../../../temp/csd/gen_code/table_b.o \ + ../../../../../temp/csd/gen_code/table_c.o \ + ../../../../../temp/csd/gen_code/table_d.o \ + ../../../../../temp/csd/gen_code/table_e.o \ + ../../../../../temp/csd/gen_code/table_f.o \ + ../../../../../temp/csd/gen_code/table_g.o \ + ../../../../../temp/csd/gen_code/table_h.o \ + ../../../../../temp/csd/gen_code/table_i.o \ + ../../../../../temp/csd/gen_code/table_j.o \ + ../../../../../temp/csd/gen_code/table_k.o \ + ../../../../../temp/csd/gen_code/table_l.o \ + ../../../../../temp/csd/gen_code/table_m.o \ + ../../../../../temp/csd/gen_code/table_n.o \ + ../../../../../temp/csd/gen_code/table_o.o \ + ../../../../../temp/csd/gen_code/table_p.o \ + ../../../../../temp/csd/gen_code/table_q.o \ + ../../../../../temp/csd/gen_code/table_r.o \ + ../../../../../temp/csd/gen_code/table_s.o \ + ../../../../../temp/csd/gen_code/table_t.o \ + ../../../../../temp/csd/gen_code/table_u.o \ + ../../../../../temp/csd/gen_code/table_v.o \ + ../../../../../temp/csd/gen_code/table_w.o \ + ../../../../../temp/csd/gen_code/table_x.o \ + ../../../../../temp/csd/gen_code/table_y.o \ + ../../../../../temp/csd/gen_code/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/gen_code +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csd/gen_code/gen_code.o: ../../../../../src/tools/gen_code/gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/gen_code.o ../../../../../src/tools/gen_code/gen_code.c + +../../../../../temp/csd/gen_code/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csd/gen_code/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csd/gen_code/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csd/gen_code/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csd/gen_code/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csd/gen_code/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csd/gen_code/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csd/gen_code/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csd/gen_code/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csd/gen_code/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csd/gen_code/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csd/gen_code/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csd/gen_code/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csd/gen_code/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csd/gen_code/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csd/gen_code/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csd/gen_code/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csd/gen_code/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csd/gen_code/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csd/gen_code/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csd/gen_code/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csd/gen_code/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csd/gen_code/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csd/gen_code/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csd/gen_code/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csd/gen_code/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csd/gen_code/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csd/gen_code/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/gen_code/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/csd/linux/g++/ta_abstract/Makefile b/vendor/ta-lib/make/csd/linux/g++/ta_abstract/Makefile new file mode 100644 index 000000000..35a7b3cc3 --- /dev/null +++ b/vendor/ta-lib/make/csd/linux/g++/ta_abstract/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_abstract_csd.a +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -fPIC -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/csd/ta_abstract.o \ + ../../../../../temp/csd/ta_def_ui.o \ + ../../../../../temp/csd/ta_func_api.o \ + ../../../../../temp/csd/ta_group_idx.o \ + ../../../../../temp/csd/ta_frame.o \ + ../../../../../temp/csd/table_a.o \ + ../../../../../temp/csd/table_b.o \ + ../../../../../temp/csd/table_c.o \ + ../../../../../temp/csd/table_d.o \ + ../../../../../temp/csd/table_e.o \ + ../../../../../temp/csd/table_f.o \ + ../../../../../temp/csd/table_g.o \ + ../../../../../temp/csd/table_h.o \ + ../../../../../temp/csd/table_i.o \ + ../../../../../temp/csd/table_j.o \ + ../../../../../temp/csd/table_k.o \ + ../../../../../temp/csd/table_l.o \ + ../../../../../temp/csd/table_m.o \ + ../../../../../temp/csd/table_n.o \ + ../../../../../temp/csd/table_o.o \ + ../../../../../temp/csd/table_p.o \ + ../../../../../temp/csd/table_q.o \ + ../../../../../temp/csd/table_r.o \ + ../../../../../temp/csd/table_s.o \ + ../../../../../temp/csd/table_t.o \ + ../../../../../temp/csd/table_u.o \ + ../../../../../temp/csd/table_v.o \ + ../../../../../temp/csd/table_w.o \ + ../../../../../temp/csd/table_x.o \ + ../../../../../temp/csd/table_y.o \ + ../../../../../temp/csd/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_abstract_csd.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csd/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csd/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csd/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/csd/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/csd/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/csd/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csd/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csd/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csd/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csd/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csd/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csd/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csd/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csd/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csd/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csd/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csd/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csd/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csd/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csd/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csd/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csd/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csd/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csd/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csd/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csd/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csd/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csd/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csd/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csd/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csd/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/csd/linux/g++/ta_common/Makefile b/vendor/ta-lib/make/csd/linux/g++/ta_common/Makefile new file mode 100644 index 000000000..3e40842f8 --- /dev/null +++ b/vendor/ta-lib/make/csd/linux/g++/ta_common/Makefile @@ -0,0 +1,103 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_common_csd.a +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -fPIC -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c +OBJECTS = ../../../../../temp/csd/ta_global.o \ + ../../../../../temp/csd/ta_retcode.o \ + ../../../../../temp/csd/ta_version.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_common_csd.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csd/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/csd/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/csd/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_version.o ../../../../../src/ta_common/ta_version.c + diff --git a/vendor/ta-lib/make/csd/linux/g++/ta_func/Makefile b/vendor/ta-lib/make/csd/linux/g++/ta_func/Makefile new file mode 100644 index 000000000..121bbaf3b --- /dev/null +++ b/vendor/ta-lib/make/csd/linux/g++/ta_func/Makefile @@ -0,0 +1,883 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_func_csd.a +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -fPIC -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I/n -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/csd/ta_utility.o \ + ../../../../../temp/csd/ta_ACOS.o \ + ../../../../../temp/csd/ta_AD.o \ + ../../../../../temp/csd/ta_ADD.o \ + ../../../../../temp/csd/ta_ADOSC.o \ + ../../../../../temp/csd/ta_ADX.o \ + ../../../../../temp/csd/ta_ADXR.o \ + ../../../../../temp/csd/ta_APO.o \ + ../../../../../temp/csd/ta_AROON.o \ + ../../../../../temp/csd/ta_AROONOSC.o \ + ../../../../../temp/csd/ta_ASIN.o \ + ../../../../../temp/csd/ta_ATAN.o \ + ../../../../../temp/csd/ta_ATR.o \ + ../../../../../temp/csd/ta_AVGPRICE.o \ + ../../../../../temp/csd/ta_BBANDS.o \ + ../../../../../temp/csd/ta_BETA.o \ + ../../../../../temp/csd/ta_BOP.o \ + ../../../../../temp/csd/ta_CCI.o \ + ../../../../../temp/csd/ta_CDL2CROWS.o \ + ../../../../../temp/csd/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/csd/ta_CDL3INSIDE.o \ + ../../../../../temp/csd/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/csd/ta_CDL3OUTSIDE.o \ + ../../../../../temp/csd/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/csd/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/csd/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/csd/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/csd/ta_CDLBELTHOLD.o \ + ../../../../../temp/csd/ta_CDLBREAKAWAY.o \ + ../../../../../temp/csd/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/csd/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/csd/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/csd/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/csd/ta_CDLDOJI.o \ + ../../../../../temp/csd/ta_CDLDOJISTAR.o \ + ../../../../../temp/csd/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/csd/ta_CDLENGULFING.o \ + ../../../../../temp/csd/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/csd/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/csd/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/csd/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/csd/ta_CDLHAMMER.o \ + ../../../../../temp/csd/ta_CDLHANGINGMAN.o \ + ../../../../../temp/csd/ta_CDLHARAMI.o \ + ../../../../../temp/csd/ta_CDLHARAMICROSS.o \ + ../../../../../temp/csd/ta_CDLHIGHWAVE.o \ + ../../../../../temp/csd/ta_CDLHIKKAKE.o \ + ../../../../../temp/csd/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/csd/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/csd/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/csd/ta_CDLINNECK.o \ + ../../../../../temp/csd/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/csd/ta_CDLKICKING.o \ + ../../../../../temp/csd/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/csd/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/csd/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/csd/ta_CDLLONGLINE.o \ + ../../../../../temp/csd/ta_CDLMARUBOZU.o \ + ../../../../../temp/csd/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/csd/ta_CDLMATHOLD.o \ + ../../../../../temp/csd/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/csd/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/csd/ta_CDLONNECK.o \ + ../../../../../temp/csd/ta_CDLPIERCING.o \ + ../../../../../temp/csd/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/csd/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/csd/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/csd/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/csd/ta_CDLSHORTLINE.o \ + ../../../../../temp/csd/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/csd/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/csd/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/csd/ta_CDLTAKURI.o \ + ../../../../../temp/csd/ta_CDLTASUKIGAP.o \ + ../../../../../temp/csd/ta_CDLTHRUSTING.o \ + ../../../../../temp/csd/ta_CDLTRISTAR.o \ + ../../../../../temp/csd/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/csd/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/csd/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/csd/ta_CEIL.o \ + ../../../../../temp/csd/ta_CMO.o \ + ../../../../../temp/csd/ta_CORREL.o \ + ../../../../../temp/csd/ta_COS.o \ + ../../../../../temp/csd/ta_COSH.o \ + ../../../../../temp/csd/ta_DEMA.o \ + ../../../../../temp/csd/ta_DIV.o \ + ../../../../../temp/csd/ta_DX.o \ + ../../../../../temp/csd/ta_EMA.o \ + ../../../../../temp/csd/ta_EXP.o \ + ../../../../../temp/csd/ta_FLOOR.o \ + ../../../../../temp/csd/ta_HT_DCPERIOD.o \ + ../../../../../temp/csd/ta_HT_DCPHASE.o \ + ../../../../../temp/csd/ta_HT_PHASOR.o \ + ../../../../../temp/csd/ta_HT_SINE.o \ + ../../../../../temp/csd/ta_HT_TRENDLINE.o \ + ../../../../../temp/csd/ta_HT_TRENDMODE.o \ + ../../../../../temp/csd/ta_KAMA.o \ + ../../../../../temp/csd/ta_LINEARREG.o \ + ../../../../../temp/csd/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/csd/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/csd/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/csd/ta_LN.o \ + ../../../../../temp/csd/ta_LOG10.o \ + ../../../../../temp/csd/ta_MA.o \ + ../../../../../temp/csd/ta_MACD.o \ + ../../../../../temp/csd/ta_MACDEXT.o \ + ../../../../../temp/csd/ta_MACDFIX.o \ + ../../../../../temp/csd/ta_MAMA.o \ + ../../../../../temp/csd/ta_MAVP.o \ + ../../../../../temp/csd/ta_MAX.o \ + ../../../../../temp/csd/ta_MAXINDEX.o \ + ../../../../../temp/csd/ta_MEDPRICE.o \ + ../../../../../temp/csd/ta_MFI.o \ + ../../../../../temp/csd/ta_MIDPOINT.o \ + ../../../../../temp/csd/ta_MIDPRICE.o \ + ../../../../../temp/csd/ta_MIN.o \ + ../../../../../temp/csd/ta_MININDEX.o \ + ../../../../../temp/csd/ta_MINMAX.o \ + ../../../../../temp/csd/ta_MINMAXINDEX.o \ + ../../../../../temp/csd/ta_MINUS_DI.o \ + ../../../../../temp/csd/ta_MINUS_DM.o \ + ../../../../../temp/csd/ta_MOM.o \ + ../../../../../temp/csd/ta_MULT.o \ + ../../../../../temp/csd/ta_NATR.o \ + ../../../../../temp/csd/ta_OBV.o \ + ../../../../../temp/csd/ta_PLUS_DI.o \ + ../../../../../temp/csd/ta_PLUS_DM.o \ + ../../../../../temp/csd/ta_PPO.o \ + ../../../../../temp/csd/ta_ROC.o \ + ../../../../../temp/csd/ta_ROCP.o \ + ../../../../../temp/csd/ta_ROCR.o \ + ../../../../../temp/csd/ta_ROCR100.o \ + ../../../../../temp/csd/ta_RSI.o \ + ../../../../../temp/csd/ta_SAR.o \ + ../../../../../temp/csd/ta_SAREXT.o \ + ../../../../../temp/csd/ta_SIN.o \ + ../../../../../temp/csd/ta_SINH.o \ + ../../../../../temp/csd/ta_SMA.o \ + ../../../../../temp/csd/ta_SQRT.o \ + ../../../../../temp/csd/ta_STDDEV.o \ + ../../../../../temp/csd/ta_STOCH.o \ + ../../../../../temp/csd/ta_STOCHF.o \ + ../../../../../temp/csd/ta_STOCHRSI.o \ + ../../../../../temp/csd/ta_SUB.o \ + ../../../../../temp/csd/ta_SUM.o \ + ../../../../../temp/csd/ta_T3.o \ + ../../../../../temp/csd/ta_TAN.o \ + ../../../../../temp/csd/ta_TANH.o \ + ../../../../../temp/csd/ta_TEMA.o \ + ../../../../../temp/csd/ta_TRANGE.o \ + ../../../../../temp/csd/ta_TRIMA.o \ + ../../../../../temp/csd/ta_TRIX.o \ + ../../../../../temp/csd/ta_TSF.o \ + ../../../../../temp/csd/ta_TYPPRICE.o \ + ../../../../../temp/csd/ta_ULTOSC.o \ + ../../../../../temp/csd/ta_VAR.o \ + ../../../../../temp/csd/ta_WCLPRICE.o \ + ../../../../../temp/csd/ta_WILLR.o \ + ../../../../../temp/csd/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_func_csd.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csd/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/csd/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/csd/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/csd/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/csd/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/csd/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/csd/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/csd/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/csd/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/csd/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/csd/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/csd/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/csd/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/csd/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/csd/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/csd/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/csd/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/csd/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/csd/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/csd/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/csd/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/csd/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/csd/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/csd/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/csd/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/csd/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/csd/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/csd/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/csd/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/csd/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/csd/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/csd/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/csd/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/csd/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/csd/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/csd/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/csd/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/csd/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/csd/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/csd/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/csd/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/csd/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/csd/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/csd/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/csd/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/csd/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/csd/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/csd/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/csd/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/csd/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/csd/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/csd/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/csd/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/csd/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/csd/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/csd/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/csd/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/csd/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/csd/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/csd/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/csd/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/csd/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/csd/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/csd/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/csd/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/csd/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/csd/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/csd/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/csd/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/csd/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/csd/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/csd/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/csd/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/csd/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/csd/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/csd/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/csd/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/csd/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/csd/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/csd/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/csd/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/csd/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/csd/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/csd/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/csd/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/csd/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/csd/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/csd/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/csd/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/csd/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/csd/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/csd/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/csd/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/csd/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/csd/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/csd/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/csd/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/csd/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/csd/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/csd/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/csd/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/csd/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/csd/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/csd/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/csd/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/csd/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/csd/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/csd/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/csd/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/csd/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/csd/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/csd/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/csd/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/csd/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/csd/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/csd/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/csd/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/csd/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/csd/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/csd/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/csd/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/csd/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/csd/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/csd/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/csd/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/csd/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/csd/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/csd/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/csd/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/csd/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/csd/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/csd/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/csd/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/csd/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/csd/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/csd/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/csd/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/csd/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/csd/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/csd/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/csd/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/csd/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/csd/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/csd/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/csd/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/csd/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/csd/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/csd/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/csd/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/csd/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/csd/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/csd/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/csd/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/csd/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/csd/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/csd/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/csd/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/csd/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/csd/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/csd/linux/g++/ta_libc/Makefile b/vendor/ta-lib/make/csd/linux/g++/ta_libc/Makefile new file mode 100644 index 000000000..bbd1c7ac5 --- /dev/null +++ b/vendor/ta-lib/make/csd/linux/g++/ta_libc/Makefile @@ -0,0 +1,1053 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_libc_csd.a +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -fPIC -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../include -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I$(QTDIR)/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c \ + ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/csd/ta_global.o \ + ../../../../../temp/csd/ta_retcode.o \ + ../../../../../temp/csd/ta_version.o \ + ../../../../../temp/csd/ta_abstract.o \ + ../../../../../temp/csd/ta_def_ui.o \ + ../../../../../temp/csd/ta_func_api.o \ + ../../../../../temp/csd/ta_group_idx.o \ + ../../../../../temp/csd/ta_frame.o \ + ../../../../../temp/csd/table_a.o \ + ../../../../../temp/csd/table_b.o \ + ../../../../../temp/csd/table_c.o \ + ../../../../../temp/csd/table_d.o \ + ../../../../../temp/csd/table_e.o \ + ../../../../../temp/csd/table_f.o \ + ../../../../../temp/csd/table_g.o \ + ../../../../../temp/csd/table_h.o \ + ../../../../../temp/csd/table_i.o \ + ../../../../../temp/csd/table_j.o \ + ../../../../../temp/csd/table_k.o \ + ../../../../../temp/csd/table_l.o \ + ../../../../../temp/csd/table_m.o \ + ../../../../../temp/csd/table_n.o \ + ../../../../../temp/csd/table_o.o \ + ../../../../../temp/csd/table_p.o \ + ../../../../../temp/csd/table_q.o \ + ../../../../../temp/csd/table_r.o \ + ../../../../../temp/csd/table_s.o \ + ../../../../../temp/csd/table_t.o \ + ../../../../../temp/csd/table_u.o \ + ../../../../../temp/csd/table_v.o \ + ../../../../../temp/csd/table_w.o \ + ../../../../../temp/csd/table_x.o \ + ../../../../../temp/csd/table_y.o \ + ../../../../../temp/csd/table_z.o \ + ../../../../../temp/csd/ta_utility.o \ + ../../../../../temp/csd/ta_ACOS.o \ + ../../../../../temp/csd/ta_AD.o \ + ../../../../../temp/csd/ta_ADD.o \ + ../../../../../temp/csd/ta_ADOSC.o \ + ../../../../../temp/csd/ta_ADX.o \ + ../../../../../temp/csd/ta_ADXR.o \ + ../../../../../temp/csd/ta_APO.o \ + ../../../../../temp/csd/ta_AROON.o \ + ../../../../../temp/csd/ta_AROONOSC.o \ + ../../../../../temp/csd/ta_ASIN.o \ + ../../../../../temp/csd/ta_ATAN.o \ + ../../../../../temp/csd/ta_ATR.o \ + ../../../../../temp/csd/ta_AVGPRICE.o \ + ../../../../../temp/csd/ta_BBANDS.o \ + ../../../../../temp/csd/ta_BETA.o \ + ../../../../../temp/csd/ta_BOP.o \ + ../../../../../temp/csd/ta_CCI.o \ + ../../../../../temp/csd/ta_CDL2CROWS.o \ + ../../../../../temp/csd/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/csd/ta_CDL3INSIDE.o \ + ../../../../../temp/csd/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/csd/ta_CDL3OUTSIDE.o \ + ../../../../../temp/csd/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/csd/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/csd/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/csd/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/csd/ta_CDLBELTHOLD.o \ + ../../../../../temp/csd/ta_CDLBREAKAWAY.o \ + ../../../../../temp/csd/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/csd/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/csd/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/csd/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/csd/ta_CDLDOJI.o \ + ../../../../../temp/csd/ta_CDLDOJISTAR.o \ + ../../../../../temp/csd/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/csd/ta_CDLENGULFING.o \ + ../../../../../temp/csd/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/csd/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/csd/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/csd/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/csd/ta_CDLHAMMER.o \ + ../../../../../temp/csd/ta_CDLHANGINGMAN.o \ + ../../../../../temp/csd/ta_CDLHARAMI.o \ + ../../../../../temp/csd/ta_CDLHARAMICROSS.o \ + ../../../../../temp/csd/ta_CDLHIGHWAVE.o \ + ../../../../../temp/csd/ta_CDLHIKKAKE.o \ + ../../../../../temp/csd/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/csd/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/csd/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/csd/ta_CDLINNECK.o \ + ../../../../../temp/csd/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/csd/ta_CDLKICKING.o \ + ../../../../../temp/csd/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/csd/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/csd/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/csd/ta_CDLLONGLINE.o \ + ../../../../../temp/csd/ta_CDLMARUBOZU.o \ + ../../../../../temp/csd/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/csd/ta_CDLMATHOLD.o \ + ../../../../../temp/csd/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/csd/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/csd/ta_CDLONNECK.o \ + ../../../../../temp/csd/ta_CDLPIERCING.o \ + ../../../../../temp/csd/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/csd/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/csd/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/csd/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/csd/ta_CDLSHORTLINE.o \ + ../../../../../temp/csd/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/csd/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/csd/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/csd/ta_CDLTAKURI.o \ + ../../../../../temp/csd/ta_CDLTASUKIGAP.o \ + ../../../../../temp/csd/ta_CDLTHRUSTING.o \ + ../../../../../temp/csd/ta_CDLTRISTAR.o \ + ../../../../../temp/csd/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/csd/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/csd/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/csd/ta_CEIL.o \ + ../../../../../temp/csd/ta_CMO.o \ + ../../../../../temp/csd/ta_CORREL.o \ + ../../../../../temp/csd/ta_COS.o \ + ../../../../../temp/csd/ta_COSH.o \ + ../../../../../temp/csd/ta_DEMA.o \ + ../../../../../temp/csd/ta_DIV.o \ + ../../../../../temp/csd/ta_DX.o \ + ../../../../../temp/csd/ta_EMA.o \ + ../../../../../temp/csd/ta_EXP.o \ + ../../../../../temp/csd/ta_FLOOR.o \ + ../../../../../temp/csd/ta_HT_DCPERIOD.o \ + ../../../../../temp/csd/ta_HT_DCPHASE.o \ + ../../../../../temp/csd/ta_HT_PHASOR.o \ + ../../../../../temp/csd/ta_HT_SINE.o \ + ../../../../../temp/csd/ta_HT_TRENDLINE.o \ + ../../../../../temp/csd/ta_HT_TRENDMODE.o \ + ../../../../../temp/csd/ta_KAMA.o \ + ../../../../../temp/csd/ta_LINEARREG.o \ + ../../../../../temp/csd/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/csd/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/csd/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/csd/ta_LN.o \ + ../../../../../temp/csd/ta_LOG10.o \ + ../../../../../temp/csd/ta_MA.o \ + ../../../../../temp/csd/ta_MACD.o \ + ../../../../../temp/csd/ta_MACDEXT.o \ + ../../../../../temp/csd/ta_MACDFIX.o \ + ../../../../../temp/csd/ta_MAMA.o \ + ../../../../../temp/csd/ta_MAVP.o \ + ../../../../../temp/csd/ta_MAX.o \ + ../../../../../temp/csd/ta_MAXINDEX.o \ + ../../../../../temp/csd/ta_MEDPRICE.o \ + ../../../../../temp/csd/ta_MFI.o \ + ../../../../../temp/csd/ta_MIDPOINT.o \ + ../../../../../temp/csd/ta_MIDPRICE.o \ + ../../../../../temp/csd/ta_MIN.o \ + ../../../../../temp/csd/ta_MININDEX.o \ + ../../../../../temp/csd/ta_MINMAX.o \ + ../../../../../temp/csd/ta_MINMAXINDEX.o \ + ../../../../../temp/csd/ta_MINUS_DI.o \ + ../../../../../temp/csd/ta_MINUS_DM.o \ + ../../../../../temp/csd/ta_MOM.o \ + ../../../../../temp/csd/ta_MULT.o \ + ../../../../../temp/csd/ta_NATR.o \ + ../../../../../temp/csd/ta_OBV.o \ + ../../../../../temp/csd/ta_PLUS_DI.o \ + ../../../../../temp/csd/ta_PLUS_DM.o \ + ../../../../../temp/csd/ta_PPO.o \ + ../../../../../temp/csd/ta_ROC.o \ + ../../../../../temp/csd/ta_ROCP.o \ + ../../../../../temp/csd/ta_ROCR.o \ + ../../../../../temp/csd/ta_ROCR100.o \ + ../../../../../temp/csd/ta_RSI.o \ + ../../../../../temp/csd/ta_SAR.o \ + ../../../../../temp/csd/ta_SAREXT.o \ + ../../../../../temp/csd/ta_SIN.o \ + ../../../../../temp/csd/ta_SINH.o \ + ../../../../../temp/csd/ta_SMA.o \ + ../../../../../temp/csd/ta_SQRT.o \ + ../../../../../temp/csd/ta_STDDEV.o \ + ../../../../../temp/csd/ta_STOCH.o \ + ../../../../../temp/csd/ta_STOCHF.o \ + ../../../../../temp/csd/ta_STOCHRSI.o \ + ../../../../../temp/csd/ta_SUB.o \ + ../../../../../temp/csd/ta_SUM.o \ + ../../../../../temp/csd/ta_T3.o \ + ../../../../../temp/csd/ta_TAN.o \ + ../../../../../temp/csd/ta_TANH.o \ + ../../../../../temp/csd/ta_TEMA.o \ + ../../../../../temp/csd/ta_TRANGE.o \ + ../../../../../temp/csd/ta_TRIMA.o \ + ../../../../../temp/csd/ta_TRIX.o \ + ../../../../../temp/csd/ta_TSF.o \ + ../../../../../temp/csd/ta_TYPPRICE.o \ + ../../../../../temp/csd/ta_ULTOSC.o \ + ../../../../../temp/csd/ta_VAR.o \ + ../../../../../temp/csd/ta_WCLPRICE.o \ + ../../../../../temp/csd/ta_WILLR.o \ + ../../../../../temp/csd/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_libc_csd.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csd/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/csd/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/csd/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_version.o ../../../../../src/ta_common/ta_version.c + +../../../../../temp/csd/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csd/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csd/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/csd/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/csd/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/csd/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csd/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csd/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csd/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csd/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csd/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csd/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csd/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csd/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csd/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csd/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csd/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csd/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csd/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csd/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csd/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csd/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csd/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csd/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csd/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csd/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csd/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csd/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csd/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csd/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csd/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + +../../../../../temp/csd/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/csd/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/csd/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/csd/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/csd/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/csd/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/csd/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/csd/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/csd/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/csd/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/csd/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/csd/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/csd/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/csd/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/csd/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/csd/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/csd/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/csd/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/csd/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/csd/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/csd/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/csd/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/csd/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/csd/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/csd/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/csd/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/csd/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/csd/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/csd/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/csd/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/csd/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/csd/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/csd/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/csd/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/csd/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/csd/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/csd/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/csd/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/csd/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/csd/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/csd/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/csd/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/csd/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/csd/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/csd/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/csd/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/csd/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/csd/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/csd/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/csd/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/csd/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/csd/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/csd/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/csd/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/csd/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/csd/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/csd/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/csd/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/csd/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/csd/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/csd/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/csd/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/csd/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/csd/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/csd/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/csd/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/csd/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/csd/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/csd/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/csd/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/csd/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/csd/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/csd/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/csd/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/csd/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/csd/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/csd/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/csd/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/csd/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/csd/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/csd/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/csd/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/csd/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/csd/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/csd/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/csd/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/csd/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/csd/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/csd/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/csd/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/csd/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/csd/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/csd/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/csd/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/csd/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/csd/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/csd/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/csd/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/csd/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/csd/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/csd/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/csd/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/csd/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/csd/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/csd/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/csd/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/csd/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/csd/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/csd/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/csd/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/csd/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/csd/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/csd/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/csd/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/csd/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/csd/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/csd/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/csd/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/csd/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/csd/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/csd/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/csd/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/csd/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/csd/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/csd/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/csd/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/csd/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/csd/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/csd/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/csd/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/csd/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/csd/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/csd/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/csd/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/csd/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/csd/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/csd/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/csd/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/csd/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/csd/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/csd/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/csd/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/csd/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/csd/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/csd/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/csd/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/csd/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/csd/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/csd/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/csd/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/csd/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/csd/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/csd/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/csd/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/csd/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/csd/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/csd/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/csd/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/csd/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/csd/linux/g++/ta_regtest/Makefile b/vendor/ta-lib/make/csd/linux/g++/ta_regtest/Makefile new file mode 100644 index 000000000..82e0206fd --- /dev/null +++ b/vendor/ta-lib/make/csd/linux/g++/ta_regtest/Makefile @@ -0,0 +1,211 @@ +############################################################################# +# Makefile for building ../../../../../bin/ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -fPIC -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../src/tools/ta_regtest -I../../../../../src/ta_func -I../../../../../include +LINK = g++ +LFLAGS = +LIBS = $(SUBLIBS) ../../../../../lib/libta_libc_csd.a -ldl +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/ta_regtest/ta_regtest.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c \ + ../../../../../src/tools/ta_regtest/test_internals.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c \ + ../../../../../src/tools/ta_regtest/test_util.c \ + ../../../../../src/tools/ta_regtest/test_data.c \ + ../../../../../src/tools/ta_regtest/test_abstract.c +OBJECTS = ../../../../../temp/csd/ta_regtest.o \ + ../../../../../temp/csd/test_candlestick.o \ + ../../../../../temp/csd/test_1in_1out.o \ + ../../../../../temp/csd/test_1in_2out.o \ + ../../../../../temp/csd/test_internals.o \ + ../../../../../temp/csd/test_adx.o \ + ../../../../../temp/csd/test_bbands.o \ + ../../../../../temp/csd/test_ma.o \ + ../../../../../temp/csd/test_macd.o \ + ../../../../../temp/csd/test_minmax.o \ + ../../../../../temp/csd/test_mom.o \ + ../../../../../temp/csd/test_per_ema.o \ + ../../../../../temp/csd/test_per_hl.o \ + ../../../../../temp/csd/test_per_hlc.o \ + ../../../../../temp/csd/test_per_hlcv.o \ + ../../../../../temp/csd/test_per_ohlc.o \ + ../../../../../temp/csd/test_po.o \ + ../../../../../temp/csd/test_rsi.o \ + ../../../../../temp/csd/test_sar.o \ + ../../../../../temp/csd/test_stddev.o \ + ../../../../../temp/csd/test_stoch.o \ + ../../../../../temp/csd/test_trange.o \ + ../../../../../temp/csd/test_util.o \ + ../../../../../temp/csd/test_data.o \ + ../../../../../temp/csd/test_abstract.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/ta_regtest +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csd/ta_regtest.o: ../../../../../src/tools/ta_regtest/ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/ta_regtest.o ../../../../../src/tools/ta_regtest/ta_regtest.c + +../../../../../temp/csd/test_candlestick.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_candlestick.o ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + +../../../../../temp/csd/test_1in_1out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_1in_1out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + +../../../../../temp/csd/test_1in_2out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_1in_2out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + +../../../../../temp/csd/test_internals.o: ../../../../../src/tools/ta_regtest/test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_internals.o ../../../../../src/tools/ta_regtest/test_internals.c + +../../../../../temp/csd/test_adx.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_adx.o ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + +../../../../../temp/csd/test_bbands.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_bbands.o ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + +../../../../../temp/csd/test_ma.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_ma.o ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + +../../../../../temp/csd/test_macd.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_macd.o ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + +../../../../../temp/csd/test_minmax.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_minmax.o ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + +../../../../../temp/csd/test_mom.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_mom.o ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + +../../../../../temp/csd/test_per_ema.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_per_ema.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + +../../../../../temp/csd/test_per_hl.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_per_hl.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + +../../../../../temp/csd/test_per_hlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_per_hlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + +../../../../../temp/csd/test_per_hlcv.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_per_hlcv.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + +../../../../../temp/csd/test_per_ohlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_per_ohlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + +../../../../../temp/csd/test_po.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_po.o ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + +../../../../../temp/csd/test_rsi.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_rsi.o ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + +../../../../../temp/csd/test_sar.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_sar.o ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + +../../../../../temp/csd/test_stddev.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_stddev.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + +../../../../../temp/csd/test_stoch.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_stoch.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + +../../../../../temp/csd/test_trange.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_trange.o ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + +../../../../../temp/csd/test_util.o: ../../../../../src/tools/ta_regtest/test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_util.o ../../../../../src/tools/ta_regtest/test_util.c + +../../../../../temp/csd/test_data.o: ../../../../../src/tools/ta_regtest/test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_data.o ../../../../../src/tools/ta_regtest/test_data.c + +../../../../../temp/csd/test_abstract.o: ../../../../../src/tools/ta_regtest/test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csd/test_abstract.o ../../../../../src/tools/ta_regtest/test_abstract.c + diff --git a/vendor/ta-lib/make/csd/win32/borland/Makefile b/vendor/ta-lib/make/csd/win32/borland/Makefile new file mode 100644 index 000000000..fa715e18e --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/borland/Makefile @@ -0,0 +1,96 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +ta_common: + cd ta_common + $(MAKE) + @cd .. + +ta_func: + cd ta_func + $(MAKE) + @cd .. + +ta_abstract: + cd ta_abstract + $(MAKE) + @cd .. + +ta_libc: + cd ta_libc + $(MAKE) + @cd .. + +gen_code: + cd gen_code + $(MAKE) + @cd .. + +ta_regtest: + cd ta_regtest + $(MAKE) + @cd .. + + +tmake: ../csd/win32/borland/Makefile + +../csd/win32/borland/Makefile: rootmake.pro + tmake rootmake.pro -o ../csd/win32/borland/Makefile + +tmake_all: + cd ta_common + $(TMAKE) ta_common.pro -o $(MAKEFILE) + @cd .. + cd ta_func + $(TMAKE) ta_func.pro -o $(MAKEFILE) + @cd .. + cd ta_abstract + $(TMAKE) ta_abstract.pro -o $(MAKEFILE) + @cd .. + cd ta_libc + $(TMAKE) ta_libc.pro -o $(MAKEFILE) + @cd .. + cd gen_code + $(TMAKE) gen_code.pro -o $(MAKEFILE) + @cd .. + cd ta_regtest + $(TMAKE) ta_regtest.pro -o $(MAKEFILE) + @cd .. + + +clean: + cd ta_common + $(MAKE) clean + @cd .. + cd ta_func + $(MAKE) clean + @cd .. + cd ta_abstract + $(MAKE) clean + @cd .. + cd ta_libc + $(MAKE) clean + @cd .. + cd gen_code + $(MAKE) clean + @cd .. + cd ta_regtest + $(MAKE) clean + @cd .. + diff --git a/vendor/ta-lib/make/csd/win32/borland/gen_code/Makefile b/vendor/ta-lib/make/csd/win32/borland/gen_code/Makefile new file mode 100644 index 000000000..dc1180161 --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/borland/gen_code/Makefile @@ -0,0 +1,267 @@ +############################################################################# +# Makefile for building gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +####### Compiler, tools and options + +CC = bcc32 +CXX = bcc32 +CFLAGS = -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -v -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 +CXXFLAGS= -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -v -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 +INCPATH = -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" +LINK = ilink32 +LFLAGS = -L$(BCB)\lib -L$(BCB)\lib\PSDK -c -x -Gn -v -ap -Tpe c0x32.obj +LIBS = import32.lib cw32i.lib ..\..\..\..\..\lib\ta_common_csd.lib +MOC = moc +UIC = uic + +ZIP = zip -r -9 +DEF_FILE = +RES_FILE = + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\gen_code\gen_code.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\csd\gen_code\gen_code.obj \ + ..\..\..\..\..\temp\csd\gen_code\ta_abstract.obj \ + ..\..\..\..\..\temp\csd\gen_code\ta_def_ui.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_a.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_b.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_c.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_d.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_e.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_f.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_g.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_h.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_i.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_j.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_k.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_l.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_m.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_n.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_o.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_p.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_q.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_r.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_s.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_t.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_u.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_v.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_w.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_x.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_y.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_z.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\gen_code.exe +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) @&&| + $(LFLAGS) $(OBJECTS) $(OBJMOC),$(TARGET),,$(LIBS),$(DEF_FILE),$(RES_FILE) +| + +moc: $(SRCMOC) + +tmake: ../csd/win32/borland/gen_code/Makefile + +../csd/win32/borland/gen_code/Makefile: gen_code/gen_code.pro + tmake gen_code/gen_code.pro -o ../csd/win32/borland/gen_code/Makefile + +dist: + $(ZIP) gen_code/gen_code.zip gen_code/gen_code.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csd\gen_code\gen_code.obj + -del ..\..\..\..\..\temp\csd\gen_code\ta_abstract.obj + -del ..\..\..\..\..\temp\csd\gen_code\ta_def_ui.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_a.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_b.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_c.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_d.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_e.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_f.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_g.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_h.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_i.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_j.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_k.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_l.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_m.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_n.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_o.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_p.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_q.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_r.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_s.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_t.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_u.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_v.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_w.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_x.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_y.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_z.obj + -del $(TARGET) + -del gen_code.tds + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csd/*.pch + -del ../../../../../temp/csd/*.idb + -del ../../../../../temp/csd/gen_code/*.pch + -del ../../../../../temp/csd/gen_code/*.idb + -del ../../../../../temp/csd/gen_code/*.obj + +####### Compile + +..\..\..\..\..\temp\csd\gen_code\gen_code.obj: ..\..\..\..\..\src\tools\gen_code\gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\gen_code.obj ..\..\..\..\..\src\tools\gen_code\gen_code.c + +..\..\..\..\..\temp\csd\gen_code\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\csd\gen_code\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\csd\gen_code\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\csd\gen_code\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\csd\gen_code\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\csd\gen_code\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\csd\gen_code\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\csd\gen_code\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\csd\gen_code\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\csd\gen_code\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\csd\gen_code\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\csd\gen_code\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\csd\gen_code\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\csd\gen_code\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\csd\gen_code\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\csd\gen_code\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\csd\gen_code\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\csd\gen_code\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\csd\gen_code\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\csd\gen_code\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\csd\gen_code\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\csd\gen_code\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\csd\gen_code\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\csd\gen_code\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\csd\gen_code\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\csd\gen_code\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\csd\gen_code\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\csd\gen_code\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/csd/win32/borland/ta_abstract/Makefile b/vendor/ta-lib/make/csd/win32/borland/ta_abstract/Makefile new file mode 100644 index 000000000..c3e97ac6f --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/borland/ta_abstract/Makefile @@ -0,0 +1,309 @@ +############################################################################# +# Makefile for building ta_abstract_csd +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +####### Compiler, tools and options + +CC = bcc32 +CXX = bcc32 +CFLAGS = -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -v -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 +CXXFLAGS= -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -v -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"..\..\..\..\..\include" +LIB = tlib /C /P256 +MOC = moc +UIC = uic + +ZIP = zip -r -9 +DEF_FILE = +RES_FILE = + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\csd\ta_abstract.obj \ + ..\..\..\..\..\temp\csd\ta_def_ui.obj \ + ..\..\..\..\..\temp\csd\ta_func_api.obj \ + ..\..\..\..\..\temp\csd\ta_group_idx.obj \ + ..\..\..\..\..\temp\csd\ta_frame.obj \ + ..\..\..\..\..\temp\csd\table_a.obj \ + ..\..\..\..\..\temp\csd\table_b.obj \ + ..\..\..\..\..\temp\csd\table_c.obj \ + ..\..\..\..\..\temp\csd\table_d.obj \ + ..\..\..\..\..\temp\csd\table_e.obj \ + ..\..\..\..\..\temp\csd\table_f.obj \ + ..\..\..\..\..\temp\csd\table_g.obj \ + ..\..\..\..\..\temp\csd\table_h.obj \ + ..\..\..\..\..\temp\csd\table_i.obj \ + ..\..\..\..\..\temp\csd\table_j.obj \ + ..\..\..\..\..\temp\csd\table_k.obj \ + ..\..\..\..\..\temp\csd\table_l.obj \ + ..\..\..\..\..\temp\csd\table_m.obj \ + ..\..\..\..\..\temp\csd\table_n.obj \ + ..\..\..\..\..\temp\csd\table_o.obj \ + ..\..\..\..\..\temp\csd\table_p.obj \ + ..\..\..\..\..\temp\csd\table_q.obj \ + ..\..\..\..\..\temp\csd\table_r.obj \ + ..\..\..\..\..\temp\csd\table_s.obj \ + ..\..\..\..\..\temp\csd\table_t.obj \ + ..\..\..\..\..\temp\csd\table_u.obj \ + ..\..\..\..\..\temp\csd\table_v.obj \ + ..\..\..\..\..\temp\csd\table_w.obj \ + ..\..\..\..\..\temp\csd\table_x.obj \ + ..\..\..\..\..\temp\csd\table_y.obj \ + ..\..\..\..\..\temp\csd\table_z.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_abstract_csd.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) @&&| ++..\..\..\..\..\temp\csd\ta_abstract.obj \ ++..\..\..\..\..\temp\csd\ta_def_ui.obj \ ++..\..\..\..\..\temp\csd\ta_func_api.obj \ ++..\..\..\..\..\temp\csd\ta_group_idx.obj \ ++..\..\..\..\..\temp\csd\ta_frame.obj \ ++..\..\..\..\..\temp\csd\table_a.obj \ ++..\..\..\..\..\temp\csd\table_b.obj \ ++..\..\..\..\..\temp\csd\table_c.obj \ ++..\..\..\..\..\temp\csd\table_d.obj \ ++..\..\..\..\..\temp\csd\table_e.obj \ ++..\..\..\..\..\temp\csd\table_f.obj \ ++..\..\..\..\..\temp\csd\table_g.obj \ ++..\..\..\..\..\temp\csd\table_h.obj \ ++..\..\..\..\..\temp\csd\table_i.obj \ ++..\..\..\..\..\temp\csd\table_j.obj \ ++..\..\..\..\..\temp\csd\table_k.obj \ ++..\..\..\..\..\temp\csd\table_l.obj \ ++..\..\..\..\..\temp\csd\table_m.obj \ ++..\..\..\..\..\temp\csd\table_n.obj \ ++..\..\..\..\..\temp\csd\table_o.obj \ ++..\..\..\..\..\temp\csd\table_p.obj \ ++..\..\..\..\..\temp\csd\table_q.obj \ ++..\..\..\..\..\temp\csd\table_r.obj \ ++..\..\..\..\..\temp\csd\table_s.obj \ ++..\..\..\..\..\temp\csd\table_t.obj \ ++..\..\..\..\..\temp\csd\table_u.obj \ ++..\..\..\..\..\temp\csd\table_v.obj \ ++..\..\..\..\..\temp\csd\table_w.obj \ ++..\..\..\..\..\temp\csd\table_x.obj \ ++..\..\..\..\..\temp\csd\table_y.obj \ ++..\..\..\..\..\temp\csd\table_z.obj \ ++ +| + +moc: $(SRCMOC) + +tmake: ../csd/win32/borland/ta_abstract/Makefile + +../csd/win32/borland/ta_abstract/Makefile: ta_abstract/ta_abstract.pro + tmake ta_abstract/ta_abstract.pro -o ../csd/win32/borland/ta_abstract/Makefile + +dist: + $(ZIP) ta_abstract/ta_abstract.zip ta_abstract/ta_abstract.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csd\ta_abstract.obj + -del ..\..\..\..\..\temp\csd\ta_def_ui.obj + -del ..\..\..\..\..\temp\csd\ta_func_api.obj + -del ..\..\..\..\..\temp\csd\ta_group_idx.obj + -del ..\..\..\..\..\temp\csd\ta_frame.obj + -del ..\..\..\..\..\temp\csd\table_a.obj + -del ..\..\..\..\..\temp\csd\table_b.obj + -del ..\..\..\..\..\temp\csd\table_c.obj + -del ..\..\..\..\..\temp\csd\table_d.obj + -del ..\..\..\..\..\temp\csd\table_e.obj + -del ..\..\..\..\..\temp\csd\table_f.obj + -del ..\..\..\..\..\temp\csd\table_g.obj + -del ..\..\..\..\..\temp\csd\table_h.obj + -del ..\..\..\..\..\temp\csd\table_i.obj + -del ..\..\..\..\..\temp\csd\table_j.obj + -del ..\..\..\..\..\temp\csd\table_k.obj + -del ..\..\..\..\..\temp\csd\table_l.obj + -del ..\..\..\..\..\temp\csd\table_m.obj + -del ..\..\..\..\..\temp\csd\table_n.obj + -del ..\..\..\..\..\temp\csd\table_o.obj + -del ..\..\..\..\..\temp\csd\table_p.obj + -del ..\..\..\..\..\temp\csd\table_q.obj + -del ..\..\..\..\..\temp\csd\table_r.obj + -del ..\..\..\..\..\temp\csd\table_s.obj + -del ..\..\..\..\..\temp\csd\table_t.obj + -del ..\..\..\..\..\temp\csd\table_u.obj + -del ..\..\..\..\..\temp\csd\table_v.obj + -del ..\..\..\..\..\temp\csd\table_w.obj + -del ..\..\..\..\..\temp\csd\table_x.obj + -del ..\..\..\..\..\temp\csd\table_y.obj + -del ..\..\..\..\..\temp\csd\table_z.obj + -del $(TARGET) + -del ta_abstract_csd.tds + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csd/*.pch + -del ../../../../../temp/csd/*.idb + -del ../../../../../temp/csd/ta_abstract/*.pch + -del ../../../../../temp/csd/ta_abstract/*.idb + -del ../../../../../temp/csd/ta_abstract/*.obj + +####### Compile + +..\..\..\..\..\temp\csd\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\csd\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\csd\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\csd\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\csd\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\csd\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\csd\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\csd\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\csd\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\csd\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\csd\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\csd\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\csd\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\csd\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\csd\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\csd\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\csd\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\csd\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\csd\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\csd\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\csd\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\csd\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\csd\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\csd\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\csd\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\csd\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\csd\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\csd\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\csd\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\csd\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\csd\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/csd/win32/borland/ta_common/Makefile b/vendor/ta-lib/make/csd/win32/borland/ta_common/Makefile new file mode 100644 index 000000000..e47f49804 --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/borland/ta_common/Makefile @@ -0,0 +1,113 @@ +############################################################################# +# Makefile for building ta_common_csd +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +####### Compiler, tools and options + +CC = bcc32 +CXX = bcc32 +CFLAGS = -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -v -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 +CXXFLAGS= -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -v -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" +LIB = tlib /C /P256 +MOC = moc +UIC = uic + +ZIP = zip -r -9 +DEF_FILE = +RES_FILE = + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c +OBJECTS = ..\..\..\..\..\temp\csd\ta_global.obj \ + ..\..\..\..\..\temp\csd\ta_retcode.obj \ + ..\..\..\..\..\temp\csd\ta_version.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_common_csd.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) @&&| ++..\..\..\..\..\temp\csd\ta_global.obj \ ++..\..\..\..\..\temp\csd\ta_retcode.obj \ ++..\..\..\..\..\temp\csd\ta_version.obj \ ++ +| + +moc: $(SRCMOC) + +tmake: ../csd/win32/borland/ta_common/Makefile + +../csd/win32/borland/ta_common/Makefile: ta_common/ta_common.pro + tmake ta_common/ta_common.pro -o ../csd/win32/borland/ta_common/Makefile + +dist: + $(ZIP) ta_common/ta_common.zip ta_common/ta_common.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csd\ta_global.obj + -del ..\..\..\..\..\temp\csd\ta_retcode.obj + -del ..\..\..\..\..\temp\csd\ta_version.obj + -del $(TARGET) + -del ta_common_csd.tds + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csd/*.pch + -del ../../../../../temp/csd/*.idb + -del ../../../../../temp/csd/ta_common_csd/*.pch + -del ../../../../../temp/csd/ta_common_csd/*.idb + -del ../../../../../temp/csd/ta_common_csd/*.obj + +####### Compile + +..\..\..\..\..\temp\csd\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\csd\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\csd\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + diff --git a/vendor/ta-lib/make/csd/win32/borland/ta_func/Makefile b/vendor/ta-lib/make/csd/win32/borland/ta_func/Makefile new file mode 100644 index 000000000..291bbefe9 --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/borland/ta_func/Makefile @@ -0,0 +1,1205 @@ +############################################################################# +# Makefile for building ta_func_csd +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +####### Compiler, tools and options + +CC = bcc32 +CXX = bcc32 +CFLAGS = -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -v -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 +CXXFLAGS= -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -v -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"\n" -I"..\..\..\..\..\include" +LIB = tlib /C /P256 +MOC = moc +UIC = uic + +ZIP = zip -r -9 +DEF_FILE = +RES_FILE = + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\csd\ta_utility.obj \ + ..\..\..\..\..\temp\csd\ta_ACOS.obj \ + ..\..\..\..\..\temp\csd\ta_AD.obj \ + ..\..\..\..\..\temp\csd\ta_ADD.obj \ + ..\..\..\..\..\temp\csd\ta_ADOSC.obj \ + ..\..\..\..\..\temp\csd\ta_ADX.obj \ + ..\..\..\..\..\temp\csd\ta_ADXR.obj \ + ..\..\..\..\..\temp\csd\ta_APO.obj \ + ..\..\..\..\..\temp\csd\ta_AROON.obj \ + ..\..\..\..\..\temp\csd\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\csd\ta_ASIN.obj \ + ..\..\..\..\..\temp\csd\ta_ATAN.obj \ + ..\..\..\..\..\temp\csd\ta_ATR.obj \ + ..\..\..\..\..\temp\csd\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_BBANDS.obj \ + ..\..\..\..\..\temp\csd\ta_BETA.obj \ + ..\..\..\..\..\temp\csd\ta_BOP.obj \ + ..\..\..\..\..\temp\csd\ta_CCI.obj \ + ..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\csd\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\csd\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\csd\ta_CEIL.obj \ + ..\..\..\..\..\temp\csd\ta_CMO.obj \ + ..\..\..\..\..\temp\csd\ta_CORREL.obj \ + ..\..\..\..\..\temp\csd\ta_COS.obj \ + ..\..\..\..\..\temp\csd\ta_COSH.obj \ + ..\..\..\..\..\temp\csd\ta_DEMA.obj \ + ..\..\..\..\..\temp\csd\ta_DIV.obj \ + ..\..\..\..\..\temp\csd\ta_DX.obj \ + ..\..\..\..\..\temp\csd\ta_EMA.obj \ + ..\..\..\..\..\temp\csd\ta_EXP.obj \ + ..\..\..\..\..\temp\csd\ta_FLOOR.obj \ + ..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\csd\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\csd\ta_KAMA.obj \ + ..\..\..\..\..\temp\csd\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\csd\ta_LN.obj \ + ..\..\..\..\..\temp\csd\ta_LOG10.obj \ + ..\..\..\..\..\temp\csd\ta_MA.obj \ + ..\..\..\..\..\temp\csd\ta_MACD.obj \ + ..\..\..\..\..\temp\csd\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\csd\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\csd\ta_MAMA.obj \ + ..\..\..\..\..\temp\csd\ta_MAVP.obj \ + ..\..\..\..\..\temp\csd\ta_MAX.obj \ + ..\..\..\..\..\temp\csd\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\csd\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_MFI.obj \ + ..\..\..\..\..\temp\csd\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\csd\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_MIN.obj \ + ..\..\..\..\..\temp\csd\ta_MININDEX.obj \ + ..\..\..\..\..\temp\csd\ta_MINMAX.obj \ + ..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\csd\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\csd\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\csd\ta_MOM.obj \ + ..\..\..\..\..\temp\csd\ta_MULT.obj \ + ..\..\..\..\..\temp\csd\ta_NATR.obj \ + ..\..\..\..\..\temp\csd\ta_OBV.obj \ + ..\..\..\..\..\temp\csd\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\csd\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\csd\ta_PPO.obj \ + ..\..\..\..\..\temp\csd\ta_ROC.obj \ + ..\..\..\..\..\temp\csd\ta_ROCP.obj \ + ..\..\..\..\..\temp\csd\ta_ROCR.obj \ + ..\..\..\..\..\temp\csd\ta_ROCR100.obj \ + ..\..\..\..\..\temp\csd\ta_RSI.obj \ + ..\..\..\..\..\temp\csd\ta_SAR.obj \ + ..\..\..\..\..\temp\csd\ta_SAREXT.obj \ + ..\..\..\..\..\temp\csd\ta_SIN.obj \ + ..\..\..\..\..\temp\csd\ta_SINH.obj \ + ..\..\..\..\..\temp\csd\ta_SMA.obj \ + ..\..\..\..\..\temp\csd\ta_SQRT.obj \ + ..\..\..\..\..\temp\csd\ta_STDDEV.obj \ + ..\..\..\..\..\temp\csd\ta_STOCH.obj \ + ..\..\..\..\..\temp\csd\ta_STOCHF.obj \ + ..\..\..\..\..\temp\csd\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\csd\ta_SUB.obj \ + ..\..\..\..\..\temp\csd\ta_SUM.obj \ + ..\..\..\..\..\temp\csd\ta_T3.obj \ + ..\..\..\..\..\temp\csd\ta_TAN.obj \ + ..\..\..\..\..\temp\csd\ta_TANH.obj \ + ..\..\..\..\..\temp\csd\ta_TEMA.obj \ + ..\..\..\..\..\temp\csd\ta_TRANGE.obj \ + ..\..\..\..\..\temp\csd\ta_TRIMA.obj \ + ..\..\..\..\..\temp\csd\ta_TRIX.obj \ + ..\..\..\..\..\temp\csd\ta_TSF.obj \ + ..\..\..\..\..\temp\csd\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\csd\ta_VAR.obj \ + ..\..\..\..\..\temp\csd\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_WILLR.obj \ + ..\..\..\..\..\temp\csd\ta_WMA.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_func_csd.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) @&&| ++..\..\..\..\..\temp\csd\ta_utility.obj \ ++..\..\..\..\..\temp\csd\ta_ACOS.obj \ ++..\..\..\..\..\temp\csd\ta_AD.obj \ ++..\..\..\..\..\temp\csd\ta_ADD.obj \ ++..\..\..\..\..\temp\csd\ta_ADOSC.obj \ ++..\..\..\..\..\temp\csd\ta_ADX.obj \ ++..\..\..\..\..\temp\csd\ta_ADXR.obj \ ++..\..\..\..\..\temp\csd\ta_APO.obj \ ++..\..\..\..\..\temp\csd\ta_AROON.obj \ ++..\..\..\..\..\temp\csd\ta_AROONOSC.obj \ ++..\..\..\..\..\temp\csd\ta_ASIN.obj \ ++..\..\..\..\..\temp\csd\ta_ATAN.obj \ ++..\..\..\..\..\temp\csd\ta_ATR.obj \ ++..\..\..\..\..\temp\csd\ta_AVGPRICE.obj \ ++..\..\..\..\..\temp\csd\ta_BBANDS.obj \ ++..\..\..\..\..\temp\csd\ta_BETA.obj \ ++..\..\..\..\..\temp\csd\ta_BOP.obj \ ++..\..\..\..\..\temp\csd\ta_CCI.obj \ ++..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj \ ++..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj \ ++..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj \ ++..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj \ ++..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj \ ++..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj \ ++..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj \ ++..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj \ ++..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj \ ++..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj \ ++..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj \ ++..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj \ ++..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj \ ++..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj \ ++..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj \ ++..\..\..\..\..\temp\csd\ta_CDLDOJI.obj \ ++..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj \ ++..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj \ ++..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj \ ++..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj \ ++..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj \ ++..\..\..\..\..\temp\csd\ta_CDLINNECK.obj \ ++..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj \ ++..\..\..\..\..\temp\csd\ta_CDLKICKING.obj \ ++..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj \ ++..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj \ ++..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj \ ++..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj \ ++..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj \ ++..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj \ ++..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj \ ++..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLONNECK.obj \ ++..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj \ ++..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj \ ++..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj \ ++..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj \ ++..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj \ ++..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj \ ++..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj \ ++..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj \ ++..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj \ ++..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj \ ++..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj \ ++..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj \ ++..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj \ ++..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj \ ++..\..\..\..\..\temp\csd\ta_CEIL.obj \ ++..\..\..\..\..\temp\csd\ta_CMO.obj \ ++..\..\..\..\..\temp\csd\ta_CORREL.obj \ ++..\..\..\..\..\temp\csd\ta_COS.obj \ ++..\..\..\..\..\temp\csd\ta_COSH.obj \ ++..\..\..\..\..\temp\csd\ta_DEMA.obj \ ++..\..\..\..\..\temp\csd\ta_DIV.obj \ ++..\..\..\..\..\temp\csd\ta_DX.obj \ ++..\..\..\..\..\temp\csd\ta_EMA.obj \ ++..\..\..\..\..\temp\csd\ta_EXP.obj \ ++..\..\..\..\..\temp\csd\ta_FLOOR.obj \ ++..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj \ ++..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj \ ++..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj \ ++..\..\..\..\..\temp\csd\ta_HT_SINE.obj \ ++..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj \ ++..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj \ ++..\..\..\..\..\temp\csd\ta_KAMA.obj \ ++..\..\..\..\..\temp\csd\ta_LINEARREG.obj \ ++..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj \ ++..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj \ ++..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj \ ++..\..\..\..\..\temp\csd\ta_LN.obj \ ++..\..\..\..\..\temp\csd\ta_LOG10.obj \ ++..\..\..\..\..\temp\csd\ta_MA.obj \ ++..\..\..\..\..\temp\csd\ta_MACD.obj \ ++..\..\..\..\..\temp\csd\ta_MACDEXT.obj \ ++..\..\..\..\..\temp\csd\ta_MACDFIX.obj \ ++..\..\..\..\..\temp\csd\ta_MAMA.obj \ ++..\..\..\..\..\temp\csd\ta_MAVP.obj \ ++..\..\..\..\..\temp\csd\ta_MAX.obj \ ++..\..\..\..\..\temp\csd\ta_MAXINDEX.obj \ ++..\..\..\..\..\temp\csd\ta_MEDPRICE.obj \ ++..\..\..\..\..\temp\csd\ta_MFI.obj \ ++..\..\..\..\..\temp\csd\ta_MIDPOINT.obj \ ++..\..\..\..\..\temp\csd\ta_MIDPRICE.obj \ ++..\..\..\..\..\temp\csd\ta_MIN.obj \ ++..\..\..\..\..\temp\csd\ta_MININDEX.obj \ ++..\..\..\..\..\temp\csd\ta_MINMAX.obj \ ++..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj \ ++..\..\..\..\..\temp\csd\ta_MINUS_DI.obj \ ++..\..\..\..\..\temp\csd\ta_MINUS_DM.obj \ ++..\..\..\..\..\temp\csd\ta_MOM.obj \ ++..\..\..\..\..\temp\csd\ta_MULT.obj \ ++..\..\..\..\..\temp\csd\ta_NATR.obj \ ++..\..\..\..\..\temp\csd\ta_OBV.obj \ ++..\..\..\..\..\temp\csd\ta_PLUS_DI.obj \ ++..\..\..\..\..\temp\csd\ta_PLUS_DM.obj \ ++..\..\..\..\..\temp\csd\ta_PPO.obj \ ++..\..\..\..\..\temp\csd\ta_ROC.obj \ ++..\..\..\..\..\temp\csd\ta_ROCP.obj \ ++..\..\..\..\..\temp\csd\ta_ROCR.obj \ ++..\..\..\..\..\temp\csd\ta_ROCR100.obj \ ++..\..\..\..\..\temp\csd\ta_RSI.obj \ ++..\..\..\..\..\temp\csd\ta_SAR.obj \ ++..\..\..\..\..\temp\csd\ta_SAREXT.obj \ ++..\..\..\..\..\temp\csd\ta_SIN.obj \ ++..\..\..\..\..\temp\csd\ta_SINH.obj \ ++..\..\..\..\..\temp\csd\ta_SMA.obj \ ++..\..\..\..\..\temp\csd\ta_SQRT.obj \ ++..\..\..\..\..\temp\csd\ta_STDDEV.obj \ ++..\..\..\..\..\temp\csd\ta_STOCH.obj \ ++..\..\..\..\..\temp\csd\ta_STOCHF.obj \ ++..\..\..\..\..\temp\csd\ta_STOCHRSI.obj \ ++..\..\..\..\..\temp\csd\ta_SUB.obj \ ++..\..\..\..\..\temp\csd\ta_SUM.obj \ ++..\..\..\..\..\temp\csd\ta_T3.obj \ ++..\..\..\..\..\temp\csd\ta_TAN.obj \ ++..\..\..\..\..\temp\csd\ta_TANH.obj \ ++..\..\..\..\..\temp\csd\ta_TEMA.obj \ ++..\..\..\..\..\temp\csd\ta_TRANGE.obj \ ++..\..\..\..\..\temp\csd\ta_TRIMA.obj \ ++..\..\..\..\..\temp\csd\ta_TRIX.obj \ ++..\..\..\..\..\temp\csd\ta_TSF.obj \ ++..\..\..\..\..\temp\csd\ta_TYPPRICE.obj \ ++..\..\..\..\..\temp\csd\ta_ULTOSC.obj \ ++..\..\..\..\..\temp\csd\ta_VAR.obj \ ++..\..\..\..\..\temp\csd\ta_WCLPRICE.obj \ ++..\..\..\..\..\temp\csd\ta_WILLR.obj \ ++..\..\..\..\..\temp\csd\ta_WMA.obj \ ++ +| + +moc: $(SRCMOC) + +tmake: ../csd/win32/borland/ta_func/Makefile + +../csd/win32/borland/ta_func/Makefile: ta_func/ta_func.pro + tmake ta_func/ta_func.pro -o ../csd/win32/borland/ta_func/Makefile + +dist: + $(ZIP) ta_func/ta_func.zip ta_func/ta_func.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csd\ta_utility.obj + -del ..\..\..\..\..\temp\csd\ta_ACOS.obj + -del ..\..\..\..\..\temp\csd\ta_AD.obj + -del ..\..\..\..\..\temp\csd\ta_ADD.obj + -del ..\..\..\..\..\temp\csd\ta_ADOSC.obj + -del ..\..\..\..\..\temp\csd\ta_ADX.obj + -del ..\..\..\..\..\temp\csd\ta_ADXR.obj + -del ..\..\..\..\..\temp\csd\ta_APO.obj + -del ..\..\..\..\..\temp\csd\ta_AROON.obj + -del ..\..\..\..\..\temp\csd\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\csd\ta_ASIN.obj + -del ..\..\..\..\..\temp\csd\ta_ATAN.obj + -del ..\..\..\..\..\temp\csd\ta_ATR.obj + -del ..\..\..\..\..\temp\csd\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_BBANDS.obj + -del ..\..\..\..\..\temp\csd\ta_BETA.obj + -del ..\..\..\..\..\temp\csd\ta_BOP.obj + -del ..\..\..\..\..\temp\csd\ta_CCI.obj + -del ..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\csd\ta_CEIL.obj + -del ..\..\..\..\..\temp\csd\ta_CMO.obj + -del ..\..\..\..\..\temp\csd\ta_CORREL.obj + -del ..\..\..\..\..\temp\csd\ta_COS.obj + -del ..\..\..\..\..\temp\csd\ta_COSH.obj + -del ..\..\..\..\..\temp\csd\ta_DEMA.obj + -del ..\..\..\..\..\temp\csd\ta_DIV.obj + -del ..\..\..\..\..\temp\csd\ta_DX.obj + -del ..\..\..\..\..\temp\csd\ta_EMA.obj + -del ..\..\..\..\..\temp\csd\ta_EXP.obj + -del ..\..\..\..\..\temp\csd\ta_FLOOR.obj + -del ..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\csd\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\csd\ta_KAMA.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\csd\ta_LN.obj + -del ..\..\..\..\..\temp\csd\ta_LOG10.obj + -del ..\..\..\..\..\temp\csd\ta_MA.obj + -del ..\..\..\..\..\temp\csd\ta_MACD.obj + -del ..\..\..\..\..\temp\csd\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\csd\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\csd\ta_MAMA.obj + -del ..\..\..\..\..\temp\csd\ta_MAVP.obj + -del ..\..\..\..\..\temp\csd\ta_MAX.obj + -del ..\..\..\..\..\temp\csd\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\csd\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_MFI.obj + -del ..\..\..\..\..\temp\csd\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\csd\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_MIN.obj + -del ..\..\..\..\..\temp\csd\ta_MININDEX.obj + -del ..\..\..\..\..\temp\csd\ta_MINMAX.obj + -del ..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\csd\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\csd\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\csd\ta_MOM.obj + -del ..\..\..\..\..\temp\csd\ta_MULT.obj + -del ..\..\..\..\..\temp\csd\ta_NATR.obj + -del ..\..\..\..\..\temp\csd\ta_OBV.obj + -del ..\..\..\..\..\temp\csd\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\csd\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\csd\ta_PPO.obj + -del ..\..\..\..\..\temp\csd\ta_ROC.obj + -del ..\..\..\..\..\temp\csd\ta_ROCP.obj + -del ..\..\..\..\..\temp\csd\ta_ROCR.obj + -del ..\..\..\..\..\temp\csd\ta_ROCR100.obj + -del ..\..\..\..\..\temp\csd\ta_RSI.obj + -del ..\..\..\..\..\temp\csd\ta_SAR.obj + -del ..\..\..\..\..\temp\csd\ta_SAREXT.obj + -del ..\..\..\..\..\temp\csd\ta_SIN.obj + -del ..\..\..\..\..\temp\csd\ta_SINH.obj + -del ..\..\..\..\..\temp\csd\ta_SMA.obj + -del ..\..\..\..\..\temp\csd\ta_SQRT.obj + -del ..\..\..\..\..\temp\csd\ta_STDDEV.obj + -del ..\..\..\..\..\temp\csd\ta_STOCH.obj + -del ..\..\..\..\..\temp\csd\ta_STOCHF.obj + -del ..\..\..\..\..\temp\csd\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\csd\ta_SUB.obj + -del ..\..\..\..\..\temp\csd\ta_SUM.obj + -del ..\..\..\..\..\temp\csd\ta_T3.obj + -del ..\..\..\..\..\temp\csd\ta_TAN.obj + -del ..\..\..\..\..\temp\csd\ta_TANH.obj + -del ..\..\..\..\..\temp\csd\ta_TEMA.obj + -del ..\..\..\..\..\temp\csd\ta_TRANGE.obj + -del ..\..\..\..\..\temp\csd\ta_TRIMA.obj + -del ..\..\..\..\..\temp\csd\ta_TRIX.obj + -del ..\..\..\..\..\temp\csd\ta_TSF.obj + -del ..\..\..\..\..\temp\csd\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\csd\ta_VAR.obj + -del ..\..\..\..\..\temp\csd\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_WILLR.obj + -del ..\..\..\..\..\temp\csd\ta_WMA.obj + -del $(TARGET) + -del ta_func_csd.tds + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csd/*.pch + -del ../../../../../temp/csd/*.idb + -del ../../../../../temp/csd/ta_func/*.pch + -del ../../../../../temp/csd/ta_func/*.idb + -del ../../../../../temp/csd/ta_func/*.obj + +####### Compile + +..\..\..\..\..\temp\csd\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\csd\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\csd\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\csd\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\csd\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\csd\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\csd\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\csd\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\csd\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\csd\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\csd\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\csd\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\csd\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\csd\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\csd\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\csd\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\csd\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\csd\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\csd\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\csd\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\csd\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\csd\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\csd\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\csd\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\csd\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\csd\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\csd\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\csd\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\csd\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\csd\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\csd\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\csd\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\csd\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\csd\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\csd\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\csd\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\csd\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\csd\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\csd\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\csd\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\csd\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\csd\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\csd\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\csd\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\csd\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\csd\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\csd\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\csd\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\csd\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\csd\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\csd\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\csd\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\csd\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\csd\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\csd\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\csd\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\csd\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\csd\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\csd\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\csd\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\csd\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\csd\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\csd\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\csd\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\csd\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\csd\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\csd\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\csd\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\csd\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\csd\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\csd\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\csd\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\csd\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\csd\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\csd\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\csd\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\csd\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\csd\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\csd\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\csd\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\csd\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\csd\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\csd\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\csd\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\csd\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\csd\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\csd\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\csd\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\csd\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\csd\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\csd\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\csd\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\csd\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/csd/win32/borland/ta_libc/Makefile b/vendor/ta-lib/make/csd/win32/borland/ta_libc/Makefile new file mode 100644 index 000000000..8c9206ba7 --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/borland/ta_libc/Makefile @@ -0,0 +1,1438 @@ +############################################################################# +# Makefile for building ta_libc_csd +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +####### Compiler, tools and options + +CC = bcc32 +CXX = bcc32 +CFLAGS = -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -v -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 +CXXFLAGS= -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -v -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"$(QTDIR)\include" +LIB = tlib /C /P256 +MOC = moc +UIC = uic + +ZIP = zip -r -9 +DEF_FILE = +RES_FILE = + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c \ + ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\csd\ta_global.obj \ + ..\..\..\..\..\temp\csd\ta_retcode.obj \ + ..\..\..\..\..\temp\csd\ta_version.obj \ + ..\..\..\..\..\temp\csd\ta_abstract.obj \ + ..\..\..\..\..\temp\csd\ta_def_ui.obj \ + ..\..\..\..\..\temp\csd\ta_func_api.obj \ + ..\..\..\..\..\temp\csd\ta_group_idx.obj \ + ..\..\..\..\..\temp\csd\ta_frame.obj \ + ..\..\..\..\..\temp\csd\table_a.obj \ + ..\..\..\..\..\temp\csd\table_b.obj \ + ..\..\..\..\..\temp\csd\table_c.obj \ + ..\..\..\..\..\temp\csd\table_d.obj \ + ..\..\..\..\..\temp\csd\table_e.obj \ + ..\..\..\..\..\temp\csd\table_f.obj \ + ..\..\..\..\..\temp\csd\table_g.obj \ + ..\..\..\..\..\temp\csd\table_h.obj \ + ..\..\..\..\..\temp\csd\table_i.obj \ + ..\..\..\..\..\temp\csd\table_j.obj \ + ..\..\..\..\..\temp\csd\table_k.obj \ + ..\..\..\..\..\temp\csd\table_l.obj \ + ..\..\..\..\..\temp\csd\table_m.obj \ + ..\..\..\..\..\temp\csd\table_n.obj \ + ..\..\..\..\..\temp\csd\table_o.obj \ + ..\..\..\..\..\temp\csd\table_p.obj \ + ..\..\..\..\..\temp\csd\table_q.obj \ + ..\..\..\..\..\temp\csd\table_r.obj \ + ..\..\..\..\..\temp\csd\table_s.obj \ + ..\..\..\..\..\temp\csd\table_t.obj \ + ..\..\..\..\..\temp\csd\table_u.obj \ + ..\..\..\..\..\temp\csd\table_v.obj \ + ..\..\..\..\..\temp\csd\table_w.obj \ + ..\..\..\..\..\temp\csd\table_x.obj \ + ..\..\..\..\..\temp\csd\table_y.obj \ + ..\..\..\..\..\temp\csd\table_z.obj \ + ..\..\..\..\..\temp\csd\ta_utility.obj \ + ..\..\..\..\..\temp\csd\ta_ACOS.obj \ + ..\..\..\..\..\temp\csd\ta_AD.obj \ + ..\..\..\..\..\temp\csd\ta_ADD.obj \ + ..\..\..\..\..\temp\csd\ta_ADOSC.obj \ + ..\..\..\..\..\temp\csd\ta_ADX.obj \ + ..\..\..\..\..\temp\csd\ta_ADXR.obj \ + ..\..\..\..\..\temp\csd\ta_APO.obj \ + ..\..\..\..\..\temp\csd\ta_AROON.obj \ + ..\..\..\..\..\temp\csd\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\csd\ta_ASIN.obj \ + ..\..\..\..\..\temp\csd\ta_ATAN.obj \ + ..\..\..\..\..\temp\csd\ta_ATR.obj \ + ..\..\..\..\..\temp\csd\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_BBANDS.obj \ + ..\..\..\..\..\temp\csd\ta_BETA.obj \ + ..\..\..\..\..\temp\csd\ta_BOP.obj \ + ..\..\..\..\..\temp\csd\ta_CCI.obj \ + ..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\csd\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\csd\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\csd\ta_CEIL.obj \ + ..\..\..\..\..\temp\csd\ta_CMO.obj \ + ..\..\..\..\..\temp\csd\ta_CORREL.obj \ + ..\..\..\..\..\temp\csd\ta_COS.obj \ + ..\..\..\..\..\temp\csd\ta_COSH.obj \ + ..\..\..\..\..\temp\csd\ta_DEMA.obj \ + ..\..\..\..\..\temp\csd\ta_DIV.obj \ + ..\..\..\..\..\temp\csd\ta_DX.obj \ + ..\..\..\..\..\temp\csd\ta_EMA.obj \ + ..\..\..\..\..\temp\csd\ta_EXP.obj \ + ..\..\..\..\..\temp\csd\ta_FLOOR.obj \ + ..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\csd\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\csd\ta_KAMA.obj \ + ..\..\..\..\..\temp\csd\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\csd\ta_LN.obj \ + ..\..\..\..\..\temp\csd\ta_LOG10.obj \ + ..\..\..\..\..\temp\csd\ta_MA.obj \ + ..\..\..\..\..\temp\csd\ta_MACD.obj \ + ..\..\..\..\..\temp\csd\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\csd\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\csd\ta_MAMA.obj \ + ..\..\..\..\..\temp\csd\ta_MAVP.obj \ + ..\..\..\..\..\temp\csd\ta_MAX.obj \ + ..\..\..\..\..\temp\csd\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\csd\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_MFI.obj \ + ..\..\..\..\..\temp\csd\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\csd\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_MIN.obj \ + ..\..\..\..\..\temp\csd\ta_MININDEX.obj \ + ..\..\..\..\..\temp\csd\ta_MINMAX.obj \ + ..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\csd\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\csd\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\csd\ta_MOM.obj \ + ..\..\..\..\..\temp\csd\ta_MULT.obj \ + ..\..\..\..\..\temp\csd\ta_NATR.obj \ + ..\..\..\..\..\temp\csd\ta_OBV.obj \ + ..\..\..\..\..\temp\csd\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\csd\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\csd\ta_PPO.obj \ + ..\..\..\..\..\temp\csd\ta_ROC.obj \ + ..\..\..\..\..\temp\csd\ta_ROCP.obj \ + ..\..\..\..\..\temp\csd\ta_ROCR.obj \ + ..\..\..\..\..\temp\csd\ta_ROCR100.obj \ + ..\..\..\..\..\temp\csd\ta_RSI.obj \ + ..\..\..\..\..\temp\csd\ta_SAR.obj \ + ..\..\..\..\..\temp\csd\ta_SAREXT.obj \ + ..\..\..\..\..\temp\csd\ta_SIN.obj \ + ..\..\..\..\..\temp\csd\ta_SINH.obj \ + ..\..\..\..\..\temp\csd\ta_SMA.obj \ + ..\..\..\..\..\temp\csd\ta_SQRT.obj \ + ..\..\..\..\..\temp\csd\ta_STDDEV.obj \ + ..\..\..\..\..\temp\csd\ta_STOCH.obj \ + ..\..\..\..\..\temp\csd\ta_STOCHF.obj \ + ..\..\..\..\..\temp\csd\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\csd\ta_SUB.obj \ + ..\..\..\..\..\temp\csd\ta_SUM.obj \ + ..\..\..\..\..\temp\csd\ta_T3.obj \ + ..\..\..\..\..\temp\csd\ta_TAN.obj \ + ..\..\..\..\..\temp\csd\ta_TANH.obj \ + ..\..\..\..\..\temp\csd\ta_TEMA.obj \ + ..\..\..\..\..\temp\csd\ta_TRANGE.obj \ + ..\..\..\..\..\temp\csd\ta_TRIMA.obj \ + ..\..\..\..\..\temp\csd\ta_TRIX.obj \ + ..\..\..\..\..\temp\csd\ta_TSF.obj \ + ..\..\..\..\..\temp\csd\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\csd\ta_VAR.obj \ + ..\..\..\..\..\temp\csd\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_WILLR.obj \ + ..\..\..\..\..\temp\csd\ta_WMA.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_libc_csd.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) @&&| ++..\..\..\..\..\temp\csd\ta_global.obj \ ++..\..\..\..\..\temp\csd\ta_retcode.obj \ ++..\..\..\..\..\temp\csd\ta_version.obj \ ++..\..\..\..\..\temp\csd\ta_abstract.obj \ ++..\..\..\..\..\temp\csd\ta_def_ui.obj \ ++..\..\..\..\..\temp\csd\ta_func_api.obj \ ++..\..\..\..\..\temp\csd\ta_group_idx.obj \ ++..\..\..\..\..\temp\csd\ta_frame.obj \ ++..\..\..\..\..\temp\csd\table_a.obj \ ++..\..\..\..\..\temp\csd\table_b.obj \ ++..\..\..\..\..\temp\csd\table_c.obj \ ++..\..\..\..\..\temp\csd\table_d.obj \ ++..\..\..\..\..\temp\csd\table_e.obj \ ++..\..\..\..\..\temp\csd\table_f.obj \ ++..\..\..\..\..\temp\csd\table_g.obj \ ++..\..\..\..\..\temp\csd\table_h.obj \ ++..\..\..\..\..\temp\csd\table_i.obj \ ++..\..\..\..\..\temp\csd\table_j.obj \ ++..\..\..\..\..\temp\csd\table_k.obj \ ++..\..\..\..\..\temp\csd\table_l.obj \ ++..\..\..\..\..\temp\csd\table_m.obj \ ++..\..\..\..\..\temp\csd\table_n.obj \ ++..\..\..\..\..\temp\csd\table_o.obj \ ++..\..\..\..\..\temp\csd\table_p.obj \ ++..\..\..\..\..\temp\csd\table_q.obj \ ++..\..\..\..\..\temp\csd\table_r.obj \ ++..\..\..\..\..\temp\csd\table_s.obj \ ++..\..\..\..\..\temp\csd\table_t.obj \ ++..\..\..\..\..\temp\csd\table_u.obj \ ++..\..\..\..\..\temp\csd\table_v.obj \ ++..\..\..\..\..\temp\csd\table_w.obj \ ++..\..\..\..\..\temp\csd\table_x.obj \ ++..\..\..\..\..\temp\csd\table_y.obj \ ++..\..\..\..\..\temp\csd\table_z.obj \ ++..\..\..\..\..\temp\csd\ta_utility.obj \ ++..\..\..\..\..\temp\csd\ta_ACOS.obj \ ++..\..\..\..\..\temp\csd\ta_AD.obj \ ++..\..\..\..\..\temp\csd\ta_ADD.obj \ ++..\..\..\..\..\temp\csd\ta_ADOSC.obj \ ++..\..\..\..\..\temp\csd\ta_ADX.obj \ ++..\..\..\..\..\temp\csd\ta_ADXR.obj \ ++..\..\..\..\..\temp\csd\ta_APO.obj \ ++..\..\..\..\..\temp\csd\ta_AROON.obj \ ++..\..\..\..\..\temp\csd\ta_AROONOSC.obj \ ++..\..\..\..\..\temp\csd\ta_ASIN.obj \ ++..\..\..\..\..\temp\csd\ta_ATAN.obj \ ++..\..\..\..\..\temp\csd\ta_ATR.obj \ ++..\..\..\..\..\temp\csd\ta_AVGPRICE.obj \ ++..\..\..\..\..\temp\csd\ta_BBANDS.obj \ ++..\..\..\..\..\temp\csd\ta_BETA.obj \ ++..\..\..\..\..\temp\csd\ta_BOP.obj \ ++..\..\..\..\..\temp\csd\ta_CCI.obj \ ++..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj \ ++..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj \ ++..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj \ ++..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj \ ++..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj \ ++..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj \ ++..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj \ ++..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj \ ++..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj \ ++..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj \ ++..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj \ ++..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj \ ++..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj \ ++..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj \ ++..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj \ ++..\..\..\..\..\temp\csd\ta_CDLDOJI.obj \ ++..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj \ ++..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj \ ++..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj \ ++..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj \ ++..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj \ ++..\..\..\..\..\temp\csd\ta_CDLINNECK.obj \ ++..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj \ ++..\..\..\..\..\temp\csd\ta_CDLKICKING.obj \ ++..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj \ ++..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj \ ++..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj \ ++..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj \ ++..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj \ ++..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj \ ++..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj \ ++..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLONNECK.obj \ ++..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj \ ++..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj \ ++..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj \ ++..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj \ ++..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj \ ++..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj \ ++..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj \ ++..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj \ ++..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj \ ++..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj \ ++..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj \ ++..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj \ ++..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj \ ++..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj \ ++..\..\..\..\..\temp\csd\ta_CEIL.obj \ ++..\..\..\..\..\temp\csd\ta_CMO.obj \ ++..\..\..\..\..\temp\csd\ta_CORREL.obj \ ++..\..\..\..\..\temp\csd\ta_COS.obj \ ++..\..\..\..\..\temp\csd\ta_COSH.obj \ ++..\..\..\..\..\temp\csd\ta_DEMA.obj \ ++..\..\..\..\..\temp\csd\ta_DIV.obj \ ++..\..\..\..\..\temp\csd\ta_DX.obj \ ++..\..\..\..\..\temp\csd\ta_EMA.obj \ ++..\..\..\..\..\temp\csd\ta_EXP.obj \ ++..\..\..\..\..\temp\csd\ta_FLOOR.obj \ ++..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj \ ++..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj \ ++..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj \ ++..\..\..\..\..\temp\csd\ta_HT_SINE.obj \ ++..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj \ ++..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj \ ++..\..\..\..\..\temp\csd\ta_KAMA.obj \ ++..\..\..\..\..\temp\csd\ta_LINEARREG.obj \ ++..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj \ ++..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj \ ++..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj \ ++..\..\..\..\..\temp\csd\ta_LN.obj \ ++..\..\..\..\..\temp\csd\ta_LOG10.obj \ ++..\..\..\..\..\temp\csd\ta_MA.obj \ ++..\..\..\..\..\temp\csd\ta_MACD.obj \ ++..\..\..\..\..\temp\csd\ta_MACDEXT.obj \ ++..\..\..\..\..\temp\csd\ta_MACDFIX.obj \ ++..\..\..\..\..\temp\csd\ta_MAMA.obj \ ++..\..\..\..\..\temp\csd\ta_MAVP.obj \ ++..\..\..\..\..\temp\csd\ta_MAX.obj \ ++..\..\..\..\..\temp\csd\ta_MAXINDEX.obj \ ++..\..\..\..\..\temp\csd\ta_MEDPRICE.obj \ ++..\..\..\..\..\temp\csd\ta_MFI.obj \ ++..\..\..\..\..\temp\csd\ta_MIDPOINT.obj \ ++..\..\..\..\..\temp\csd\ta_MIDPRICE.obj \ ++..\..\..\..\..\temp\csd\ta_MIN.obj \ ++..\..\..\..\..\temp\csd\ta_MININDEX.obj \ ++..\..\..\..\..\temp\csd\ta_MINMAX.obj \ ++..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj \ ++..\..\..\..\..\temp\csd\ta_MINUS_DI.obj \ ++..\..\..\..\..\temp\csd\ta_MINUS_DM.obj \ ++..\..\..\..\..\temp\csd\ta_MOM.obj \ ++..\..\..\..\..\temp\csd\ta_MULT.obj \ ++..\..\..\..\..\temp\csd\ta_NATR.obj \ ++..\..\..\..\..\temp\csd\ta_OBV.obj \ ++..\..\..\..\..\temp\csd\ta_PLUS_DI.obj \ ++..\..\..\..\..\temp\csd\ta_PLUS_DM.obj \ ++..\..\..\..\..\temp\csd\ta_PPO.obj \ ++..\..\..\..\..\temp\csd\ta_ROC.obj \ ++..\..\..\..\..\temp\csd\ta_ROCP.obj \ ++..\..\..\..\..\temp\csd\ta_ROCR.obj \ ++..\..\..\..\..\temp\csd\ta_ROCR100.obj \ ++..\..\..\..\..\temp\csd\ta_RSI.obj \ ++..\..\..\..\..\temp\csd\ta_SAR.obj \ ++..\..\..\..\..\temp\csd\ta_SAREXT.obj \ ++..\..\..\..\..\temp\csd\ta_SIN.obj \ ++..\..\..\..\..\temp\csd\ta_SINH.obj \ ++..\..\..\..\..\temp\csd\ta_SMA.obj \ ++..\..\..\..\..\temp\csd\ta_SQRT.obj \ ++..\..\..\..\..\temp\csd\ta_STDDEV.obj \ ++..\..\..\..\..\temp\csd\ta_STOCH.obj \ ++..\..\..\..\..\temp\csd\ta_STOCHF.obj \ ++..\..\..\..\..\temp\csd\ta_STOCHRSI.obj \ ++..\..\..\..\..\temp\csd\ta_SUB.obj \ ++..\..\..\..\..\temp\csd\ta_SUM.obj \ ++..\..\..\..\..\temp\csd\ta_T3.obj \ ++..\..\..\..\..\temp\csd\ta_TAN.obj \ ++..\..\..\..\..\temp\csd\ta_TANH.obj \ ++..\..\..\..\..\temp\csd\ta_TEMA.obj \ ++..\..\..\..\..\temp\csd\ta_TRANGE.obj \ ++..\..\..\..\..\temp\csd\ta_TRIMA.obj \ ++..\..\..\..\..\temp\csd\ta_TRIX.obj \ ++..\..\..\..\..\temp\csd\ta_TSF.obj \ ++..\..\..\..\..\temp\csd\ta_TYPPRICE.obj \ ++..\..\..\..\..\temp\csd\ta_ULTOSC.obj \ ++..\..\..\..\..\temp\csd\ta_VAR.obj \ ++..\..\..\..\..\temp\csd\ta_WCLPRICE.obj \ ++..\..\..\..\..\temp\csd\ta_WILLR.obj \ ++..\..\..\..\..\temp\csd\ta_WMA.obj \ ++ +| + +moc: $(SRCMOC) + +tmake: ../csd/win32/borland/ta_libc/Makefile + +../csd/win32/borland/ta_libc/Makefile: ta_libc/ta_libc.pro + tmake ta_libc/ta_libc.pro -o ../csd/win32/borland/ta_libc/Makefile + +dist: + $(ZIP) ta_libc/ta_libc.zip ta_libc/ta_libc.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csd\ta_global.obj + -del ..\..\..\..\..\temp\csd\ta_retcode.obj + -del ..\..\..\..\..\temp\csd\ta_version.obj + -del ..\..\..\..\..\temp\csd\ta_abstract.obj + -del ..\..\..\..\..\temp\csd\ta_def_ui.obj + -del ..\..\..\..\..\temp\csd\ta_func_api.obj + -del ..\..\..\..\..\temp\csd\ta_group_idx.obj + -del ..\..\..\..\..\temp\csd\ta_frame.obj + -del ..\..\..\..\..\temp\csd\table_a.obj + -del ..\..\..\..\..\temp\csd\table_b.obj + -del ..\..\..\..\..\temp\csd\table_c.obj + -del ..\..\..\..\..\temp\csd\table_d.obj + -del ..\..\..\..\..\temp\csd\table_e.obj + -del ..\..\..\..\..\temp\csd\table_f.obj + -del ..\..\..\..\..\temp\csd\table_g.obj + -del ..\..\..\..\..\temp\csd\table_h.obj + -del ..\..\..\..\..\temp\csd\table_i.obj + -del ..\..\..\..\..\temp\csd\table_j.obj + -del ..\..\..\..\..\temp\csd\table_k.obj + -del ..\..\..\..\..\temp\csd\table_l.obj + -del ..\..\..\..\..\temp\csd\table_m.obj + -del ..\..\..\..\..\temp\csd\table_n.obj + -del ..\..\..\..\..\temp\csd\table_o.obj + -del ..\..\..\..\..\temp\csd\table_p.obj + -del ..\..\..\..\..\temp\csd\table_q.obj + -del ..\..\..\..\..\temp\csd\table_r.obj + -del ..\..\..\..\..\temp\csd\table_s.obj + -del ..\..\..\..\..\temp\csd\table_t.obj + -del ..\..\..\..\..\temp\csd\table_u.obj + -del ..\..\..\..\..\temp\csd\table_v.obj + -del ..\..\..\..\..\temp\csd\table_w.obj + -del ..\..\..\..\..\temp\csd\table_x.obj + -del ..\..\..\..\..\temp\csd\table_y.obj + -del ..\..\..\..\..\temp\csd\table_z.obj + -del ..\..\..\..\..\temp\csd\ta_utility.obj + -del ..\..\..\..\..\temp\csd\ta_ACOS.obj + -del ..\..\..\..\..\temp\csd\ta_AD.obj + -del ..\..\..\..\..\temp\csd\ta_ADD.obj + -del ..\..\..\..\..\temp\csd\ta_ADOSC.obj + -del ..\..\..\..\..\temp\csd\ta_ADX.obj + -del ..\..\..\..\..\temp\csd\ta_ADXR.obj + -del ..\..\..\..\..\temp\csd\ta_APO.obj + -del ..\..\..\..\..\temp\csd\ta_AROON.obj + -del ..\..\..\..\..\temp\csd\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\csd\ta_ASIN.obj + -del ..\..\..\..\..\temp\csd\ta_ATAN.obj + -del ..\..\..\..\..\temp\csd\ta_ATR.obj + -del ..\..\..\..\..\temp\csd\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_BBANDS.obj + -del ..\..\..\..\..\temp\csd\ta_BETA.obj + -del ..\..\..\..\..\temp\csd\ta_BOP.obj + -del ..\..\..\..\..\temp\csd\ta_CCI.obj + -del ..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\csd\ta_CEIL.obj + -del ..\..\..\..\..\temp\csd\ta_CMO.obj + -del ..\..\..\..\..\temp\csd\ta_CORREL.obj + -del ..\..\..\..\..\temp\csd\ta_COS.obj + -del ..\..\..\..\..\temp\csd\ta_COSH.obj + -del ..\..\..\..\..\temp\csd\ta_DEMA.obj + -del ..\..\..\..\..\temp\csd\ta_DIV.obj + -del ..\..\..\..\..\temp\csd\ta_DX.obj + -del ..\..\..\..\..\temp\csd\ta_EMA.obj + -del ..\..\..\..\..\temp\csd\ta_EXP.obj + -del ..\..\..\..\..\temp\csd\ta_FLOOR.obj + -del ..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\csd\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\csd\ta_KAMA.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\csd\ta_LN.obj + -del ..\..\..\..\..\temp\csd\ta_LOG10.obj + -del ..\..\..\..\..\temp\csd\ta_MA.obj + -del ..\..\..\..\..\temp\csd\ta_MACD.obj + -del ..\..\..\..\..\temp\csd\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\csd\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\csd\ta_MAMA.obj + -del ..\..\..\..\..\temp\csd\ta_MAVP.obj + -del ..\..\..\..\..\temp\csd\ta_MAX.obj + -del ..\..\..\..\..\temp\csd\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\csd\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_MFI.obj + -del ..\..\..\..\..\temp\csd\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\csd\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_MIN.obj + -del ..\..\..\..\..\temp\csd\ta_MININDEX.obj + -del ..\..\..\..\..\temp\csd\ta_MINMAX.obj + -del ..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\csd\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\csd\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\csd\ta_MOM.obj + -del ..\..\..\..\..\temp\csd\ta_MULT.obj + -del ..\..\..\..\..\temp\csd\ta_NATR.obj + -del ..\..\..\..\..\temp\csd\ta_OBV.obj + -del ..\..\..\..\..\temp\csd\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\csd\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\csd\ta_PPO.obj + -del ..\..\..\..\..\temp\csd\ta_ROC.obj + -del ..\..\..\..\..\temp\csd\ta_ROCP.obj + -del ..\..\..\..\..\temp\csd\ta_ROCR.obj + -del ..\..\..\..\..\temp\csd\ta_ROCR100.obj + -del ..\..\..\..\..\temp\csd\ta_RSI.obj + -del ..\..\..\..\..\temp\csd\ta_SAR.obj + -del ..\..\..\..\..\temp\csd\ta_SAREXT.obj + -del ..\..\..\..\..\temp\csd\ta_SIN.obj + -del ..\..\..\..\..\temp\csd\ta_SINH.obj + -del ..\..\..\..\..\temp\csd\ta_SMA.obj + -del ..\..\..\..\..\temp\csd\ta_SQRT.obj + -del ..\..\..\..\..\temp\csd\ta_STDDEV.obj + -del ..\..\..\..\..\temp\csd\ta_STOCH.obj + -del ..\..\..\..\..\temp\csd\ta_STOCHF.obj + -del ..\..\..\..\..\temp\csd\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\csd\ta_SUB.obj + -del ..\..\..\..\..\temp\csd\ta_SUM.obj + -del ..\..\..\..\..\temp\csd\ta_T3.obj + -del ..\..\..\..\..\temp\csd\ta_TAN.obj + -del ..\..\..\..\..\temp\csd\ta_TANH.obj + -del ..\..\..\..\..\temp\csd\ta_TEMA.obj + -del ..\..\..\..\..\temp\csd\ta_TRANGE.obj + -del ..\..\..\..\..\temp\csd\ta_TRIMA.obj + -del ..\..\..\..\..\temp\csd\ta_TRIX.obj + -del ..\..\..\..\..\temp\csd\ta_TSF.obj + -del ..\..\..\..\..\temp\csd\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\csd\ta_VAR.obj + -del ..\..\..\..\..\temp\csd\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_WILLR.obj + -del ..\..\..\..\..\temp\csd\ta_WMA.obj + -del $(TARGET) + -del ta_libc_csd.tds + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + +####### Compile + +..\..\..\..\..\temp\csd\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\csd\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\csd\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + +..\..\..\..\..\temp\csd\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\csd\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\csd\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\csd\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\csd\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\csd\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\csd\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\csd\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\csd\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\csd\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\csd\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\csd\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\csd\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\csd\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\csd\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\csd\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\csd\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\csd\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\csd\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\csd\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\csd\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\csd\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\csd\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\csd\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\csd\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\csd\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\csd\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\csd\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\csd\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\csd\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\csd\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + +..\..\..\..\..\temp\csd\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\csd\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\csd\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\csd\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\csd\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\csd\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\csd\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\csd\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\csd\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\csd\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\csd\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\csd\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\csd\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\csd\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\csd\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\csd\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\csd\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\csd\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\csd\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\csd\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\csd\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\csd\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\csd\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\csd\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\csd\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\csd\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\csd\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\csd\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\csd\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\csd\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\csd\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\csd\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\csd\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\csd\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\csd\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\csd\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\csd\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\csd\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\csd\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\csd\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\csd\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\csd\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\csd\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\csd\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\csd\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\csd\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\csd\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\csd\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\csd\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\csd\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\csd\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\csd\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\csd\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\csd\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\csd\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\csd\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\csd\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\csd\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\csd\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\csd\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\csd\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\csd\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\csd\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\csd\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\csd\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\csd\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\csd\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\csd\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\csd\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\csd\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\csd\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\csd\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\csd\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\csd\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\csd\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\csd\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\csd\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\csd\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\csd\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\csd\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\csd\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\csd\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\csd\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\csd\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\csd\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\csd\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\csd\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\csd\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\csd\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\csd\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\csd\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\csd\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\csd\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/csd/win32/borland/ta_regtest/Makefile b/vendor/ta-lib/make/csd/win32/borland/ta_regtest/Makefile new file mode 100644 index 000000000..8c11ffc83 --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/borland/ta_regtest/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +####### Compiler, tools and options + +CC = bcc32 +CXX = bcc32 +CFLAGS = -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -v -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 +CXXFLAGS= -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -v -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\tools\ta_regtest" -I"..\..\..\..\..\src\ta_func" -I"..\..\..\..\..\include" +LINK = ilink32 +LFLAGS = -L$(BCB)\lib -L$(BCB)\lib\PSDK -c -x -Gn -v -ap -Tpe c0x32.obj +LIBS = import32.lib cw32i.lib ..\..\..\..\..\lib\ta_libc_csd.lib +MOC = moc +UIC = uic + +ZIP = zip -r -9 +DEF_FILE = +RES_FILE = + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_internals.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_util.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_data.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c +OBJECTS = ..\..\..\..\..\temp\csd\ta_regtest.obj \ + ..\..\..\..\..\temp\csd\test_candlestick.obj \ + ..\..\..\..\..\temp\csd\test_1in_1out.obj \ + ..\..\..\..\..\temp\csd\test_1in_2out.obj \ + ..\..\..\..\..\temp\csd\test_internals.obj \ + ..\..\..\..\..\temp\csd\test_adx.obj \ + ..\..\..\..\..\temp\csd\test_bbands.obj \ + ..\..\..\..\..\temp\csd\test_ma.obj \ + ..\..\..\..\..\temp\csd\test_macd.obj \ + ..\..\..\..\..\temp\csd\test_minmax.obj \ + ..\..\..\..\..\temp\csd\test_mom.obj \ + ..\..\..\..\..\temp\csd\test_per_ema.obj \ + ..\..\..\..\..\temp\csd\test_per_hl.obj \ + ..\..\..\..\..\temp\csd\test_per_hlc.obj \ + ..\..\..\..\..\temp\csd\test_per_hlcv.obj \ + ..\..\..\..\..\temp\csd\test_per_ohlc.obj \ + ..\..\..\..\..\temp\csd\test_po.obj \ + ..\..\..\..\..\temp\csd\test_rsi.obj \ + ..\..\..\..\..\temp\csd\test_sar.obj \ + ..\..\..\..\..\temp\csd\test_stddev.obj \ + ..\..\..\..\..\temp\csd\test_stoch.obj \ + ..\..\..\..\..\temp\csd\test_trange.obj \ + ..\..\..\..\..\temp\csd\test_util.obj \ + ..\..\..\..\..\temp\csd\test_data.obj \ + ..\..\..\..\..\temp\csd\test_abstract.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\ta_regtest.exe +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) @&&| + $(LFLAGS) $(OBJECTS) $(OBJMOC),$(TARGET),,$(LIBS),$(DEF_FILE),$(RES_FILE) +| + +moc: $(SRCMOC) + +tmake: ../csd/win32/borland/ta_regtest/Makefile + +../csd/win32/borland/ta_regtest/Makefile: ta_regtest/ta_regtest.pro + tmake ta_regtest/ta_regtest.pro -o ../csd/win32/borland/ta_regtest/Makefile + +dist: + $(ZIP) ta_regtest/ta_regtest.zip ta_regtest/ta_regtest.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csd\ta_regtest.obj + -del ..\..\..\..\..\temp\csd\test_candlestick.obj + -del ..\..\..\..\..\temp\csd\test_1in_1out.obj + -del ..\..\..\..\..\temp\csd\test_1in_2out.obj + -del ..\..\..\..\..\temp\csd\test_internals.obj + -del ..\..\..\..\..\temp\csd\test_adx.obj + -del ..\..\..\..\..\temp\csd\test_bbands.obj + -del ..\..\..\..\..\temp\csd\test_ma.obj + -del ..\..\..\..\..\temp\csd\test_macd.obj + -del ..\..\..\..\..\temp\csd\test_minmax.obj + -del ..\..\..\..\..\temp\csd\test_mom.obj + -del ..\..\..\..\..\temp\csd\test_per_ema.obj + -del ..\..\..\..\..\temp\csd\test_per_hl.obj + -del ..\..\..\..\..\temp\csd\test_per_hlc.obj + -del ..\..\..\..\..\temp\csd\test_per_hlcv.obj + -del ..\..\..\..\..\temp\csd\test_per_ohlc.obj + -del ..\..\..\..\..\temp\csd\test_po.obj + -del ..\..\..\..\..\temp\csd\test_rsi.obj + -del ..\..\..\..\..\temp\csd\test_sar.obj + -del ..\..\..\..\..\temp\csd\test_stddev.obj + -del ..\..\..\..\..\temp\csd\test_stoch.obj + -del ..\..\..\..\..\temp\csd\test_trange.obj + -del ..\..\..\..\..\temp\csd\test_util.obj + -del ..\..\..\..\..\temp\csd\test_data.obj + -del ..\..\..\..\..\temp\csd\test_abstract.obj + -del $(TARGET) + -del ta_regtest.tds + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csd/*.pch + -del ../../../../../temp/csd/*.idb + -del ../../../../../temp/csd/ta_regtest/*.pch + -del ../../../../../temp/csd/ta_regtest/*.idb + -del ../../../../../temp/csd/ta_regtest/*.obj + +####### Compile + +..\..\..\..\..\temp\csd\ta_regtest.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_regtest.obj ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + +..\..\..\..\..\temp\csd\test_candlestick.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_candlestick.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + +..\..\..\..\..\temp\csd\test_1in_1out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_1in_1out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + +..\..\..\..\..\temp\csd\test_1in_2out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_1in_2out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + +..\..\..\..\..\temp\csd\test_internals.obj: ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_internals.obj ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + +..\..\..\..\..\temp\csd\test_adx.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_adx.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + +..\..\..\..\..\temp\csd\test_bbands.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_bbands.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + +..\..\..\..\..\temp\csd\test_ma.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_ma.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + +..\..\..\..\..\temp\csd\test_macd.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_macd.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + +..\..\..\..\..\temp\csd\test_minmax.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_minmax.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + +..\..\..\..\..\temp\csd\test_mom.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_mom.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + +..\..\..\..\..\temp\csd\test_per_ema.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_per_ema.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + +..\..\..\..\..\temp\csd\test_per_hl.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_per_hl.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + +..\..\..\..\..\temp\csd\test_per_hlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_per_hlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + +..\..\..\..\..\temp\csd\test_per_hlcv.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_per_hlcv.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + +..\..\..\..\..\temp\csd\test_per_ohlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_per_ohlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + +..\..\..\..\..\temp\csd\test_po.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_po.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + +..\..\..\..\..\temp\csd\test_rsi.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_rsi.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + +..\..\..\..\..\temp\csd\test_sar.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_sar.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + +..\..\..\..\..\temp\csd\test_stddev.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_stddev.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + +..\..\..\..\..\temp\csd\test_stoch.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_stoch.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + +..\..\..\..\..\temp\csd\test_trange.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_trange.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + +..\..\..\..\..\temp\csd\test_util.obj: ..\..\..\..\..\src\tools\ta_regtest\test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_util.obj ..\..\..\..\..\src\tools\ta_regtest\test_util.c + +..\..\..\..\..\temp\csd\test_data.obj: ..\..\..\..\..\src\tools\ta_regtest\test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_data.obj ..\..\..\..\..\src\tools\ta_regtest\test_data.c + +..\..\..\..\..\temp\csd\test_abstract.obj: ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_abstract.obj ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + diff --git a/vendor/ta-lib/make/csd/win32/msvc/Makefile b/vendor/ta-lib/make/csd/win32/msvc/Makefile new file mode 100644 index 000000000..4f6b9db08 --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/msvc/Makefile @@ -0,0 +1,97 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +ta_common: FORCE + cd ta_common + $(MAKE) /nologo + @cd .. + +ta_func: FORCE + cd ta_func + $(MAKE) /nologo + @cd .. + +ta_abstract: FORCE + cd ta_abstract + $(MAKE) /nologo + @cd .. + +ta_libc: FORCE + cd ta_libc + $(MAKE) /nologo + @cd .. + +gen_code: FORCE + cd gen_code + $(MAKE) /nologo + @cd .. + +ta_regtest: FORCE + cd ta_regtest + $(MAKE) /nologo + @cd .. + + +tmake: ../csd/win32/msvc/Makefile + +../csd/win32/msvc/Makefile: rootmake.pro + tmake rootmake.pro -o ../csd/win32/msvc/Makefile + +tmake_all: + cd ta_common + $(TMAKE) ta_common.pro -o $(MAKEFILE) + @cd .. + cd ta_func + $(TMAKE) ta_func.pro -o $(MAKEFILE) + @cd .. + cd ta_abstract + $(TMAKE) ta_abstract.pro -o $(MAKEFILE) + @cd .. + cd ta_libc + $(TMAKE) ta_libc.pro -o $(MAKEFILE) + @cd .. + cd gen_code + $(TMAKE) gen_code.pro -o $(MAKEFILE) + @cd .. + cd ta_regtest + $(TMAKE) ta_regtest.pro -o $(MAKEFILE) + @cd .. + + +clean: + cd ta_common + $(MAKE) clean + @cd .. + cd ta_func + $(MAKE) clean + @cd .. + cd ta_abstract + $(MAKE) clean + @cd .. + cd ta_libc + $(MAKE) clean + @cd .. + cd gen_code + $(MAKE) clean + @cd .. + cd ta_regtest + $(MAKE) clean + @cd .. + +FORCE: diff --git a/vendor/ta-lib/make/csd/win32/msvc/gen_code/Makefile b/vendor/ta-lib/make/csd/win32/msvc/gen_code/Makefile new file mode 100644 index 000000000..eb7078910 --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/msvc/gen_code/Makefile @@ -0,0 +1,263 @@ +############################################################################# +# Makefile for building gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -Zi -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 -D_MBCS -D_LIB +CXXFLAGS= -nologo -W3 -Zi -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 -D_MBCS -D_LIB +INCPATH = -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" +LINK = link +LFLAGS = /NOLOGO /DEBUG /SUBSYSTEM:console +LIBS = ..\..\..\..\..\lib\ta_common_csd.lib +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\gen_code\gen_code.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\csd\gen_code\gen_code.obj \ + ..\..\..\..\..\temp\csd\gen_code\ta_abstract.obj \ + ..\..\..\..\..\temp\csd\gen_code\ta_def_ui.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_a.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_b.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_c.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_d.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_e.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_f.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_g.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_h.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_i.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_j.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_k.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_l.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_m.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_n.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_o.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_p.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_q.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_r.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_s.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_t.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_u.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_v.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_w.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_x.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_y.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_z.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\gen_code.exe +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) $(LIBS) +<< + +moc: $(SRCMOC) + +tmake: ../csd/win32/msvc/gen_code/Makefile + +../csd/win32/msvc/gen_code/Makefile: gen_code/gen_code.pro + tmake gen_code/gen_code.pro -o ../csd/win32/msvc/gen_code/Makefile + +dist: + $(ZIP) gen_code/gen_code.zip gen_code/gen_code.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\csd\gen_code\gen_code.obj + -del ..\..\..\..\..\temp\csd\gen_code\ta_abstract.obj + -del ..\..\..\..\..\temp\csd\gen_code\ta_def_ui.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_a.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_b.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_c.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_d.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_e.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_f.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_g.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_h.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_i.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_j.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_k.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_l.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_m.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_n.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_o.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_p.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_q.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_r.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_s.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_t.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_u.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_v.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_w.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_x.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_y.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csd/*.pch + -del ../../../../../temp/csd/*.idb + -del ../../../../../temp/csd/gen_code/*.pch + -del ../../../../../temp/csd/gen_code/*.idb + -del ../../../../../temp/csd/gen_code/*.obj + -del gen_code.pdb + -del vc*.pdb + -del gen_code.ilk + +####### Compile + +..\..\..\..\..\temp\csd\gen_code\gen_code.obj: ..\..\..\..\..\src\tools\gen_code\gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\gen_code.obj ..\..\..\..\..\src\tools\gen_code\gen_code.c + +..\..\..\..\..\temp\csd\gen_code\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\csd\gen_code\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\csd\gen_code\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\csd\gen_code\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\csd\gen_code\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\csd\gen_code\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\csd\gen_code\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\csd\gen_code\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\csd\gen_code\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\csd\gen_code\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\csd\gen_code\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\csd\gen_code\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\csd\gen_code\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\csd\gen_code\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\csd\gen_code\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\csd\gen_code\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\csd\gen_code\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\csd\gen_code\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\csd\gen_code\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\csd\gen_code\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\csd\gen_code\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\csd\gen_code\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\csd\gen_code\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\csd\gen_code\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\csd\gen_code\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\csd\gen_code\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\csd\gen_code\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\csd\gen_code\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\gen_code\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/csd/win32/msvc/ta_abstract/Makefile b/vendor/ta-lib/make/csd/win32/msvc/ta_abstract/Makefile new file mode 100644 index 000000000..b9b6f89ac --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/msvc/ta_abstract/Makefile @@ -0,0 +1,273 @@ +############################################################################# +# Makefile for building ta_abstract_csd +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -Zi -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 -D_MBCS -D_LIB +CXXFLAGS= -nologo -W3 -Zi -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 -D_MBCS -D_LIB +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"..\..\..\..\..\include" +LIB = lib /NOLOGO +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\csd\ta_abstract.obj \ + ..\..\..\..\..\temp\csd\ta_def_ui.obj \ + ..\..\..\..\..\temp\csd\ta_func_api.obj \ + ..\..\..\..\..\temp\csd\ta_group_idx.obj \ + ..\..\..\..\..\temp\csd\ta_frame.obj \ + ..\..\..\..\..\temp\csd\table_a.obj \ + ..\..\..\..\..\temp\csd\table_b.obj \ + ..\..\..\..\..\temp\csd\table_c.obj \ + ..\..\..\..\..\temp\csd\table_d.obj \ + ..\..\..\..\..\temp\csd\table_e.obj \ + ..\..\..\..\..\temp\csd\table_f.obj \ + ..\..\..\..\..\temp\csd\table_g.obj \ + ..\..\..\..\..\temp\csd\table_h.obj \ + ..\..\..\..\..\temp\csd\table_i.obj \ + ..\..\..\..\..\temp\csd\table_j.obj \ + ..\..\..\..\..\temp\csd\table_k.obj \ + ..\..\..\..\..\temp\csd\table_l.obj \ + ..\..\..\..\..\temp\csd\table_m.obj \ + ..\..\..\..\..\temp\csd\table_n.obj \ + ..\..\..\..\..\temp\csd\table_o.obj \ + ..\..\..\..\..\temp\csd\table_p.obj \ + ..\..\..\..\..\temp\csd\table_q.obj \ + ..\..\..\..\..\temp\csd\table_r.obj \ + ..\..\..\..\..\temp\csd\table_s.obj \ + ..\..\..\..\..\temp\csd\table_t.obj \ + ..\..\..\..\..\temp\csd\table_u.obj \ + ..\..\..\..\..\temp\csd\table_v.obj \ + ..\..\..\..\..\temp\csd\table_w.obj \ + ..\..\..\..\..\temp\csd\table_x.obj \ + ..\..\..\..\..\temp\csd\table_y.obj \ + ..\..\..\..\..\temp\csd\table_z.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_abstract_csd.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LIB) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) +<< + +moc: $(SRCMOC) + +tmake: ../csd/win32/msvc/ta_abstract/Makefile + +../csd/win32/msvc/ta_abstract/Makefile: ta_abstract/ta_abstract.pro + tmake ta_abstract/ta_abstract.pro -o ../csd/win32/msvc/ta_abstract/Makefile + +dist: + $(ZIP) ta_abstract/ta_abstract.zip ta_abstract/ta_abstract.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\csd\ta_abstract.obj + -del ..\..\..\..\..\temp\csd\ta_def_ui.obj + -del ..\..\..\..\..\temp\csd\ta_func_api.obj + -del ..\..\..\..\..\temp\csd\ta_group_idx.obj + -del ..\..\..\..\..\temp\csd\ta_frame.obj + -del ..\..\..\..\..\temp\csd\table_a.obj + -del ..\..\..\..\..\temp\csd\table_b.obj + -del ..\..\..\..\..\temp\csd\table_c.obj + -del ..\..\..\..\..\temp\csd\table_d.obj + -del ..\..\..\..\..\temp\csd\table_e.obj + -del ..\..\..\..\..\temp\csd\table_f.obj + -del ..\..\..\..\..\temp\csd\table_g.obj + -del ..\..\..\..\..\temp\csd\table_h.obj + -del ..\..\..\..\..\temp\csd\table_i.obj + -del ..\..\..\..\..\temp\csd\table_j.obj + -del ..\..\..\..\..\temp\csd\table_k.obj + -del ..\..\..\..\..\temp\csd\table_l.obj + -del ..\..\..\..\..\temp\csd\table_m.obj + -del ..\..\..\..\..\temp\csd\table_n.obj + -del ..\..\..\..\..\temp\csd\table_o.obj + -del ..\..\..\..\..\temp\csd\table_p.obj + -del ..\..\..\..\..\temp\csd\table_q.obj + -del ..\..\..\..\..\temp\csd\table_r.obj + -del ..\..\..\..\..\temp\csd\table_s.obj + -del ..\..\..\..\..\temp\csd\table_t.obj + -del ..\..\..\..\..\temp\csd\table_u.obj + -del ..\..\..\..\..\temp\csd\table_v.obj + -del ..\..\..\..\..\temp\csd\table_w.obj + -del ..\..\..\..\..\temp\csd\table_x.obj + -del ..\..\..\..\..\temp\csd\table_y.obj + -del ..\..\..\..\..\temp\csd\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csd/*.pch + -del ../../../../../temp/csd/*.idb + -del ../../../../../temp/csd/ta_abstract/*.pch + -del ../../../../../temp/csd/ta_abstract/*.idb + -del ../../../../../temp/csd/ta_abstract/*.obj + -del ta_abstract_csd.pdb + -del vc*.pdb + -del ta_abstract_csd.ilk + +####### Compile + +..\..\..\..\..\temp\csd\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\csd\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\csd\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\csd\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\csd\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\csd\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\csd\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\csd\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\csd\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\csd\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\csd\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\csd\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\csd\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\csd\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\csd\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\csd\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\csd\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\csd\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\csd\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\csd\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\csd\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\csd\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\csd\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\csd\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\csd\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\csd\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\csd\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\csd\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\csd\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\csd\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\csd\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/csd/win32/msvc/ta_common/Makefile b/vendor/ta-lib/make/csd/win32/msvc/ta_common/Makefile new file mode 100644 index 000000000..7ecf1d635 --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/msvc/ta_common/Makefile @@ -0,0 +1,105 @@ +############################################################################# +# Makefile for building ta_common_csd +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -Zi -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 -D_MBCS -D_LIB +CXXFLAGS= -nologo -W3 -Zi -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 -D_MBCS -D_LIB +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" +LIB = lib /NOLOGO +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c +OBJECTS = ..\..\..\..\..\temp\csd\ta_global.obj \ + ..\..\..\..\..\temp\csd\ta_retcode.obj \ + ..\..\..\..\..\temp\csd\ta_version.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_common_csd.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LIB) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) +<< + +moc: $(SRCMOC) + +tmake: ../csd/win32/msvc/ta_common/Makefile + +../csd/win32/msvc/ta_common/Makefile: ta_common/ta_common.pro + tmake ta_common/ta_common.pro -o ../csd/win32/msvc/ta_common/Makefile + +dist: + $(ZIP) ta_common/ta_common.zip ta_common/ta_common.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\csd\ta_global.obj + -del ..\..\..\..\..\temp\csd\ta_retcode.obj + -del ..\..\..\..\..\temp\csd\ta_version.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csd/*.pch + -del ../../../../../temp/csd/*.idb + -del ../../../../../temp/csd/ta_common_csd/*.pch + -del ../../../../../temp/csd/ta_common_csd/*.idb + -del ../../../../../temp/csd/ta_common_csd/*.obj + -del ta_common_csd.pdb + -del vc*.pdb + -del ta_common_csd.ilk + +####### Compile + +..\..\..\..\..\temp\csd\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\csd\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\csd\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + diff --git a/vendor/ta-lib/make/csd/win32/msvc/ta_func/Makefile b/vendor/ta-lib/make/csd/win32/msvc/ta_func/Makefile new file mode 100644 index 000000000..50cbfd938 --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/msvc/ta_func/Makefile @@ -0,0 +1,1041 @@ +############################################################################# +# Makefile for building ta_func_csd +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -Zi -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 -D_MBCS -D_LIB +CXXFLAGS= -nologo -W3 -Zi -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 -D_MBCS -D_LIB +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"\n" -I"..\..\..\..\..\include" +LIB = lib /NOLOGO +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\csd\ta_utility.obj \ + ..\..\..\..\..\temp\csd\ta_ACOS.obj \ + ..\..\..\..\..\temp\csd\ta_AD.obj \ + ..\..\..\..\..\temp\csd\ta_ADD.obj \ + ..\..\..\..\..\temp\csd\ta_ADOSC.obj \ + ..\..\..\..\..\temp\csd\ta_ADX.obj \ + ..\..\..\..\..\temp\csd\ta_ADXR.obj \ + ..\..\..\..\..\temp\csd\ta_APO.obj \ + ..\..\..\..\..\temp\csd\ta_AROON.obj \ + ..\..\..\..\..\temp\csd\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\csd\ta_ASIN.obj \ + ..\..\..\..\..\temp\csd\ta_ATAN.obj \ + ..\..\..\..\..\temp\csd\ta_ATR.obj \ + ..\..\..\..\..\temp\csd\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_BBANDS.obj \ + ..\..\..\..\..\temp\csd\ta_BETA.obj \ + ..\..\..\..\..\temp\csd\ta_BOP.obj \ + ..\..\..\..\..\temp\csd\ta_CCI.obj \ + ..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\csd\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\csd\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\csd\ta_CEIL.obj \ + ..\..\..\..\..\temp\csd\ta_CMO.obj \ + ..\..\..\..\..\temp\csd\ta_CORREL.obj \ + ..\..\..\..\..\temp\csd\ta_COS.obj \ + ..\..\..\..\..\temp\csd\ta_COSH.obj \ + ..\..\..\..\..\temp\csd\ta_DEMA.obj \ + ..\..\..\..\..\temp\csd\ta_DIV.obj \ + ..\..\..\..\..\temp\csd\ta_DX.obj \ + ..\..\..\..\..\temp\csd\ta_EMA.obj \ + ..\..\..\..\..\temp\csd\ta_EXP.obj \ + ..\..\..\..\..\temp\csd\ta_FLOOR.obj \ + ..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\csd\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\csd\ta_KAMA.obj \ + ..\..\..\..\..\temp\csd\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\csd\ta_LN.obj \ + ..\..\..\..\..\temp\csd\ta_LOG10.obj \ + ..\..\..\..\..\temp\csd\ta_MA.obj \ + ..\..\..\..\..\temp\csd\ta_MACD.obj \ + ..\..\..\..\..\temp\csd\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\csd\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\csd\ta_MAMA.obj \ + ..\..\..\..\..\temp\csd\ta_MAVP.obj \ + ..\..\..\..\..\temp\csd\ta_MAX.obj \ + ..\..\..\..\..\temp\csd\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\csd\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_MFI.obj \ + ..\..\..\..\..\temp\csd\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\csd\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_MIN.obj \ + ..\..\..\..\..\temp\csd\ta_MININDEX.obj \ + ..\..\..\..\..\temp\csd\ta_MINMAX.obj \ + ..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\csd\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\csd\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\csd\ta_MOM.obj \ + ..\..\..\..\..\temp\csd\ta_MULT.obj \ + ..\..\..\..\..\temp\csd\ta_NATR.obj \ + ..\..\..\..\..\temp\csd\ta_OBV.obj \ + ..\..\..\..\..\temp\csd\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\csd\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\csd\ta_PPO.obj \ + ..\..\..\..\..\temp\csd\ta_ROC.obj \ + ..\..\..\..\..\temp\csd\ta_ROCP.obj \ + ..\..\..\..\..\temp\csd\ta_ROCR.obj \ + ..\..\..\..\..\temp\csd\ta_ROCR100.obj \ + ..\..\..\..\..\temp\csd\ta_RSI.obj \ + ..\..\..\..\..\temp\csd\ta_SAR.obj \ + ..\..\..\..\..\temp\csd\ta_SAREXT.obj \ + ..\..\..\..\..\temp\csd\ta_SIN.obj \ + ..\..\..\..\..\temp\csd\ta_SINH.obj \ + ..\..\..\..\..\temp\csd\ta_SMA.obj \ + ..\..\..\..\..\temp\csd\ta_SQRT.obj \ + ..\..\..\..\..\temp\csd\ta_STDDEV.obj \ + ..\..\..\..\..\temp\csd\ta_STOCH.obj \ + ..\..\..\..\..\temp\csd\ta_STOCHF.obj \ + ..\..\..\..\..\temp\csd\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\csd\ta_SUB.obj \ + ..\..\..\..\..\temp\csd\ta_SUM.obj \ + ..\..\..\..\..\temp\csd\ta_T3.obj \ + ..\..\..\..\..\temp\csd\ta_TAN.obj \ + ..\..\..\..\..\temp\csd\ta_TANH.obj \ + ..\..\..\..\..\temp\csd\ta_TEMA.obj \ + ..\..\..\..\..\temp\csd\ta_TRANGE.obj \ + ..\..\..\..\..\temp\csd\ta_TRIMA.obj \ + ..\..\..\..\..\temp\csd\ta_TRIX.obj \ + ..\..\..\..\..\temp\csd\ta_TSF.obj \ + ..\..\..\..\..\temp\csd\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\csd\ta_VAR.obj \ + ..\..\..\..\..\temp\csd\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_WILLR.obj \ + ..\..\..\..\..\temp\csd\ta_WMA.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_func_csd.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LIB) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) +<< + +moc: $(SRCMOC) + +tmake: ../csd/win32/msvc/ta_func/Makefile + +../csd/win32/msvc/ta_func/Makefile: ta_func/ta_func.pro + tmake ta_func/ta_func.pro -o ../csd/win32/msvc/ta_func/Makefile + +dist: + $(ZIP) ta_func/ta_func.zip ta_func/ta_func.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\csd\ta_utility.obj + -del ..\..\..\..\..\temp\csd\ta_ACOS.obj + -del ..\..\..\..\..\temp\csd\ta_AD.obj + -del ..\..\..\..\..\temp\csd\ta_ADD.obj + -del ..\..\..\..\..\temp\csd\ta_ADOSC.obj + -del ..\..\..\..\..\temp\csd\ta_ADX.obj + -del ..\..\..\..\..\temp\csd\ta_ADXR.obj + -del ..\..\..\..\..\temp\csd\ta_APO.obj + -del ..\..\..\..\..\temp\csd\ta_AROON.obj + -del ..\..\..\..\..\temp\csd\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\csd\ta_ASIN.obj + -del ..\..\..\..\..\temp\csd\ta_ATAN.obj + -del ..\..\..\..\..\temp\csd\ta_ATR.obj + -del ..\..\..\..\..\temp\csd\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_BBANDS.obj + -del ..\..\..\..\..\temp\csd\ta_BETA.obj + -del ..\..\..\..\..\temp\csd\ta_BOP.obj + -del ..\..\..\..\..\temp\csd\ta_CCI.obj + -del ..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\csd\ta_CEIL.obj + -del ..\..\..\..\..\temp\csd\ta_CMO.obj + -del ..\..\..\..\..\temp\csd\ta_CORREL.obj + -del ..\..\..\..\..\temp\csd\ta_COS.obj + -del ..\..\..\..\..\temp\csd\ta_COSH.obj + -del ..\..\..\..\..\temp\csd\ta_DEMA.obj + -del ..\..\..\..\..\temp\csd\ta_DIV.obj + -del ..\..\..\..\..\temp\csd\ta_DX.obj + -del ..\..\..\..\..\temp\csd\ta_EMA.obj + -del ..\..\..\..\..\temp\csd\ta_EXP.obj + -del ..\..\..\..\..\temp\csd\ta_FLOOR.obj + -del ..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\csd\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\csd\ta_KAMA.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\csd\ta_LN.obj + -del ..\..\..\..\..\temp\csd\ta_LOG10.obj + -del ..\..\..\..\..\temp\csd\ta_MA.obj + -del ..\..\..\..\..\temp\csd\ta_MACD.obj + -del ..\..\..\..\..\temp\csd\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\csd\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\csd\ta_MAMA.obj + -del ..\..\..\..\..\temp\csd\ta_MAVP.obj + -del ..\..\..\..\..\temp\csd\ta_MAX.obj + -del ..\..\..\..\..\temp\csd\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\csd\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_MFI.obj + -del ..\..\..\..\..\temp\csd\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\csd\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_MIN.obj + -del ..\..\..\..\..\temp\csd\ta_MININDEX.obj + -del ..\..\..\..\..\temp\csd\ta_MINMAX.obj + -del ..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\csd\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\csd\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\csd\ta_MOM.obj + -del ..\..\..\..\..\temp\csd\ta_MULT.obj + -del ..\..\..\..\..\temp\csd\ta_NATR.obj + -del ..\..\..\..\..\temp\csd\ta_OBV.obj + -del ..\..\..\..\..\temp\csd\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\csd\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\csd\ta_PPO.obj + -del ..\..\..\..\..\temp\csd\ta_ROC.obj + -del ..\..\..\..\..\temp\csd\ta_ROCP.obj + -del ..\..\..\..\..\temp\csd\ta_ROCR.obj + -del ..\..\..\..\..\temp\csd\ta_ROCR100.obj + -del ..\..\..\..\..\temp\csd\ta_RSI.obj + -del ..\..\..\..\..\temp\csd\ta_SAR.obj + -del ..\..\..\..\..\temp\csd\ta_SAREXT.obj + -del ..\..\..\..\..\temp\csd\ta_SIN.obj + -del ..\..\..\..\..\temp\csd\ta_SINH.obj + -del ..\..\..\..\..\temp\csd\ta_SMA.obj + -del ..\..\..\..\..\temp\csd\ta_SQRT.obj + -del ..\..\..\..\..\temp\csd\ta_STDDEV.obj + -del ..\..\..\..\..\temp\csd\ta_STOCH.obj + -del ..\..\..\..\..\temp\csd\ta_STOCHF.obj + -del ..\..\..\..\..\temp\csd\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\csd\ta_SUB.obj + -del ..\..\..\..\..\temp\csd\ta_SUM.obj + -del ..\..\..\..\..\temp\csd\ta_T3.obj + -del ..\..\..\..\..\temp\csd\ta_TAN.obj + -del ..\..\..\..\..\temp\csd\ta_TANH.obj + -del ..\..\..\..\..\temp\csd\ta_TEMA.obj + -del ..\..\..\..\..\temp\csd\ta_TRANGE.obj + -del ..\..\..\..\..\temp\csd\ta_TRIMA.obj + -del ..\..\..\..\..\temp\csd\ta_TRIX.obj + -del ..\..\..\..\..\temp\csd\ta_TSF.obj + -del ..\..\..\..\..\temp\csd\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\csd\ta_VAR.obj + -del ..\..\..\..\..\temp\csd\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_WILLR.obj + -del ..\..\..\..\..\temp\csd\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csd/*.pch + -del ../../../../../temp/csd/*.idb + -del ../../../../../temp/csd/ta_func/*.pch + -del ../../../../../temp/csd/ta_func/*.idb + -del ../../../../../temp/csd/ta_func/*.obj + -del ta_func_csd.pdb + -del vc*.pdb + -del ta_func_csd.ilk + +####### Compile + +..\..\..\..\..\temp\csd\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\csd\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\csd\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\csd\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\csd\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\csd\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\csd\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\csd\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\csd\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\csd\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\csd\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\csd\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\csd\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\csd\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\csd\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\csd\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\csd\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\csd\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\csd\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\csd\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\csd\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\csd\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\csd\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\csd\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\csd\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\csd\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\csd\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\csd\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\csd\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\csd\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\csd\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\csd\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\csd\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\csd\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\csd\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\csd\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\csd\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\csd\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\csd\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\csd\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\csd\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\csd\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\csd\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\csd\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\csd\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\csd\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\csd\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\csd\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\csd\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\csd\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\csd\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\csd\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\csd\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\csd\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\csd\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\csd\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\csd\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\csd\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\csd\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\csd\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\csd\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\csd\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\csd\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\csd\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\csd\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\csd\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\csd\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\csd\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\csd\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\csd\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\csd\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\csd\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\csd\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\csd\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\csd\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\csd\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\csd\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\csd\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\csd\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\csd\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\csd\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\csd\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\csd\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\csd\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\csd\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\csd\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\csd\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\csd\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\csd\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\csd\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\csd\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\csd\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\csd\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/csd/win32/msvc/ta_libc/Makefile b/vendor/ta-lib/make/csd/win32/msvc/ta_libc/Makefile new file mode 100644 index 000000000..63711ea20 --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/msvc/ta_libc/Makefile @@ -0,0 +1,1240 @@ +############################################################################# +# Makefile for building ta_libc_csd +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -Zi -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 -D_MBCS -D_LIB +CXXFLAGS= -nologo -W3 -Zi -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 -D_MBCS -D_LIB +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"$(QTDIR)\include" +LIB = lib /NOLOGO +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c \ + ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\csd\ta_global.obj \ + ..\..\..\..\..\temp\csd\ta_retcode.obj \ + ..\..\..\..\..\temp\csd\ta_version.obj \ + ..\..\..\..\..\temp\csd\ta_abstract.obj \ + ..\..\..\..\..\temp\csd\ta_def_ui.obj \ + ..\..\..\..\..\temp\csd\ta_func_api.obj \ + ..\..\..\..\..\temp\csd\ta_group_idx.obj \ + ..\..\..\..\..\temp\csd\ta_frame.obj \ + ..\..\..\..\..\temp\csd\table_a.obj \ + ..\..\..\..\..\temp\csd\table_b.obj \ + ..\..\..\..\..\temp\csd\table_c.obj \ + ..\..\..\..\..\temp\csd\table_d.obj \ + ..\..\..\..\..\temp\csd\table_e.obj \ + ..\..\..\..\..\temp\csd\table_f.obj \ + ..\..\..\..\..\temp\csd\table_g.obj \ + ..\..\..\..\..\temp\csd\table_h.obj \ + ..\..\..\..\..\temp\csd\table_i.obj \ + ..\..\..\..\..\temp\csd\table_j.obj \ + ..\..\..\..\..\temp\csd\table_k.obj \ + ..\..\..\..\..\temp\csd\table_l.obj \ + ..\..\..\..\..\temp\csd\table_m.obj \ + ..\..\..\..\..\temp\csd\table_n.obj \ + ..\..\..\..\..\temp\csd\table_o.obj \ + ..\..\..\..\..\temp\csd\table_p.obj \ + ..\..\..\..\..\temp\csd\table_q.obj \ + ..\..\..\..\..\temp\csd\table_r.obj \ + ..\..\..\..\..\temp\csd\table_s.obj \ + ..\..\..\..\..\temp\csd\table_t.obj \ + ..\..\..\..\..\temp\csd\table_u.obj \ + ..\..\..\..\..\temp\csd\table_v.obj \ + ..\..\..\..\..\temp\csd\table_w.obj \ + ..\..\..\..\..\temp\csd\table_x.obj \ + ..\..\..\..\..\temp\csd\table_y.obj \ + ..\..\..\..\..\temp\csd\table_z.obj \ + ..\..\..\..\..\temp\csd\ta_utility.obj \ + ..\..\..\..\..\temp\csd\ta_ACOS.obj \ + ..\..\..\..\..\temp\csd\ta_AD.obj \ + ..\..\..\..\..\temp\csd\ta_ADD.obj \ + ..\..\..\..\..\temp\csd\ta_ADOSC.obj \ + ..\..\..\..\..\temp\csd\ta_ADX.obj \ + ..\..\..\..\..\temp\csd\ta_ADXR.obj \ + ..\..\..\..\..\temp\csd\ta_APO.obj \ + ..\..\..\..\..\temp\csd\ta_AROON.obj \ + ..\..\..\..\..\temp\csd\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\csd\ta_ASIN.obj \ + ..\..\..\..\..\temp\csd\ta_ATAN.obj \ + ..\..\..\..\..\temp\csd\ta_ATR.obj \ + ..\..\..\..\..\temp\csd\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_BBANDS.obj \ + ..\..\..\..\..\temp\csd\ta_BETA.obj \ + ..\..\..\..\..\temp\csd\ta_BOP.obj \ + ..\..\..\..\..\temp\csd\ta_CCI.obj \ + ..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\csd\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\csd\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\csd\ta_CEIL.obj \ + ..\..\..\..\..\temp\csd\ta_CMO.obj \ + ..\..\..\..\..\temp\csd\ta_CORREL.obj \ + ..\..\..\..\..\temp\csd\ta_COS.obj \ + ..\..\..\..\..\temp\csd\ta_COSH.obj \ + ..\..\..\..\..\temp\csd\ta_DEMA.obj \ + ..\..\..\..\..\temp\csd\ta_DIV.obj \ + ..\..\..\..\..\temp\csd\ta_DX.obj \ + ..\..\..\..\..\temp\csd\ta_EMA.obj \ + ..\..\..\..\..\temp\csd\ta_EXP.obj \ + ..\..\..\..\..\temp\csd\ta_FLOOR.obj \ + ..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\csd\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\csd\ta_KAMA.obj \ + ..\..\..\..\..\temp\csd\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\csd\ta_LN.obj \ + ..\..\..\..\..\temp\csd\ta_LOG10.obj \ + ..\..\..\..\..\temp\csd\ta_MA.obj \ + ..\..\..\..\..\temp\csd\ta_MACD.obj \ + ..\..\..\..\..\temp\csd\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\csd\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\csd\ta_MAMA.obj \ + ..\..\..\..\..\temp\csd\ta_MAVP.obj \ + ..\..\..\..\..\temp\csd\ta_MAX.obj \ + ..\..\..\..\..\temp\csd\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\csd\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_MFI.obj \ + ..\..\..\..\..\temp\csd\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\csd\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_MIN.obj \ + ..\..\..\..\..\temp\csd\ta_MININDEX.obj \ + ..\..\..\..\..\temp\csd\ta_MINMAX.obj \ + ..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\csd\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\csd\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\csd\ta_MOM.obj \ + ..\..\..\..\..\temp\csd\ta_MULT.obj \ + ..\..\..\..\..\temp\csd\ta_NATR.obj \ + ..\..\..\..\..\temp\csd\ta_OBV.obj \ + ..\..\..\..\..\temp\csd\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\csd\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\csd\ta_PPO.obj \ + ..\..\..\..\..\temp\csd\ta_ROC.obj \ + ..\..\..\..\..\temp\csd\ta_ROCP.obj \ + ..\..\..\..\..\temp\csd\ta_ROCR.obj \ + ..\..\..\..\..\temp\csd\ta_ROCR100.obj \ + ..\..\..\..\..\temp\csd\ta_RSI.obj \ + ..\..\..\..\..\temp\csd\ta_SAR.obj \ + ..\..\..\..\..\temp\csd\ta_SAREXT.obj \ + ..\..\..\..\..\temp\csd\ta_SIN.obj \ + ..\..\..\..\..\temp\csd\ta_SINH.obj \ + ..\..\..\..\..\temp\csd\ta_SMA.obj \ + ..\..\..\..\..\temp\csd\ta_SQRT.obj \ + ..\..\..\..\..\temp\csd\ta_STDDEV.obj \ + ..\..\..\..\..\temp\csd\ta_STOCH.obj \ + ..\..\..\..\..\temp\csd\ta_STOCHF.obj \ + ..\..\..\..\..\temp\csd\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\csd\ta_SUB.obj \ + ..\..\..\..\..\temp\csd\ta_SUM.obj \ + ..\..\..\..\..\temp\csd\ta_T3.obj \ + ..\..\..\..\..\temp\csd\ta_TAN.obj \ + ..\..\..\..\..\temp\csd\ta_TANH.obj \ + ..\..\..\..\..\temp\csd\ta_TEMA.obj \ + ..\..\..\..\..\temp\csd\ta_TRANGE.obj \ + ..\..\..\..\..\temp\csd\ta_TRIMA.obj \ + ..\..\..\..\..\temp\csd\ta_TRIX.obj \ + ..\..\..\..\..\temp\csd\ta_TSF.obj \ + ..\..\..\..\..\temp\csd\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\csd\ta_VAR.obj \ + ..\..\..\..\..\temp\csd\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_WILLR.obj \ + ..\..\..\..\..\temp\csd\ta_WMA.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_libc_csd.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LIB) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) +<< + +moc: $(SRCMOC) + +tmake: ../csd/win32/msvc/ta_libc/Makefile + +../csd/win32/msvc/ta_libc/Makefile: ta_libc/ta_libc.pro + tmake ta_libc/ta_libc.pro -o ../csd/win32/msvc/ta_libc/Makefile + +dist: + $(ZIP) ta_libc/ta_libc.zip ta_libc/ta_libc.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\csd\ta_global.obj + -del ..\..\..\..\..\temp\csd\ta_retcode.obj + -del ..\..\..\..\..\temp\csd\ta_version.obj + -del ..\..\..\..\..\temp\csd\ta_abstract.obj + -del ..\..\..\..\..\temp\csd\ta_def_ui.obj + -del ..\..\..\..\..\temp\csd\ta_func_api.obj + -del ..\..\..\..\..\temp\csd\ta_group_idx.obj + -del ..\..\..\..\..\temp\csd\ta_frame.obj + -del ..\..\..\..\..\temp\csd\table_a.obj + -del ..\..\..\..\..\temp\csd\table_b.obj + -del ..\..\..\..\..\temp\csd\table_c.obj + -del ..\..\..\..\..\temp\csd\table_d.obj + -del ..\..\..\..\..\temp\csd\table_e.obj + -del ..\..\..\..\..\temp\csd\table_f.obj + -del ..\..\..\..\..\temp\csd\table_g.obj + -del ..\..\..\..\..\temp\csd\table_h.obj + -del ..\..\..\..\..\temp\csd\table_i.obj + -del ..\..\..\..\..\temp\csd\table_j.obj + -del ..\..\..\..\..\temp\csd\table_k.obj + -del ..\..\..\..\..\temp\csd\table_l.obj + -del ..\..\..\..\..\temp\csd\table_m.obj + -del ..\..\..\..\..\temp\csd\table_n.obj + -del ..\..\..\..\..\temp\csd\table_o.obj + -del ..\..\..\..\..\temp\csd\table_p.obj + -del ..\..\..\..\..\temp\csd\table_q.obj + -del ..\..\..\..\..\temp\csd\table_r.obj + -del ..\..\..\..\..\temp\csd\table_s.obj + -del ..\..\..\..\..\temp\csd\table_t.obj + -del ..\..\..\..\..\temp\csd\table_u.obj + -del ..\..\..\..\..\temp\csd\table_v.obj + -del ..\..\..\..\..\temp\csd\table_w.obj + -del ..\..\..\..\..\temp\csd\table_x.obj + -del ..\..\..\..\..\temp\csd\table_y.obj + -del ..\..\..\..\..\temp\csd\table_z.obj + -del ..\..\..\..\..\temp\csd\ta_utility.obj + -del ..\..\..\..\..\temp\csd\ta_ACOS.obj + -del ..\..\..\..\..\temp\csd\ta_AD.obj + -del ..\..\..\..\..\temp\csd\ta_ADD.obj + -del ..\..\..\..\..\temp\csd\ta_ADOSC.obj + -del ..\..\..\..\..\temp\csd\ta_ADX.obj + -del ..\..\..\..\..\temp\csd\ta_ADXR.obj + -del ..\..\..\..\..\temp\csd\ta_APO.obj + -del ..\..\..\..\..\temp\csd\ta_AROON.obj + -del ..\..\..\..\..\temp\csd\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\csd\ta_ASIN.obj + -del ..\..\..\..\..\temp\csd\ta_ATAN.obj + -del ..\..\..\..\..\temp\csd\ta_ATR.obj + -del ..\..\..\..\..\temp\csd\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_BBANDS.obj + -del ..\..\..\..\..\temp\csd\ta_BETA.obj + -del ..\..\..\..\..\temp\csd\ta_BOP.obj + -del ..\..\..\..\..\temp\csd\ta_CCI.obj + -del ..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\csd\ta_CEIL.obj + -del ..\..\..\..\..\temp\csd\ta_CMO.obj + -del ..\..\..\..\..\temp\csd\ta_CORREL.obj + -del ..\..\..\..\..\temp\csd\ta_COS.obj + -del ..\..\..\..\..\temp\csd\ta_COSH.obj + -del ..\..\..\..\..\temp\csd\ta_DEMA.obj + -del ..\..\..\..\..\temp\csd\ta_DIV.obj + -del ..\..\..\..\..\temp\csd\ta_DX.obj + -del ..\..\..\..\..\temp\csd\ta_EMA.obj + -del ..\..\..\..\..\temp\csd\ta_EXP.obj + -del ..\..\..\..\..\temp\csd\ta_FLOOR.obj + -del ..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\csd\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\csd\ta_KAMA.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\csd\ta_LN.obj + -del ..\..\..\..\..\temp\csd\ta_LOG10.obj + -del ..\..\..\..\..\temp\csd\ta_MA.obj + -del ..\..\..\..\..\temp\csd\ta_MACD.obj + -del ..\..\..\..\..\temp\csd\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\csd\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\csd\ta_MAMA.obj + -del ..\..\..\..\..\temp\csd\ta_MAVP.obj + -del ..\..\..\..\..\temp\csd\ta_MAX.obj + -del ..\..\..\..\..\temp\csd\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\csd\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_MFI.obj + -del ..\..\..\..\..\temp\csd\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\csd\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_MIN.obj + -del ..\..\..\..\..\temp\csd\ta_MININDEX.obj + -del ..\..\..\..\..\temp\csd\ta_MINMAX.obj + -del ..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\csd\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\csd\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\csd\ta_MOM.obj + -del ..\..\..\..\..\temp\csd\ta_MULT.obj + -del ..\..\..\..\..\temp\csd\ta_NATR.obj + -del ..\..\..\..\..\temp\csd\ta_OBV.obj + -del ..\..\..\..\..\temp\csd\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\csd\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\csd\ta_PPO.obj + -del ..\..\..\..\..\temp\csd\ta_ROC.obj + -del ..\..\..\..\..\temp\csd\ta_ROCP.obj + -del ..\..\..\..\..\temp\csd\ta_ROCR.obj + -del ..\..\..\..\..\temp\csd\ta_ROCR100.obj + -del ..\..\..\..\..\temp\csd\ta_RSI.obj + -del ..\..\..\..\..\temp\csd\ta_SAR.obj + -del ..\..\..\..\..\temp\csd\ta_SAREXT.obj + -del ..\..\..\..\..\temp\csd\ta_SIN.obj + -del ..\..\..\..\..\temp\csd\ta_SINH.obj + -del ..\..\..\..\..\temp\csd\ta_SMA.obj + -del ..\..\..\..\..\temp\csd\ta_SQRT.obj + -del ..\..\..\..\..\temp\csd\ta_STDDEV.obj + -del ..\..\..\..\..\temp\csd\ta_STOCH.obj + -del ..\..\..\..\..\temp\csd\ta_STOCHF.obj + -del ..\..\..\..\..\temp\csd\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\csd\ta_SUB.obj + -del ..\..\..\..\..\temp\csd\ta_SUM.obj + -del ..\..\..\..\..\temp\csd\ta_T3.obj + -del ..\..\..\..\..\temp\csd\ta_TAN.obj + -del ..\..\..\..\..\temp\csd\ta_TANH.obj + -del ..\..\..\..\..\temp\csd\ta_TEMA.obj + -del ..\..\..\..\..\temp\csd\ta_TRANGE.obj + -del ..\..\..\..\..\temp\csd\ta_TRIMA.obj + -del ..\..\..\..\..\temp\csd\ta_TRIX.obj + -del ..\..\..\..\..\temp\csd\ta_TSF.obj + -del ..\..\..\..\..\temp\csd\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\csd\ta_VAR.obj + -del ..\..\..\..\..\temp\csd\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_WILLR.obj + -del ..\..\..\..\..\temp\csd\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ta_libc_csd.pdb + -del vc*.pdb + -del ta_libc_csd.ilk + +####### Compile + +..\..\..\..\..\temp\csd\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\csd\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\csd\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + +..\..\..\..\..\temp\csd\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\csd\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\csd\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\csd\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\csd\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\csd\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\csd\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\csd\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\csd\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\csd\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\csd\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\csd\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\csd\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\csd\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\csd\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\csd\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\csd\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\csd\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\csd\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\csd\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\csd\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\csd\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\csd\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\csd\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\csd\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\csd\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\csd\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\csd\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\csd\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\csd\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\csd\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + +..\..\..\..\..\temp\csd\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\csd\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\csd\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\csd\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\csd\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\csd\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\csd\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\csd\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\csd\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\csd\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\csd\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\csd\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\csd\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\csd\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\csd\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\csd\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\csd\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\csd\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\csd\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\csd\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\csd\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\csd\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\csd\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\csd\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\csd\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\csd\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\csd\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\csd\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\csd\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\csd\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\csd\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\csd\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\csd\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\csd\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\csd\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\csd\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\csd\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\csd\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\csd\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\csd\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\csd\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\csd\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\csd\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\csd\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\csd\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\csd\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\csd\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\csd\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\csd\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\csd\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\csd\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\csd\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\csd\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\csd\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\csd\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\csd\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\csd\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\csd\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\csd\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\csd\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\csd\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\csd\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\csd\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\csd\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\csd\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\csd\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\csd\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\csd\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\csd\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\csd\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\csd\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\csd\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\csd\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\csd\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\csd\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\csd\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\csd\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\csd\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\csd\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\csd\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\csd\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\csd\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\csd\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\csd\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\csd\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\csd\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\csd\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\csd\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\csd\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\csd\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\csd\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\csd\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\csd\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/csd/win32/msvc/ta_regtest/Makefile b/vendor/ta-lib/make/csd/win32/msvc/ta_regtest/Makefile new file mode 100644 index 000000000..e3c410530 --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/msvc/ta_regtest/Makefile @@ -0,0 +1,239 @@ +############################################################################# +# Makefile for building ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -Zi -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 -D_MBCS -D_LIB +CXXFLAGS= -nologo -W3 -Zi -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 -D_MBCS -D_LIB +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\tools\ta_regtest" -I"..\..\..\..\..\src\ta_func" -I"..\..\..\..\..\include" +LINK = link +LFLAGS = /NOLOGO /DEBUG /SUBSYSTEM:console +LIBS = ..\..\..\..\..\lib\ta_libc_csd.lib +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_internals.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_util.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_data.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c +OBJECTS = ..\..\..\..\..\temp\csd\ta_regtest.obj \ + ..\..\..\..\..\temp\csd\test_candlestick.obj \ + ..\..\..\..\..\temp\csd\test_1in_1out.obj \ + ..\..\..\..\..\temp\csd\test_1in_2out.obj \ + ..\..\..\..\..\temp\csd\test_internals.obj \ + ..\..\..\..\..\temp\csd\test_adx.obj \ + ..\..\..\..\..\temp\csd\test_bbands.obj \ + ..\..\..\..\..\temp\csd\test_ma.obj \ + ..\..\..\..\..\temp\csd\test_macd.obj \ + ..\..\..\..\..\temp\csd\test_minmax.obj \ + ..\..\..\..\..\temp\csd\test_mom.obj \ + ..\..\..\..\..\temp\csd\test_per_ema.obj \ + ..\..\..\..\..\temp\csd\test_per_hl.obj \ + ..\..\..\..\..\temp\csd\test_per_hlc.obj \ + ..\..\..\..\..\temp\csd\test_per_hlcv.obj \ + ..\..\..\..\..\temp\csd\test_per_ohlc.obj \ + ..\..\..\..\..\temp\csd\test_po.obj \ + ..\..\..\..\..\temp\csd\test_rsi.obj \ + ..\..\..\..\..\temp\csd\test_sar.obj \ + ..\..\..\..\..\temp\csd\test_stddev.obj \ + ..\..\..\..\..\temp\csd\test_stoch.obj \ + ..\..\..\..\..\temp\csd\test_trange.obj \ + ..\..\..\..\..\temp\csd\test_util.obj \ + ..\..\..\..\..\temp\csd\test_data.obj \ + ..\..\..\..\..\temp\csd\test_abstract.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\ta_regtest.exe +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) $(LIBS) +<< + +moc: $(SRCMOC) + +tmake: ../csd/win32/msvc/ta_regtest/Makefile + +../csd/win32/msvc/ta_regtest/Makefile: ta_regtest/ta_regtest.pro + tmake ta_regtest/ta_regtest.pro -o ../csd/win32/msvc/ta_regtest/Makefile + +dist: + $(ZIP) ta_regtest/ta_regtest.zip ta_regtest/ta_regtest.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\csd\ta_regtest.obj + -del ..\..\..\..\..\temp\csd\test_candlestick.obj + -del ..\..\..\..\..\temp\csd\test_1in_1out.obj + -del ..\..\..\..\..\temp\csd\test_1in_2out.obj + -del ..\..\..\..\..\temp\csd\test_internals.obj + -del ..\..\..\..\..\temp\csd\test_adx.obj + -del ..\..\..\..\..\temp\csd\test_bbands.obj + -del ..\..\..\..\..\temp\csd\test_ma.obj + -del ..\..\..\..\..\temp\csd\test_macd.obj + -del ..\..\..\..\..\temp\csd\test_minmax.obj + -del ..\..\..\..\..\temp\csd\test_mom.obj + -del ..\..\..\..\..\temp\csd\test_per_ema.obj + -del ..\..\..\..\..\temp\csd\test_per_hl.obj + -del ..\..\..\..\..\temp\csd\test_per_hlc.obj + -del ..\..\..\..\..\temp\csd\test_per_hlcv.obj + -del ..\..\..\..\..\temp\csd\test_per_ohlc.obj + -del ..\..\..\..\..\temp\csd\test_po.obj + -del ..\..\..\..\..\temp\csd\test_rsi.obj + -del ..\..\..\..\..\temp\csd\test_sar.obj + -del ..\..\..\..\..\temp\csd\test_stddev.obj + -del ..\..\..\..\..\temp\csd\test_stoch.obj + -del ..\..\..\..\..\temp\csd\test_trange.obj + -del ..\..\..\..\..\temp\csd\test_util.obj + -del ..\..\..\..\..\temp\csd\test_data.obj + -del ..\..\..\..\..\temp\csd\test_abstract.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csd/*.pch + -del ../../../../../temp/csd/*.idb + -del ../../../../../temp/csd/ta_regtest/*.pch + -del ../../../../../temp/csd/ta_regtest/*.idb + -del ../../../../../temp/csd/ta_regtest/*.obj + -del ta_regtest.pdb + -del vc*.pdb + -del ta_regtest.ilk + +####### Compile + +..\..\..\..\..\temp\csd\ta_regtest.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\ta_regtest.obj ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + +..\..\..\..\..\temp\csd\test_candlestick.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\test_candlestick.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + +..\..\..\..\..\temp\csd\test_1in_1out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\test_1in_1out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + +..\..\..\..\..\temp\csd\test_1in_2out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\test_1in_2out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + +..\..\..\..\..\temp\csd\test_internals.obj: ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\test_internals.obj ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + +..\..\..\..\..\temp\csd\test_adx.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\test_adx.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + +..\..\..\..\..\temp\csd\test_bbands.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\test_bbands.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + +..\..\..\..\..\temp\csd\test_ma.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\test_ma.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + +..\..\..\..\..\temp\csd\test_macd.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\test_macd.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + +..\..\..\..\..\temp\csd\test_minmax.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\test_minmax.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + +..\..\..\..\..\temp\csd\test_mom.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\test_mom.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + +..\..\..\..\..\temp\csd\test_per_ema.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\test_per_ema.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + +..\..\..\..\..\temp\csd\test_per_hl.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\test_per_hl.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + +..\..\..\..\..\temp\csd\test_per_hlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\test_per_hlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + +..\..\..\..\..\temp\csd\test_per_hlcv.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\test_per_hlcv.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + +..\..\..\..\..\temp\csd\test_per_ohlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\test_per_ohlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + +..\..\..\..\..\temp\csd\test_po.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\test_po.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + +..\..\..\..\..\temp\csd\test_rsi.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\test_rsi.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + +..\..\..\..\..\temp\csd\test_sar.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\test_sar.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + +..\..\..\..\..\temp\csd\test_stddev.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\test_stddev.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + +..\..\..\..\..\temp\csd\test_stoch.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\test_stoch.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + +..\..\..\..\..\temp\csd\test_trange.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\test_trange.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + +..\..\..\..\..\temp\csd\test_util.obj: ..\..\..\..\..\src\tools\ta_regtest\test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\test_util.obj ..\..\..\..\..\src\tools\ta_regtest\test_util.c + +..\..\..\..\..\temp\csd\test_data.obj: ..\..\..\..\..\src\tools\ta_regtest\test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\test_data.obj ..\..\..\..\..\src\tools\ta_regtest\test_data.c + +..\..\..\..\..\temp\csd\test_abstract.obj: ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csd\test_abstract.obj ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + diff --git a/vendor/ta-lib/make/csd/win32/symantec/Makefile b/vendor/ta-lib/make/csd/win32/symantec/Makefile new file mode 100644 index 000000000..7551bc4f7 --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/symantec/Makefile @@ -0,0 +1,97 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +ta_common: FORCE + cd ta_common + $(MAKE) + @cd .. + +ta_func: FORCE + cd ta_func + $(MAKE) + @cd .. + +ta_abstract: FORCE + cd ta_abstract + $(MAKE) + @cd .. + +ta_libc: FORCE + cd ta_libc + $(MAKE) + @cd .. + +gen_code: FORCE + cd gen_code + $(MAKE) + @cd .. + +ta_regtest: FORCE + cd ta_regtest + $(MAKE) + @cd .. + + +tmake: ../csd/win32/symantec/Makefile + +../csd/win32/symantec/Makefile: rootmake.pro + tmake rootmake.pro -o ../csd/win32/symantec/Makefile + +tmake_all: + cd ta_common + $(TMAKE) ta_common.pro -o $(MAKEFILE) + @cd .. + cd ta_func + $(TMAKE) ta_func.pro -o $(MAKEFILE) + @cd .. + cd ta_abstract + $(TMAKE) ta_abstract.pro -o $(MAKEFILE) + @cd .. + cd ta_libc + $(TMAKE) ta_libc.pro -o $(MAKEFILE) + @cd .. + cd gen_code + $(TMAKE) gen_code.pro -o $(MAKEFILE) + @cd .. + cd ta_regtest + $(TMAKE) ta_regtest.pro -o $(MAKEFILE) + @cd .. + + +clean: + cd ta_common + $(MAKE) clean + @cd .. + cd ta_func + $(MAKE) clean + @cd .. + cd ta_abstract + $(MAKE) clean + @cd .. + cd ta_libc + $(MAKE) clean + @cd .. + cd gen_code + $(MAKE) clean + @cd .. + cd ta_regtest + $(MAKE) clean + @cd .. + +FORCE: diff --git a/vendor/ta-lib/make/csd/win32/symantec/gen_code/Makefile b/vendor/ta-lib/make/csd/win32/symantec/gen_code/Makefile new file mode 100644 index 000000000..efd6da26f --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/symantec/gen_code/Makefile @@ -0,0 +1,253 @@ +############################################################################# +# Makefile for building gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = sc +CXX = sc +CFLAGS = -mn -w2 -g -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 +CXXFLAGS= -mn -w2 -g -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 +INCPATH = -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" +LINK = link +LFLAGS = /NOLOGO /NOI /DEBUG /SUBSYSTEM:console +LIBS = ..\..\..\..\..\lib\ta_common_csd.lib +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\gen_code\gen_code.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\csd\gen_code\gen_code.obj \ + ..\..\..\..\..\temp\csd\gen_code\ta_abstract.obj \ + ..\..\..\..\..\temp\csd\gen_code\ta_def_ui.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_a.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_b.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_c.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_d.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_e.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_f.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_g.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_h.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_i.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_j.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_k.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_l.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_m.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_n.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_o.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_p.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_q.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_r.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_s.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_t.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_u.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_v.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_w.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_x.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_y.obj \ + ..\..\..\..\..\temp\csd\gen_code\table_z.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\gen_code.exe + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) $(OBJECTS) $(OBJMOC), $(TARGET),, $(LIBS) + +moc: $(SRCMOC) + +tmake: ../csd/win32/symantec/gen_code/Makefile + +../csd/win32/symantec/gen_code/Makefile: gen_code/gen_code.pro + tmake gen_code/gen_code.pro -o ../csd/win32/symantec/gen_code/Makefile + +dist: + $(ZIP) gen_code/gen_code.zip gen_code/gen_code.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csd\gen_code\gen_code.obj + -del ..\..\..\..\..\temp\csd\gen_code\ta_abstract.obj + -del ..\..\..\..\..\temp\csd\gen_code\ta_def_ui.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_a.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_b.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_c.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_d.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_e.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_f.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_g.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_h.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_i.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_j.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_k.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_l.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_m.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_n.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_o.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_p.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_q.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_r.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_s.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_t.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_u.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_v.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_w.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_x.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_y.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csd/*.pch + -del ../../../../../temp/csd/*.idb + -del ../../../../../temp/csd/gen_code/*.pch + -del ../../../../../temp/csd/gen_code/*.idb + -del ../../../../../temp/csd/gen_code/*.obj + +####### Compile + +..\..\..\..\..\temp\csd\gen_code\gen_code.obj: ..\..\..\..\..\src\tools\gen_code\gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\gen_code.obj ..\..\..\..\..\src\tools\gen_code\gen_code.c + +..\..\..\..\..\temp\csd\gen_code\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\csd\gen_code\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\csd\gen_code\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\csd\gen_code\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\csd\gen_code\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\csd\gen_code\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\csd\gen_code\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\csd\gen_code\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\csd\gen_code\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\csd\gen_code\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\csd\gen_code\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\csd\gen_code\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\csd\gen_code\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\csd\gen_code\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\csd\gen_code\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\csd\gen_code\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\csd\gen_code\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\csd\gen_code\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\csd\gen_code\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\csd\gen_code\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\csd\gen_code\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\csd\gen_code\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\csd\gen_code\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\csd\gen_code\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\csd\gen_code\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\csd\gen_code\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\csd\gen_code\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\csd\gen_code\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\gen_code\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/csd/win32/symantec/ta_abstract/Makefile b/vendor/ta-lib/make/csd/win32/symantec/ta_abstract/Makefile new file mode 100644 index 000000000..bc143fcc9 --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/symantec/ta_abstract/Makefile @@ -0,0 +1,295 @@ +############################################################################# +# Makefile for building ta_abstract_csd +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = sc +CXX = sc +CFLAGS = -mn -w2 -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 +CXXFLAGS= -mn -w2 -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"..\..\..\..\..\include" +LIB = lib /C /N /NOI /P:32 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\csd\ta_abstract.obj \ + ..\..\..\..\..\temp\csd\ta_def_ui.obj \ + ..\..\..\..\..\temp\csd\ta_func_api.obj \ + ..\..\..\..\..\temp\csd\ta_group_idx.obj \ + ..\..\..\..\..\temp\csd\ta_frame.obj \ + ..\..\..\..\..\temp\csd\table_a.obj \ + ..\..\..\..\..\temp\csd\table_b.obj \ + ..\..\..\..\..\temp\csd\table_c.obj \ + ..\..\..\..\..\temp\csd\table_d.obj \ + ..\..\..\..\..\temp\csd\table_e.obj \ + ..\..\..\..\..\temp\csd\table_f.obj \ + ..\..\..\..\..\temp\csd\table_g.obj \ + ..\..\..\..\..\temp\csd\table_h.obj \ + ..\..\..\..\..\temp\csd\table_i.obj \ + ..\..\..\..\..\temp\csd\table_j.obj \ + ..\..\..\..\..\temp\csd\table_k.obj \ + ..\..\..\..\..\temp\csd\table_l.obj \ + ..\..\..\..\..\temp\csd\table_m.obj \ + ..\..\..\..\..\temp\csd\table_n.obj \ + ..\..\..\..\..\temp\csd\table_o.obj \ + ..\..\..\..\..\temp\csd\table_p.obj \ + ..\..\..\..\..\temp\csd\table_q.obj \ + ..\..\..\..\..\temp\csd\table_r.obj \ + ..\..\..\..\..\temp\csd\table_s.obj \ + ..\..\..\..\..\temp\csd\table_t.obj \ + ..\..\..\..\..\temp\csd\table_u.obj \ + ..\..\..\..\..\temp\csd\table_v.obj \ + ..\..\..\..\..\temp\csd\table_w.obj \ + ..\..\..\..\..\temp\csd\table_x.obj \ + ..\..\..\..\..\temp\csd\table_y.obj \ + ..\..\..\..\..\temp\csd\table_z.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_abstract_csd.lib + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) ..\..\..\..\..\temp\csd\ta_abstract.obj \ ++..\..\..\..\..\temp\csd\ta_def_ui.obj \ ++..\..\..\..\..\temp\csd\ta_func_api.obj \ ++..\..\..\..\..\temp\csd\ta_group_idx.obj \ ++..\..\..\..\..\temp\csd\ta_frame.obj \ ++..\..\..\..\..\temp\csd\table_a.obj \ ++..\..\..\..\..\temp\csd\table_b.obj \ ++..\..\..\..\..\temp\csd\table_c.obj \ ++..\..\..\..\..\temp\csd\table_d.obj \ ++..\..\..\..\..\temp\csd\table_e.obj \ ++..\..\..\..\..\temp\csd\table_f.obj \ ++..\..\..\..\..\temp\csd\table_g.obj \ ++..\..\..\..\..\temp\csd\table_h.obj \ ++..\..\..\..\..\temp\csd\table_i.obj \ ++..\..\..\..\..\temp\csd\table_j.obj \ ++..\..\..\..\..\temp\csd\table_k.obj \ ++..\..\..\..\..\temp\csd\table_l.obj \ ++..\..\..\..\..\temp\csd\table_m.obj \ ++..\..\..\..\..\temp\csd\table_n.obj \ ++..\..\..\..\..\temp\csd\table_o.obj \ ++..\..\..\..\..\temp\csd\table_p.obj \ ++..\..\..\..\..\temp\csd\table_q.obj \ ++..\..\..\..\..\temp\csd\table_r.obj \ ++..\..\..\..\..\temp\csd\table_s.obj \ ++..\..\..\..\..\temp\csd\table_t.obj \ ++..\..\..\..\..\temp\csd\table_u.obj \ ++..\..\..\..\..\temp\csd\table_v.obj \ ++..\..\..\..\..\temp\csd\table_w.obj \ ++..\..\..\..\..\temp\csd\table_x.obj \ ++..\..\..\..\..\temp\csd\table_y.obj \ ++..\..\..\..\..\temp\csd\table_z.obj \ ++,; + +moc: $(SRCMOC) + +tmake: ../csd/win32/symantec/ta_abstract/Makefile + +../csd/win32/symantec/ta_abstract/Makefile: ta_abstract/ta_abstract.pro + tmake ta_abstract/ta_abstract.pro -o ../csd/win32/symantec/ta_abstract/Makefile + +dist: + $(ZIP) ta_abstract/ta_abstract.zip ta_abstract/ta_abstract.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csd\ta_abstract.obj + -del ..\..\..\..\..\temp\csd\ta_def_ui.obj + -del ..\..\..\..\..\temp\csd\ta_func_api.obj + -del ..\..\..\..\..\temp\csd\ta_group_idx.obj + -del ..\..\..\..\..\temp\csd\ta_frame.obj + -del ..\..\..\..\..\temp\csd\table_a.obj + -del ..\..\..\..\..\temp\csd\table_b.obj + -del ..\..\..\..\..\temp\csd\table_c.obj + -del ..\..\..\..\..\temp\csd\table_d.obj + -del ..\..\..\..\..\temp\csd\table_e.obj + -del ..\..\..\..\..\temp\csd\table_f.obj + -del ..\..\..\..\..\temp\csd\table_g.obj + -del ..\..\..\..\..\temp\csd\table_h.obj + -del ..\..\..\..\..\temp\csd\table_i.obj + -del ..\..\..\..\..\temp\csd\table_j.obj + -del ..\..\..\..\..\temp\csd\table_k.obj + -del ..\..\..\..\..\temp\csd\table_l.obj + -del ..\..\..\..\..\temp\csd\table_m.obj + -del ..\..\..\..\..\temp\csd\table_n.obj + -del ..\..\..\..\..\temp\csd\table_o.obj + -del ..\..\..\..\..\temp\csd\table_p.obj + -del ..\..\..\..\..\temp\csd\table_q.obj + -del ..\..\..\..\..\temp\csd\table_r.obj + -del ..\..\..\..\..\temp\csd\table_s.obj + -del ..\..\..\..\..\temp\csd\table_t.obj + -del ..\..\..\..\..\temp\csd\table_u.obj + -del ..\..\..\..\..\temp\csd\table_v.obj + -del ..\..\..\..\..\temp\csd\table_w.obj + -del ..\..\..\..\..\temp\csd\table_x.obj + -del ..\..\..\..\..\temp\csd\table_y.obj + -del ..\..\..\..\..\temp\csd\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csd/*.pch + -del ../../../../../temp/csd/*.idb + -del ../../../../../temp/csd/ta_abstract/*.pch + -del ../../../../../temp/csd/ta_abstract/*.idb + -del ../../../../../temp/csd/ta_abstract/*.obj + +####### Compile + +..\..\..\..\..\temp\csd\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\csd\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\csd\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\csd\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\csd\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\csd\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\csd\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\csd\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\csd\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\csd\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\csd\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\csd\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\csd\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\csd\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\csd\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\csd\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\csd\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\csd\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\csd\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\csd\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\csd\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\csd\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\csd\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\csd\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\csd\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\csd\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\csd\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\csd\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\csd\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\csd\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\csd\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/csd/win32/symantec/ta_common/Makefile b/vendor/ta-lib/make/csd/win32/symantec/ta_common/Makefile new file mode 100644 index 000000000..8d6b37e85 --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/symantec/ta_common/Makefile @@ -0,0 +1,99 @@ +############################################################################# +# Makefile for building ta_common_csd +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = sc +CXX = sc +CFLAGS = -mn -w2 -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 +CXXFLAGS= -mn -w2 -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" +LIB = lib /C /N /NOI /P:32 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c +OBJECTS = ..\..\..\..\..\temp\csd\ta_global.obj \ + ..\..\..\..\..\temp\csd\ta_retcode.obj \ + ..\..\..\..\..\temp\csd\ta_version.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_common_csd.lib + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) ..\..\..\..\..\temp\csd\ta_global.obj \ ++..\..\..\..\..\temp\csd\ta_retcode.obj \ ++..\..\..\..\..\temp\csd\ta_version.obj \ ++,; + +moc: $(SRCMOC) + +tmake: ../csd/win32/symantec/ta_common/Makefile + +../csd/win32/symantec/ta_common/Makefile: ta_common/ta_common.pro + tmake ta_common/ta_common.pro -o ../csd/win32/symantec/ta_common/Makefile + +dist: + $(ZIP) ta_common/ta_common.zip ta_common/ta_common.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csd\ta_global.obj + -del ..\..\..\..\..\temp\csd\ta_retcode.obj + -del ..\..\..\..\..\temp\csd\ta_version.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csd/*.pch + -del ../../../../../temp/csd/*.idb + -del ../../../../../temp/csd/ta_common_csd/*.pch + -del ../../../../../temp/csd/ta_common_csd/*.idb + -del ../../../../../temp/csd/ta_common_csd/*.obj + +####### Compile + +..\..\..\..\..\temp\csd\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\csd\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\csd\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + diff --git a/vendor/ta-lib/make/csd/win32/symantec/ta_func/Makefile b/vendor/ta-lib/make/csd/win32/symantec/ta_func/Makefile new file mode 100644 index 000000000..657e82a29 --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/symantec/ta_func/Makefile @@ -0,0 +1,1191 @@ +############################################################################# +# Makefile for building ta_func_csd +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = sc +CXX = sc +CFLAGS = -mn -w2 -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 +CXXFLAGS= -mn -w2 -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"\n" -I"..\..\..\..\..\include" +LIB = lib /C /N /NOI /P:32 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\csd\ta_utility.obj \ + ..\..\..\..\..\temp\csd\ta_ACOS.obj \ + ..\..\..\..\..\temp\csd\ta_AD.obj \ + ..\..\..\..\..\temp\csd\ta_ADD.obj \ + ..\..\..\..\..\temp\csd\ta_ADOSC.obj \ + ..\..\..\..\..\temp\csd\ta_ADX.obj \ + ..\..\..\..\..\temp\csd\ta_ADXR.obj \ + ..\..\..\..\..\temp\csd\ta_APO.obj \ + ..\..\..\..\..\temp\csd\ta_AROON.obj \ + ..\..\..\..\..\temp\csd\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\csd\ta_ASIN.obj \ + ..\..\..\..\..\temp\csd\ta_ATAN.obj \ + ..\..\..\..\..\temp\csd\ta_ATR.obj \ + ..\..\..\..\..\temp\csd\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_BBANDS.obj \ + ..\..\..\..\..\temp\csd\ta_BETA.obj \ + ..\..\..\..\..\temp\csd\ta_BOP.obj \ + ..\..\..\..\..\temp\csd\ta_CCI.obj \ + ..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\csd\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\csd\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\csd\ta_CEIL.obj \ + ..\..\..\..\..\temp\csd\ta_CMO.obj \ + ..\..\..\..\..\temp\csd\ta_CORREL.obj \ + ..\..\..\..\..\temp\csd\ta_COS.obj \ + ..\..\..\..\..\temp\csd\ta_COSH.obj \ + ..\..\..\..\..\temp\csd\ta_DEMA.obj \ + ..\..\..\..\..\temp\csd\ta_DIV.obj \ + ..\..\..\..\..\temp\csd\ta_DX.obj \ + ..\..\..\..\..\temp\csd\ta_EMA.obj \ + ..\..\..\..\..\temp\csd\ta_EXP.obj \ + ..\..\..\..\..\temp\csd\ta_FLOOR.obj \ + ..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\csd\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\csd\ta_KAMA.obj \ + ..\..\..\..\..\temp\csd\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\csd\ta_LN.obj \ + ..\..\..\..\..\temp\csd\ta_LOG10.obj \ + ..\..\..\..\..\temp\csd\ta_MA.obj \ + ..\..\..\..\..\temp\csd\ta_MACD.obj \ + ..\..\..\..\..\temp\csd\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\csd\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\csd\ta_MAMA.obj \ + ..\..\..\..\..\temp\csd\ta_MAVP.obj \ + ..\..\..\..\..\temp\csd\ta_MAX.obj \ + ..\..\..\..\..\temp\csd\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\csd\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_MFI.obj \ + ..\..\..\..\..\temp\csd\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\csd\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_MIN.obj \ + ..\..\..\..\..\temp\csd\ta_MININDEX.obj \ + ..\..\..\..\..\temp\csd\ta_MINMAX.obj \ + ..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\csd\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\csd\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\csd\ta_MOM.obj \ + ..\..\..\..\..\temp\csd\ta_MULT.obj \ + ..\..\..\..\..\temp\csd\ta_NATR.obj \ + ..\..\..\..\..\temp\csd\ta_OBV.obj \ + ..\..\..\..\..\temp\csd\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\csd\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\csd\ta_PPO.obj \ + ..\..\..\..\..\temp\csd\ta_ROC.obj \ + ..\..\..\..\..\temp\csd\ta_ROCP.obj \ + ..\..\..\..\..\temp\csd\ta_ROCR.obj \ + ..\..\..\..\..\temp\csd\ta_ROCR100.obj \ + ..\..\..\..\..\temp\csd\ta_RSI.obj \ + ..\..\..\..\..\temp\csd\ta_SAR.obj \ + ..\..\..\..\..\temp\csd\ta_SAREXT.obj \ + ..\..\..\..\..\temp\csd\ta_SIN.obj \ + ..\..\..\..\..\temp\csd\ta_SINH.obj \ + ..\..\..\..\..\temp\csd\ta_SMA.obj \ + ..\..\..\..\..\temp\csd\ta_SQRT.obj \ + ..\..\..\..\..\temp\csd\ta_STDDEV.obj \ + ..\..\..\..\..\temp\csd\ta_STOCH.obj \ + ..\..\..\..\..\temp\csd\ta_STOCHF.obj \ + ..\..\..\..\..\temp\csd\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\csd\ta_SUB.obj \ + ..\..\..\..\..\temp\csd\ta_SUM.obj \ + ..\..\..\..\..\temp\csd\ta_T3.obj \ + ..\..\..\..\..\temp\csd\ta_TAN.obj \ + ..\..\..\..\..\temp\csd\ta_TANH.obj \ + ..\..\..\..\..\temp\csd\ta_TEMA.obj \ + ..\..\..\..\..\temp\csd\ta_TRANGE.obj \ + ..\..\..\..\..\temp\csd\ta_TRIMA.obj \ + ..\..\..\..\..\temp\csd\ta_TRIX.obj \ + ..\..\..\..\..\temp\csd\ta_TSF.obj \ + ..\..\..\..\..\temp\csd\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\csd\ta_VAR.obj \ + ..\..\..\..\..\temp\csd\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_WILLR.obj \ + ..\..\..\..\..\temp\csd\ta_WMA.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_func_csd.lib + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) ..\..\..\..\..\temp\csd\ta_utility.obj \ ++..\..\..\..\..\temp\csd\ta_ACOS.obj \ ++..\..\..\..\..\temp\csd\ta_AD.obj \ ++..\..\..\..\..\temp\csd\ta_ADD.obj \ ++..\..\..\..\..\temp\csd\ta_ADOSC.obj \ ++..\..\..\..\..\temp\csd\ta_ADX.obj \ ++..\..\..\..\..\temp\csd\ta_ADXR.obj \ ++..\..\..\..\..\temp\csd\ta_APO.obj \ ++..\..\..\..\..\temp\csd\ta_AROON.obj \ ++..\..\..\..\..\temp\csd\ta_AROONOSC.obj \ ++..\..\..\..\..\temp\csd\ta_ASIN.obj \ ++..\..\..\..\..\temp\csd\ta_ATAN.obj \ ++..\..\..\..\..\temp\csd\ta_ATR.obj \ ++..\..\..\..\..\temp\csd\ta_AVGPRICE.obj \ ++..\..\..\..\..\temp\csd\ta_BBANDS.obj \ ++..\..\..\..\..\temp\csd\ta_BETA.obj \ ++..\..\..\..\..\temp\csd\ta_BOP.obj \ ++..\..\..\..\..\temp\csd\ta_CCI.obj \ ++..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj \ ++..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj \ ++..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj \ ++..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj \ ++..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj \ ++..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj \ ++..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj \ ++..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj \ ++..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj \ ++..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj \ ++..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj \ ++..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj \ ++..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj \ ++..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj \ ++..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj \ ++..\..\..\..\..\temp\csd\ta_CDLDOJI.obj \ ++..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj \ ++..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj \ ++..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj \ ++..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj \ ++..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj \ ++..\..\..\..\..\temp\csd\ta_CDLINNECK.obj \ ++..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj \ ++..\..\..\..\..\temp\csd\ta_CDLKICKING.obj \ ++..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj \ ++..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj \ ++..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj \ ++..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj \ ++..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj \ ++..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj \ ++..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj \ ++..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLONNECK.obj \ ++..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj \ ++..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj \ ++..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj \ ++..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj \ ++..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj \ ++..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj \ ++..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj \ ++..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj \ ++..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj \ ++..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj \ ++..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj \ ++..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj \ ++..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj \ ++..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj \ ++..\..\..\..\..\temp\csd\ta_CEIL.obj \ ++..\..\..\..\..\temp\csd\ta_CMO.obj \ ++..\..\..\..\..\temp\csd\ta_CORREL.obj \ ++..\..\..\..\..\temp\csd\ta_COS.obj \ ++..\..\..\..\..\temp\csd\ta_COSH.obj \ ++..\..\..\..\..\temp\csd\ta_DEMA.obj \ ++..\..\..\..\..\temp\csd\ta_DIV.obj \ ++..\..\..\..\..\temp\csd\ta_DX.obj \ ++..\..\..\..\..\temp\csd\ta_EMA.obj \ ++..\..\..\..\..\temp\csd\ta_EXP.obj \ ++..\..\..\..\..\temp\csd\ta_FLOOR.obj \ ++..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj \ ++..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj \ ++..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj \ ++..\..\..\..\..\temp\csd\ta_HT_SINE.obj \ ++..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj \ ++..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj \ ++..\..\..\..\..\temp\csd\ta_KAMA.obj \ ++..\..\..\..\..\temp\csd\ta_LINEARREG.obj \ ++..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj \ ++..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj \ ++..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj \ ++..\..\..\..\..\temp\csd\ta_LN.obj \ ++..\..\..\..\..\temp\csd\ta_LOG10.obj \ ++..\..\..\..\..\temp\csd\ta_MA.obj \ ++..\..\..\..\..\temp\csd\ta_MACD.obj \ ++..\..\..\..\..\temp\csd\ta_MACDEXT.obj \ ++..\..\..\..\..\temp\csd\ta_MACDFIX.obj \ ++..\..\..\..\..\temp\csd\ta_MAMA.obj \ ++..\..\..\..\..\temp\csd\ta_MAVP.obj \ ++..\..\..\..\..\temp\csd\ta_MAX.obj \ ++..\..\..\..\..\temp\csd\ta_MAXINDEX.obj \ ++..\..\..\..\..\temp\csd\ta_MEDPRICE.obj \ ++..\..\..\..\..\temp\csd\ta_MFI.obj \ ++..\..\..\..\..\temp\csd\ta_MIDPOINT.obj \ ++..\..\..\..\..\temp\csd\ta_MIDPRICE.obj \ ++..\..\..\..\..\temp\csd\ta_MIN.obj \ ++..\..\..\..\..\temp\csd\ta_MININDEX.obj \ ++..\..\..\..\..\temp\csd\ta_MINMAX.obj \ ++..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj \ ++..\..\..\..\..\temp\csd\ta_MINUS_DI.obj \ ++..\..\..\..\..\temp\csd\ta_MINUS_DM.obj \ ++..\..\..\..\..\temp\csd\ta_MOM.obj \ ++..\..\..\..\..\temp\csd\ta_MULT.obj \ ++..\..\..\..\..\temp\csd\ta_NATR.obj \ ++..\..\..\..\..\temp\csd\ta_OBV.obj \ ++..\..\..\..\..\temp\csd\ta_PLUS_DI.obj \ ++..\..\..\..\..\temp\csd\ta_PLUS_DM.obj \ ++..\..\..\..\..\temp\csd\ta_PPO.obj \ ++..\..\..\..\..\temp\csd\ta_ROC.obj \ ++..\..\..\..\..\temp\csd\ta_ROCP.obj \ ++..\..\..\..\..\temp\csd\ta_ROCR.obj \ ++..\..\..\..\..\temp\csd\ta_ROCR100.obj \ ++..\..\..\..\..\temp\csd\ta_RSI.obj \ ++..\..\..\..\..\temp\csd\ta_SAR.obj \ ++..\..\..\..\..\temp\csd\ta_SAREXT.obj \ ++..\..\..\..\..\temp\csd\ta_SIN.obj \ ++..\..\..\..\..\temp\csd\ta_SINH.obj \ ++..\..\..\..\..\temp\csd\ta_SMA.obj \ ++..\..\..\..\..\temp\csd\ta_SQRT.obj \ ++..\..\..\..\..\temp\csd\ta_STDDEV.obj \ ++..\..\..\..\..\temp\csd\ta_STOCH.obj \ ++..\..\..\..\..\temp\csd\ta_STOCHF.obj \ ++..\..\..\..\..\temp\csd\ta_STOCHRSI.obj \ ++..\..\..\..\..\temp\csd\ta_SUB.obj \ ++..\..\..\..\..\temp\csd\ta_SUM.obj \ ++..\..\..\..\..\temp\csd\ta_T3.obj \ ++..\..\..\..\..\temp\csd\ta_TAN.obj \ ++..\..\..\..\..\temp\csd\ta_TANH.obj \ ++..\..\..\..\..\temp\csd\ta_TEMA.obj \ ++..\..\..\..\..\temp\csd\ta_TRANGE.obj \ ++..\..\..\..\..\temp\csd\ta_TRIMA.obj \ ++..\..\..\..\..\temp\csd\ta_TRIX.obj \ ++..\..\..\..\..\temp\csd\ta_TSF.obj \ ++..\..\..\..\..\temp\csd\ta_TYPPRICE.obj \ ++..\..\..\..\..\temp\csd\ta_ULTOSC.obj \ ++..\..\..\..\..\temp\csd\ta_VAR.obj \ ++..\..\..\..\..\temp\csd\ta_WCLPRICE.obj \ ++..\..\..\..\..\temp\csd\ta_WILLR.obj \ ++..\..\..\..\..\temp\csd\ta_WMA.obj \ ++,; + +moc: $(SRCMOC) + +tmake: ../csd/win32/symantec/ta_func/Makefile + +../csd/win32/symantec/ta_func/Makefile: ta_func/ta_func.pro + tmake ta_func/ta_func.pro -o ../csd/win32/symantec/ta_func/Makefile + +dist: + $(ZIP) ta_func/ta_func.zip ta_func/ta_func.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csd\ta_utility.obj + -del ..\..\..\..\..\temp\csd\ta_ACOS.obj + -del ..\..\..\..\..\temp\csd\ta_AD.obj + -del ..\..\..\..\..\temp\csd\ta_ADD.obj + -del ..\..\..\..\..\temp\csd\ta_ADOSC.obj + -del ..\..\..\..\..\temp\csd\ta_ADX.obj + -del ..\..\..\..\..\temp\csd\ta_ADXR.obj + -del ..\..\..\..\..\temp\csd\ta_APO.obj + -del ..\..\..\..\..\temp\csd\ta_AROON.obj + -del ..\..\..\..\..\temp\csd\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\csd\ta_ASIN.obj + -del ..\..\..\..\..\temp\csd\ta_ATAN.obj + -del ..\..\..\..\..\temp\csd\ta_ATR.obj + -del ..\..\..\..\..\temp\csd\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_BBANDS.obj + -del ..\..\..\..\..\temp\csd\ta_BETA.obj + -del ..\..\..\..\..\temp\csd\ta_BOP.obj + -del ..\..\..\..\..\temp\csd\ta_CCI.obj + -del ..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\csd\ta_CEIL.obj + -del ..\..\..\..\..\temp\csd\ta_CMO.obj + -del ..\..\..\..\..\temp\csd\ta_CORREL.obj + -del ..\..\..\..\..\temp\csd\ta_COS.obj + -del ..\..\..\..\..\temp\csd\ta_COSH.obj + -del ..\..\..\..\..\temp\csd\ta_DEMA.obj + -del ..\..\..\..\..\temp\csd\ta_DIV.obj + -del ..\..\..\..\..\temp\csd\ta_DX.obj + -del ..\..\..\..\..\temp\csd\ta_EMA.obj + -del ..\..\..\..\..\temp\csd\ta_EXP.obj + -del ..\..\..\..\..\temp\csd\ta_FLOOR.obj + -del ..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\csd\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\csd\ta_KAMA.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\csd\ta_LN.obj + -del ..\..\..\..\..\temp\csd\ta_LOG10.obj + -del ..\..\..\..\..\temp\csd\ta_MA.obj + -del ..\..\..\..\..\temp\csd\ta_MACD.obj + -del ..\..\..\..\..\temp\csd\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\csd\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\csd\ta_MAMA.obj + -del ..\..\..\..\..\temp\csd\ta_MAVP.obj + -del ..\..\..\..\..\temp\csd\ta_MAX.obj + -del ..\..\..\..\..\temp\csd\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\csd\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_MFI.obj + -del ..\..\..\..\..\temp\csd\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\csd\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_MIN.obj + -del ..\..\..\..\..\temp\csd\ta_MININDEX.obj + -del ..\..\..\..\..\temp\csd\ta_MINMAX.obj + -del ..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\csd\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\csd\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\csd\ta_MOM.obj + -del ..\..\..\..\..\temp\csd\ta_MULT.obj + -del ..\..\..\..\..\temp\csd\ta_NATR.obj + -del ..\..\..\..\..\temp\csd\ta_OBV.obj + -del ..\..\..\..\..\temp\csd\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\csd\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\csd\ta_PPO.obj + -del ..\..\..\..\..\temp\csd\ta_ROC.obj + -del ..\..\..\..\..\temp\csd\ta_ROCP.obj + -del ..\..\..\..\..\temp\csd\ta_ROCR.obj + -del ..\..\..\..\..\temp\csd\ta_ROCR100.obj + -del ..\..\..\..\..\temp\csd\ta_RSI.obj + -del ..\..\..\..\..\temp\csd\ta_SAR.obj + -del ..\..\..\..\..\temp\csd\ta_SAREXT.obj + -del ..\..\..\..\..\temp\csd\ta_SIN.obj + -del ..\..\..\..\..\temp\csd\ta_SINH.obj + -del ..\..\..\..\..\temp\csd\ta_SMA.obj + -del ..\..\..\..\..\temp\csd\ta_SQRT.obj + -del ..\..\..\..\..\temp\csd\ta_STDDEV.obj + -del ..\..\..\..\..\temp\csd\ta_STOCH.obj + -del ..\..\..\..\..\temp\csd\ta_STOCHF.obj + -del ..\..\..\..\..\temp\csd\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\csd\ta_SUB.obj + -del ..\..\..\..\..\temp\csd\ta_SUM.obj + -del ..\..\..\..\..\temp\csd\ta_T3.obj + -del ..\..\..\..\..\temp\csd\ta_TAN.obj + -del ..\..\..\..\..\temp\csd\ta_TANH.obj + -del ..\..\..\..\..\temp\csd\ta_TEMA.obj + -del ..\..\..\..\..\temp\csd\ta_TRANGE.obj + -del ..\..\..\..\..\temp\csd\ta_TRIMA.obj + -del ..\..\..\..\..\temp\csd\ta_TRIX.obj + -del ..\..\..\..\..\temp\csd\ta_TSF.obj + -del ..\..\..\..\..\temp\csd\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\csd\ta_VAR.obj + -del ..\..\..\..\..\temp\csd\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_WILLR.obj + -del ..\..\..\..\..\temp\csd\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csd/*.pch + -del ../../../../../temp/csd/*.idb + -del ../../../../../temp/csd/ta_func/*.pch + -del ../../../../../temp/csd/ta_func/*.idb + -del ../../../../../temp/csd/ta_func/*.obj + +####### Compile + +..\..\..\..\..\temp\csd\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\csd\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\csd\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\csd\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\csd\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\csd\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\csd\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\csd\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\csd\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\csd\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\csd\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\csd\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\csd\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\csd\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\csd\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\csd\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\csd\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\csd\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\csd\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\csd\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\csd\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\csd\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\csd\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\csd\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\csd\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\csd\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\csd\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\csd\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\csd\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\csd\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\csd\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\csd\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\csd\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\csd\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\csd\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\csd\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\csd\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\csd\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\csd\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\csd\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\csd\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\csd\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\csd\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\csd\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\csd\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\csd\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\csd\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\csd\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\csd\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\csd\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\csd\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\csd\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\csd\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\csd\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\csd\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\csd\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\csd\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\csd\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\csd\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\csd\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\csd\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\csd\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\csd\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\csd\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\csd\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\csd\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\csd\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\csd\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\csd\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\csd\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\csd\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\csd\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\csd\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\csd\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\csd\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\csd\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\csd\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\csd\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\csd\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\csd\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\csd\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\csd\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\csd\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\csd\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\csd\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\csd\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\csd\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\csd\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\csd\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\csd\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\csd\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\csd\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\csd\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/csd/win32/symantec/ta_libc/Makefile b/vendor/ta-lib/make/csd/win32/symantec/ta_libc/Makefile new file mode 100644 index 000000000..47be13581 --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/symantec/ta_libc/Makefile @@ -0,0 +1,1424 @@ +############################################################################# +# Makefile for building ta_libc_csd +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = sc +CXX = sc +CFLAGS = -mn -w2 -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 +CXXFLAGS= -mn -w2 -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"$(QTDIR)\include" +LIB = lib /C /N /NOI /P:32 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c \ + ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\csd\ta_global.obj \ + ..\..\..\..\..\temp\csd\ta_retcode.obj \ + ..\..\..\..\..\temp\csd\ta_version.obj \ + ..\..\..\..\..\temp\csd\ta_abstract.obj \ + ..\..\..\..\..\temp\csd\ta_def_ui.obj \ + ..\..\..\..\..\temp\csd\ta_func_api.obj \ + ..\..\..\..\..\temp\csd\ta_group_idx.obj \ + ..\..\..\..\..\temp\csd\ta_frame.obj \ + ..\..\..\..\..\temp\csd\table_a.obj \ + ..\..\..\..\..\temp\csd\table_b.obj \ + ..\..\..\..\..\temp\csd\table_c.obj \ + ..\..\..\..\..\temp\csd\table_d.obj \ + ..\..\..\..\..\temp\csd\table_e.obj \ + ..\..\..\..\..\temp\csd\table_f.obj \ + ..\..\..\..\..\temp\csd\table_g.obj \ + ..\..\..\..\..\temp\csd\table_h.obj \ + ..\..\..\..\..\temp\csd\table_i.obj \ + ..\..\..\..\..\temp\csd\table_j.obj \ + ..\..\..\..\..\temp\csd\table_k.obj \ + ..\..\..\..\..\temp\csd\table_l.obj \ + ..\..\..\..\..\temp\csd\table_m.obj \ + ..\..\..\..\..\temp\csd\table_n.obj \ + ..\..\..\..\..\temp\csd\table_o.obj \ + ..\..\..\..\..\temp\csd\table_p.obj \ + ..\..\..\..\..\temp\csd\table_q.obj \ + ..\..\..\..\..\temp\csd\table_r.obj \ + ..\..\..\..\..\temp\csd\table_s.obj \ + ..\..\..\..\..\temp\csd\table_t.obj \ + ..\..\..\..\..\temp\csd\table_u.obj \ + ..\..\..\..\..\temp\csd\table_v.obj \ + ..\..\..\..\..\temp\csd\table_w.obj \ + ..\..\..\..\..\temp\csd\table_x.obj \ + ..\..\..\..\..\temp\csd\table_y.obj \ + ..\..\..\..\..\temp\csd\table_z.obj \ + ..\..\..\..\..\temp\csd\ta_utility.obj \ + ..\..\..\..\..\temp\csd\ta_ACOS.obj \ + ..\..\..\..\..\temp\csd\ta_AD.obj \ + ..\..\..\..\..\temp\csd\ta_ADD.obj \ + ..\..\..\..\..\temp\csd\ta_ADOSC.obj \ + ..\..\..\..\..\temp\csd\ta_ADX.obj \ + ..\..\..\..\..\temp\csd\ta_ADXR.obj \ + ..\..\..\..\..\temp\csd\ta_APO.obj \ + ..\..\..\..\..\temp\csd\ta_AROON.obj \ + ..\..\..\..\..\temp\csd\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\csd\ta_ASIN.obj \ + ..\..\..\..\..\temp\csd\ta_ATAN.obj \ + ..\..\..\..\..\temp\csd\ta_ATR.obj \ + ..\..\..\..\..\temp\csd\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_BBANDS.obj \ + ..\..\..\..\..\temp\csd\ta_BETA.obj \ + ..\..\..\..\..\temp\csd\ta_BOP.obj \ + ..\..\..\..\..\temp\csd\ta_CCI.obj \ + ..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\csd\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\csd\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\csd\ta_CEIL.obj \ + ..\..\..\..\..\temp\csd\ta_CMO.obj \ + ..\..\..\..\..\temp\csd\ta_CORREL.obj \ + ..\..\..\..\..\temp\csd\ta_COS.obj \ + ..\..\..\..\..\temp\csd\ta_COSH.obj \ + ..\..\..\..\..\temp\csd\ta_DEMA.obj \ + ..\..\..\..\..\temp\csd\ta_DIV.obj \ + ..\..\..\..\..\temp\csd\ta_DX.obj \ + ..\..\..\..\..\temp\csd\ta_EMA.obj \ + ..\..\..\..\..\temp\csd\ta_EXP.obj \ + ..\..\..\..\..\temp\csd\ta_FLOOR.obj \ + ..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\csd\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\csd\ta_KAMA.obj \ + ..\..\..\..\..\temp\csd\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\csd\ta_LN.obj \ + ..\..\..\..\..\temp\csd\ta_LOG10.obj \ + ..\..\..\..\..\temp\csd\ta_MA.obj \ + ..\..\..\..\..\temp\csd\ta_MACD.obj \ + ..\..\..\..\..\temp\csd\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\csd\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\csd\ta_MAMA.obj \ + ..\..\..\..\..\temp\csd\ta_MAVP.obj \ + ..\..\..\..\..\temp\csd\ta_MAX.obj \ + ..\..\..\..\..\temp\csd\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\csd\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_MFI.obj \ + ..\..\..\..\..\temp\csd\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\csd\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_MIN.obj \ + ..\..\..\..\..\temp\csd\ta_MININDEX.obj \ + ..\..\..\..\..\temp\csd\ta_MINMAX.obj \ + ..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\csd\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\csd\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\csd\ta_MOM.obj \ + ..\..\..\..\..\temp\csd\ta_MULT.obj \ + ..\..\..\..\..\temp\csd\ta_NATR.obj \ + ..\..\..\..\..\temp\csd\ta_OBV.obj \ + ..\..\..\..\..\temp\csd\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\csd\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\csd\ta_PPO.obj \ + ..\..\..\..\..\temp\csd\ta_ROC.obj \ + ..\..\..\..\..\temp\csd\ta_ROCP.obj \ + ..\..\..\..\..\temp\csd\ta_ROCR.obj \ + ..\..\..\..\..\temp\csd\ta_ROCR100.obj \ + ..\..\..\..\..\temp\csd\ta_RSI.obj \ + ..\..\..\..\..\temp\csd\ta_SAR.obj \ + ..\..\..\..\..\temp\csd\ta_SAREXT.obj \ + ..\..\..\..\..\temp\csd\ta_SIN.obj \ + ..\..\..\..\..\temp\csd\ta_SINH.obj \ + ..\..\..\..\..\temp\csd\ta_SMA.obj \ + ..\..\..\..\..\temp\csd\ta_SQRT.obj \ + ..\..\..\..\..\temp\csd\ta_STDDEV.obj \ + ..\..\..\..\..\temp\csd\ta_STOCH.obj \ + ..\..\..\..\..\temp\csd\ta_STOCHF.obj \ + ..\..\..\..\..\temp\csd\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\csd\ta_SUB.obj \ + ..\..\..\..\..\temp\csd\ta_SUM.obj \ + ..\..\..\..\..\temp\csd\ta_T3.obj \ + ..\..\..\..\..\temp\csd\ta_TAN.obj \ + ..\..\..\..\..\temp\csd\ta_TANH.obj \ + ..\..\..\..\..\temp\csd\ta_TEMA.obj \ + ..\..\..\..\..\temp\csd\ta_TRANGE.obj \ + ..\..\..\..\..\temp\csd\ta_TRIMA.obj \ + ..\..\..\..\..\temp\csd\ta_TRIX.obj \ + ..\..\..\..\..\temp\csd\ta_TSF.obj \ + ..\..\..\..\..\temp\csd\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\csd\ta_VAR.obj \ + ..\..\..\..\..\temp\csd\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\csd\ta_WILLR.obj \ + ..\..\..\..\..\temp\csd\ta_WMA.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_libc_csd.lib + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) ..\..\..\..\..\temp\csd\ta_global.obj \ ++..\..\..\..\..\temp\csd\ta_retcode.obj \ ++..\..\..\..\..\temp\csd\ta_version.obj \ ++..\..\..\..\..\temp\csd\ta_abstract.obj \ ++..\..\..\..\..\temp\csd\ta_def_ui.obj \ ++..\..\..\..\..\temp\csd\ta_func_api.obj \ ++..\..\..\..\..\temp\csd\ta_group_idx.obj \ ++..\..\..\..\..\temp\csd\ta_frame.obj \ ++..\..\..\..\..\temp\csd\table_a.obj \ ++..\..\..\..\..\temp\csd\table_b.obj \ ++..\..\..\..\..\temp\csd\table_c.obj \ ++..\..\..\..\..\temp\csd\table_d.obj \ ++..\..\..\..\..\temp\csd\table_e.obj \ ++..\..\..\..\..\temp\csd\table_f.obj \ ++..\..\..\..\..\temp\csd\table_g.obj \ ++..\..\..\..\..\temp\csd\table_h.obj \ ++..\..\..\..\..\temp\csd\table_i.obj \ ++..\..\..\..\..\temp\csd\table_j.obj \ ++..\..\..\..\..\temp\csd\table_k.obj \ ++..\..\..\..\..\temp\csd\table_l.obj \ ++..\..\..\..\..\temp\csd\table_m.obj \ ++..\..\..\..\..\temp\csd\table_n.obj \ ++..\..\..\..\..\temp\csd\table_o.obj \ ++..\..\..\..\..\temp\csd\table_p.obj \ ++..\..\..\..\..\temp\csd\table_q.obj \ ++..\..\..\..\..\temp\csd\table_r.obj \ ++..\..\..\..\..\temp\csd\table_s.obj \ ++..\..\..\..\..\temp\csd\table_t.obj \ ++..\..\..\..\..\temp\csd\table_u.obj \ ++..\..\..\..\..\temp\csd\table_v.obj \ ++..\..\..\..\..\temp\csd\table_w.obj \ ++..\..\..\..\..\temp\csd\table_x.obj \ ++..\..\..\..\..\temp\csd\table_y.obj \ ++..\..\..\..\..\temp\csd\table_z.obj \ ++..\..\..\..\..\temp\csd\ta_utility.obj \ ++..\..\..\..\..\temp\csd\ta_ACOS.obj \ ++..\..\..\..\..\temp\csd\ta_AD.obj \ ++..\..\..\..\..\temp\csd\ta_ADD.obj \ ++..\..\..\..\..\temp\csd\ta_ADOSC.obj \ ++..\..\..\..\..\temp\csd\ta_ADX.obj \ ++..\..\..\..\..\temp\csd\ta_ADXR.obj \ ++..\..\..\..\..\temp\csd\ta_APO.obj \ ++..\..\..\..\..\temp\csd\ta_AROON.obj \ ++..\..\..\..\..\temp\csd\ta_AROONOSC.obj \ ++..\..\..\..\..\temp\csd\ta_ASIN.obj \ ++..\..\..\..\..\temp\csd\ta_ATAN.obj \ ++..\..\..\..\..\temp\csd\ta_ATR.obj \ ++..\..\..\..\..\temp\csd\ta_AVGPRICE.obj \ ++..\..\..\..\..\temp\csd\ta_BBANDS.obj \ ++..\..\..\..\..\temp\csd\ta_BETA.obj \ ++..\..\..\..\..\temp\csd\ta_BOP.obj \ ++..\..\..\..\..\temp\csd\ta_CCI.obj \ ++..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj \ ++..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj \ ++..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj \ ++..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj \ ++..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj \ ++..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj \ ++..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj \ ++..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj \ ++..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj \ ++..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj \ ++..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj \ ++..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj \ ++..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj \ ++..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj \ ++..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj \ ++..\..\..\..\..\temp\csd\ta_CDLDOJI.obj \ ++..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj \ ++..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj \ ++..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj \ ++..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj \ ++..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj \ ++..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj \ ++..\..\..\..\..\temp\csd\ta_CDLINNECK.obj \ ++..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj \ ++..\..\..\..\..\temp\csd\ta_CDLKICKING.obj \ ++..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj \ ++..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj \ ++..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj \ ++..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj \ ++..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj \ ++..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj \ ++..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj \ ++..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLONNECK.obj \ ++..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj \ ++..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj \ ++..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj \ ++..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj \ ++..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj \ ++..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj \ ++..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj \ ++..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj \ ++..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj \ ++..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj \ ++..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj \ ++..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj \ ++..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj \ ++..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj \ ++..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj \ ++..\..\..\..\..\temp\csd\ta_CEIL.obj \ ++..\..\..\..\..\temp\csd\ta_CMO.obj \ ++..\..\..\..\..\temp\csd\ta_CORREL.obj \ ++..\..\..\..\..\temp\csd\ta_COS.obj \ ++..\..\..\..\..\temp\csd\ta_COSH.obj \ ++..\..\..\..\..\temp\csd\ta_DEMA.obj \ ++..\..\..\..\..\temp\csd\ta_DIV.obj \ ++..\..\..\..\..\temp\csd\ta_DX.obj \ ++..\..\..\..\..\temp\csd\ta_EMA.obj \ ++..\..\..\..\..\temp\csd\ta_EXP.obj \ ++..\..\..\..\..\temp\csd\ta_FLOOR.obj \ ++..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj \ ++..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj \ ++..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj \ ++..\..\..\..\..\temp\csd\ta_HT_SINE.obj \ ++..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj \ ++..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj \ ++..\..\..\..\..\temp\csd\ta_KAMA.obj \ ++..\..\..\..\..\temp\csd\ta_LINEARREG.obj \ ++..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj \ ++..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj \ ++..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj \ ++..\..\..\..\..\temp\csd\ta_LN.obj \ ++..\..\..\..\..\temp\csd\ta_LOG10.obj \ ++..\..\..\..\..\temp\csd\ta_MA.obj \ ++..\..\..\..\..\temp\csd\ta_MACD.obj \ ++..\..\..\..\..\temp\csd\ta_MACDEXT.obj \ ++..\..\..\..\..\temp\csd\ta_MACDFIX.obj \ ++..\..\..\..\..\temp\csd\ta_MAMA.obj \ ++..\..\..\..\..\temp\csd\ta_MAVP.obj \ ++..\..\..\..\..\temp\csd\ta_MAX.obj \ ++..\..\..\..\..\temp\csd\ta_MAXINDEX.obj \ ++..\..\..\..\..\temp\csd\ta_MEDPRICE.obj \ ++..\..\..\..\..\temp\csd\ta_MFI.obj \ ++..\..\..\..\..\temp\csd\ta_MIDPOINT.obj \ ++..\..\..\..\..\temp\csd\ta_MIDPRICE.obj \ ++..\..\..\..\..\temp\csd\ta_MIN.obj \ ++..\..\..\..\..\temp\csd\ta_MININDEX.obj \ ++..\..\..\..\..\temp\csd\ta_MINMAX.obj \ ++..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj \ ++..\..\..\..\..\temp\csd\ta_MINUS_DI.obj \ ++..\..\..\..\..\temp\csd\ta_MINUS_DM.obj \ ++..\..\..\..\..\temp\csd\ta_MOM.obj \ ++..\..\..\..\..\temp\csd\ta_MULT.obj \ ++..\..\..\..\..\temp\csd\ta_NATR.obj \ ++..\..\..\..\..\temp\csd\ta_OBV.obj \ ++..\..\..\..\..\temp\csd\ta_PLUS_DI.obj \ ++..\..\..\..\..\temp\csd\ta_PLUS_DM.obj \ ++..\..\..\..\..\temp\csd\ta_PPO.obj \ ++..\..\..\..\..\temp\csd\ta_ROC.obj \ ++..\..\..\..\..\temp\csd\ta_ROCP.obj \ ++..\..\..\..\..\temp\csd\ta_ROCR.obj \ ++..\..\..\..\..\temp\csd\ta_ROCR100.obj \ ++..\..\..\..\..\temp\csd\ta_RSI.obj \ ++..\..\..\..\..\temp\csd\ta_SAR.obj \ ++..\..\..\..\..\temp\csd\ta_SAREXT.obj \ ++..\..\..\..\..\temp\csd\ta_SIN.obj \ ++..\..\..\..\..\temp\csd\ta_SINH.obj \ ++..\..\..\..\..\temp\csd\ta_SMA.obj \ ++..\..\..\..\..\temp\csd\ta_SQRT.obj \ ++..\..\..\..\..\temp\csd\ta_STDDEV.obj \ ++..\..\..\..\..\temp\csd\ta_STOCH.obj \ ++..\..\..\..\..\temp\csd\ta_STOCHF.obj \ ++..\..\..\..\..\temp\csd\ta_STOCHRSI.obj \ ++..\..\..\..\..\temp\csd\ta_SUB.obj \ ++..\..\..\..\..\temp\csd\ta_SUM.obj \ ++..\..\..\..\..\temp\csd\ta_T3.obj \ ++..\..\..\..\..\temp\csd\ta_TAN.obj \ ++..\..\..\..\..\temp\csd\ta_TANH.obj \ ++..\..\..\..\..\temp\csd\ta_TEMA.obj \ ++..\..\..\..\..\temp\csd\ta_TRANGE.obj \ ++..\..\..\..\..\temp\csd\ta_TRIMA.obj \ ++..\..\..\..\..\temp\csd\ta_TRIX.obj \ ++..\..\..\..\..\temp\csd\ta_TSF.obj \ ++..\..\..\..\..\temp\csd\ta_TYPPRICE.obj \ ++..\..\..\..\..\temp\csd\ta_ULTOSC.obj \ ++..\..\..\..\..\temp\csd\ta_VAR.obj \ ++..\..\..\..\..\temp\csd\ta_WCLPRICE.obj \ ++..\..\..\..\..\temp\csd\ta_WILLR.obj \ ++..\..\..\..\..\temp\csd\ta_WMA.obj \ ++,; + +moc: $(SRCMOC) + +tmake: ../csd/win32/symantec/ta_libc/Makefile + +../csd/win32/symantec/ta_libc/Makefile: ta_libc/ta_libc.pro + tmake ta_libc/ta_libc.pro -o ../csd/win32/symantec/ta_libc/Makefile + +dist: + $(ZIP) ta_libc/ta_libc.zip ta_libc/ta_libc.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csd\ta_global.obj + -del ..\..\..\..\..\temp\csd\ta_retcode.obj + -del ..\..\..\..\..\temp\csd\ta_version.obj + -del ..\..\..\..\..\temp\csd\ta_abstract.obj + -del ..\..\..\..\..\temp\csd\ta_def_ui.obj + -del ..\..\..\..\..\temp\csd\ta_func_api.obj + -del ..\..\..\..\..\temp\csd\ta_group_idx.obj + -del ..\..\..\..\..\temp\csd\ta_frame.obj + -del ..\..\..\..\..\temp\csd\table_a.obj + -del ..\..\..\..\..\temp\csd\table_b.obj + -del ..\..\..\..\..\temp\csd\table_c.obj + -del ..\..\..\..\..\temp\csd\table_d.obj + -del ..\..\..\..\..\temp\csd\table_e.obj + -del ..\..\..\..\..\temp\csd\table_f.obj + -del ..\..\..\..\..\temp\csd\table_g.obj + -del ..\..\..\..\..\temp\csd\table_h.obj + -del ..\..\..\..\..\temp\csd\table_i.obj + -del ..\..\..\..\..\temp\csd\table_j.obj + -del ..\..\..\..\..\temp\csd\table_k.obj + -del ..\..\..\..\..\temp\csd\table_l.obj + -del ..\..\..\..\..\temp\csd\table_m.obj + -del ..\..\..\..\..\temp\csd\table_n.obj + -del ..\..\..\..\..\temp\csd\table_o.obj + -del ..\..\..\..\..\temp\csd\table_p.obj + -del ..\..\..\..\..\temp\csd\table_q.obj + -del ..\..\..\..\..\temp\csd\table_r.obj + -del ..\..\..\..\..\temp\csd\table_s.obj + -del ..\..\..\..\..\temp\csd\table_t.obj + -del ..\..\..\..\..\temp\csd\table_u.obj + -del ..\..\..\..\..\temp\csd\table_v.obj + -del ..\..\..\..\..\temp\csd\table_w.obj + -del ..\..\..\..\..\temp\csd\table_x.obj + -del ..\..\..\..\..\temp\csd\table_y.obj + -del ..\..\..\..\..\temp\csd\table_z.obj + -del ..\..\..\..\..\temp\csd\ta_utility.obj + -del ..\..\..\..\..\temp\csd\ta_ACOS.obj + -del ..\..\..\..\..\temp\csd\ta_AD.obj + -del ..\..\..\..\..\temp\csd\ta_ADD.obj + -del ..\..\..\..\..\temp\csd\ta_ADOSC.obj + -del ..\..\..\..\..\temp\csd\ta_ADX.obj + -del ..\..\..\..\..\temp\csd\ta_ADXR.obj + -del ..\..\..\..\..\temp\csd\ta_APO.obj + -del ..\..\..\..\..\temp\csd\ta_AROON.obj + -del ..\..\..\..\..\temp\csd\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\csd\ta_ASIN.obj + -del ..\..\..\..\..\temp\csd\ta_ATAN.obj + -del ..\..\..\..\..\temp\csd\ta_ATR.obj + -del ..\..\..\..\..\temp\csd\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_BBANDS.obj + -del ..\..\..\..\..\temp\csd\ta_BETA.obj + -del ..\..\..\..\..\temp\csd\ta_BOP.obj + -del ..\..\..\..\..\temp\csd\ta_CCI.obj + -del ..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\csd\ta_CEIL.obj + -del ..\..\..\..\..\temp\csd\ta_CMO.obj + -del ..\..\..\..\..\temp\csd\ta_CORREL.obj + -del ..\..\..\..\..\temp\csd\ta_COS.obj + -del ..\..\..\..\..\temp\csd\ta_COSH.obj + -del ..\..\..\..\..\temp\csd\ta_DEMA.obj + -del ..\..\..\..\..\temp\csd\ta_DIV.obj + -del ..\..\..\..\..\temp\csd\ta_DX.obj + -del ..\..\..\..\..\temp\csd\ta_EMA.obj + -del ..\..\..\..\..\temp\csd\ta_EXP.obj + -del ..\..\..\..\..\temp\csd\ta_FLOOR.obj + -del ..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\csd\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\csd\ta_KAMA.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\csd\ta_LN.obj + -del ..\..\..\..\..\temp\csd\ta_LOG10.obj + -del ..\..\..\..\..\temp\csd\ta_MA.obj + -del ..\..\..\..\..\temp\csd\ta_MACD.obj + -del ..\..\..\..\..\temp\csd\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\csd\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\csd\ta_MAMA.obj + -del ..\..\..\..\..\temp\csd\ta_MAVP.obj + -del ..\..\..\..\..\temp\csd\ta_MAX.obj + -del ..\..\..\..\..\temp\csd\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\csd\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_MFI.obj + -del ..\..\..\..\..\temp\csd\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\csd\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_MIN.obj + -del ..\..\..\..\..\temp\csd\ta_MININDEX.obj + -del ..\..\..\..\..\temp\csd\ta_MINMAX.obj + -del ..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\csd\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\csd\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\csd\ta_MOM.obj + -del ..\..\..\..\..\temp\csd\ta_MULT.obj + -del ..\..\..\..\..\temp\csd\ta_NATR.obj + -del ..\..\..\..\..\temp\csd\ta_OBV.obj + -del ..\..\..\..\..\temp\csd\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\csd\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\csd\ta_PPO.obj + -del ..\..\..\..\..\temp\csd\ta_ROC.obj + -del ..\..\..\..\..\temp\csd\ta_ROCP.obj + -del ..\..\..\..\..\temp\csd\ta_ROCR.obj + -del ..\..\..\..\..\temp\csd\ta_ROCR100.obj + -del ..\..\..\..\..\temp\csd\ta_RSI.obj + -del ..\..\..\..\..\temp\csd\ta_SAR.obj + -del ..\..\..\..\..\temp\csd\ta_SAREXT.obj + -del ..\..\..\..\..\temp\csd\ta_SIN.obj + -del ..\..\..\..\..\temp\csd\ta_SINH.obj + -del ..\..\..\..\..\temp\csd\ta_SMA.obj + -del ..\..\..\..\..\temp\csd\ta_SQRT.obj + -del ..\..\..\..\..\temp\csd\ta_STDDEV.obj + -del ..\..\..\..\..\temp\csd\ta_STOCH.obj + -del ..\..\..\..\..\temp\csd\ta_STOCHF.obj + -del ..\..\..\..\..\temp\csd\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\csd\ta_SUB.obj + -del ..\..\..\..\..\temp\csd\ta_SUM.obj + -del ..\..\..\..\..\temp\csd\ta_T3.obj + -del ..\..\..\..\..\temp\csd\ta_TAN.obj + -del ..\..\..\..\..\temp\csd\ta_TANH.obj + -del ..\..\..\..\..\temp\csd\ta_TEMA.obj + -del ..\..\..\..\..\temp\csd\ta_TRANGE.obj + -del ..\..\..\..\..\temp\csd\ta_TRIMA.obj + -del ..\..\..\..\..\temp\csd\ta_TRIX.obj + -del ..\..\..\..\..\temp\csd\ta_TSF.obj + -del ..\..\..\..\..\temp\csd\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\csd\ta_VAR.obj + -del ..\..\..\..\..\temp\csd\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_WILLR.obj + -del ..\..\..\..\..\temp\csd\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + +####### Compile + +..\..\..\..\..\temp\csd\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\csd\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\csd\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + +..\..\..\..\..\temp\csd\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\csd\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\csd\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\csd\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\csd\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\csd\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\csd\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\csd\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\csd\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\csd\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\csd\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\csd\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\csd\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\csd\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\csd\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\csd\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\csd\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\csd\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\csd\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\csd\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\csd\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\csd\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\csd\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\csd\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\csd\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\csd\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\csd\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\csd\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\csd\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\csd\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\csd\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + +..\..\..\..\..\temp\csd\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\csd\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\csd\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\csd\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\csd\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\csd\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\csd\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\csd\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\csd\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\csd\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\csd\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\csd\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\csd\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\csd\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\csd\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\csd\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\csd\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\csd\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\csd\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\csd\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\csd\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\csd\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\csd\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\csd\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\csd\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\csd\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\csd\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\csd\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\csd\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\csd\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\csd\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\csd\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\csd\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\csd\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\csd\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\csd\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\csd\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\csd\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\csd\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\csd\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\csd\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\csd\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\csd\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\csd\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\csd\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\csd\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\csd\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\csd\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\csd\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\csd\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\csd\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\csd\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\csd\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\csd\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\csd\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\csd\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\csd\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\csd\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\csd\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\csd\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\csd\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\csd\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\csd\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\csd\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\csd\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\csd\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\csd\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\csd\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\csd\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\csd\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\csd\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\csd\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\csd\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\csd\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\csd\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\csd\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\csd\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\csd\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\csd\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\csd\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\csd\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\csd\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\csd\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\csd\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\csd\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\csd\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\csd\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\csd\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\csd\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\csd\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\csd\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\csd\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\csd\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/csd/win32/symantec/ta_regtest/Makefile b/vendor/ta-lib/make/csd/win32/symantec/ta_regtest/Makefile new file mode 100644 index 000000000..2a1b06da0 --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/symantec/ta_regtest/Makefile @@ -0,0 +1,229 @@ +############################################################################# +# Makefile for building ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = sc +CXX = sc +CFLAGS = -mn -w2 -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 +CXXFLAGS= -mn -w2 -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\tools\ta_regtest" -I"..\..\..\..\..\src\ta_func" -I"..\..\..\..\..\include" +LINK = link +LFLAGS = /NOLOGO /NOI /DEBUG /SUBSYSTEM:console +LIBS = ..\..\..\..\..\lib\ta_libc_csd.lib +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_internals.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_util.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_data.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c +OBJECTS = ..\..\..\..\..\temp\csd\ta_regtest.obj \ + ..\..\..\..\..\temp\csd\test_candlestick.obj \ + ..\..\..\..\..\temp\csd\test_1in_1out.obj \ + ..\..\..\..\..\temp\csd\test_1in_2out.obj \ + ..\..\..\..\..\temp\csd\test_internals.obj \ + ..\..\..\..\..\temp\csd\test_adx.obj \ + ..\..\..\..\..\temp\csd\test_bbands.obj \ + ..\..\..\..\..\temp\csd\test_ma.obj \ + ..\..\..\..\..\temp\csd\test_macd.obj \ + ..\..\..\..\..\temp\csd\test_minmax.obj \ + ..\..\..\..\..\temp\csd\test_mom.obj \ + ..\..\..\..\..\temp\csd\test_per_ema.obj \ + ..\..\..\..\..\temp\csd\test_per_hl.obj \ + ..\..\..\..\..\temp\csd\test_per_hlc.obj \ + ..\..\..\..\..\temp\csd\test_per_hlcv.obj \ + ..\..\..\..\..\temp\csd\test_per_ohlc.obj \ + ..\..\..\..\..\temp\csd\test_po.obj \ + ..\..\..\..\..\temp\csd\test_rsi.obj \ + ..\..\..\..\..\temp\csd\test_sar.obj \ + ..\..\..\..\..\temp\csd\test_stddev.obj \ + ..\..\..\..\..\temp\csd\test_stoch.obj \ + ..\..\..\..\..\temp\csd\test_trange.obj \ + ..\..\..\..\..\temp\csd\test_util.obj \ + ..\..\..\..\..\temp\csd\test_data.obj \ + ..\..\..\..\..\temp\csd\test_abstract.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\ta_regtest.exe + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) $(OBJECTS) $(OBJMOC), $(TARGET),, $(LIBS) + +moc: $(SRCMOC) + +tmake: ../csd/win32/symantec/ta_regtest/Makefile + +../csd/win32/symantec/ta_regtest/Makefile: ta_regtest/ta_regtest.pro + tmake ta_regtest/ta_regtest.pro -o ../csd/win32/symantec/ta_regtest/Makefile + +dist: + $(ZIP) ta_regtest/ta_regtest.zip ta_regtest/ta_regtest.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csd\ta_regtest.obj + -del ..\..\..\..\..\temp\csd\test_candlestick.obj + -del ..\..\..\..\..\temp\csd\test_1in_1out.obj + -del ..\..\..\..\..\temp\csd\test_1in_2out.obj + -del ..\..\..\..\..\temp\csd\test_internals.obj + -del ..\..\..\..\..\temp\csd\test_adx.obj + -del ..\..\..\..\..\temp\csd\test_bbands.obj + -del ..\..\..\..\..\temp\csd\test_ma.obj + -del ..\..\..\..\..\temp\csd\test_macd.obj + -del ..\..\..\..\..\temp\csd\test_minmax.obj + -del ..\..\..\..\..\temp\csd\test_mom.obj + -del ..\..\..\..\..\temp\csd\test_per_ema.obj + -del ..\..\..\..\..\temp\csd\test_per_hl.obj + -del ..\..\..\..\..\temp\csd\test_per_hlc.obj + -del ..\..\..\..\..\temp\csd\test_per_hlcv.obj + -del ..\..\..\..\..\temp\csd\test_per_ohlc.obj + -del ..\..\..\..\..\temp\csd\test_po.obj + -del ..\..\..\..\..\temp\csd\test_rsi.obj + -del ..\..\..\..\..\temp\csd\test_sar.obj + -del ..\..\..\..\..\temp\csd\test_stddev.obj + -del ..\..\..\..\..\temp\csd\test_stoch.obj + -del ..\..\..\..\..\temp\csd\test_trange.obj + -del ..\..\..\..\..\temp\csd\test_util.obj + -del ..\..\..\..\..\temp\csd\test_data.obj + -del ..\..\..\..\..\temp\csd\test_abstract.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csd/*.pch + -del ../../../../../temp/csd/*.idb + -del ../../../../../temp/csd/ta_regtest/*.pch + -del ../../../../../temp/csd/ta_regtest/*.idb + -del ../../../../../temp/csd/ta_regtest/*.obj + +####### Compile + +..\..\..\..\..\temp\csd\ta_regtest.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\ta_regtest.obj ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + +..\..\..\..\..\temp\csd\test_candlestick.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_candlestick.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + +..\..\..\..\..\temp\csd\test_1in_1out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_1in_1out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + +..\..\..\..\..\temp\csd\test_1in_2out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_1in_2out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + +..\..\..\..\..\temp\csd\test_internals.obj: ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_internals.obj ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + +..\..\..\..\..\temp\csd\test_adx.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_adx.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + +..\..\..\..\..\temp\csd\test_bbands.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_bbands.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + +..\..\..\..\..\temp\csd\test_ma.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_ma.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + +..\..\..\..\..\temp\csd\test_macd.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_macd.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + +..\..\..\..\..\temp\csd\test_minmax.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_minmax.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + +..\..\..\..\..\temp\csd\test_mom.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_mom.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + +..\..\..\..\..\temp\csd\test_per_ema.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_per_ema.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + +..\..\..\..\..\temp\csd\test_per_hl.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_per_hl.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + +..\..\..\..\..\temp\csd\test_per_hlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_per_hlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + +..\..\..\..\..\temp\csd\test_per_hlcv.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_per_hlcv.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + +..\..\..\..\..\temp\csd\test_per_ohlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_per_ohlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + +..\..\..\..\..\temp\csd\test_po.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_po.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + +..\..\..\..\..\temp\csd\test_rsi.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_rsi.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + +..\..\..\..\..\temp\csd\test_sar.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_sar.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + +..\..\..\..\..\temp\csd\test_stddev.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_stddev.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + +..\..\..\..\..\temp\csd\test_stoch.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_stoch.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + +..\..\..\..\..\temp\csd\test_trange.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_trange.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + +..\..\..\..\..\temp\csd\test_util.obj: ..\..\..\..\..\src\tools\ta_regtest\test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_util.obj ..\..\..\..\..\src\tools\ta_regtest\test_util.c + +..\..\..\..\..\temp\csd\test_data.obj: ..\..\..\..\..\src\tools\ta_regtest\test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_data.obj ..\..\..\..\..\src\tools\ta_regtest\test_data.c + +..\..\..\..\..\temp\csd\test_abstract.obj: ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csd\test_abstract.obj ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + diff --git a/vendor/ta-lib/make/csd/win32/watcom/Makefile b/vendor/ta-lib/make/csd/win32/watcom/Makefile new file mode 100644 index 000000000..37e08bee6 --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/watcom/Makefile @@ -0,0 +1,97 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +ta_common: FORCE + cd ta_common + $(MAKE) + @cd .. + +ta_func: FORCE + cd ta_func + $(MAKE) + @cd .. + +ta_abstract: FORCE + cd ta_abstract + $(MAKE) + @cd .. + +ta_libc: FORCE + cd ta_libc + $(MAKE) + @cd .. + +gen_code: FORCE + cd gen_code + $(MAKE) + @cd .. + +ta_regtest: FORCE + cd ta_regtest + $(MAKE) + @cd .. + + +tmake: ../csd/win32/watcom/Makefile + +../csd/win32/watcom/Makefile: rootmake.pro + tmake rootmake.pro -o ../csd/win32/watcom/Makefile + +tmake_all: + cd ta_common + $(TMAKE) ta_common.pro -o $(MAKEFILE) + @cd .. + cd ta_func + $(TMAKE) ta_func.pro -o $(MAKEFILE) + @cd .. + cd ta_abstract + $(TMAKE) ta_abstract.pro -o $(MAKEFILE) + @cd .. + cd ta_libc + $(TMAKE) ta_libc.pro -o $(MAKEFILE) + @cd .. + cd gen_code + $(TMAKE) gen_code.pro -o $(MAKEFILE) + @cd .. + cd ta_regtest + $(TMAKE) ta_regtest.pro -o $(MAKEFILE) + @cd .. + + +clean: + cd ta_common + $(MAKE) clean + @cd .. + cd ta_func + $(MAKE) clean + @cd .. + cd ta_abstract + $(MAKE) clean + @cd .. + cd ta_libc + $(MAKE) clean + @cd .. + cd gen_code + $(MAKE) clean + @cd .. + cd ta_regtest + $(MAKE) clean + @cd .. + +FORCE: diff --git a/vendor/ta-lib/make/csd/win32/watcom/gen_code/Makefile b/vendor/ta-lib/make/csd/win32/watcom/gen_code/Makefile new file mode 100644 index 000000000..16a31235f --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/watcom/gen_code/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = wcl386 +CXX = wcl386 +CFLAGS = -zq -w2 -d2 -d=TA_GEN_CODE -d=TA_DEBUG -d=_DEBUG -d=TA_SINGLE_THREAD -d=WIN32 +CXXFLAGS= -zq -w2 -d2 -d=TA_GEN_CODE -d=TA_DEBUG -d=_DEBUG -d=TA_SINGLE_THREAD -d=WIN32 +INCPATH = -i="..\..\..\..\..\include" -i="..\..\..\..\..\src\ta_common" -i="..\..\..\..\..\src\ta_abstract" -i="..\..\..\..\..\src\ta_abstract\tables" -i="..\..\..\..\..\src\ta_abstract\frames" +LINK = wlink +LFLAGS = op quiet op c d all sys nt +LIBS = ..\..\..\..\..\lib\ta_common_csd.lib +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\gen_code\gen_code.c & + ..\..\..\..\..\src\ta_abstract\ta_abstract.c & + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c & + ..\..\..\..\..\src\ta_abstract\tables\table_a.c & + ..\..\..\..\..\src\ta_abstract\tables\table_b.c & + ..\..\..\..\..\src\ta_abstract\tables\table_c.c & + ..\..\..\..\..\src\ta_abstract\tables\table_d.c & + ..\..\..\..\..\src\ta_abstract\tables\table_e.c & + ..\..\..\..\..\src\ta_abstract\tables\table_f.c & + ..\..\..\..\..\src\ta_abstract\tables\table_g.c & + ..\..\..\..\..\src\ta_abstract\tables\table_h.c & + ..\..\..\..\..\src\ta_abstract\tables\table_i.c & + ..\..\..\..\..\src\ta_abstract\tables\table_j.c & + ..\..\..\..\..\src\ta_abstract\tables\table_k.c & + ..\..\..\..\..\src\ta_abstract\tables\table_l.c & + ..\..\..\..\..\src\ta_abstract\tables\table_m.c & + ..\..\..\..\..\src\ta_abstract\tables\table_n.c & + ..\..\..\..\..\src\ta_abstract\tables\table_o.c & + ..\..\..\..\..\src\ta_abstract\tables\table_p.c & + ..\..\..\..\..\src\ta_abstract\tables\table_q.c & + ..\..\..\..\..\src\ta_abstract\tables\table_r.c & + ..\..\..\..\..\src\ta_abstract\tables\table_s.c & + ..\..\..\..\..\src\ta_abstract\tables\table_t.c & + ..\..\..\..\..\src\ta_abstract\tables\table_u.c & + ..\..\..\..\..\src\ta_abstract\tables\table_v.c & + ..\..\..\..\..\src\ta_abstract\tables\table_w.c & + ..\..\..\..\..\src\ta_abstract\tables\table_x.c & + ..\..\..\..\..\src\ta_abstract\tables\table_y.c & + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\csd\gen_code\gen_code.obj & + ..\..\..\..\..\temp\csd\gen_code\ta_abstract.obj & + ..\..\..\..\..\temp\csd\gen_code\ta_def_ui.obj & + ..\..\..\..\..\temp\csd\gen_code\table_a.obj & + ..\..\..\..\..\temp\csd\gen_code\table_b.obj & + ..\..\..\..\..\temp\csd\gen_code\table_c.obj & + ..\..\..\..\..\temp\csd\gen_code\table_d.obj & + ..\..\..\..\..\temp\csd\gen_code\table_e.obj & + ..\..\..\..\..\temp\csd\gen_code\table_f.obj & + ..\..\..\..\..\temp\csd\gen_code\table_g.obj & + ..\..\..\..\..\temp\csd\gen_code\table_h.obj & + ..\..\..\..\..\temp\csd\gen_code\table_i.obj & + ..\..\..\..\..\temp\csd\gen_code\table_j.obj & + ..\..\..\..\..\temp\csd\gen_code\table_k.obj & + ..\..\..\..\..\temp\csd\gen_code\table_l.obj & + ..\..\..\..\..\temp\csd\gen_code\table_m.obj & + ..\..\..\..\..\temp\csd\gen_code\table_n.obj & + ..\..\..\..\..\temp\csd\gen_code\table_o.obj & + ..\..\..\..\..\temp\csd\gen_code\table_p.obj & + ..\..\..\..\..\temp\csd\gen_code\table_q.obj & + ..\..\..\..\..\temp\csd\gen_code\table_r.obj & + ..\..\..\..\..\temp\csd\gen_code\table_s.obj & + ..\..\..\..\..\temp\csd\gen_code\table_t.obj & + ..\..\..\..\..\temp\csd\gen_code\table_u.obj & + ..\..\..\..\..\temp\csd\gen_code\table_v.obj & + ..\..\..\..\..\temp\csd\gen_code\table_w.obj & + ..\..\..\..\..\temp\csd\gen_code\table_x.obj & + ..\..\..\..\..\temp\csd\gen_code\table_y.obj & + ..\..\..\..\..\temp\csd\gen_code\table_z.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\gen_code.exe +TMPLIST = gen_code.lst + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + @%create $(TMPLIST) + @%append $(TMPLIST) NAME gen_code + @%append $(TMPLIST) FIL ..\..\..\..\..\temp\csd\gen_code\gen_code.obj,..\..\..\..\..\temp\csd\gen_code\ta_abstract.obj,..\..\..\..\..\temp\csd\gen_code\ta_def_ui.obj,..\..\..\..\..\temp\csd\gen_code\table_a.obj,..\..\..\..\..\temp\csd\gen_code\table_b.obj,..\..\..\..\..\temp\csd\gen_code\table_c.obj,..\..\..\..\..\temp\csd\gen_code\table_d.obj,..\..\..\..\..\temp\csd\gen_code\table_e.obj,..\..\..\..\..\temp\csd\gen_code\table_f.obj,..\..\..\..\..\temp\csd\gen_code\table_g.obj,..\..\..\..\..\temp\csd\gen_code\table_h.obj,..\..\..\..\..\temp\csd\gen_code\table_i.obj,..\..\..\..\..\temp\csd\gen_code\table_j.obj,..\..\..\..\..\temp\csd\gen_code\table_k.obj,..\..\..\..\..\temp\csd\gen_code\table_l.obj,..\..\..\..\..\temp\csd\gen_code\table_m.obj,..\..\..\..\..\temp\csd\gen_code\table_n.obj,..\..\..\..\..\temp\csd\gen_code\table_o.obj,..\..\..\..\..\temp\csd\gen_code\table_p.obj,..\..\..\..\..\temp\csd\gen_code\table_q.obj,..\..\..\..\..\temp\csd\gen_code\table_r.obj,..\..\..\..\..\temp\csd\gen_code\table_s.obj,..\..\..\..\..\temp\csd\gen_code\table_t.obj,..\..\..\..\..\temp\csd\gen_code\table_u.obj,..\..\..\..\..\temp\csd\gen_code\table_v.obj,..\..\..\..\..\temp\csd\gen_code\table_w.obj,..\..\..\..\..\temp\csd\gen_code\table_x.obj,..\..\..\..\..\temp\csd\gen_code\table_y.obj,..\..\..\..\..\temp\csd\gen_code\table_z.obj + @%append $(TMPLIST) LIBR ..\..\..\..\..\lib\ta_common_csd.lib + $(LINK) $(LFLAGS) @$(TMPLIST) + del $(TMPLIST) + +moc: $(SRCMOC) + +tmake: ../csd/win32/watcom/gen_code/Makefile + +../csd/win32/watcom/gen_code/Makefile: gen_code/gen_code.pro + tmake gen_code/gen_code.pro -o ../csd/win32/watcom/gen_code/Makefile + +dist: + $(ZIP) gen_code/gen_code.zip gen_code/gen_code.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csd\gen_code\gen_code.obj + -del ..\..\..\..\..\temp\csd\gen_code\ta_abstract.obj + -del ..\..\..\..\..\temp\csd\gen_code\ta_def_ui.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_a.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_b.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_c.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_d.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_e.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_f.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_g.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_h.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_i.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_j.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_k.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_l.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_m.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_n.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_o.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_p.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_q.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_r.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_s.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_t.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_u.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_v.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_w.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_x.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_y.obj + -del ..\..\..\..\..\temp\csd\gen_code\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csd/*.pch + -del ../../../../../temp/csd/*.idb + -del ../../../../../temp/csd/gen_code/*.pch + -del ../../../../../temp/csd/gen_code/*.idb + -del ../../../../../temp/csd/gen_code/*.obj + +####### Compile + +..\..\..\..\..\temp\csd\gen_code\gen_code.obj: ..\..\..\..\..\src\tools\gen_code\gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\gen_code.obj ..\..\..\..\..\src\tools\gen_code\gen_code.c + +..\..\..\..\..\temp\csd\gen_code\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\csd\gen_code\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\csd\gen_code\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\csd\gen_code\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\csd\gen_code\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\csd\gen_code\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\csd\gen_code\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\csd\gen_code\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\csd\gen_code\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\csd\gen_code\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\csd\gen_code\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\csd\gen_code\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\csd\gen_code\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\csd\gen_code\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\csd\gen_code\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\csd\gen_code\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\csd\gen_code\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\csd\gen_code\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\csd\gen_code\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\csd\gen_code\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\csd\gen_code\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\csd\gen_code\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\csd\gen_code\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\csd\gen_code\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\csd\gen_code\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\csd\gen_code\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\csd\gen_code\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\csd\gen_code\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\gen_code\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/csd/win32/watcom/ta_abstract/Makefile b/vendor/ta-lib/make/csd/win32/watcom/ta_abstract/Makefile new file mode 100644 index 000000000..a69ee4899 --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/watcom/ta_abstract/Makefile @@ -0,0 +1,251 @@ +############################################################################# +# Makefile for building ta_abstract_csd +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = wcl386 +CXX = wcl386 +CFLAGS = -zq -w2 -d2 -d=TA_DEBUG -d=_DEBUG -d=TA_SINGLE_THREAD -d=WIN32 +CXXFLAGS= -zq -w2 -d2 -d=TA_DEBUG -d=_DEBUG -d=TA_SINGLE_THREAD -d=WIN32 +INCPATH = -i="..\..\..\..\..\src\ta_common" -i="..\..\..\..\..\src\ta_abstract" -i="..\..\..\..\..\src\ta_abstract\tables" -i="..\..\..\..\..\src\ta_abstract\frames" -i="..\..\..\..\..\include" +LIB = wlib -b -c -n -q -p=512 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_abstract\ta_abstract.c & + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c & + ..\..\..\..\..\src\ta_abstract\ta_func_api.c & + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c & + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c & + ..\..\..\..\..\src\ta_abstract\tables\table_a.c & + ..\..\..\..\..\src\ta_abstract\tables\table_b.c & + ..\..\..\..\..\src\ta_abstract\tables\table_c.c & + ..\..\..\..\..\src\ta_abstract\tables\table_d.c & + ..\..\..\..\..\src\ta_abstract\tables\table_e.c & + ..\..\..\..\..\src\ta_abstract\tables\table_f.c & + ..\..\..\..\..\src\ta_abstract\tables\table_g.c & + ..\..\..\..\..\src\ta_abstract\tables\table_h.c & + ..\..\..\..\..\src\ta_abstract\tables\table_i.c & + ..\..\..\..\..\src\ta_abstract\tables\table_j.c & + ..\..\..\..\..\src\ta_abstract\tables\table_k.c & + ..\..\..\..\..\src\ta_abstract\tables\table_l.c & + ..\..\..\..\..\src\ta_abstract\tables\table_m.c & + ..\..\..\..\..\src\ta_abstract\tables\table_n.c & + ..\..\..\..\..\src\ta_abstract\tables\table_o.c & + ..\..\..\..\..\src\ta_abstract\tables\table_p.c & + ..\..\..\..\..\src\ta_abstract\tables\table_q.c & + ..\..\..\..\..\src\ta_abstract\tables\table_r.c & + ..\..\..\..\..\src\ta_abstract\tables\table_s.c & + ..\..\..\..\..\src\ta_abstract\tables\table_t.c & + ..\..\..\..\..\src\ta_abstract\tables\table_u.c & + ..\..\..\..\..\src\ta_abstract\tables\table_v.c & + ..\..\..\..\..\src\ta_abstract\tables\table_w.c & + ..\..\..\..\..\src\ta_abstract\tables\table_x.c & + ..\..\..\..\..\src\ta_abstract\tables\table_y.c & + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\csd\ta_abstract.obj & + ..\..\..\..\..\temp\csd\ta_def_ui.obj & + ..\..\..\..\..\temp\csd\ta_func_api.obj & + ..\..\..\..\..\temp\csd\ta_group_idx.obj & + ..\..\..\..\..\temp\csd\ta_frame.obj & + ..\..\..\..\..\temp\csd\table_a.obj & + ..\..\..\..\..\temp\csd\table_b.obj & + ..\..\..\..\..\temp\csd\table_c.obj & + ..\..\..\..\..\temp\csd\table_d.obj & + ..\..\..\..\..\temp\csd\table_e.obj & + ..\..\..\..\..\temp\csd\table_f.obj & + ..\..\..\..\..\temp\csd\table_g.obj & + ..\..\..\..\..\temp\csd\table_h.obj & + ..\..\..\..\..\temp\csd\table_i.obj & + ..\..\..\..\..\temp\csd\table_j.obj & + ..\..\..\..\..\temp\csd\table_k.obj & + ..\..\..\..\..\temp\csd\table_l.obj & + ..\..\..\..\..\temp\csd\table_m.obj & + ..\..\..\..\..\temp\csd\table_n.obj & + ..\..\..\..\..\temp\csd\table_o.obj & + ..\..\..\..\..\temp\csd\table_p.obj & + ..\..\..\..\..\temp\csd\table_q.obj & + ..\..\..\..\..\temp\csd\table_r.obj & + ..\..\..\..\..\temp\csd\table_s.obj & + ..\..\..\..\..\temp\csd\table_t.obj & + ..\..\..\..\..\temp\csd\table_u.obj & + ..\..\..\..\..\temp\csd\table_v.obj & + ..\..\..\..\..\temp\csd\table_w.obj & + ..\..\..\..\..\temp\csd\table_x.obj & + ..\..\..\..\..\temp\csd\table_y.obj & + ..\..\..\..\..\temp\csd\table_z.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_abstract_csd.lib +TMPLIST = ta_abstract_csd.lst + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + @%create $(TMPLIST) + @for %i in ( $(OBJECTS) $(OBJMOC) ) do @%append $(TMPLIST) +'%i' + $(LIB) $(TARGET) @$(TMPLIST) + del $(TMPLIST) + +moc: $(SRCMOC) + +tmake: ../csd/win32/watcom/ta_abstract/Makefile + +../csd/win32/watcom/ta_abstract/Makefile: ta_abstract/ta_abstract.pro + tmake ta_abstract/ta_abstract.pro -o ../csd/win32/watcom/ta_abstract/Makefile + +dist: + $(ZIP) ta_abstract/ta_abstract.zip ta_abstract/ta_abstract.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csd\ta_abstract.obj + -del ..\..\..\..\..\temp\csd\ta_def_ui.obj + -del ..\..\..\..\..\temp\csd\ta_func_api.obj + -del ..\..\..\..\..\temp\csd\ta_group_idx.obj + -del ..\..\..\..\..\temp\csd\ta_frame.obj + -del ..\..\..\..\..\temp\csd\table_a.obj + -del ..\..\..\..\..\temp\csd\table_b.obj + -del ..\..\..\..\..\temp\csd\table_c.obj + -del ..\..\..\..\..\temp\csd\table_d.obj + -del ..\..\..\..\..\temp\csd\table_e.obj + -del ..\..\..\..\..\temp\csd\table_f.obj + -del ..\..\..\..\..\temp\csd\table_g.obj + -del ..\..\..\..\..\temp\csd\table_h.obj + -del ..\..\..\..\..\temp\csd\table_i.obj + -del ..\..\..\..\..\temp\csd\table_j.obj + -del ..\..\..\..\..\temp\csd\table_k.obj + -del ..\..\..\..\..\temp\csd\table_l.obj + -del ..\..\..\..\..\temp\csd\table_m.obj + -del ..\..\..\..\..\temp\csd\table_n.obj + -del ..\..\..\..\..\temp\csd\table_o.obj + -del ..\..\..\..\..\temp\csd\table_p.obj + -del ..\..\..\..\..\temp\csd\table_q.obj + -del ..\..\..\..\..\temp\csd\table_r.obj + -del ..\..\..\..\..\temp\csd\table_s.obj + -del ..\..\..\..\..\temp\csd\table_t.obj + -del ..\..\..\..\..\temp\csd\table_u.obj + -del ..\..\..\..\..\temp\csd\table_v.obj + -del ..\..\..\..\..\temp\csd\table_w.obj + -del ..\..\..\..\..\temp\csd\table_x.obj + -del ..\..\..\..\..\temp\csd\table_y.obj + -del ..\..\..\..\..\temp\csd\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csd/*.pch + -del ../../../../../temp/csd/*.idb + -del ../../../../../temp/csd/ta_abstract/*.pch + -del ../../../../../temp/csd/ta_abstract/*.idb + -del ../../../../../temp/csd/ta_abstract/*.obj + +####### Compile + +..\..\..\..\..\temp\csd\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\csd\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\csd\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\csd\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\csd\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\csd\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\csd\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\csd\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\csd\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\csd\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\csd\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\csd\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\csd\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\csd\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\csd\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\csd\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\csd\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\csd\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\csd\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\csd\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\csd\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\csd\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\csd\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\csd\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\csd\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\csd\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\csd\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\csd\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\csd\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\csd\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\csd\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/csd/win32/watcom/ta_common/Makefile b/vendor/ta-lib/make/csd/win32/watcom/ta_common/Makefile new file mode 100644 index 000000000..0e5215101 --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/watcom/ta_common/Makefile @@ -0,0 +1,83 @@ +############################################################################# +# Makefile for building ta_common_csd +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = wcl386 +CXX = wcl386 +CFLAGS = -zq -w2 -d2 -d=TA_DEBUG -d=_DEBUG -d=TA_SINGLE_THREAD -d=WIN32 +CXXFLAGS= -zq -w2 -d2 -d=TA_DEBUG -d=_DEBUG -d=TA_SINGLE_THREAD -d=WIN32 +INCPATH = -i="..\..\..\..\..\src\ta_common" -i="..\..\..\..\..\include" +LIB = wlib -b -c -n -q -p=512 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c & + ..\..\..\..\..\src\ta_common\ta_retcode.c & + ..\..\..\..\..\src\ta_common\ta_version.c +OBJECTS = ..\..\..\..\..\temp\csd\ta_global.obj & + ..\..\..\..\..\temp\csd\ta_retcode.obj & + ..\..\..\..\..\temp\csd\ta_version.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_common_csd.lib +TMPLIST = ta_common_csd.lst + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + @%create $(TMPLIST) + @for %i in ( $(OBJECTS) $(OBJMOC) ) do @%append $(TMPLIST) +'%i' + $(LIB) $(TARGET) @$(TMPLIST) + del $(TMPLIST) + +moc: $(SRCMOC) + +tmake: ../csd/win32/watcom/ta_common/Makefile + +../csd/win32/watcom/ta_common/Makefile: ta_common/ta_common.pro + tmake ta_common/ta_common.pro -o ../csd/win32/watcom/ta_common/Makefile + +dist: + $(ZIP) ta_common/ta_common.zip ta_common/ta_common.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csd\ta_global.obj + -del ..\..\..\..\..\temp\csd\ta_retcode.obj + -del ..\..\..\..\..\temp\csd\ta_version.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csd/*.pch + -del ../../../../../temp/csd/*.idb + -del ../../../../../temp/csd/ta_common_csd/*.pch + -del ../../../../../temp/csd/ta_common_csd/*.idb + -del ../../../../../temp/csd/ta_common_csd/*.obj + +####### Compile + +..\..\..\..\..\temp\csd\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\csd\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\csd\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + diff --git a/vendor/ta-lib/make/csd/win32/watcom/ta_func/Makefile b/vendor/ta-lib/make/csd/win32/watcom/ta_func/Makefile new file mode 100644 index 000000000..219e26149 --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/watcom/ta_func/Makefile @@ -0,0 +1,1019 @@ +############################################################################# +# Makefile for building ta_func_csd +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = wcl386 +CXX = wcl386 +CFLAGS = -zq -w2 -d2 -d=TA_DEBUG -d=_DEBUG -d=TA_SINGLE_THREAD -d=WIN32 +CXXFLAGS= -zq -w2 -d2 -d=TA_DEBUG -d=_DEBUG -d=TA_SINGLE_THREAD -d=WIN32 +INCPATH = -i="..\..\..\..\..\src\ta_common" -i="\n" -i="..\..\..\..\..\include" +LIB = wlib -b -c -n -q -p=512 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_func\ta_utility.c & + ..\..\..\..\..\src\ta_func\ta_ACOS.c & + ..\..\..\..\..\src\ta_func\ta_AD.c & + ..\..\..\..\..\src\ta_func\ta_ADD.c & + ..\..\..\..\..\src\ta_func\ta_ADOSC.c & + ..\..\..\..\..\src\ta_func\ta_ADX.c & + ..\..\..\..\..\src\ta_func\ta_ADXR.c & + ..\..\..\..\..\src\ta_func\ta_APO.c & + ..\..\..\..\..\src\ta_func\ta_AROON.c & + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c & + ..\..\..\..\..\src\ta_func\ta_ASIN.c & + ..\..\..\..\..\src\ta_func\ta_ATAN.c & + ..\..\..\..\..\src\ta_func\ta_ATR.c & + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c & + ..\..\..\..\..\src\ta_func\ta_BBANDS.c & + ..\..\..\..\..\src\ta_func\ta_BETA.c & + ..\..\..\..\..\src\ta_func\ta_BOP.c & + ..\..\..\..\..\src\ta_func\ta_CCI.c & + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c & + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c & + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c & + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c & + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c & + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c & + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c & + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c & + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c & + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c & + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c & + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c & + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c & + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c & + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c & + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c & + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c & + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c & + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c & + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c & + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c & + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c & + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c & + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c & + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c & + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c & + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c & + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c & + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c & + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c & + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c & + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c & + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c & + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c & + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c & + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c & + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c & + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c & + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c & + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c & + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c & + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c & + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c & + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c & + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c & + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c & + ..\..\..\..\..\src\ta_func\ta_CEIL.c & + ..\..\..\..\..\src\ta_func\ta_CMO.c & + ..\..\..\..\..\src\ta_func\ta_CORREL.c & + ..\..\..\..\..\src\ta_func\ta_COS.c & + ..\..\..\..\..\src\ta_func\ta_COSH.c & + ..\..\..\..\..\src\ta_func\ta_DEMA.c & + ..\..\..\..\..\src\ta_func\ta_DIV.c & + ..\..\..\..\..\src\ta_func\ta_DX.c & + ..\..\..\..\..\src\ta_func\ta_EMA.c & + ..\..\..\..\..\src\ta_func\ta_EXP.c & + ..\..\..\..\..\src\ta_func\ta_FLOOR.c & + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c & + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c & + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c & + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c & + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c & + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c & + ..\..\..\..\..\src\ta_func\ta_KAMA.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c & + ..\..\..\..\..\src\ta_func\ta_LN.c & + ..\..\..\..\..\src\ta_func\ta_LOG10.c & + ..\..\..\..\..\src\ta_func\ta_MA.c & + ..\..\..\..\..\src\ta_func\ta_MACD.c & + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c & + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c & + ..\..\..\..\..\src\ta_func\ta_MAMA.c & + ..\..\..\..\..\src\ta_func\ta_MAVP.c & + ..\..\..\..\..\src\ta_func\ta_MAX.c & + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c & + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c & + ..\..\..\..\..\src\ta_func\ta_MFI.c & + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c & + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c & + ..\..\..\..\..\src\ta_func\ta_MIN.c & + ..\..\..\..\..\src\ta_func\ta_MININDEX.c & + ..\..\..\..\..\src\ta_func\ta_MINMAX.c & + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c & + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c & + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c & + ..\..\..\..\..\src\ta_func\ta_MOM.c & + ..\..\..\..\..\src\ta_func\ta_MULT.c & + ..\..\..\..\..\src\ta_func\ta_NATR.c & + ..\..\..\..\..\src\ta_func\ta_OBV.c & + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c & + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c & + ..\..\..\..\..\src\ta_func\ta_PPO.c & + ..\..\..\..\..\src\ta_func\ta_ROC.c & + ..\..\..\..\..\src\ta_func\ta_ROCP.c & + ..\..\..\..\..\src\ta_func\ta_ROCR.c & + ..\..\..\..\..\src\ta_func\ta_ROCR100.c & + ..\..\..\..\..\src\ta_func\ta_RSI.c & + ..\..\..\..\..\src\ta_func\ta_SAR.c & + ..\..\..\..\..\src\ta_func\ta_SAREXT.c & + ..\..\..\..\..\src\ta_func\ta_SIN.c & + ..\..\..\..\..\src\ta_func\ta_SINH.c & + ..\..\..\..\..\src\ta_func\ta_SMA.c & + ..\..\..\..\..\src\ta_func\ta_SQRT.c & + ..\..\..\..\..\src\ta_func\ta_STDDEV.c & + ..\..\..\..\..\src\ta_func\ta_STOCH.c & + ..\..\..\..\..\src\ta_func\ta_STOCHF.c & + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c & + ..\..\..\..\..\src\ta_func\ta_SUB.c & + ..\..\..\..\..\src\ta_func\ta_SUM.c & + ..\..\..\..\..\src\ta_func\ta_T3.c & + ..\..\..\..\..\src\ta_func\ta_TAN.c & + ..\..\..\..\..\src\ta_func\ta_TANH.c & + ..\..\..\..\..\src\ta_func\ta_TEMA.c & + ..\..\..\..\..\src\ta_func\ta_TRANGE.c & + ..\..\..\..\..\src\ta_func\ta_TRIMA.c & + ..\..\..\..\..\src\ta_func\ta_TRIX.c & + ..\..\..\..\..\src\ta_func\ta_TSF.c & + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c & + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c & + ..\..\..\..\..\src\ta_func\ta_VAR.c & + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c & + ..\..\..\..\..\src\ta_func\ta_WILLR.c & + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\csd\ta_utility.obj & + ..\..\..\..\..\temp\csd\ta_ACOS.obj & + ..\..\..\..\..\temp\csd\ta_AD.obj & + ..\..\..\..\..\temp\csd\ta_ADD.obj & + ..\..\..\..\..\temp\csd\ta_ADOSC.obj & + ..\..\..\..\..\temp\csd\ta_ADX.obj & + ..\..\..\..\..\temp\csd\ta_ADXR.obj & + ..\..\..\..\..\temp\csd\ta_APO.obj & + ..\..\..\..\..\temp\csd\ta_AROON.obj & + ..\..\..\..\..\temp\csd\ta_AROONOSC.obj & + ..\..\..\..\..\temp\csd\ta_ASIN.obj & + ..\..\..\..\..\temp\csd\ta_ATAN.obj & + ..\..\..\..\..\temp\csd\ta_ATR.obj & + ..\..\..\..\..\temp\csd\ta_AVGPRICE.obj & + ..\..\..\..\..\temp\csd\ta_BBANDS.obj & + ..\..\..\..\..\temp\csd\ta_BETA.obj & + ..\..\..\..\..\temp\csd\ta_BOP.obj & + ..\..\..\..\..\temp\csd\ta_CCI.obj & + ..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj & + ..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj & + ..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj & + ..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj & + ..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj & + ..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj & + ..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj & + ..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj & + ..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj & + ..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj & + ..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj & + ..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj & + ..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj & + ..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj & + ..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj & + ..\..\..\..\..\temp\csd\ta_CDLDOJI.obj & + ..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj & + ..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj & + ..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj & + ..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj & + ..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj & + ..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj & + ..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj & + ..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj & + ..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj & + ..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj & + ..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj & + ..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj & + ..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj & + ..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj & + ..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj & + ..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj & + ..\..\..\..\..\temp\csd\ta_CDLINNECK.obj & + ..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj & + ..\..\..\..\..\temp\csd\ta_CDLKICKING.obj & + ..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj & + ..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj & + ..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj & + ..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj & + ..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj & + ..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj & + ..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj & + ..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj & + ..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj & + ..\..\..\..\..\temp\csd\ta_CDLONNECK.obj & + ..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj & + ..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj & + ..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj & + ..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj & + ..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj & + ..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj & + ..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj & + ..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj & + ..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj & + ..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj & + ..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj & + ..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj & + ..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj & + ..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj & + ..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj & + ..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj & + ..\..\..\..\..\temp\csd\ta_CEIL.obj & + ..\..\..\..\..\temp\csd\ta_CMO.obj & + ..\..\..\..\..\temp\csd\ta_CORREL.obj & + ..\..\..\..\..\temp\csd\ta_COS.obj & + ..\..\..\..\..\temp\csd\ta_COSH.obj & + ..\..\..\..\..\temp\csd\ta_DEMA.obj & + ..\..\..\..\..\temp\csd\ta_DIV.obj & + ..\..\..\..\..\temp\csd\ta_DX.obj & + ..\..\..\..\..\temp\csd\ta_EMA.obj & + ..\..\..\..\..\temp\csd\ta_EXP.obj & + ..\..\..\..\..\temp\csd\ta_FLOOR.obj & + ..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj & + ..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj & + ..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj & + ..\..\..\..\..\temp\csd\ta_HT_SINE.obj & + ..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj & + ..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj & + ..\..\..\..\..\temp\csd\ta_KAMA.obj & + ..\..\..\..\..\temp\csd\ta_LINEARREG.obj & + ..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj & + ..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj & + ..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj & + ..\..\..\..\..\temp\csd\ta_LN.obj & + ..\..\..\..\..\temp\csd\ta_LOG10.obj & + ..\..\..\..\..\temp\csd\ta_MA.obj & + ..\..\..\..\..\temp\csd\ta_MACD.obj & + ..\..\..\..\..\temp\csd\ta_MACDEXT.obj & + ..\..\..\..\..\temp\csd\ta_MACDFIX.obj & + ..\..\..\..\..\temp\csd\ta_MAMA.obj & + ..\..\..\..\..\temp\csd\ta_MAVP.obj & + ..\..\..\..\..\temp\csd\ta_MAX.obj & + ..\..\..\..\..\temp\csd\ta_MAXINDEX.obj & + ..\..\..\..\..\temp\csd\ta_MEDPRICE.obj & + ..\..\..\..\..\temp\csd\ta_MFI.obj & + ..\..\..\..\..\temp\csd\ta_MIDPOINT.obj & + ..\..\..\..\..\temp\csd\ta_MIDPRICE.obj & + ..\..\..\..\..\temp\csd\ta_MIN.obj & + ..\..\..\..\..\temp\csd\ta_MININDEX.obj & + ..\..\..\..\..\temp\csd\ta_MINMAX.obj & + ..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj & + ..\..\..\..\..\temp\csd\ta_MINUS_DI.obj & + ..\..\..\..\..\temp\csd\ta_MINUS_DM.obj & + ..\..\..\..\..\temp\csd\ta_MOM.obj & + ..\..\..\..\..\temp\csd\ta_MULT.obj & + ..\..\..\..\..\temp\csd\ta_NATR.obj & + ..\..\..\..\..\temp\csd\ta_OBV.obj & + ..\..\..\..\..\temp\csd\ta_PLUS_DI.obj & + ..\..\..\..\..\temp\csd\ta_PLUS_DM.obj & + ..\..\..\..\..\temp\csd\ta_PPO.obj & + ..\..\..\..\..\temp\csd\ta_ROC.obj & + ..\..\..\..\..\temp\csd\ta_ROCP.obj & + ..\..\..\..\..\temp\csd\ta_ROCR.obj & + ..\..\..\..\..\temp\csd\ta_ROCR100.obj & + ..\..\..\..\..\temp\csd\ta_RSI.obj & + ..\..\..\..\..\temp\csd\ta_SAR.obj & + ..\..\..\..\..\temp\csd\ta_SAREXT.obj & + ..\..\..\..\..\temp\csd\ta_SIN.obj & + ..\..\..\..\..\temp\csd\ta_SINH.obj & + ..\..\..\..\..\temp\csd\ta_SMA.obj & + ..\..\..\..\..\temp\csd\ta_SQRT.obj & + ..\..\..\..\..\temp\csd\ta_STDDEV.obj & + ..\..\..\..\..\temp\csd\ta_STOCH.obj & + ..\..\..\..\..\temp\csd\ta_STOCHF.obj & + ..\..\..\..\..\temp\csd\ta_STOCHRSI.obj & + ..\..\..\..\..\temp\csd\ta_SUB.obj & + ..\..\..\..\..\temp\csd\ta_SUM.obj & + ..\..\..\..\..\temp\csd\ta_T3.obj & + ..\..\..\..\..\temp\csd\ta_TAN.obj & + ..\..\..\..\..\temp\csd\ta_TANH.obj & + ..\..\..\..\..\temp\csd\ta_TEMA.obj & + ..\..\..\..\..\temp\csd\ta_TRANGE.obj & + ..\..\..\..\..\temp\csd\ta_TRIMA.obj & + ..\..\..\..\..\temp\csd\ta_TRIX.obj & + ..\..\..\..\..\temp\csd\ta_TSF.obj & + ..\..\..\..\..\temp\csd\ta_TYPPRICE.obj & + ..\..\..\..\..\temp\csd\ta_ULTOSC.obj & + ..\..\..\..\..\temp\csd\ta_VAR.obj & + ..\..\..\..\..\temp\csd\ta_WCLPRICE.obj & + ..\..\..\..\..\temp\csd\ta_WILLR.obj & + ..\..\..\..\..\temp\csd\ta_WMA.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_func_csd.lib +TMPLIST = ta_func_csd.lst + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + @%create $(TMPLIST) + @for %i in ( $(OBJECTS) $(OBJMOC) ) do @%append $(TMPLIST) +'%i' + $(LIB) $(TARGET) @$(TMPLIST) + del $(TMPLIST) + +moc: $(SRCMOC) + +tmake: ../csd/win32/watcom/ta_func/Makefile + +../csd/win32/watcom/ta_func/Makefile: ta_func/ta_func.pro + tmake ta_func/ta_func.pro -o ../csd/win32/watcom/ta_func/Makefile + +dist: + $(ZIP) ta_func/ta_func.zip ta_func/ta_func.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csd\ta_utility.obj + -del ..\..\..\..\..\temp\csd\ta_ACOS.obj + -del ..\..\..\..\..\temp\csd\ta_AD.obj + -del ..\..\..\..\..\temp\csd\ta_ADD.obj + -del ..\..\..\..\..\temp\csd\ta_ADOSC.obj + -del ..\..\..\..\..\temp\csd\ta_ADX.obj + -del ..\..\..\..\..\temp\csd\ta_ADXR.obj + -del ..\..\..\..\..\temp\csd\ta_APO.obj + -del ..\..\..\..\..\temp\csd\ta_AROON.obj + -del ..\..\..\..\..\temp\csd\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\csd\ta_ASIN.obj + -del ..\..\..\..\..\temp\csd\ta_ATAN.obj + -del ..\..\..\..\..\temp\csd\ta_ATR.obj + -del ..\..\..\..\..\temp\csd\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_BBANDS.obj + -del ..\..\..\..\..\temp\csd\ta_BETA.obj + -del ..\..\..\..\..\temp\csd\ta_BOP.obj + -del ..\..\..\..\..\temp\csd\ta_CCI.obj + -del ..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\csd\ta_CEIL.obj + -del ..\..\..\..\..\temp\csd\ta_CMO.obj + -del ..\..\..\..\..\temp\csd\ta_CORREL.obj + -del ..\..\..\..\..\temp\csd\ta_COS.obj + -del ..\..\..\..\..\temp\csd\ta_COSH.obj + -del ..\..\..\..\..\temp\csd\ta_DEMA.obj + -del ..\..\..\..\..\temp\csd\ta_DIV.obj + -del ..\..\..\..\..\temp\csd\ta_DX.obj + -del ..\..\..\..\..\temp\csd\ta_EMA.obj + -del ..\..\..\..\..\temp\csd\ta_EXP.obj + -del ..\..\..\..\..\temp\csd\ta_FLOOR.obj + -del ..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\csd\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\csd\ta_KAMA.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\csd\ta_LN.obj + -del ..\..\..\..\..\temp\csd\ta_LOG10.obj + -del ..\..\..\..\..\temp\csd\ta_MA.obj + -del ..\..\..\..\..\temp\csd\ta_MACD.obj + -del ..\..\..\..\..\temp\csd\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\csd\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\csd\ta_MAMA.obj + -del ..\..\..\..\..\temp\csd\ta_MAVP.obj + -del ..\..\..\..\..\temp\csd\ta_MAX.obj + -del ..\..\..\..\..\temp\csd\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\csd\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_MFI.obj + -del ..\..\..\..\..\temp\csd\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\csd\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_MIN.obj + -del ..\..\..\..\..\temp\csd\ta_MININDEX.obj + -del ..\..\..\..\..\temp\csd\ta_MINMAX.obj + -del ..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\csd\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\csd\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\csd\ta_MOM.obj + -del ..\..\..\..\..\temp\csd\ta_MULT.obj + -del ..\..\..\..\..\temp\csd\ta_NATR.obj + -del ..\..\..\..\..\temp\csd\ta_OBV.obj + -del ..\..\..\..\..\temp\csd\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\csd\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\csd\ta_PPO.obj + -del ..\..\..\..\..\temp\csd\ta_ROC.obj + -del ..\..\..\..\..\temp\csd\ta_ROCP.obj + -del ..\..\..\..\..\temp\csd\ta_ROCR.obj + -del ..\..\..\..\..\temp\csd\ta_ROCR100.obj + -del ..\..\..\..\..\temp\csd\ta_RSI.obj + -del ..\..\..\..\..\temp\csd\ta_SAR.obj + -del ..\..\..\..\..\temp\csd\ta_SAREXT.obj + -del ..\..\..\..\..\temp\csd\ta_SIN.obj + -del ..\..\..\..\..\temp\csd\ta_SINH.obj + -del ..\..\..\..\..\temp\csd\ta_SMA.obj + -del ..\..\..\..\..\temp\csd\ta_SQRT.obj + -del ..\..\..\..\..\temp\csd\ta_STDDEV.obj + -del ..\..\..\..\..\temp\csd\ta_STOCH.obj + -del ..\..\..\..\..\temp\csd\ta_STOCHF.obj + -del ..\..\..\..\..\temp\csd\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\csd\ta_SUB.obj + -del ..\..\..\..\..\temp\csd\ta_SUM.obj + -del ..\..\..\..\..\temp\csd\ta_T3.obj + -del ..\..\..\..\..\temp\csd\ta_TAN.obj + -del ..\..\..\..\..\temp\csd\ta_TANH.obj + -del ..\..\..\..\..\temp\csd\ta_TEMA.obj + -del ..\..\..\..\..\temp\csd\ta_TRANGE.obj + -del ..\..\..\..\..\temp\csd\ta_TRIMA.obj + -del ..\..\..\..\..\temp\csd\ta_TRIX.obj + -del ..\..\..\..\..\temp\csd\ta_TSF.obj + -del ..\..\..\..\..\temp\csd\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\csd\ta_VAR.obj + -del ..\..\..\..\..\temp\csd\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_WILLR.obj + -del ..\..\..\..\..\temp\csd\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csd/*.pch + -del ../../../../../temp/csd/*.idb + -del ../../../../../temp/csd/ta_func/*.pch + -del ../../../../../temp/csd/ta_func/*.idb + -del ../../../../../temp/csd/ta_func/*.obj + +####### Compile + +..\..\..\..\..\temp\csd\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\csd\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\csd\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\csd\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\csd\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\csd\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\csd\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\csd\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\csd\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\csd\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\csd\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\csd\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\csd\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\csd\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\csd\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\csd\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\csd\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\csd\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\csd\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\csd\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\csd\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\csd\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\csd\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\csd\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\csd\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\csd\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\csd\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\csd\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\csd\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\csd\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\csd\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\csd\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\csd\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\csd\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\csd\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\csd\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\csd\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\csd\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\csd\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\csd\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\csd\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\csd\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\csd\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\csd\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\csd\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\csd\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\csd\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\csd\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\csd\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\csd\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\csd\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\csd\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\csd\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\csd\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\csd\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\csd\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\csd\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\csd\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\csd\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\csd\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\csd\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\csd\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\csd\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\csd\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\csd\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\csd\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\csd\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\csd\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\csd\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\csd\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\csd\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\csd\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\csd\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\csd\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\csd\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\csd\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\csd\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\csd\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\csd\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\csd\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\csd\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\csd\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\csd\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\csd\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\csd\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\csd\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\csd\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\csd\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\csd\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\csd\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\csd\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\csd\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\csd\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/csd/win32/watcom/ta_libc/Makefile b/vendor/ta-lib/make/csd/win32/watcom/ta_libc/Makefile new file mode 100644 index 000000000..df2a44259 --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/watcom/ta_libc/Makefile @@ -0,0 +1,1219 @@ +############################################################################# +# Makefile for building ta_libc_csd +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +QTDIR = +CC = wcl386 +CXX = wcl386 +CFLAGS = -zq -w2 -d2 -d=TA_DEBUG -d=_DEBUG -d=TA_SINGLE_THREAD -d=WIN32 +CXXFLAGS= -zq -w2 -d2 -d=TA_DEBUG -d=_DEBUG -d=TA_SINGLE_THREAD -d=WIN32 +INCPATH = -i="..\..\..\..\..\src\ta_common" -i="..\..\..\..\..\include" -i="..\..\..\..\..\src\ta_abstract" -i="..\..\..\..\..\src\ta_abstract\tables" -i="..\..\..\..\..\src\ta_abstract\frames" -i="$(QTDIR)\include" +LIB = wlib -b -c -n -q -p=512 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c & + ..\..\..\..\..\src\ta_common\ta_retcode.c & + ..\..\..\..\..\src\ta_common\ta_version.c & + ..\..\..\..\..\src\ta_abstract\ta_abstract.c & + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c & + ..\..\..\..\..\src\ta_abstract\ta_func_api.c & + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c & + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c & + ..\..\..\..\..\src\ta_abstract\tables\table_a.c & + ..\..\..\..\..\src\ta_abstract\tables\table_b.c & + ..\..\..\..\..\src\ta_abstract\tables\table_c.c & + ..\..\..\..\..\src\ta_abstract\tables\table_d.c & + ..\..\..\..\..\src\ta_abstract\tables\table_e.c & + ..\..\..\..\..\src\ta_abstract\tables\table_f.c & + ..\..\..\..\..\src\ta_abstract\tables\table_g.c & + ..\..\..\..\..\src\ta_abstract\tables\table_h.c & + ..\..\..\..\..\src\ta_abstract\tables\table_i.c & + ..\..\..\..\..\src\ta_abstract\tables\table_j.c & + ..\..\..\..\..\src\ta_abstract\tables\table_k.c & + ..\..\..\..\..\src\ta_abstract\tables\table_l.c & + ..\..\..\..\..\src\ta_abstract\tables\table_m.c & + ..\..\..\..\..\src\ta_abstract\tables\table_n.c & + ..\..\..\..\..\src\ta_abstract\tables\table_o.c & + ..\..\..\..\..\src\ta_abstract\tables\table_p.c & + ..\..\..\..\..\src\ta_abstract\tables\table_q.c & + ..\..\..\..\..\src\ta_abstract\tables\table_r.c & + ..\..\..\..\..\src\ta_abstract\tables\table_s.c & + ..\..\..\..\..\src\ta_abstract\tables\table_t.c & + ..\..\..\..\..\src\ta_abstract\tables\table_u.c & + ..\..\..\..\..\src\ta_abstract\tables\table_v.c & + ..\..\..\..\..\src\ta_abstract\tables\table_w.c & + ..\..\..\..\..\src\ta_abstract\tables\table_x.c & + ..\..\..\..\..\src\ta_abstract\tables\table_y.c & + ..\..\..\..\..\src\ta_abstract\tables\table_z.c & + ..\..\..\..\..\src\ta_func\ta_utility.c & + ..\..\..\..\..\src\ta_func\ta_ACOS.c & + ..\..\..\..\..\src\ta_func\ta_AD.c & + ..\..\..\..\..\src\ta_func\ta_ADD.c & + ..\..\..\..\..\src\ta_func\ta_ADOSC.c & + ..\..\..\..\..\src\ta_func\ta_ADX.c & + ..\..\..\..\..\src\ta_func\ta_ADXR.c & + ..\..\..\..\..\src\ta_func\ta_APO.c & + ..\..\..\..\..\src\ta_func\ta_AROON.c & + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c & + ..\..\..\..\..\src\ta_func\ta_ASIN.c & + ..\..\..\..\..\src\ta_func\ta_ATAN.c & + ..\..\..\..\..\src\ta_func\ta_ATR.c & + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c & + ..\..\..\..\..\src\ta_func\ta_BBANDS.c & + ..\..\..\..\..\src\ta_func\ta_BETA.c & + ..\..\..\..\..\src\ta_func\ta_BOP.c & + ..\..\..\..\..\src\ta_func\ta_CCI.c & + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c & + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c & + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c & + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c & + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c & + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c & + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c & + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c & + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c & + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c & + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c & + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c & + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c & + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c & + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c & + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c & + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c & + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c & + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c & + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c & + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c & + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c & + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c & + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c & + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c & + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c & + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c & + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c & + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c & + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c & + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c & + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c & + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c & + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c & + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c & + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c & + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c & + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c & + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c & + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c & + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c & + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c & + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c & + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c & + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c & + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c & + ..\..\..\..\..\src\ta_func\ta_CEIL.c & + ..\..\..\..\..\src\ta_func\ta_CMO.c & + ..\..\..\..\..\src\ta_func\ta_CORREL.c & + ..\..\..\..\..\src\ta_func\ta_COS.c & + ..\..\..\..\..\src\ta_func\ta_COSH.c & + ..\..\..\..\..\src\ta_func\ta_DEMA.c & + ..\..\..\..\..\src\ta_func\ta_DIV.c & + ..\..\..\..\..\src\ta_func\ta_DX.c & + ..\..\..\..\..\src\ta_func\ta_EMA.c & + ..\..\..\..\..\src\ta_func\ta_EXP.c & + ..\..\..\..\..\src\ta_func\ta_FLOOR.c & + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c & + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c & + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c & + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c & + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c & + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c & + ..\..\..\..\..\src\ta_func\ta_KAMA.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c & + ..\..\..\..\..\src\ta_func\ta_LN.c & + ..\..\..\..\..\src\ta_func\ta_LOG10.c & + ..\..\..\..\..\src\ta_func\ta_MA.c & + ..\..\..\..\..\src\ta_func\ta_MACD.c & + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c & + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c & + ..\..\..\..\..\src\ta_func\ta_MAMA.c & + ..\..\..\..\..\src\ta_func\ta_MAVP.c & + ..\..\..\..\..\src\ta_func\ta_MAX.c & + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c & + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c & + ..\..\..\..\..\src\ta_func\ta_MFI.c & + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c & + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c & + ..\..\..\..\..\src\ta_func\ta_MIN.c & + ..\..\..\..\..\src\ta_func\ta_MININDEX.c & + ..\..\..\..\..\src\ta_func\ta_MINMAX.c & + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c & + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c & + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c & + ..\..\..\..\..\src\ta_func\ta_MOM.c & + ..\..\..\..\..\src\ta_func\ta_MULT.c & + ..\..\..\..\..\src\ta_func\ta_NATR.c & + ..\..\..\..\..\src\ta_func\ta_OBV.c & + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c & + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c & + ..\..\..\..\..\src\ta_func\ta_PPO.c & + ..\..\..\..\..\src\ta_func\ta_ROC.c & + ..\..\..\..\..\src\ta_func\ta_ROCP.c & + ..\..\..\..\..\src\ta_func\ta_ROCR.c & + ..\..\..\..\..\src\ta_func\ta_ROCR100.c & + ..\..\..\..\..\src\ta_func\ta_RSI.c & + ..\..\..\..\..\src\ta_func\ta_SAR.c & + ..\..\..\..\..\src\ta_func\ta_SAREXT.c & + ..\..\..\..\..\src\ta_func\ta_SIN.c & + ..\..\..\..\..\src\ta_func\ta_SINH.c & + ..\..\..\..\..\src\ta_func\ta_SMA.c & + ..\..\..\..\..\src\ta_func\ta_SQRT.c & + ..\..\..\..\..\src\ta_func\ta_STDDEV.c & + ..\..\..\..\..\src\ta_func\ta_STOCH.c & + ..\..\..\..\..\src\ta_func\ta_STOCHF.c & + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c & + ..\..\..\..\..\src\ta_func\ta_SUB.c & + ..\..\..\..\..\src\ta_func\ta_SUM.c & + ..\..\..\..\..\src\ta_func\ta_T3.c & + ..\..\..\..\..\src\ta_func\ta_TAN.c & + ..\..\..\..\..\src\ta_func\ta_TANH.c & + ..\..\..\..\..\src\ta_func\ta_TEMA.c & + ..\..\..\..\..\src\ta_func\ta_TRANGE.c & + ..\..\..\..\..\src\ta_func\ta_TRIMA.c & + ..\..\..\..\..\src\ta_func\ta_TRIX.c & + ..\..\..\..\..\src\ta_func\ta_TSF.c & + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c & + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c & + ..\..\..\..\..\src\ta_func\ta_VAR.c & + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c & + ..\..\..\..\..\src\ta_func\ta_WILLR.c & + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\csd\ta_global.obj & + ..\..\..\..\..\temp\csd\ta_retcode.obj & + ..\..\..\..\..\temp\csd\ta_version.obj & + ..\..\..\..\..\temp\csd\ta_abstract.obj & + ..\..\..\..\..\temp\csd\ta_def_ui.obj & + ..\..\..\..\..\temp\csd\ta_func_api.obj & + ..\..\..\..\..\temp\csd\ta_group_idx.obj & + ..\..\..\..\..\temp\csd\ta_frame.obj & + ..\..\..\..\..\temp\csd\table_a.obj & + ..\..\..\..\..\temp\csd\table_b.obj & + ..\..\..\..\..\temp\csd\table_c.obj & + ..\..\..\..\..\temp\csd\table_d.obj & + ..\..\..\..\..\temp\csd\table_e.obj & + ..\..\..\..\..\temp\csd\table_f.obj & + ..\..\..\..\..\temp\csd\table_g.obj & + ..\..\..\..\..\temp\csd\table_h.obj & + ..\..\..\..\..\temp\csd\table_i.obj & + ..\..\..\..\..\temp\csd\table_j.obj & + ..\..\..\..\..\temp\csd\table_k.obj & + ..\..\..\..\..\temp\csd\table_l.obj & + ..\..\..\..\..\temp\csd\table_m.obj & + ..\..\..\..\..\temp\csd\table_n.obj & + ..\..\..\..\..\temp\csd\table_o.obj & + ..\..\..\..\..\temp\csd\table_p.obj & + ..\..\..\..\..\temp\csd\table_q.obj & + ..\..\..\..\..\temp\csd\table_r.obj & + ..\..\..\..\..\temp\csd\table_s.obj & + ..\..\..\..\..\temp\csd\table_t.obj & + ..\..\..\..\..\temp\csd\table_u.obj & + ..\..\..\..\..\temp\csd\table_v.obj & + ..\..\..\..\..\temp\csd\table_w.obj & + ..\..\..\..\..\temp\csd\table_x.obj & + ..\..\..\..\..\temp\csd\table_y.obj & + ..\..\..\..\..\temp\csd\table_z.obj & + ..\..\..\..\..\temp\csd\ta_utility.obj & + ..\..\..\..\..\temp\csd\ta_ACOS.obj & + ..\..\..\..\..\temp\csd\ta_AD.obj & + ..\..\..\..\..\temp\csd\ta_ADD.obj & + ..\..\..\..\..\temp\csd\ta_ADOSC.obj & + ..\..\..\..\..\temp\csd\ta_ADX.obj & + ..\..\..\..\..\temp\csd\ta_ADXR.obj & + ..\..\..\..\..\temp\csd\ta_APO.obj & + ..\..\..\..\..\temp\csd\ta_AROON.obj & + ..\..\..\..\..\temp\csd\ta_AROONOSC.obj & + ..\..\..\..\..\temp\csd\ta_ASIN.obj & + ..\..\..\..\..\temp\csd\ta_ATAN.obj & + ..\..\..\..\..\temp\csd\ta_ATR.obj & + ..\..\..\..\..\temp\csd\ta_AVGPRICE.obj & + ..\..\..\..\..\temp\csd\ta_BBANDS.obj & + ..\..\..\..\..\temp\csd\ta_BETA.obj & + ..\..\..\..\..\temp\csd\ta_BOP.obj & + ..\..\..\..\..\temp\csd\ta_CCI.obj & + ..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj & + ..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj & + ..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj & + ..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj & + ..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj & + ..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj & + ..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj & + ..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj & + ..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj & + ..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj & + ..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj & + ..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj & + ..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj & + ..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj & + ..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj & + ..\..\..\..\..\temp\csd\ta_CDLDOJI.obj & + ..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj & + ..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj & + ..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj & + ..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj & + ..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj & + ..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj & + ..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj & + ..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj & + ..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj & + ..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj & + ..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj & + ..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj & + ..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj & + ..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj & + ..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj & + ..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj & + ..\..\..\..\..\temp\csd\ta_CDLINNECK.obj & + ..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj & + ..\..\..\..\..\temp\csd\ta_CDLKICKING.obj & + ..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj & + ..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj & + ..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj & + ..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj & + ..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj & + ..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj & + ..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj & + ..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj & + ..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj & + ..\..\..\..\..\temp\csd\ta_CDLONNECK.obj & + ..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj & + ..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj & + ..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj & + ..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj & + ..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj & + ..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj & + ..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj & + ..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj & + ..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj & + ..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj & + ..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj & + ..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj & + ..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj & + ..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj & + ..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj & + ..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj & + ..\..\..\..\..\temp\csd\ta_CEIL.obj & + ..\..\..\..\..\temp\csd\ta_CMO.obj & + ..\..\..\..\..\temp\csd\ta_CORREL.obj & + ..\..\..\..\..\temp\csd\ta_COS.obj & + ..\..\..\..\..\temp\csd\ta_COSH.obj & + ..\..\..\..\..\temp\csd\ta_DEMA.obj & + ..\..\..\..\..\temp\csd\ta_DIV.obj & + ..\..\..\..\..\temp\csd\ta_DX.obj & + ..\..\..\..\..\temp\csd\ta_EMA.obj & + ..\..\..\..\..\temp\csd\ta_EXP.obj & + ..\..\..\..\..\temp\csd\ta_FLOOR.obj & + ..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj & + ..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj & + ..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj & + ..\..\..\..\..\temp\csd\ta_HT_SINE.obj & + ..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj & + ..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj & + ..\..\..\..\..\temp\csd\ta_KAMA.obj & + ..\..\..\..\..\temp\csd\ta_LINEARREG.obj & + ..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj & + ..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj & + ..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj & + ..\..\..\..\..\temp\csd\ta_LN.obj & + ..\..\..\..\..\temp\csd\ta_LOG10.obj & + ..\..\..\..\..\temp\csd\ta_MA.obj & + ..\..\..\..\..\temp\csd\ta_MACD.obj & + ..\..\..\..\..\temp\csd\ta_MACDEXT.obj & + ..\..\..\..\..\temp\csd\ta_MACDFIX.obj & + ..\..\..\..\..\temp\csd\ta_MAMA.obj & + ..\..\..\..\..\temp\csd\ta_MAVP.obj & + ..\..\..\..\..\temp\csd\ta_MAX.obj & + ..\..\..\..\..\temp\csd\ta_MAXINDEX.obj & + ..\..\..\..\..\temp\csd\ta_MEDPRICE.obj & + ..\..\..\..\..\temp\csd\ta_MFI.obj & + ..\..\..\..\..\temp\csd\ta_MIDPOINT.obj & + ..\..\..\..\..\temp\csd\ta_MIDPRICE.obj & + ..\..\..\..\..\temp\csd\ta_MIN.obj & + ..\..\..\..\..\temp\csd\ta_MININDEX.obj & + ..\..\..\..\..\temp\csd\ta_MINMAX.obj & + ..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj & + ..\..\..\..\..\temp\csd\ta_MINUS_DI.obj & + ..\..\..\..\..\temp\csd\ta_MINUS_DM.obj & + ..\..\..\..\..\temp\csd\ta_MOM.obj & + ..\..\..\..\..\temp\csd\ta_MULT.obj & + ..\..\..\..\..\temp\csd\ta_NATR.obj & + ..\..\..\..\..\temp\csd\ta_OBV.obj & + ..\..\..\..\..\temp\csd\ta_PLUS_DI.obj & + ..\..\..\..\..\temp\csd\ta_PLUS_DM.obj & + ..\..\..\..\..\temp\csd\ta_PPO.obj & + ..\..\..\..\..\temp\csd\ta_ROC.obj & + ..\..\..\..\..\temp\csd\ta_ROCP.obj & + ..\..\..\..\..\temp\csd\ta_ROCR.obj & + ..\..\..\..\..\temp\csd\ta_ROCR100.obj & + ..\..\..\..\..\temp\csd\ta_RSI.obj & + ..\..\..\..\..\temp\csd\ta_SAR.obj & + ..\..\..\..\..\temp\csd\ta_SAREXT.obj & + ..\..\..\..\..\temp\csd\ta_SIN.obj & + ..\..\..\..\..\temp\csd\ta_SINH.obj & + ..\..\..\..\..\temp\csd\ta_SMA.obj & + ..\..\..\..\..\temp\csd\ta_SQRT.obj & + ..\..\..\..\..\temp\csd\ta_STDDEV.obj & + ..\..\..\..\..\temp\csd\ta_STOCH.obj & + ..\..\..\..\..\temp\csd\ta_STOCHF.obj & + ..\..\..\..\..\temp\csd\ta_STOCHRSI.obj & + ..\..\..\..\..\temp\csd\ta_SUB.obj & + ..\..\..\..\..\temp\csd\ta_SUM.obj & + ..\..\..\..\..\temp\csd\ta_T3.obj & + ..\..\..\..\..\temp\csd\ta_TAN.obj & + ..\..\..\..\..\temp\csd\ta_TANH.obj & + ..\..\..\..\..\temp\csd\ta_TEMA.obj & + ..\..\..\..\..\temp\csd\ta_TRANGE.obj & + ..\..\..\..\..\temp\csd\ta_TRIMA.obj & + ..\..\..\..\..\temp\csd\ta_TRIX.obj & + ..\..\..\..\..\temp\csd\ta_TSF.obj & + ..\..\..\..\..\temp\csd\ta_TYPPRICE.obj & + ..\..\..\..\..\temp\csd\ta_ULTOSC.obj & + ..\..\..\..\..\temp\csd\ta_VAR.obj & + ..\..\..\..\..\temp\csd\ta_WCLPRICE.obj & + ..\..\..\..\..\temp\csd\ta_WILLR.obj & + ..\..\..\..\..\temp\csd\ta_WMA.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_libc_csd.lib +TMPLIST = ta_libc_csd.lst + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + @%create $(TMPLIST) + @for %i in ( $(OBJECTS) $(OBJMOC) ) do @%append $(TMPLIST) +'%i' + $(LIB) $(TARGET) @$(TMPLIST) + del $(TMPLIST) + +moc: $(SRCMOC) + +tmake: ../csd/win32/watcom/ta_libc/Makefile + +../csd/win32/watcom/ta_libc/Makefile: ta_libc/ta_libc.pro + tmake ta_libc/ta_libc.pro -o ../csd/win32/watcom/ta_libc/Makefile + +dist: + $(ZIP) ta_libc/ta_libc.zip ta_libc/ta_libc.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csd\ta_global.obj + -del ..\..\..\..\..\temp\csd\ta_retcode.obj + -del ..\..\..\..\..\temp\csd\ta_version.obj + -del ..\..\..\..\..\temp\csd\ta_abstract.obj + -del ..\..\..\..\..\temp\csd\ta_def_ui.obj + -del ..\..\..\..\..\temp\csd\ta_func_api.obj + -del ..\..\..\..\..\temp\csd\ta_group_idx.obj + -del ..\..\..\..\..\temp\csd\ta_frame.obj + -del ..\..\..\..\..\temp\csd\table_a.obj + -del ..\..\..\..\..\temp\csd\table_b.obj + -del ..\..\..\..\..\temp\csd\table_c.obj + -del ..\..\..\..\..\temp\csd\table_d.obj + -del ..\..\..\..\..\temp\csd\table_e.obj + -del ..\..\..\..\..\temp\csd\table_f.obj + -del ..\..\..\..\..\temp\csd\table_g.obj + -del ..\..\..\..\..\temp\csd\table_h.obj + -del ..\..\..\..\..\temp\csd\table_i.obj + -del ..\..\..\..\..\temp\csd\table_j.obj + -del ..\..\..\..\..\temp\csd\table_k.obj + -del ..\..\..\..\..\temp\csd\table_l.obj + -del ..\..\..\..\..\temp\csd\table_m.obj + -del ..\..\..\..\..\temp\csd\table_n.obj + -del ..\..\..\..\..\temp\csd\table_o.obj + -del ..\..\..\..\..\temp\csd\table_p.obj + -del ..\..\..\..\..\temp\csd\table_q.obj + -del ..\..\..\..\..\temp\csd\table_r.obj + -del ..\..\..\..\..\temp\csd\table_s.obj + -del ..\..\..\..\..\temp\csd\table_t.obj + -del ..\..\..\..\..\temp\csd\table_u.obj + -del ..\..\..\..\..\temp\csd\table_v.obj + -del ..\..\..\..\..\temp\csd\table_w.obj + -del ..\..\..\..\..\temp\csd\table_x.obj + -del ..\..\..\..\..\temp\csd\table_y.obj + -del ..\..\..\..\..\temp\csd\table_z.obj + -del ..\..\..\..\..\temp\csd\ta_utility.obj + -del ..\..\..\..\..\temp\csd\ta_ACOS.obj + -del ..\..\..\..\..\temp\csd\ta_AD.obj + -del ..\..\..\..\..\temp\csd\ta_ADD.obj + -del ..\..\..\..\..\temp\csd\ta_ADOSC.obj + -del ..\..\..\..\..\temp\csd\ta_ADX.obj + -del ..\..\..\..\..\temp\csd\ta_ADXR.obj + -del ..\..\..\..\..\temp\csd\ta_APO.obj + -del ..\..\..\..\..\temp\csd\ta_AROON.obj + -del ..\..\..\..\..\temp\csd\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\csd\ta_ASIN.obj + -del ..\..\..\..\..\temp\csd\ta_ATAN.obj + -del ..\..\..\..\..\temp\csd\ta_ATR.obj + -del ..\..\..\..\..\temp\csd\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_BBANDS.obj + -del ..\..\..\..\..\temp\csd\ta_BETA.obj + -del ..\..\..\..\..\temp\csd\ta_BOP.obj + -del ..\..\..\..\..\temp\csd\ta_CCI.obj + -del ..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\csd\ta_CEIL.obj + -del ..\..\..\..\..\temp\csd\ta_CMO.obj + -del ..\..\..\..\..\temp\csd\ta_CORREL.obj + -del ..\..\..\..\..\temp\csd\ta_COS.obj + -del ..\..\..\..\..\temp\csd\ta_COSH.obj + -del ..\..\..\..\..\temp\csd\ta_DEMA.obj + -del ..\..\..\..\..\temp\csd\ta_DIV.obj + -del ..\..\..\..\..\temp\csd\ta_DX.obj + -del ..\..\..\..\..\temp\csd\ta_EMA.obj + -del ..\..\..\..\..\temp\csd\ta_EXP.obj + -del ..\..\..\..\..\temp\csd\ta_FLOOR.obj + -del ..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\csd\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\csd\ta_KAMA.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\csd\ta_LN.obj + -del ..\..\..\..\..\temp\csd\ta_LOG10.obj + -del ..\..\..\..\..\temp\csd\ta_MA.obj + -del ..\..\..\..\..\temp\csd\ta_MACD.obj + -del ..\..\..\..\..\temp\csd\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\csd\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\csd\ta_MAMA.obj + -del ..\..\..\..\..\temp\csd\ta_MAVP.obj + -del ..\..\..\..\..\temp\csd\ta_MAX.obj + -del ..\..\..\..\..\temp\csd\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\csd\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_MFI.obj + -del ..\..\..\..\..\temp\csd\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\csd\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_MIN.obj + -del ..\..\..\..\..\temp\csd\ta_MININDEX.obj + -del ..\..\..\..\..\temp\csd\ta_MINMAX.obj + -del ..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\csd\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\csd\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\csd\ta_MOM.obj + -del ..\..\..\..\..\temp\csd\ta_MULT.obj + -del ..\..\..\..\..\temp\csd\ta_NATR.obj + -del ..\..\..\..\..\temp\csd\ta_OBV.obj + -del ..\..\..\..\..\temp\csd\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\csd\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\csd\ta_PPO.obj + -del ..\..\..\..\..\temp\csd\ta_ROC.obj + -del ..\..\..\..\..\temp\csd\ta_ROCP.obj + -del ..\..\..\..\..\temp\csd\ta_ROCR.obj + -del ..\..\..\..\..\temp\csd\ta_ROCR100.obj + -del ..\..\..\..\..\temp\csd\ta_RSI.obj + -del ..\..\..\..\..\temp\csd\ta_SAR.obj + -del ..\..\..\..\..\temp\csd\ta_SAREXT.obj + -del ..\..\..\..\..\temp\csd\ta_SIN.obj + -del ..\..\..\..\..\temp\csd\ta_SINH.obj + -del ..\..\..\..\..\temp\csd\ta_SMA.obj + -del ..\..\..\..\..\temp\csd\ta_SQRT.obj + -del ..\..\..\..\..\temp\csd\ta_STDDEV.obj + -del ..\..\..\..\..\temp\csd\ta_STOCH.obj + -del ..\..\..\..\..\temp\csd\ta_STOCHF.obj + -del ..\..\..\..\..\temp\csd\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\csd\ta_SUB.obj + -del ..\..\..\..\..\temp\csd\ta_SUM.obj + -del ..\..\..\..\..\temp\csd\ta_T3.obj + -del ..\..\..\..\..\temp\csd\ta_TAN.obj + -del ..\..\..\..\..\temp\csd\ta_TANH.obj + -del ..\..\..\..\..\temp\csd\ta_TEMA.obj + -del ..\..\..\..\..\temp\csd\ta_TRANGE.obj + -del ..\..\..\..\..\temp\csd\ta_TRIMA.obj + -del ..\..\..\..\..\temp\csd\ta_TRIX.obj + -del ..\..\..\..\..\temp\csd\ta_TSF.obj + -del ..\..\..\..\..\temp\csd\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\csd\ta_VAR.obj + -del ..\..\..\..\..\temp\csd\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\csd\ta_WILLR.obj + -del ..\..\..\..\..\temp\csd\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + +####### Compile + +..\..\..\..\..\temp\csd\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\csd\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\csd\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + +..\..\..\..\..\temp\csd\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\csd\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\csd\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\csd\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\csd\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\csd\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\csd\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\csd\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\csd\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\csd\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\csd\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\csd\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\csd\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\csd\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\csd\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\csd\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\csd\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\csd\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\csd\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\csd\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\csd\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\csd\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\csd\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\csd\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\csd\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\csd\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\csd\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\csd\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\csd\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\csd\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\csd\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + +..\..\..\..\..\temp\csd\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\csd\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\csd\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\csd\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\csd\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\csd\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\csd\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\csd\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\csd\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\csd\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\csd\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\csd\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\csd\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\csd\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\csd\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\csd\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\csd\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\csd\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\csd\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\csd\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\csd\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\csd\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\csd\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\csd\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\csd\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\csd\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\csd\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\csd\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\csd\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\csd\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\csd\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\csd\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\csd\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\csd\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\csd\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\csd\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\csd\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\csd\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\csd\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\csd\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\csd\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\csd\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\csd\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\csd\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\csd\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\csd\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\csd\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\csd\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\csd\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\csd\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\csd\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\csd\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\csd\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\csd\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\csd\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\csd\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\csd\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\csd\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\csd\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\csd\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\csd\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\csd\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\csd\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\csd\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\csd\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\csd\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\csd\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\csd\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\csd\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\csd\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\csd\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\csd\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\csd\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\csd\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\csd\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\csd\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\csd\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\csd\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\csd\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\csd\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\csd\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\csd\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\csd\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\csd\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\csd\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\csd\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\csd\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\csd\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\csd\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\csd\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\csd\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\csd\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\csd\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/csd/win32/watcom/ta_regtest/Makefile b/vendor/ta-lib/make/csd/win32/watcom/ta_regtest/Makefile new file mode 100644 index 000000000..d99a25d97 --- /dev/null +++ b/vendor/ta-lib/make/csd/win32/watcom/ta_regtest/Makefile @@ -0,0 +1,219 @@ +############################################################################# +# Makefile for building ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = wcl386 +CXX = wcl386 +CFLAGS = -zq -w2 -d2 -d=TA_DEBUG -d=_DEBUG -d=TA_SINGLE_THREAD -d=WIN32 +CXXFLAGS= -zq -w2 -d2 -d=TA_DEBUG -d=_DEBUG -d=TA_SINGLE_THREAD -d=WIN32 +INCPATH = -i="..\..\..\..\..\src\ta_common" -i="..\..\..\..\..\src\tools\ta_regtest" -i="..\..\..\..\..\src\ta_func" -i="..\..\..\..\..\include" +LINK = wlink +LFLAGS = op quiet op c d all sys nt +LIBS = ..\..\..\..\..\lib\ta_libc_csd.lib +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c & + ..\..\..\..\..\src\tools\ta_regtest\test_internals.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c & + ..\..\..\..\..\src\tools\ta_regtest\test_util.c & + ..\..\..\..\..\src\tools\ta_regtest\test_data.c & + ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c +OBJECTS = ..\..\..\..\..\temp\csd\ta_regtest.obj & + ..\..\..\..\..\temp\csd\test_candlestick.obj & + ..\..\..\..\..\temp\csd\test_1in_1out.obj & + ..\..\..\..\..\temp\csd\test_1in_2out.obj & + ..\..\..\..\..\temp\csd\test_internals.obj & + ..\..\..\..\..\temp\csd\test_adx.obj & + ..\..\..\..\..\temp\csd\test_bbands.obj & + ..\..\..\..\..\temp\csd\test_ma.obj & + ..\..\..\..\..\temp\csd\test_macd.obj & + ..\..\..\..\..\temp\csd\test_minmax.obj & + ..\..\..\..\..\temp\csd\test_mom.obj & + ..\..\..\..\..\temp\csd\test_per_ema.obj & + ..\..\..\..\..\temp\csd\test_per_hl.obj & + ..\..\..\..\..\temp\csd\test_per_hlc.obj & + ..\..\..\..\..\temp\csd\test_per_hlcv.obj & + ..\..\..\..\..\temp\csd\test_per_ohlc.obj & + ..\..\..\..\..\temp\csd\test_po.obj & + ..\..\..\..\..\temp\csd\test_rsi.obj & + ..\..\..\..\..\temp\csd\test_sar.obj & + ..\..\..\..\..\temp\csd\test_stddev.obj & + ..\..\..\..\..\temp\csd\test_stoch.obj & + ..\..\..\..\..\temp\csd\test_trange.obj & + ..\..\..\..\..\temp\csd\test_util.obj & + ..\..\..\..\..\temp\csd\test_data.obj & + ..\..\..\..\..\temp\csd\test_abstract.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\ta_regtest.exe +TMPLIST = ta_regtest.lst + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + @%create $(TMPLIST) + @%append $(TMPLIST) NAME ta_regtest + @%append $(TMPLIST) FIL ..\..\..\..\..\temp\csd\ta_regtest.obj,..\..\..\..\..\temp\csd\test_candlestick.obj,..\..\..\..\..\temp\csd\test_1in_1out.obj,..\..\..\..\..\temp\csd\test_1in_2out.obj,..\..\..\..\..\temp\csd\test_internals.obj,..\..\..\..\..\temp\csd\test_adx.obj,..\..\..\..\..\temp\csd\test_bbands.obj,..\..\..\..\..\temp\csd\test_ma.obj,..\..\..\..\..\temp\csd\test_macd.obj,..\..\..\..\..\temp\csd\test_minmax.obj,..\..\..\..\..\temp\csd\test_mom.obj,..\..\..\..\..\temp\csd\test_per_ema.obj,..\..\..\..\..\temp\csd\test_per_hl.obj,..\..\..\..\..\temp\csd\test_per_hlc.obj,..\..\..\..\..\temp\csd\test_per_hlcv.obj,..\..\..\..\..\temp\csd\test_per_ohlc.obj,..\..\..\..\..\temp\csd\test_po.obj,..\..\..\..\..\temp\csd\test_rsi.obj,..\..\..\..\..\temp\csd\test_sar.obj,..\..\..\..\..\temp\csd\test_stddev.obj,..\..\..\..\..\temp\csd\test_stoch.obj,..\..\..\..\..\temp\csd\test_trange.obj,..\..\..\..\..\temp\csd\test_util.obj,..\..\..\..\..\temp\csd\test_data.obj,..\..\..\..\..\temp\csd\test_abstract.obj + @%append $(TMPLIST) LIBR ..\..\..\..\..\lib\ta_libc_csd.lib + $(LINK) $(LFLAGS) @$(TMPLIST) + del $(TMPLIST) + +moc: $(SRCMOC) + +tmake: ../csd/win32/watcom/ta_regtest/Makefile + +../csd/win32/watcom/ta_regtest/Makefile: ta_regtest/ta_regtest.pro + tmake ta_regtest/ta_regtest.pro -o ../csd/win32/watcom/ta_regtest/Makefile + +dist: + $(ZIP) ta_regtest/ta_regtest.zip ta_regtest/ta_regtest.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csd\ta_regtest.obj + -del ..\..\..\..\..\temp\csd\test_candlestick.obj + -del ..\..\..\..\..\temp\csd\test_1in_1out.obj + -del ..\..\..\..\..\temp\csd\test_1in_2out.obj + -del ..\..\..\..\..\temp\csd\test_internals.obj + -del ..\..\..\..\..\temp\csd\test_adx.obj + -del ..\..\..\..\..\temp\csd\test_bbands.obj + -del ..\..\..\..\..\temp\csd\test_ma.obj + -del ..\..\..\..\..\temp\csd\test_macd.obj + -del ..\..\..\..\..\temp\csd\test_minmax.obj + -del ..\..\..\..\..\temp\csd\test_mom.obj + -del ..\..\..\..\..\temp\csd\test_per_ema.obj + -del ..\..\..\..\..\temp\csd\test_per_hl.obj + -del ..\..\..\..\..\temp\csd\test_per_hlc.obj + -del ..\..\..\..\..\temp\csd\test_per_hlcv.obj + -del ..\..\..\..\..\temp\csd\test_per_ohlc.obj + -del ..\..\..\..\..\temp\csd\test_po.obj + -del ..\..\..\..\..\temp\csd\test_rsi.obj + -del ..\..\..\..\..\temp\csd\test_sar.obj + -del ..\..\..\..\..\temp\csd\test_stddev.obj + -del ..\..\..\..\..\temp\csd\test_stoch.obj + -del ..\..\..\..\..\temp\csd\test_trange.obj + -del ..\..\..\..\..\temp\csd\test_util.obj + -del ..\..\..\..\..\temp\csd\test_data.obj + -del ..\..\..\..\..\temp\csd\test_abstract.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csd/*.pch + -del ../../../../../temp/csd/*.idb + -del ../../../../../temp/csd/ta_regtest/*.pch + -del ../../../../../temp/csd/ta_regtest/*.idb + -del ../../../../../temp/csd/ta_regtest/*.obj + +####### Compile + +..\..\..\..\..\temp\csd\ta_regtest.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\ta_regtest.obj ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + +..\..\..\..\..\temp\csd\test_candlestick.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\test_candlestick.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + +..\..\..\..\..\temp\csd\test_1in_1out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\test_1in_1out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + +..\..\..\..\..\temp\csd\test_1in_2out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\test_1in_2out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + +..\..\..\..\..\temp\csd\test_internals.obj: ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\test_internals.obj ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + +..\..\..\..\..\temp\csd\test_adx.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\test_adx.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + +..\..\..\..\..\temp\csd\test_bbands.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\test_bbands.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + +..\..\..\..\..\temp\csd\test_ma.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\test_ma.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + +..\..\..\..\..\temp\csd\test_macd.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\test_macd.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + +..\..\..\..\..\temp\csd\test_minmax.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\test_minmax.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + +..\..\..\..\..\temp\csd\test_mom.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\test_mom.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + +..\..\..\..\..\temp\csd\test_per_ema.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\test_per_ema.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + +..\..\..\..\..\temp\csd\test_per_hl.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\test_per_hl.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + +..\..\..\..\..\temp\csd\test_per_hlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\test_per_hlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + +..\..\..\..\..\temp\csd\test_per_hlcv.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\test_per_hlcv.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + +..\..\..\..\..\temp\csd\test_per_ohlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\test_per_ohlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + +..\..\..\..\..\temp\csd\test_po.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\test_po.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + +..\..\..\..\..\temp\csd\test_rsi.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\test_rsi.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + +..\..\..\..\..\temp\csd\test_sar.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\test_sar.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + +..\..\..\..\..\temp\csd\test_stddev.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\test_stddev.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + +..\..\..\..\..\temp\csd\test_stoch.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\test_stoch.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + +..\..\..\..\..\temp\csd\test_trange.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\test_trange.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + +..\..\..\..\..\temp\csd\test_util.obj: ..\..\..\..\..\src\tools\ta_regtest\test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\test_util.obj ..\..\..\..\..\src\tools\ta_regtest\test_util.c + +..\..\..\..\..\temp\csd\test_data.obj: ..\..\..\..\..\src\tools\ta_regtest\test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\test_data.obj ..\..\..\..\..\src\tools\ta_regtest\test_data.c + +..\..\..\..\..\temp\csd\test_abstract.obj: ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csd\test_abstract.obj ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + diff --git a/vendor/ta-lib/make/csp/cygwin/g++/Makefile b/vendor/ta-lib/make/csp/cygwin/g++/Makefile new file mode 100644 index 000000000..dfb351cad --- /dev/null +++ b/vendor/ta-lib/make/csp/cygwin/g++/Makefile @@ -0,0 +1,36 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +$(SUBDIRS): FORCE + cd $@; $(MAKE) + +tmake: ../csp/cygwin/g++/Makefile + +../csp/cygwin/g++/Makefile: rootmake.pro + tmake rootmake.pro -o ../csp/cygwin/g++/Makefile + +tmake_all: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done + +#### $text = "\t" . 'for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; pro=`basename $$i`.pro ; $(TMAKE) $$pro -o $(MAKEFILE); grep "TEMPLATE.*subdirs" $$pro 2>/dev/null >/dev/null && $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done'; + +clean release debug: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) $@; fi; ) ; done + +FORCE: diff --git a/vendor/ta-lib/make/csp/cygwin/g++/gen_code/Makefile b/vendor/ta-lib/make/csp/cygwin/g++/gen_code/Makefile new file mode 100644 index 000000000..b627d3c40 --- /dev/null +++ b/vendor/ta-lib/make/csp/cygwin/g++/gen_code/Makefile @@ -0,0 +1,231 @@ +############################################################################# +# Makefile for building ../../../../../bin/gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -O -pg -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -g -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../include -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames +LINK = g++ +LFLAGS = -pg +LIBS = $(SUBLIBS) ../../../../../lib/libta_common_csp.a +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/gen_code/gen_code.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/csp/gen_code/gen_code.o \ + ../../../../../temp/csp/gen_code/ta_abstract.o \ + ../../../../../temp/csp/gen_code/ta_def_ui.o \ + ../../../../../temp/csp/gen_code/table_a.o \ + ../../../../../temp/csp/gen_code/table_b.o \ + ../../../../../temp/csp/gen_code/table_c.o \ + ../../../../../temp/csp/gen_code/table_d.o \ + ../../../../../temp/csp/gen_code/table_e.o \ + ../../../../../temp/csp/gen_code/table_f.o \ + ../../../../../temp/csp/gen_code/table_g.o \ + ../../../../../temp/csp/gen_code/table_h.o \ + ../../../../../temp/csp/gen_code/table_i.o \ + ../../../../../temp/csp/gen_code/table_j.o \ + ../../../../../temp/csp/gen_code/table_k.o \ + ../../../../../temp/csp/gen_code/table_l.o \ + ../../../../../temp/csp/gen_code/table_m.o \ + ../../../../../temp/csp/gen_code/table_n.o \ + ../../../../../temp/csp/gen_code/table_o.o \ + ../../../../../temp/csp/gen_code/table_p.o \ + ../../../../../temp/csp/gen_code/table_q.o \ + ../../../../../temp/csp/gen_code/table_r.o \ + ../../../../../temp/csp/gen_code/table_s.o \ + ../../../../../temp/csp/gen_code/table_t.o \ + ../../../../../temp/csp/gen_code/table_u.o \ + ../../../../../temp/csp/gen_code/table_v.o \ + ../../../../../temp/csp/gen_code/table_w.o \ + ../../../../../temp/csp/gen_code/table_x.o \ + ../../../../../temp/csp/gen_code/table_y.o \ + ../../../../../temp/csp/gen_code/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/gen_code +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csp/gen_code/gen_code.o: ../../../../../src/tools/gen_code/gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/gen_code.o ../../../../../src/tools/gen_code/gen_code.c + +../../../../../temp/csp/gen_code/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csp/gen_code/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csp/gen_code/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csp/gen_code/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csp/gen_code/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csp/gen_code/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csp/gen_code/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csp/gen_code/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csp/gen_code/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csp/gen_code/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csp/gen_code/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csp/gen_code/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csp/gen_code/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csp/gen_code/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csp/gen_code/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csp/gen_code/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csp/gen_code/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csp/gen_code/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csp/gen_code/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csp/gen_code/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csp/gen_code/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csp/gen_code/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csp/gen_code/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csp/gen_code/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csp/gen_code/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csp/gen_code/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csp/gen_code/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csp/gen_code/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/csp/cygwin/g++/ta_abstract/Makefile b/vendor/ta-lib/make/csp/cygwin/g++/ta_abstract/Makefile new file mode 100644 index 000000000..123645311 --- /dev/null +++ b/vendor/ta-lib/make/csp/cygwin/g++/ta_abstract/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_abstract_csp.a +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -O -pg -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/csp/ta_abstract.o \ + ../../../../../temp/csp/ta_def_ui.o \ + ../../../../../temp/csp/ta_func_api.o \ + ../../../../../temp/csp/ta_group_idx.o \ + ../../../../../temp/csp/ta_frame.o \ + ../../../../../temp/csp/table_a.o \ + ../../../../../temp/csp/table_b.o \ + ../../../../../temp/csp/table_c.o \ + ../../../../../temp/csp/table_d.o \ + ../../../../../temp/csp/table_e.o \ + ../../../../../temp/csp/table_f.o \ + ../../../../../temp/csp/table_g.o \ + ../../../../../temp/csp/table_h.o \ + ../../../../../temp/csp/table_i.o \ + ../../../../../temp/csp/table_j.o \ + ../../../../../temp/csp/table_k.o \ + ../../../../../temp/csp/table_l.o \ + ../../../../../temp/csp/table_m.o \ + ../../../../../temp/csp/table_n.o \ + ../../../../../temp/csp/table_o.o \ + ../../../../../temp/csp/table_p.o \ + ../../../../../temp/csp/table_q.o \ + ../../../../../temp/csp/table_r.o \ + ../../../../../temp/csp/table_s.o \ + ../../../../../temp/csp/table_t.o \ + ../../../../../temp/csp/table_u.o \ + ../../../../../temp/csp/table_v.o \ + ../../../../../temp/csp/table_w.o \ + ../../../../../temp/csp/table_x.o \ + ../../../../../temp/csp/table_y.o \ + ../../../../../temp/csp/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_abstract_csp.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csp/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csp/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csp/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/csp/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/csp/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/csp/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csp/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csp/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csp/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csp/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csp/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csp/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csp/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csp/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csp/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csp/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csp/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csp/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csp/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csp/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csp/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csp/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csp/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csp/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csp/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csp/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csp/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csp/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csp/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csp/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csp/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/csp/cygwin/g++/ta_common/Makefile b/vendor/ta-lib/make/csp/cygwin/g++/ta_common/Makefile new file mode 100644 index 000000000..0b611daf3 --- /dev/null +++ b/vendor/ta-lib/make/csp/cygwin/g++/ta_common/Makefile @@ -0,0 +1,103 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_common_csp.a +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -O -pg -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c +OBJECTS = ../../../../../temp/csp/ta_global.o \ + ../../../../../temp/csp/ta_retcode.o \ + ../../../../../temp/csp/ta_version.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_common_csp.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csp/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/csp/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/csp/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_version.o ../../../../../src/ta_common/ta_version.c + diff --git a/vendor/ta-lib/make/csp/cygwin/g++/ta_func/Makefile b/vendor/ta-lib/make/csp/cygwin/g++/ta_func/Makefile new file mode 100644 index 000000000..26eada8e7 --- /dev/null +++ b/vendor/ta-lib/make/csp/cygwin/g++/ta_func/Makefile @@ -0,0 +1,883 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_func_csp.a +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -O -pg -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I/n -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/csp/ta_utility.o \ + ../../../../../temp/csp/ta_ACOS.o \ + ../../../../../temp/csp/ta_AD.o \ + ../../../../../temp/csp/ta_ADD.o \ + ../../../../../temp/csp/ta_ADOSC.o \ + ../../../../../temp/csp/ta_ADX.o \ + ../../../../../temp/csp/ta_ADXR.o \ + ../../../../../temp/csp/ta_APO.o \ + ../../../../../temp/csp/ta_AROON.o \ + ../../../../../temp/csp/ta_AROONOSC.o \ + ../../../../../temp/csp/ta_ASIN.o \ + ../../../../../temp/csp/ta_ATAN.o \ + ../../../../../temp/csp/ta_ATR.o \ + ../../../../../temp/csp/ta_AVGPRICE.o \ + ../../../../../temp/csp/ta_BBANDS.o \ + ../../../../../temp/csp/ta_BETA.o \ + ../../../../../temp/csp/ta_BOP.o \ + ../../../../../temp/csp/ta_CCI.o \ + ../../../../../temp/csp/ta_CDL2CROWS.o \ + ../../../../../temp/csp/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/csp/ta_CDL3INSIDE.o \ + ../../../../../temp/csp/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/csp/ta_CDL3OUTSIDE.o \ + ../../../../../temp/csp/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/csp/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/csp/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/csp/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/csp/ta_CDLBELTHOLD.o \ + ../../../../../temp/csp/ta_CDLBREAKAWAY.o \ + ../../../../../temp/csp/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/csp/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/csp/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/csp/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/csp/ta_CDLDOJI.o \ + ../../../../../temp/csp/ta_CDLDOJISTAR.o \ + ../../../../../temp/csp/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/csp/ta_CDLENGULFING.o \ + ../../../../../temp/csp/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/csp/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/csp/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/csp/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/csp/ta_CDLHAMMER.o \ + ../../../../../temp/csp/ta_CDLHANGINGMAN.o \ + ../../../../../temp/csp/ta_CDLHARAMI.o \ + ../../../../../temp/csp/ta_CDLHARAMICROSS.o \ + ../../../../../temp/csp/ta_CDLHIGHWAVE.o \ + ../../../../../temp/csp/ta_CDLHIKKAKE.o \ + ../../../../../temp/csp/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/csp/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/csp/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/csp/ta_CDLINNECK.o \ + ../../../../../temp/csp/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/csp/ta_CDLKICKING.o \ + ../../../../../temp/csp/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/csp/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/csp/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/csp/ta_CDLLONGLINE.o \ + ../../../../../temp/csp/ta_CDLMARUBOZU.o \ + ../../../../../temp/csp/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/csp/ta_CDLMATHOLD.o \ + ../../../../../temp/csp/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/csp/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/csp/ta_CDLONNECK.o \ + ../../../../../temp/csp/ta_CDLPIERCING.o \ + ../../../../../temp/csp/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/csp/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/csp/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/csp/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/csp/ta_CDLSHORTLINE.o \ + ../../../../../temp/csp/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/csp/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/csp/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/csp/ta_CDLTAKURI.o \ + ../../../../../temp/csp/ta_CDLTASUKIGAP.o \ + ../../../../../temp/csp/ta_CDLTHRUSTING.o \ + ../../../../../temp/csp/ta_CDLTRISTAR.o \ + ../../../../../temp/csp/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/csp/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/csp/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/csp/ta_CEIL.o \ + ../../../../../temp/csp/ta_CMO.o \ + ../../../../../temp/csp/ta_CORREL.o \ + ../../../../../temp/csp/ta_COS.o \ + ../../../../../temp/csp/ta_COSH.o \ + ../../../../../temp/csp/ta_DEMA.o \ + ../../../../../temp/csp/ta_DIV.o \ + ../../../../../temp/csp/ta_DX.o \ + ../../../../../temp/csp/ta_EMA.o \ + ../../../../../temp/csp/ta_EXP.o \ + ../../../../../temp/csp/ta_FLOOR.o \ + ../../../../../temp/csp/ta_HT_DCPERIOD.o \ + ../../../../../temp/csp/ta_HT_DCPHASE.o \ + ../../../../../temp/csp/ta_HT_PHASOR.o \ + ../../../../../temp/csp/ta_HT_SINE.o \ + ../../../../../temp/csp/ta_HT_TRENDLINE.o \ + ../../../../../temp/csp/ta_HT_TRENDMODE.o \ + ../../../../../temp/csp/ta_KAMA.o \ + ../../../../../temp/csp/ta_LINEARREG.o \ + ../../../../../temp/csp/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/csp/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/csp/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/csp/ta_LN.o \ + ../../../../../temp/csp/ta_LOG10.o \ + ../../../../../temp/csp/ta_MA.o \ + ../../../../../temp/csp/ta_MACD.o \ + ../../../../../temp/csp/ta_MACDEXT.o \ + ../../../../../temp/csp/ta_MACDFIX.o \ + ../../../../../temp/csp/ta_MAMA.o \ + ../../../../../temp/csp/ta_MAVP.o \ + ../../../../../temp/csp/ta_MAX.o \ + ../../../../../temp/csp/ta_MAXINDEX.o \ + ../../../../../temp/csp/ta_MEDPRICE.o \ + ../../../../../temp/csp/ta_MFI.o \ + ../../../../../temp/csp/ta_MIDPOINT.o \ + ../../../../../temp/csp/ta_MIDPRICE.o \ + ../../../../../temp/csp/ta_MIN.o \ + ../../../../../temp/csp/ta_MININDEX.o \ + ../../../../../temp/csp/ta_MINMAX.o \ + ../../../../../temp/csp/ta_MINMAXINDEX.o \ + ../../../../../temp/csp/ta_MINUS_DI.o \ + ../../../../../temp/csp/ta_MINUS_DM.o \ + ../../../../../temp/csp/ta_MOM.o \ + ../../../../../temp/csp/ta_MULT.o \ + ../../../../../temp/csp/ta_NATR.o \ + ../../../../../temp/csp/ta_OBV.o \ + ../../../../../temp/csp/ta_PLUS_DI.o \ + ../../../../../temp/csp/ta_PLUS_DM.o \ + ../../../../../temp/csp/ta_PPO.o \ + ../../../../../temp/csp/ta_ROC.o \ + ../../../../../temp/csp/ta_ROCP.o \ + ../../../../../temp/csp/ta_ROCR.o \ + ../../../../../temp/csp/ta_ROCR100.o \ + ../../../../../temp/csp/ta_RSI.o \ + ../../../../../temp/csp/ta_SAR.o \ + ../../../../../temp/csp/ta_SAREXT.o \ + ../../../../../temp/csp/ta_SIN.o \ + ../../../../../temp/csp/ta_SINH.o \ + ../../../../../temp/csp/ta_SMA.o \ + ../../../../../temp/csp/ta_SQRT.o \ + ../../../../../temp/csp/ta_STDDEV.o \ + ../../../../../temp/csp/ta_STOCH.o \ + ../../../../../temp/csp/ta_STOCHF.o \ + ../../../../../temp/csp/ta_STOCHRSI.o \ + ../../../../../temp/csp/ta_SUB.o \ + ../../../../../temp/csp/ta_SUM.o \ + ../../../../../temp/csp/ta_T3.o \ + ../../../../../temp/csp/ta_TAN.o \ + ../../../../../temp/csp/ta_TANH.o \ + ../../../../../temp/csp/ta_TEMA.o \ + ../../../../../temp/csp/ta_TRANGE.o \ + ../../../../../temp/csp/ta_TRIMA.o \ + ../../../../../temp/csp/ta_TRIX.o \ + ../../../../../temp/csp/ta_TSF.o \ + ../../../../../temp/csp/ta_TYPPRICE.o \ + ../../../../../temp/csp/ta_ULTOSC.o \ + ../../../../../temp/csp/ta_VAR.o \ + ../../../../../temp/csp/ta_WCLPRICE.o \ + ../../../../../temp/csp/ta_WILLR.o \ + ../../../../../temp/csp/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_func_csp.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csp/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/csp/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/csp/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/csp/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/csp/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/csp/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/csp/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/csp/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/csp/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/csp/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/csp/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/csp/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/csp/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/csp/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/csp/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/csp/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/csp/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/csp/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/csp/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/csp/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/csp/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/csp/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/csp/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/csp/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/csp/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/csp/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/csp/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/csp/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/csp/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/csp/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/csp/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/csp/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/csp/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/csp/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/csp/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/csp/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/csp/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/csp/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/csp/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/csp/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/csp/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/csp/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/csp/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/csp/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/csp/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/csp/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/csp/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/csp/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/csp/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/csp/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/csp/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/csp/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/csp/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/csp/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/csp/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/csp/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/csp/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/csp/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/csp/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/csp/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/csp/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/csp/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/csp/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/csp/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/csp/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/csp/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/csp/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/csp/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/csp/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/csp/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/csp/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/csp/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/csp/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/csp/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/csp/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/csp/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/csp/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/csp/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/csp/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/csp/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/csp/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/csp/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/csp/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/csp/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/csp/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/csp/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/csp/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/csp/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/csp/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/csp/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/csp/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/csp/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/csp/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/csp/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/csp/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/csp/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/csp/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/csp/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/csp/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/csp/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/csp/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/csp/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/csp/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/csp/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/csp/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/csp/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/csp/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/csp/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/csp/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/csp/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/csp/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/csp/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/csp/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/csp/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/csp/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/csp/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/csp/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/csp/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/csp/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/csp/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/csp/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/csp/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/csp/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/csp/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/csp/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/csp/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/csp/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/csp/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/csp/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/csp/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/csp/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/csp/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/csp/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/csp/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/csp/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/csp/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/csp/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/csp/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/csp/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/csp/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/csp/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/csp/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/csp/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/csp/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/csp/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/csp/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/csp/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/csp/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/csp/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/csp/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/csp/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/csp/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/csp/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/csp/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/csp/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/csp/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/csp/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/csp/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/csp/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/csp/cygwin/g++/ta_libc/Makefile b/vendor/ta-lib/make/csp/cygwin/g++/ta_libc/Makefile new file mode 100644 index 000000000..ec8d7d390 --- /dev/null +++ b/vendor/ta-lib/make/csp/cygwin/g++/ta_libc/Makefile @@ -0,0 +1,1053 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_libc_csp.a +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -O -pg -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../include -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I$(QTDIR)/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c \ + ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/csp/ta_global.o \ + ../../../../../temp/csp/ta_retcode.o \ + ../../../../../temp/csp/ta_version.o \ + ../../../../../temp/csp/ta_abstract.o \ + ../../../../../temp/csp/ta_def_ui.o \ + ../../../../../temp/csp/ta_func_api.o \ + ../../../../../temp/csp/ta_group_idx.o \ + ../../../../../temp/csp/ta_frame.o \ + ../../../../../temp/csp/table_a.o \ + ../../../../../temp/csp/table_b.o \ + ../../../../../temp/csp/table_c.o \ + ../../../../../temp/csp/table_d.o \ + ../../../../../temp/csp/table_e.o \ + ../../../../../temp/csp/table_f.o \ + ../../../../../temp/csp/table_g.o \ + ../../../../../temp/csp/table_h.o \ + ../../../../../temp/csp/table_i.o \ + ../../../../../temp/csp/table_j.o \ + ../../../../../temp/csp/table_k.o \ + ../../../../../temp/csp/table_l.o \ + ../../../../../temp/csp/table_m.o \ + ../../../../../temp/csp/table_n.o \ + ../../../../../temp/csp/table_o.o \ + ../../../../../temp/csp/table_p.o \ + ../../../../../temp/csp/table_q.o \ + ../../../../../temp/csp/table_r.o \ + ../../../../../temp/csp/table_s.o \ + ../../../../../temp/csp/table_t.o \ + ../../../../../temp/csp/table_u.o \ + ../../../../../temp/csp/table_v.o \ + ../../../../../temp/csp/table_w.o \ + ../../../../../temp/csp/table_x.o \ + ../../../../../temp/csp/table_y.o \ + ../../../../../temp/csp/table_z.o \ + ../../../../../temp/csp/ta_utility.o \ + ../../../../../temp/csp/ta_ACOS.o \ + ../../../../../temp/csp/ta_AD.o \ + ../../../../../temp/csp/ta_ADD.o \ + ../../../../../temp/csp/ta_ADOSC.o \ + ../../../../../temp/csp/ta_ADX.o \ + ../../../../../temp/csp/ta_ADXR.o \ + ../../../../../temp/csp/ta_APO.o \ + ../../../../../temp/csp/ta_AROON.o \ + ../../../../../temp/csp/ta_AROONOSC.o \ + ../../../../../temp/csp/ta_ASIN.o \ + ../../../../../temp/csp/ta_ATAN.o \ + ../../../../../temp/csp/ta_ATR.o \ + ../../../../../temp/csp/ta_AVGPRICE.o \ + ../../../../../temp/csp/ta_BBANDS.o \ + ../../../../../temp/csp/ta_BETA.o \ + ../../../../../temp/csp/ta_BOP.o \ + ../../../../../temp/csp/ta_CCI.o \ + ../../../../../temp/csp/ta_CDL2CROWS.o \ + ../../../../../temp/csp/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/csp/ta_CDL3INSIDE.o \ + ../../../../../temp/csp/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/csp/ta_CDL3OUTSIDE.o \ + ../../../../../temp/csp/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/csp/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/csp/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/csp/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/csp/ta_CDLBELTHOLD.o \ + ../../../../../temp/csp/ta_CDLBREAKAWAY.o \ + ../../../../../temp/csp/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/csp/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/csp/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/csp/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/csp/ta_CDLDOJI.o \ + ../../../../../temp/csp/ta_CDLDOJISTAR.o \ + ../../../../../temp/csp/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/csp/ta_CDLENGULFING.o \ + ../../../../../temp/csp/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/csp/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/csp/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/csp/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/csp/ta_CDLHAMMER.o \ + ../../../../../temp/csp/ta_CDLHANGINGMAN.o \ + ../../../../../temp/csp/ta_CDLHARAMI.o \ + ../../../../../temp/csp/ta_CDLHARAMICROSS.o \ + ../../../../../temp/csp/ta_CDLHIGHWAVE.o \ + ../../../../../temp/csp/ta_CDLHIKKAKE.o \ + ../../../../../temp/csp/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/csp/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/csp/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/csp/ta_CDLINNECK.o \ + ../../../../../temp/csp/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/csp/ta_CDLKICKING.o \ + ../../../../../temp/csp/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/csp/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/csp/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/csp/ta_CDLLONGLINE.o \ + ../../../../../temp/csp/ta_CDLMARUBOZU.o \ + ../../../../../temp/csp/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/csp/ta_CDLMATHOLD.o \ + ../../../../../temp/csp/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/csp/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/csp/ta_CDLONNECK.o \ + ../../../../../temp/csp/ta_CDLPIERCING.o \ + ../../../../../temp/csp/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/csp/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/csp/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/csp/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/csp/ta_CDLSHORTLINE.o \ + ../../../../../temp/csp/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/csp/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/csp/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/csp/ta_CDLTAKURI.o \ + ../../../../../temp/csp/ta_CDLTASUKIGAP.o \ + ../../../../../temp/csp/ta_CDLTHRUSTING.o \ + ../../../../../temp/csp/ta_CDLTRISTAR.o \ + ../../../../../temp/csp/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/csp/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/csp/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/csp/ta_CEIL.o \ + ../../../../../temp/csp/ta_CMO.o \ + ../../../../../temp/csp/ta_CORREL.o \ + ../../../../../temp/csp/ta_COS.o \ + ../../../../../temp/csp/ta_COSH.o \ + ../../../../../temp/csp/ta_DEMA.o \ + ../../../../../temp/csp/ta_DIV.o \ + ../../../../../temp/csp/ta_DX.o \ + ../../../../../temp/csp/ta_EMA.o \ + ../../../../../temp/csp/ta_EXP.o \ + ../../../../../temp/csp/ta_FLOOR.o \ + ../../../../../temp/csp/ta_HT_DCPERIOD.o \ + ../../../../../temp/csp/ta_HT_DCPHASE.o \ + ../../../../../temp/csp/ta_HT_PHASOR.o \ + ../../../../../temp/csp/ta_HT_SINE.o \ + ../../../../../temp/csp/ta_HT_TRENDLINE.o \ + ../../../../../temp/csp/ta_HT_TRENDMODE.o \ + ../../../../../temp/csp/ta_KAMA.o \ + ../../../../../temp/csp/ta_LINEARREG.o \ + ../../../../../temp/csp/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/csp/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/csp/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/csp/ta_LN.o \ + ../../../../../temp/csp/ta_LOG10.o \ + ../../../../../temp/csp/ta_MA.o \ + ../../../../../temp/csp/ta_MACD.o \ + ../../../../../temp/csp/ta_MACDEXT.o \ + ../../../../../temp/csp/ta_MACDFIX.o \ + ../../../../../temp/csp/ta_MAMA.o \ + ../../../../../temp/csp/ta_MAVP.o \ + ../../../../../temp/csp/ta_MAX.o \ + ../../../../../temp/csp/ta_MAXINDEX.o \ + ../../../../../temp/csp/ta_MEDPRICE.o \ + ../../../../../temp/csp/ta_MFI.o \ + ../../../../../temp/csp/ta_MIDPOINT.o \ + ../../../../../temp/csp/ta_MIDPRICE.o \ + ../../../../../temp/csp/ta_MIN.o \ + ../../../../../temp/csp/ta_MININDEX.o \ + ../../../../../temp/csp/ta_MINMAX.o \ + ../../../../../temp/csp/ta_MINMAXINDEX.o \ + ../../../../../temp/csp/ta_MINUS_DI.o \ + ../../../../../temp/csp/ta_MINUS_DM.o \ + ../../../../../temp/csp/ta_MOM.o \ + ../../../../../temp/csp/ta_MULT.o \ + ../../../../../temp/csp/ta_NATR.o \ + ../../../../../temp/csp/ta_OBV.o \ + ../../../../../temp/csp/ta_PLUS_DI.o \ + ../../../../../temp/csp/ta_PLUS_DM.o \ + ../../../../../temp/csp/ta_PPO.o \ + ../../../../../temp/csp/ta_ROC.o \ + ../../../../../temp/csp/ta_ROCP.o \ + ../../../../../temp/csp/ta_ROCR.o \ + ../../../../../temp/csp/ta_ROCR100.o \ + ../../../../../temp/csp/ta_RSI.o \ + ../../../../../temp/csp/ta_SAR.o \ + ../../../../../temp/csp/ta_SAREXT.o \ + ../../../../../temp/csp/ta_SIN.o \ + ../../../../../temp/csp/ta_SINH.o \ + ../../../../../temp/csp/ta_SMA.o \ + ../../../../../temp/csp/ta_SQRT.o \ + ../../../../../temp/csp/ta_STDDEV.o \ + ../../../../../temp/csp/ta_STOCH.o \ + ../../../../../temp/csp/ta_STOCHF.o \ + ../../../../../temp/csp/ta_STOCHRSI.o \ + ../../../../../temp/csp/ta_SUB.o \ + ../../../../../temp/csp/ta_SUM.o \ + ../../../../../temp/csp/ta_T3.o \ + ../../../../../temp/csp/ta_TAN.o \ + ../../../../../temp/csp/ta_TANH.o \ + ../../../../../temp/csp/ta_TEMA.o \ + ../../../../../temp/csp/ta_TRANGE.o \ + ../../../../../temp/csp/ta_TRIMA.o \ + ../../../../../temp/csp/ta_TRIX.o \ + ../../../../../temp/csp/ta_TSF.o \ + ../../../../../temp/csp/ta_TYPPRICE.o \ + ../../../../../temp/csp/ta_ULTOSC.o \ + ../../../../../temp/csp/ta_VAR.o \ + ../../../../../temp/csp/ta_WCLPRICE.o \ + ../../../../../temp/csp/ta_WILLR.o \ + ../../../../../temp/csp/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_libc_csp.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csp/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/csp/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/csp/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_version.o ../../../../../src/ta_common/ta_version.c + +../../../../../temp/csp/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csp/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csp/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/csp/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/csp/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/csp/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csp/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csp/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csp/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csp/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csp/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csp/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csp/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csp/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csp/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csp/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csp/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csp/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csp/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csp/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csp/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csp/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csp/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csp/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csp/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csp/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csp/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csp/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csp/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csp/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csp/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + +../../../../../temp/csp/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/csp/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/csp/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/csp/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/csp/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/csp/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/csp/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/csp/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/csp/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/csp/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/csp/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/csp/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/csp/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/csp/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/csp/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/csp/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/csp/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/csp/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/csp/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/csp/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/csp/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/csp/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/csp/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/csp/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/csp/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/csp/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/csp/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/csp/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/csp/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/csp/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/csp/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/csp/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/csp/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/csp/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/csp/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/csp/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/csp/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/csp/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/csp/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/csp/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/csp/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/csp/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/csp/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/csp/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/csp/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/csp/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/csp/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/csp/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/csp/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/csp/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/csp/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/csp/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/csp/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/csp/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/csp/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/csp/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/csp/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/csp/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/csp/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/csp/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/csp/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/csp/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/csp/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/csp/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/csp/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/csp/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/csp/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/csp/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/csp/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/csp/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/csp/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/csp/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/csp/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/csp/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/csp/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/csp/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/csp/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/csp/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/csp/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/csp/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/csp/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/csp/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/csp/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/csp/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/csp/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/csp/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/csp/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/csp/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/csp/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/csp/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/csp/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/csp/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/csp/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/csp/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/csp/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/csp/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/csp/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/csp/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/csp/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/csp/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/csp/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/csp/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/csp/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/csp/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/csp/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/csp/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/csp/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/csp/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/csp/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/csp/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/csp/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/csp/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/csp/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/csp/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/csp/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/csp/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/csp/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/csp/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/csp/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/csp/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/csp/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/csp/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/csp/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/csp/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/csp/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/csp/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/csp/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/csp/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/csp/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/csp/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/csp/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/csp/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/csp/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/csp/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/csp/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/csp/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/csp/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/csp/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/csp/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/csp/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/csp/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/csp/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/csp/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/csp/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/csp/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/csp/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/csp/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/csp/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/csp/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/csp/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/csp/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/csp/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/csp/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/csp/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/csp/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/csp/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/csp/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/csp/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/csp/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/csp/cygwin/g++/ta_regtest/Makefile b/vendor/ta-lib/make/csp/cygwin/g++/ta_regtest/Makefile new file mode 100644 index 000000000..7878c6e95 --- /dev/null +++ b/vendor/ta-lib/make/csp/cygwin/g++/ta_regtest/Makefile @@ -0,0 +1,211 @@ +############################################################################# +# Makefile for building ../../../../../bin/ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -O -pg -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../src/tools/ta_regtest -I../../../../../src/ta_func -I../../../../../include +LINK = g++ +LFLAGS = -pg +LIBS = $(SUBLIBS) ../../../../../lib/libta_libc_csp.a +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/ta_regtest/ta_regtest.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c \ + ../../../../../src/tools/ta_regtest/test_internals.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c \ + ../../../../../src/tools/ta_regtest/test_util.c \ + ../../../../../src/tools/ta_regtest/test_data.c \ + ../../../../../src/tools/ta_regtest/test_abstract.c +OBJECTS = ../../../../../temp/csp/ta_regtest.o \ + ../../../../../temp/csp/test_candlestick.o \ + ../../../../../temp/csp/test_1in_1out.o \ + ../../../../../temp/csp/test_1in_2out.o \ + ../../../../../temp/csp/test_internals.o \ + ../../../../../temp/csp/test_adx.o \ + ../../../../../temp/csp/test_bbands.o \ + ../../../../../temp/csp/test_ma.o \ + ../../../../../temp/csp/test_macd.o \ + ../../../../../temp/csp/test_minmax.o \ + ../../../../../temp/csp/test_mom.o \ + ../../../../../temp/csp/test_per_ema.o \ + ../../../../../temp/csp/test_per_hl.o \ + ../../../../../temp/csp/test_per_hlc.o \ + ../../../../../temp/csp/test_per_hlcv.o \ + ../../../../../temp/csp/test_per_ohlc.o \ + ../../../../../temp/csp/test_po.o \ + ../../../../../temp/csp/test_rsi.o \ + ../../../../../temp/csp/test_sar.o \ + ../../../../../temp/csp/test_stddev.o \ + ../../../../../temp/csp/test_stoch.o \ + ../../../../../temp/csp/test_trange.o \ + ../../../../../temp/csp/test_util.o \ + ../../../../../temp/csp/test_data.o \ + ../../../../../temp/csp/test_abstract.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/ta_regtest +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csp/ta_regtest.o: ../../../../../src/tools/ta_regtest/ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_regtest.o ../../../../../src/tools/ta_regtest/ta_regtest.c + +../../../../../temp/csp/test_candlestick.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_candlestick.o ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + +../../../../../temp/csp/test_1in_1out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_1in_1out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + +../../../../../temp/csp/test_1in_2out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_1in_2out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + +../../../../../temp/csp/test_internals.o: ../../../../../src/tools/ta_regtest/test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_internals.o ../../../../../src/tools/ta_regtest/test_internals.c + +../../../../../temp/csp/test_adx.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_adx.o ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + +../../../../../temp/csp/test_bbands.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_bbands.o ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + +../../../../../temp/csp/test_ma.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_ma.o ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + +../../../../../temp/csp/test_macd.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_macd.o ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + +../../../../../temp/csp/test_minmax.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_minmax.o ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + +../../../../../temp/csp/test_mom.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_mom.o ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + +../../../../../temp/csp/test_per_ema.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_per_ema.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + +../../../../../temp/csp/test_per_hl.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_per_hl.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + +../../../../../temp/csp/test_per_hlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_per_hlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + +../../../../../temp/csp/test_per_hlcv.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_per_hlcv.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + +../../../../../temp/csp/test_per_ohlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_per_ohlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + +../../../../../temp/csp/test_po.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_po.o ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + +../../../../../temp/csp/test_rsi.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_rsi.o ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + +../../../../../temp/csp/test_sar.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_sar.o ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + +../../../../../temp/csp/test_stddev.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_stddev.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + +../../../../../temp/csp/test_stoch.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_stoch.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + +../../../../../temp/csp/test_trange.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_trange.o ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + +../../../../../temp/csp/test_util.o: ../../../../../src/tools/ta_regtest/test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_util.o ../../../../../src/tools/ta_regtest/test_util.c + +../../../../../temp/csp/test_data.o: ../../../../../src/tools/ta_regtest/test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_data.o ../../../../../src/tools/ta_regtest/test_data.c + +../../../../../temp/csp/test_abstract.o: ../../../../../src/tools/ta_regtest/test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_abstract.o ../../../../../src/tools/ta_regtest/test_abstract.c + diff --git a/vendor/ta-lib/make/csp/freebsd/g++/Makefile b/vendor/ta-lib/make/csp/freebsd/g++/Makefile new file mode 100644 index 000000000..254f26ea7 --- /dev/null +++ b/vendor/ta-lib/make/csp/freebsd/g++/Makefile @@ -0,0 +1,36 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +$(SUBDIRS): FORCE + cd $@; $(MAKE) + +tmake: ../csp/freebsd/g++/Makefile + +../csp/freebsd/g++/Makefile: rootmake.pro + tmake rootmake.pro -o ../csp/freebsd/g++/Makefile + +tmake_all: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done + +#### $text = "\t" . 'for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; pro=`basename $$i`.pro ; $(TMAKE) $$pro -o $(MAKEFILE); grep "TEMPLATE.*subdirs" $$pro 2>/dev/null >/dev/null && $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done'; + +clean release debug: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) $@; fi; ) ; done + +FORCE: diff --git a/vendor/ta-lib/make/csp/freebsd/g++/gen_code/Makefile b/vendor/ta-lib/make/csp/freebsd/g++/gen_code/Makefile new file mode 100644 index 000000000..fe121e0e4 --- /dev/null +++ b/vendor/ta-lib/make/csp/freebsd/g++/gen_code/Makefile @@ -0,0 +1,225 @@ +############################################################################# +# Makefile for building ../../../../../bin/gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -O -pg -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -g -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../include -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I/usr/local/include +LINK = g++ +LFLAGS = -L/usr/local/lib -pg +LIBS = $(SUBLIBS) ../../../../../lib/libta_common_csp.a +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/gen_code/gen_code.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/csp/gen_code/gen_code.o \ + ../../../../../temp/csp/gen_code/ta_abstract.o \ + ../../../../../temp/csp/gen_code/ta_def_ui.o \ + ../../../../../temp/csp/gen_code/table_a.o \ + ../../../../../temp/csp/gen_code/table_b.o \ + ../../../../../temp/csp/gen_code/table_c.o \ + ../../../../../temp/csp/gen_code/table_d.o \ + ../../../../../temp/csp/gen_code/table_e.o \ + ../../../../../temp/csp/gen_code/table_f.o \ + ../../../../../temp/csp/gen_code/table_g.o \ + ../../../../../temp/csp/gen_code/table_h.o \ + ../../../../../temp/csp/gen_code/table_i.o \ + ../../../../../temp/csp/gen_code/table_j.o \ + ../../../../../temp/csp/gen_code/table_k.o \ + ../../../../../temp/csp/gen_code/table_l.o \ + ../../../../../temp/csp/gen_code/table_m.o \ + ../../../../../temp/csp/gen_code/table_n.o \ + ../../../../../temp/csp/gen_code/table_o.o \ + ../../../../../temp/csp/gen_code/table_p.o \ + ../../../../../temp/csp/gen_code/table_q.o \ + ../../../../../temp/csp/gen_code/table_r.o \ + ../../../../../temp/csp/gen_code/table_s.o \ + ../../../../../temp/csp/gen_code/table_t.o \ + ../../../../../temp/csp/gen_code/table_u.o \ + ../../../../../temp/csp/gen_code/table_v.o \ + ../../../../../temp/csp/gen_code/table_w.o \ + ../../../../../temp/csp/gen_code/table_x.o \ + ../../../../../temp/csp/gen_code/table_y.o \ + ../../../../../temp/csp/gen_code/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/gen_code +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csp/gen_code/gen_code.o: ../../../../../src/tools/gen_code/gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/gen_code.o ../../../../../src/tools/gen_code/gen_code.c + +../../../../../temp/csp/gen_code/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csp/gen_code/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csp/gen_code/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csp/gen_code/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csp/gen_code/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csp/gen_code/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csp/gen_code/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csp/gen_code/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csp/gen_code/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csp/gen_code/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csp/gen_code/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csp/gen_code/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csp/gen_code/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csp/gen_code/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csp/gen_code/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csp/gen_code/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csp/gen_code/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csp/gen_code/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csp/gen_code/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csp/gen_code/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csp/gen_code/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csp/gen_code/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csp/gen_code/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csp/gen_code/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csp/gen_code/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csp/gen_code/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csp/gen_code/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csp/gen_code/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/csp/freebsd/g++/ta_abstract/Makefile b/vendor/ta-lib/make/csp/freebsd/g++/ta_abstract/Makefile new file mode 100644 index 000000000..c695b83f6 --- /dev/null +++ b/vendor/ta-lib/make/csp/freebsd/g++/ta_abstract/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_abstract_csp.a +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -O -pg -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I../../../../../include -I/usr/local/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/csp/ta_abstract.o \ + ../../../../../temp/csp/ta_def_ui.o \ + ../../../../../temp/csp/ta_func_api.o \ + ../../../../../temp/csp/ta_group_idx.o \ + ../../../../../temp/csp/ta_frame.o \ + ../../../../../temp/csp/table_a.o \ + ../../../../../temp/csp/table_b.o \ + ../../../../../temp/csp/table_c.o \ + ../../../../../temp/csp/table_d.o \ + ../../../../../temp/csp/table_e.o \ + ../../../../../temp/csp/table_f.o \ + ../../../../../temp/csp/table_g.o \ + ../../../../../temp/csp/table_h.o \ + ../../../../../temp/csp/table_i.o \ + ../../../../../temp/csp/table_j.o \ + ../../../../../temp/csp/table_k.o \ + ../../../../../temp/csp/table_l.o \ + ../../../../../temp/csp/table_m.o \ + ../../../../../temp/csp/table_n.o \ + ../../../../../temp/csp/table_o.o \ + ../../../../../temp/csp/table_p.o \ + ../../../../../temp/csp/table_q.o \ + ../../../../../temp/csp/table_r.o \ + ../../../../../temp/csp/table_s.o \ + ../../../../../temp/csp/table_t.o \ + ../../../../../temp/csp/table_u.o \ + ../../../../../temp/csp/table_v.o \ + ../../../../../temp/csp/table_w.o \ + ../../../../../temp/csp/table_x.o \ + ../../../../../temp/csp/table_y.o \ + ../../../../../temp/csp/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_abstract_csp.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csp/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csp/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csp/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/csp/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/csp/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/csp/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csp/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csp/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csp/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csp/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csp/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csp/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csp/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csp/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csp/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csp/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csp/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csp/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csp/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csp/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csp/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csp/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csp/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csp/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csp/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csp/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csp/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csp/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csp/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csp/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csp/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/csp/freebsd/g++/ta_common/Makefile b/vendor/ta-lib/make/csp/freebsd/g++/ta_common/Makefile new file mode 100644 index 000000000..93e198962 --- /dev/null +++ b/vendor/ta-lib/make/csp/freebsd/g++/ta_common/Makefile @@ -0,0 +1,103 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_common_csp.a +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -O -pg -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../include -I/usr/local/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c +OBJECTS = ../../../../../temp/csp/ta_global.o \ + ../../../../../temp/csp/ta_retcode.o \ + ../../../../../temp/csp/ta_version.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_common_csp.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csp/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/csp/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/csp/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_version.o ../../../../../src/ta_common/ta_version.c + diff --git a/vendor/ta-lib/make/csp/freebsd/g++/ta_func/Makefile b/vendor/ta-lib/make/csp/freebsd/g++/ta_func/Makefile new file mode 100644 index 000000000..342fd4bab --- /dev/null +++ b/vendor/ta-lib/make/csp/freebsd/g++/ta_func/Makefile @@ -0,0 +1,883 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_func_csp.a +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -O -pg -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I/n -I../../../../../include -I/usr/local/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/csp/ta_utility.o \ + ../../../../../temp/csp/ta_ACOS.o \ + ../../../../../temp/csp/ta_AD.o \ + ../../../../../temp/csp/ta_ADD.o \ + ../../../../../temp/csp/ta_ADOSC.o \ + ../../../../../temp/csp/ta_ADX.o \ + ../../../../../temp/csp/ta_ADXR.o \ + ../../../../../temp/csp/ta_APO.o \ + ../../../../../temp/csp/ta_AROON.o \ + ../../../../../temp/csp/ta_AROONOSC.o \ + ../../../../../temp/csp/ta_ASIN.o \ + ../../../../../temp/csp/ta_ATAN.o \ + ../../../../../temp/csp/ta_ATR.o \ + ../../../../../temp/csp/ta_AVGPRICE.o \ + ../../../../../temp/csp/ta_BBANDS.o \ + ../../../../../temp/csp/ta_BETA.o \ + ../../../../../temp/csp/ta_BOP.o \ + ../../../../../temp/csp/ta_CCI.o \ + ../../../../../temp/csp/ta_CDL2CROWS.o \ + ../../../../../temp/csp/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/csp/ta_CDL3INSIDE.o \ + ../../../../../temp/csp/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/csp/ta_CDL3OUTSIDE.o \ + ../../../../../temp/csp/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/csp/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/csp/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/csp/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/csp/ta_CDLBELTHOLD.o \ + ../../../../../temp/csp/ta_CDLBREAKAWAY.o \ + ../../../../../temp/csp/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/csp/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/csp/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/csp/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/csp/ta_CDLDOJI.o \ + ../../../../../temp/csp/ta_CDLDOJISTAR.o \ + ../../../../../temp/csp/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/csp/ta_CDLENGULFING.o \ + ../../../../../temp/csp/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/csp/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/csp/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/csp/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/csp/ta_CDLHAMMER.o \ + ../../../../../temp/csp/ta_CDLHANGINGMAN.o \ + ../../../../../temp/csp/ta_CDLHARAMI.o \ + ../../../../../temp/csp/ta_CDLHARAMICROSS.o \ + ../../../../../temp/csp/ta_CDLHIGHWAVE.o \ + ../../../../../temp/csp/ta_CDLHIKKAKE.o \ + ../../../../../temp/csp/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/csp/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/csp/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/csp/ta_CDLINNECK.o \ + ../../../../../temp/csp/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/csp/ta_CDLKICKING.o \ + ../../../../../temp/csp/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/csp/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/csp/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/csp/ta_CDLLONGLINE.o \ + ../../../../../temp/csp/ta_CDLMARUBOZU.o \ + ../../../../../temp/csp/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/csp/ta_CDLMATHOLD.o \ + ../../../../../temp/csp/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/csp/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/csp/ta_CDLONNECK.o \ + ../../../../../temp/csp/ta_CDLPIERCING.o \ + ../../../../../temp/csp/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/csp/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/csp/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/csp/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/csp/ta_CDLSHORTLINE.o \ + ../../../../../temp/csp/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/csp/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/csp/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/csp/ta_CDLTAKURI.o \ + ../../../../../temp/csp/ta_CDLTASUKIGAP.o \ + ../../../../../temp/csp/ta_CDLTHRUSTING.o \ + ../../../../../temp/csp/ta_CDLTRISTAR.o \ + ../../../../../temp/csp/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/csp/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/csp/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/csp/ta_CEIL.o \ + ../../../../../temp/csp/ta_CMO.o \ + ../../../../../temp/csp/ta_CORREL.o \ + ../../../../../temp/csp/ta_COS.o \ + ../../../../../temp/csp/ta_COSH.o \ + ../../../../../temp/csp/ta_DEMA.o \ + ../../../../../temp/csp/ta_DIV.o \ + ../../../../../temp/csp/ta_DX.o \ + ../../../../../temp/csp/ta_EMA.o \ + ../../../../../temp/csp/ta_EXP.o \ + ../../../../../temp/csp/ta_FLOOR.o \ + ../../../../../temp/csp/ta_HT_DCPERIOD.o \ + ../../../../../temp/csp/ta_HT_DCPHASE.o \ + ../../../../../temp/csp/ta_HT_PHASOR.o \ + ../../../../../temp/csp/ta_HT_SINE.o \ + ../../../../../temp/csp/ta_HT_TRENDLINE.o \ + ../../../../../temp/csp/ta_HT_TRENDMODE.o \ + ../../../../../temp/csp/ta_KAMA.o \ + ../../../../../temp/csp/ta_LINEARREG.o \ + ../../../../../temp/csp/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/csp/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/csp/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/csp/ta_LN.o \ + ../../../../../temp/csp/ta_LOG10.o \ + ../../../../../temp/csp/ta_MA.o \ + ../../../../../temp/csp/ta_MACD.o \ + ../../../../../temp/csp/ta_MACDEXT.o \ + ../../../../../temp/csp/ta_MACDFIX.o \ + ../../../../../temp/csp/ta_MAMA.o \ + ../../../../../temp/csp/ta_MAVP.o \ + ../../../../../temp/csp/ta_MAX.o \ + ../../../../../temp/csp/ta_MAXINDEX.o \ + ../../../../../temp/csp/ta_MEDPRICE.o \ + ../../../../../temp/csp/ta_MFI.o \ + ../../../../../temp/csp/ta_MIDPOINT.o \ + ../../../../../temp/csp/ta_MIDPRICE.o \ + ../../../../../temp/csp/ta_MIN.o \ + ../../../../../temp/csp/ta_MININDEX.o \ + ../../../../../temp/csp/ta_MINMAX.o \ + ../../../../../temp/csp/ta_MINMAXINDEX.o \ + ../../../../../temp/csp/ta_MINUS_DI.o \ + ../../../../../temp/csp/ta_MINUS_DM.o \ + ../../../../../temp/csp/ta_MOM.o \ + ../../../../../temp/csp/ta_MULT.o \ + ../../../../../temp/csp/ta_NATR.o \ + ../../../../../temp/csp/ta_OBV.o \ + ../../../../../temp/csp/ta_PLUS_DI.o \ + ../../../../../temp/csp/ta_PLUS_DM.o \ + ../../../../../temp/csp/ta_PPO.o \ + ../../../../../temp/csp/ta_ROC.o \ + ../../../../../temp/csp/ta_ROCP.o \ + ../../../../../temp/csp/ta_ROCR.o \ + ../../../../../temp/csp/ta_ROCR100.o \ + ../../../../../temp/csp/ta_RSI.o \ + ../../../../../temp/csp/ta_SAR.o \ + ../../../../../temp/csp/ta_SAREXT.o \ + ../../../../../temp/csp/ta_SIN.o \ + ../../../../../temp/csp/ta_SINH.o \ + ../../../../../temp/csp/ta_SMA.o \ + ../../../../../temp/csp/ta_SQRT.o \ + ../../../../../temp/csp/ta_STDDEV.o \ + ../../../../../temp/csp/ta_STOCH.o \ + ../../../../../temp/csp/ta_STOCHF.o \ + ../../../../../temp/csp/ta_STOCHRSI.o \ + ../../../../../temp/csp/ta_SUB.o \ + ../../../../../temp/csp/ta_SUM.o \ + ../../../../../temp/csp/ta_T3.o \ + ../../../../../temp/csp/ta_TAN.o \ + ../../../../../temp/csp/ta_TANH.o \ + ../../../../../temp/csp/ta_TEMA.o \ + ../../../../../temp/csp/ta_TRANGE.o \ + ../../../../../temp/csp/ta_TRIMA.o \ + ../../../../../temp/csp/ta_TRIX.o \ + ../../../../../temp/csp/ta_TSF.o \ + ../../../../../temp/csp/ta_TYPPRICE.o \ + ../../../../../temp/csp/ta_ULTOSC.o \ + ../../../../../temp/csp/ta_VAR.o \ + ../../../../../temp/csp/ta_WCLPRICE.o \ + ../../../../../temp/csp/ta_WILLR.o \ + ../../../../../temp/csp/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_func_csp.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csp/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/csp/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/csp/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/csp/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/csp/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/csp/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/csp/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/csp/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/csp/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/csp/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/csp/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/csp/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/csp/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/csp/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/csp/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/csp/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/csp/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/csp/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/csp/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/csp/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/csp/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/csp/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/csp/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/csp/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/csp/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/csp/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/csp/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/csp/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/csp/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/csp/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/csp/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/csp/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/csp/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/csp/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/csp/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/csp/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/csp/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/csp/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/csp/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/csp/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/csp/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/csp/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/csp/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/csp/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/csp/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/csp/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/csp/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/csp/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/csp/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/csp/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/csp/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/csp/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/csp/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/csp/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/csp/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/csp/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/csp/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/csp/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/csp/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/csp/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/csp/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/csp/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/csp/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/csp/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/csp/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/csp/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/csp/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/csp/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/csp/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/csp/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/csp/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/csp/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/csp/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/csp/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/csp/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/csp/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/csp/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/csp/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/csp/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/csp/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/csp/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/csp/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/csp/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/csp/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/csp/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/csp/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/csp/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/csp/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/csp/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/csp/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/csp/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/csp/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/csp/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/csp/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/csp/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/csp/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/csp/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/csp/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/csp/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/csp/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/csp/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/csp/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/csp/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/csp/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/csp/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/csp/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/csp/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/csp/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/csp/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/csp/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/csp/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/csp/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/csp/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/csp/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/csp/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/csp/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/csp/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/csp/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/csp/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/csp/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/csp/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/csp/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/csp/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/csp/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/csp/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/csp/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/csp/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/csp/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/csp/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/csp/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/csp/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/csp/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/csp/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/csp/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/csp/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/csp/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/csp/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/csp/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/csp/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/csp/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/csp/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/csp/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/csp/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/csp/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/csp/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/csp/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/csp/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/csp/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/csp/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/csp/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/csp/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/csp/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/csp/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/csp/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/csp/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/csp/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/csp/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/csp/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/csp/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/csp/freebsd/g++/ta_libc/Makefile b/vendor/ta-lib/make/csp/freebsd/g++/ta_libc/Makefile new file mode 100644 index 000000000..076a6b1de --- /dev/null +++ b/vendor/ta-lib/make/csp/freebsd/g++/ta_libc/Makefile @@ -0,0 +1,1053 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_libc_csp.a +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -O -pg -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../include -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I/usr/local/include -I$(QTDIR)/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c \ + ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/csp/ta_global.o \ + ../../../../../temp/csp/ta_retcode.o \ + ../../../../../temp/csp/ta_version.o \ + ../../../../../temp/csp/ta_abstract.o \ + ../../../../../temp/csp/ta_def_ui.o \ + ../../../../../temp/csp/ta_func_api.o \ + ../../../../../temp/csp/ta_group_idx.o \ + ../../../../../temp/csp/ta_frame.o \ + ../../../../../temp/csp/table_a.o \ + ../../../../../temp/csp/table_b.o \ + ../../../../../temp/csp/table_c.o \ + ../../../../../temp/csp/table_d.o \ + ../../../../../temp/csp/table_e.o \ + ../../../../../temp/csp/table_f.o \ + ../../../../../temp/csp/table_g.o \ + ../../../../../temp/csp/table_h.o \ + ../../../../../temp/csp/table_i.o \ + ../../../../../temp/csp/table_j.o \ + ../../../../../temp/csp/table_k.o \ + ../../../../../temp/csp/table_l.o \ + ../../../../../temp/csp/table_m.o \ + ../../../../../temp/csp/table_n.o \ + ../../../../../temp/csp/table_o.o \ + ../../../../../temp/csp/table_p.o \ + ../../../../../temp/csp/table_q.o \ + ../../../../../temp/csp/table_r.o \ + ../../../../../temp/csp/table_s.o \ + ../../../../../temp/csp/table_t.o \ + ../../../../../temp/csp/table_u.o \ + ../../../../../temp/csp/table_v.o \ + ../../../../../temp/csp/table_w.o \ + ../../../../../temp/csp/table_x.o \ + ../../../../../temp/csp/table_y.o \ + ../../../../../temp/csp/table_z.o \ + ../../../../../temp/csp/ta_utility.o \ + ../../../../../temp/csp/ta_ACOS.o \ + ../../../../../temp/csp/ta_AD.o \ + ../../../../../temp/csp/ta_ADD.o \ + ../../../../../temp/csp/ta_ADOSC.o \ + ../../../../../temp/csp/ta_ADX.o \ + ../../../../../temp/csp/ta_ADXR.o \ + ../../../../../temp/csp/ta_APO.o \ + ../../../../../temp/csp/ta_AROON.o \ + ../../../../../temp/csp/ta_AROONOSC.o \ + ../../../../../temp/csp/ta_ASIN.o \ + ../../../../../temp/csp/ta_ATAN.o \ + ../../../../../temp/csp/ta_ATR.o \ + ../../../../../temp/csp/ta_AVGPRICE.o \ + ../../../../../temp/csp/ta_BBANDS.o \ + ../../../../../temp/csp/ta_BETA.o \ + ../../../../../temp/csp/ta_BOP.o \ + ../../../../../temp/csp/ta_CCI.o \ + ../../../../../temp/csp/ta_CDL2CROWS.o \ + ../../../../../temp/csp/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/csp/ta_CDL3INSIDE.o \ + ../../../../../temp/csp/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/csp/ta_CDL3OUTSIDE.o \ + ../../../../../temp/csp/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/csp/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/csp/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/csp/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/csp/ta_CDLBELTHOLD.o \ + ../../../../../temp/csp/ta_CDLBREAKAWAY.o \ + ../../../../../temp/csp/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/csp/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/csp/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/csp/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/csp/ta_CDLDOJI.o \ + ../../../../../temp/csp/ta_CDLDOJISTAR.o \ + ../../../../../temp/csp/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/csp/ta_CDLENGULFING.o \ + ../../../../../temp/csp/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/csp/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/csp/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/csp/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/csp/ta_CDLHAMMER.o \ + ../../../../../temp/csp/ta_CDLHANGINGMAN.o \ + ../../../../../temp/csp/ta_CDLHARAMI.o \ + ../../../../../temp/csp/ta_CDLHARAMICROSS.o \ + ../../../../../temp/csp/ta_CDLHIGHWAVE.o \ + ../../../../../temp/csp/ta_CDLHIKKAKE.o \ + ../../../../../temp/csp/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/csp/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/csp/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/csp/ta_CDLINNECK.o \ + ../../../../../temp/csp/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/csp/ta_CDLKICKING.o \ + ../../../../../temp/csp/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/csp/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/csp/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/csp/ta_CDLLONGLINE.o \ + ../../../../../temp/csp/ta_CDLMARUBOZU.o \ + ../../../../../temp/csp/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/csp/ta_CDLMATHOLD.o \ + ../../../../../temp/csp/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/csp/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/csp/ta_CDLONNECK.o \ + ../../../../../temp/csp/ta_CDLPIERCING.o \ + ../../../../../temp/csp/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/csp/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/csp/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/csp/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/csp/ta_CDLSHORTLINE.o \ + ../../../../../temp/csp/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/csp/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/csp/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/csp/ta_CDLTAKURI.o \ + ../../../../../temp/csp/ta_CDLTASUKIGAP.o \ + ../../../../../temp/csp/ta_CDLTHRUSTING.o \ + ../../../../../temp/csp/ta_CDLTRISTAR.o \ + ../../../../../temp/csp/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/csp/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/csp/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/csp/ta_CEIL.o \ + ../../../../../temp/csp/ta_CMO.o \ + ../../../../../temp/csp/ta_CORREL.o \ + ../../../../../temp/csp/ta_COS.o \ + ../../../../../temp/csp/ta_COSH.o \ + ../../../../../temp/csp/ta_DEMA.o \ + ../../../../../temp/csp/ta_DIV.o \ + ../../../../../temp/csp/ta_DX.o \ + ../../../../../temp/csp/ta_EMA.o \ + ../../../../../temp/csp/ta_EXP.o \ + ../../../../../temp/csp/ta_FLOOR.o \ + ../../../../../temp/csp/ta_HT_DCPERIOD.o \ + ../../../../../temp/csp/ta_HT_DCPHASE.o \ + ../../../../../temp/csp/ta_HT_PHASOR.o \ + ../../../../../temp/csp/ta_HT_SINE.o \ + ../../../../../temp/csp/ta_HT_TRENDLINE.o \ + ../../../../../temp/csp/ta_HT_TRENDMODE.o \ + ../../../../../temp/csp/ta_KAMA.o \ + ../../../../../temp/csp/ta_LINEARREG.o \ + ../../../../../temp/csp/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/csp/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/csp/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/csp/ta_LN.o \ + ../../../../../temp/csp/ta_LOG10.o \ + ../../../../../temp/csp/ta_MA.o \ + ../../../../../temp/csp/ta_MACD.o \ + ../../../../../temp/csp/ta_MACDEXT.o \ + ../../../../../temp/csp/ta_MACDFIX.o \ + ../../../../../temp/csp/ta_MAMA.o \ + ../../../../../temp/csp/ta_MAVP.o \ + ../../../../../temp/csp/ta_MAX.o \ + ../../../../../temp/csp/ta_MAXINDEX.o \ + ../../../../../temp/csp/ta_MEDPRICE.o \ + ../../../../../temp/csp/ta_MFI.o \ + ../../../../../temp/csp/ta_MIDPOINT.o \ + ../../../../../temp/csp/ta_MIDPRICE.o \ + ../../../../../temp/csp/ta_MIN.o \ + ../../../../../temp/csp/ta_MININDEX.o \ + ../../../../../temp/csp/ta_MINMAX.o \ + ../../../../../temp/csp/ta_MINMAXINDEX.o \ + ../../../../../temp/csp/ta_MINUS_DI.o \ + ../../../../../temp/csp/ta_MINUS_DM.o \ + ../../../../../temp/csp/ta_MOM.o \ + ../../../../../temp/csp/ta_MULT.o \ + ../../../../../temp/csp/ta_NATR.o \ + ../../../../../temp/csp/ta_OBV.o \ + ../../../../../temp/csp/ta_PLUS_DI.o \ + ../../../../../temp/csp/ta_PLUS_DM.o \ + ../../../../../temp/csp/ta_PPO.o \ + ../../../../../temp/csp/ta_ROC.o \ + ../../../../../temp/csp/ta_ROCP.o \ + ../../../../../temp/csp/ta_ROCR.o \ + ../../../../../temp/csp/ta_ROCR100.o \ + ../../../../../temp/csp/ta_RSI.o \ + ../../../../../temp/csp/ta_SAR.o \ + ../../../../../temp/csp/ta_SAREXT.o \ + ../../../../../temp/csp/ta_SIN.o \ + ../../../../../temp/csp/ta_SINH.o \ + ../../../../../temp/csp/ta_SMA.o \ + ../../../../../temp/csp/ta_SQRT.o \ + ../../../../../temp/csp/ta_STDDEV.o \ + ../../../../../temp/csp/ta_STOCH.o \ + ../../../../../temp/csp/ta_STOCHF.o \ + ../../../../../temp/csp/ta_STOCHRSI.o \ + ../../../../../temp/csp/ta_SUB.o \ + ../../../../../temp/csp/ta_SUM.o \ + ../../../../../temp/csp/ta_T3.o \ + ../../../../../temp/csp/ta_TAN.o \ + ../../../../../temp/csp/ta_TANH.o \ + ../../../../../temp/csp/ta_TEMA.o \ + ../../../../../temp/csp/ta_TRANGE.o \ + ../../../../../temp/csp/ta_TRIMA.o \ + ../../../../../temp/csp/ta_TRIX.o \ + ../../../../../temp/csp/ta_TSF.o \ + ../../../../../temp/csp/ta_TYPPRICE.o \ + ../../../../../temp/csp/ta_ULTOSC.o \ + ../../../../../temp/csp/ta_VAR.o \ + ../../../../../temp/csp/ta_WCLPRICE.o \ + ../../../../../temp/csp/ta_WILLR.o \ + ../../../../../temp/csp/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_libc_csp.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csp/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/csp/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/csp/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_version.o ../../../../../src/ta_common/ta_version.c + +../../../../../temp/csp/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csp/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csp/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/csp/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/csp/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/csp/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csp/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csp/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csp/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csp/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csp/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csp/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csp/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csp/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csp/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csp/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csp/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csp/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csp/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csp/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csp/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csp/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csp/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csp/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csp/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csp/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csp/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csp/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csp/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csp/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csp/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + +../../../../../temp/csp/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/csp/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/csp/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/csp/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/csp/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/csp/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/csp/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/csp/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/csp/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/csp/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/csp/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/csp/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/csp/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/csp/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/csp/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/csp/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/csp/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/csp/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/csp/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/csp/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/csp/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/csp/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/csp/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/csp/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/csp/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/csp/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/csp/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/csp/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/csp/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/csp/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/csp/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/csp/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/csp/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/csp/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/csp/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/csp/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/csp/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/csp/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/csp/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/csp/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/csp/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/csp/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/csp/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/csp/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/csp/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/csp/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/csp/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/csp/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/csp/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/csp/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/csp/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/csp/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/csp/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/csp/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/csp/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/csp/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/csp/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/csp/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/csp/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/csp/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/csp/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/csp/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/csp/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/csp/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/csp/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/csp/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/csp/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/csp/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/csp/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/csp/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/csp/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/csp/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/csp/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/csp/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/csp/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/csp/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/csp/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/csp/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/csp/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/csp/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/csp/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/csp/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/csp/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/csp/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/csp/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/csp/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/csp/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/csp/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/csp/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/csp/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/csp/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/csp/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/csp/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/csp/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/csp/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/csp/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/csp/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/csp/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/csp/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/csp/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/csp/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/csp/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/csp/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/csp/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/csp/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/csp/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/csp/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/csp/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/csp/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/csp/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/csp/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/csp/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/csp/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/csp/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/csp/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/csp/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/csp/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/csp/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/csp/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/csp/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/csp/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/csp/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/csp/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/csp/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/csp/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/csp/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/csp/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/csp/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/csp/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/csp/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/csp/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/csp/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/csp/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/csp/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/csp/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/csp/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/csp/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/csp/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/csp/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/csp/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/csp/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/csp/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/csp/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/csp/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/csp/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/csp/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/csp/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/csp/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/csp/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/csp/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/csp/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/csp/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/csp/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/csp/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/csp/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/csp/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/csp/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/csp/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/csp/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/csp/freebsd/g++/ta_regtest/Makefile b/vendor/ta-lib/make/csp/freebsd/g++/ta_regtest/Makefile new file mode 100644 index 000000000..1c75921d5 --- /dev/null +++ b/vendor/ta-lib/make/csp/freebsd/g++/ta_regtest/Makefile @@ -0,0 +1,205 @@ +############################################################################# +# Makefile for building ../../../../../bin/ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -g -O -pg -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../src/tools/ta_regtest -I../../../../../src/ta_func -I../../../../../include -I/usr/local/include +LINK = g++ +LFLAGS = -L/usr/local/lib -pg +LIBS = $(SUBLIBS) ../../../../../lib/libta_libc_csp.a +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/ta_regtest/ta_regtest.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c \ + ../../../../../src/tools/ta_regtest/test_internals.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c \ + ../../../../../src/tools/ta_regtest/test_util.c \ + ../../../../../src/tools/ta_regtest/test_data.c \ + ../../../../../src/tools/ta_regtest/test_abstract.c +OBJECTS = ../../../../../temp/csp/ta_regtest.o \ + ../../../../../temp/csp/test_candlestick.o \ + ../../../../../temp/csp/test_1in_1out.o \ + ../../../../../temp/csp/test_1in_2out.o \ + ../../../../../temp/csp/test_internals.o \ + ../../../../../temp/csp/test_adx.o \ + ../../../../../temp/csp/test_bbands.o \ + ../../../../../temp/csp/test_ma.o \ + ../../../../../temp/csp/test_macd.o \ + ../../../../../temp/csp/test_minmax.o \ + ../../../../../temp/csp/test_mom.o \ + ../../../../../temp/csp/test_per_ema.o \ + ../../../../../temp/csp/test_per_hl.o \ + ../../../../../temp/csp/test_per_hlc.o \ + ../../../../../temp/csp/test_per_hlcv.o \ + ../../../../../temp/csp/test_per_ohlc.o \ + ../../../../../temp/csp/test_po.o \ + ../../../../../temp/csp/test_rsi.o \ + ../../../../../temp/csp/test_sar.o \ + ../../../../../temp/csp/test_stddev.o \ + ../../../../../temp/csp/test_stoch.o \ + ../../../../../temp/csp/test_trange.o \ + ../../../../../temp/csp/test_util.o \ + ../../../../../temp/csp/test_data.o \ + ../../../../../temp/csp/test_abstract.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/ta_regtest +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csp/ta_regtest.o: ../../../../../src/tools/ta_regtest/ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_regtest.o ../../../../../src/tools/ta_regtest/ta_regtest.c + +../../../../../temp/csp/test_candlestick.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_candlestick.o ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + +../../../../../temp/csp/test_1in_1out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_1in_1out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + +../../../../../temp/csp/test_1in_2out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_1in_2out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + +../../../../../temp/csp/test_internals.o: ../../../../../src/tools/ta_regtest/test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_internals.o ../../../../../src/tools/ta_regtest/test_internals.c + +../../../../../temp/csp/test_adx.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_adx.o ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + +../../../../../temp/csp/test_bbands.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_bbands.o ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + +../../../../../temp/csp/test_ma.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_ma.o ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + +../../../../../temp/csp/test_macd.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_macd.o ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + +../../../../../temp/csp/test_minmax.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_minmax.o ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + +../../../../../temp/csp/test_mom.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_mom.o ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + +../../../../../temp/csp/test_per_ema.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_per_ema.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + +../../../../../temp/csp/test_per_hl.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_per_hl.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + +../../../../../temp/csp/test_per_hlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_per_hlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + +../../../../../temp/csp/test_per_hlcv.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_per_hlcv.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + +../../../../../temp/csp/test_per_ohlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_per_ohlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + +../../../../../temp/csp/test_po.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_po.o ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + +../../../../../temp/csp/test_rsi.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_rsi.o ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + +../../../../../temp/csp/test_sar.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_sar.o ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + +../../../../../temp/csp/test_stddev.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_stddev.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + +../../../../../temp/csp/test_stoch.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_stoch.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + +../../../../../temp/csp/test_trange.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_trange.o ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + +../../../../../temp/csp/test_util.o: ../../../../../src/tools/ta_regtest/test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_util.o ../../../../../src/tools/ta_regtest/test_util.c + +../../../../../temp/csp/test_data.o: ../../../../../src/tools/ta_regtest/test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_data.o ../../../../../src/tools/ta_regtest/test_data.c + +../../../../../temp/csp/test_abstract.o: ../../../../../src/tools/ta_regtest/test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_abstract.o ../../../../../src/tools/ta_regtest/test_abstract.c + diff --git a/vendor/ta-lib/make/csp/linux/g++/Makefile b/vendor/ta-lib/make/csp/linux/g++/Makefile new file mode 100644 index 000000000..1d8de8a6b --- /dev/null +++ b/vendor/ta-lib/make/csp/linux/g++/Makefile @@ -0,0 +1,36 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +$(SUBDIRS): FORCE + cd $@; $(MAKE) + +tmake: ../csp/linux/g++/Makefile + +../csp/linux/g++/Makefile: rootmake.pro + tmake rootmake.pro -o ../csp/linux/g++/Makefile + +tmake_all: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done + +#### $text = "\t" . 'for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; pro=`basename $$i`.pro ; $(TMAKE) $$pro -o $(MAKEFILE); grep "TEMPLATE.*subdirs" $$pro 2>/dev/null >/dev/null && $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done'; + +clean release debug: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) $@; fi; ) ; done + +FORCE: diff --git a/vendor/ta-lib/make/csp/linux/g++/gen_code/Makefile b/vendor/ta-lib/make/csp/linux/g++/gen_code/Makefile new file mode 100644 index 000000000..58d298f7c --- /dev/null +++ b/vendor/ta-lib/make/csp/linux/g++/gen_code/Makefile @@ -0,0 +1,231 @@ +############################################################################# +# Makefile for building ../../../../../bin/gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -g -O -pg -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -fPIC -Wall -W -g -DTA_GEN_CODE -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../include -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames +LINK = g++ +LFLAGS = -pg +LIBS = $(SUBLIBS) ../../../../../lib/libta_common_csp.a -ldl +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/gen_code/gen_code.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/csp/gen_code/gen_code.o \ + ../../../../../temp/csp/gen_code/ta_abstract.o \ + ../../../../../temp/csp/gen_code/ta_def_ui.o \ + ../../../../../temp/csp/gen_code/table_a.o \ + ../../../../../temp/csp/gen_code/table_b.o \ + ../../../../../temp/csp/gen_code/table_c.o \ + ../../../../../temp/csp/gen_code/table_d.o \ + ../../../../../temp/csp/gen_code/table_e.o \ + ../../../../../temp/csp/gen_code/table_f.o \ + ../../../../../temp/csp/gen_code/table_g.o \ + ../../../../../temp/csp/gen_code/table_h.o \ + ../../../../../temp/csp/gen_code/table_i.o \ + ../../../../../temp/csp/gen_code/table_j.o \ + ../../../../../temp/csp/gen_code/table_k.o \ + ../../../../../temp/csp/gen_code/table_l.o \ + ../../../../../temp/csp/gen_code/table_m.o \ + ../../../../../temp/csp/gen_code/table_n.o \ + ../../../../../temp/csp/gen_code/table_o.o \ + ../../../../../temp/csp/gen_code/table_p.o \ + ../../../../../temp/csp/gen_code/table_q.o \ + ../../../../../temp/csp/gen_code/table_r.o \ + ../../../../../temp/csp/gen_code/table_s.o \ + ../../../../../temp/csp/gen_code/table_t.o \ + ../../../../../temp/csp/gen_code/table_u.o \ + ../../../../../temp/csp/gen_code/table_v.o \ + ../../../../../temp/csp/gen_code/table_w.o \ + ../../../../../temp/csp/gen_code/table_x.o \ + ../../../../../temp/csp/gen_code/table_y.o \ + ../../../../../temp/csp/gen_code/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/gen_code +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csp/gen_code/gen_code.o: ../../../../../src/tools/gen_code/gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/gen_code.o ../../../../../src/tools/gen_code/gen_code.c + +../../../../../temp/csp/gen_code/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csp/gen_code/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csp/gen_code/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csp/gen_code/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csp/gen_code/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csp/gen_code/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csp/gen_code/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csp/gen_code/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csp/gen_code/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csp/gen_code/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csp/gen_code/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csp/gen_code/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csp/gen_code/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csp/gen_code/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csp/gen_code/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csp/gen_code/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csp/gen_code/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csp/gen_code/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csp/gen_code/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csp/gen_code/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csp/gen_code/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csp/gen_code/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csp/gen_code/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csp/gen_code/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csp/gen_code/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csp/gen_code/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csp/gen_code/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csp/gen_code/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/gen_code/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/csp/linux/g++/ta_abstract/Makefile b/vendor/ta-lib/make/csp/linux/g++/ta_abstract/Makefile new file mode 100644 index 000000000..17c50dfd6 --- /dev/null +++ b/vendor/ta-lib/make/csp/linux/g++/ta_abstract/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_abstract_csp.a +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -g -O -pg -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -fPIC -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/csp/ta_abstract.o \ + ../../../../../temp/csp/ta_def_ui.o \ + ../../../../../temp/csp/ta_func_api.o \ + ../../../../../temp/csp/ta_group_idx.o \ + ../../../../../temp/csp/ta_frame.o \ + ../../../../../temp/csp/table_a.o \ + ../../../../../temp/csp/table_b.o \ + ../../../../../temp/csp/table_c.o \ + ../../../../../temp/csp/table_d.o \ + ../../../../../temp/csp/table_e.o \ + ../../../../../temp/csp/table_f.o \ + ../../../../../temp/csp/table_g.o \ + ../../../../../temp/csp/table_h.o \ + ../../../../../temp/csp/table_i.o \ + ../../../../../temp/csp/table_j.o \ + ../../../../../temp/csp/table_k.o \ + ../../../../../temp/csp/table_l.o \ + ../../../../../temp/csp/table_m.o \ + ../../../../../temp/csp/table_n.o \ + ../../../../../temp/csp/table_o.o \ + ../../../../../temp/csp/table_p.o \ + ../../../../../temp/csp/table_q.o \ + ../../../../../temp/csp/table_r.o \ + ../../../../../temp/csp/table_s.o \ + ../../../../../temp/csp/table_t.o \ + ../../../../../temp/csp/table_u.o \ + ../../../../../temp/csp/table_v.o \ + ../../../../../temp/csp/table_w.o \ + ../../../../../temp/csp/table_x.o \ + ../../../../../temp/csp/table_y.o \ + ../../../../../temp/csp/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_abstract_csp.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csp/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csp/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csp/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/csp/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/csp/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/csp/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csp/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csp/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csp/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csp/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csp/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csp/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csp/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csp/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csp/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csp/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csp/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csp/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csp/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csp/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csp/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csp/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csp/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csp/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csp/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csp/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csp/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csp/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csp/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csp/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csp/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/csp/linux/g++/ta_common/Makefile b/vendor/ta-lib/make/csp/linux/g++/ta_common/Makefile new file mode 100644 index 000000000..d4c55f13b --- /dev/null +++ b/vendor/ta-lib/make/csp/linux/g++/ta_common/Makefile @@ -0,0 +1,103 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_common_csp.a +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -g -O -pg -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -fPIC -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c +OBJECTS = ../../../../../temp/csp/ta_global.o \ + ../../../../../temp/csp/ta_retcode.o \ + ../../../../../temp/csp/ta_version.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_common_csp.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csp/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/csp/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/csp/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_version.o ../../../../../src/ta_common/ta_version.c + diff --git a/vendor/ta-lib/make/csp/linux/g++/ta_func/Makefile b/vendor/ta-lib/make/csp/linux/g++/ta_func/Makefile new file mode 100644 index 000000000..fd318a2c4 --- /dev/null +++ b/vendor/ta-lib/make/csp/linux/g++/ta_func/Makefile @@ -0,0 +1,883 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_func_csp.a +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -g -O -pg -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -fPIC -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I/n -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/csp/ta_utility.o \ + ../../../../../temp/csp/ta_ACOS.o \ + ../../../../../temp/csp/ta_AD.o \ + ../../../../../temp/csp/ta_ADD.o \ + ../../../../../temp/csp/ta_ADOSC.o \ + ../../../../../temp/csp/ta_ADX.o \ + ../../../../../temp/csp/ta_ADXR.o \ + ../../../../../temp/csp/ta_APO.o \ + ../../../../../temp/csp/ta_AROON.o \ + ../../../../../temp/csp/ta_AROONOSC.o \ + ../../../../../temp/csp/ta_ASIN.o \ + ../../../../../temp/csp/ta_ATAN.o \ + ../../../../../temp/csp/ta_ATR.o \ + ../../../../../temp/csp/ta_AVGPRICE.o \ + ../../../../../temp/csp/ta_BBANDS.o \ + ../../../../../temp/csp/ta_BETA.o \ + ../../../../../temp/csp/ta_BOP.o \ + ../../../../../temp/csp/ta_CCI.o \ + ../../../../../temp/csp/ta_CDL2CROWS.o \ + ../../../../../temp/csp/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/csp/ta_CDL3INSIDE.o \ + ../../../../../temp/csp/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/csp/ta_CDL3OUTSIDE.o \ + ../../../../../temp/csp/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/csp/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/csp/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/csp/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/csp/ta_CDLBELTHOLD.o \ + ../../../../../temp/csp/ta_CDLBREAKAWAY.o \ + ../../../../../temp/csp/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/csp/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/csp/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/csp/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/csp/ta_CDLDOJI.o \ + ../../../../../temp/csp/ta_CDLDOJISTAR.o \ + ../../../../../temp/csp/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/csp/ta_CDLENGULFING.o \ + ../../../../../temp/csp/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/csp/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/csp/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/csp/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/csp/ta_CDLHAMMER.o \ + ../../../../../temp/csp/ta_CDLHANGINGMAN.o \ + ../../../../../temp/csp/ta_CDLHARAMI.o \ + ../../../../../temp/csp/ta_CDLHARAMICROSS.o \ + ../../../../../temp/csp/ta_CDLHIGHWAVE.o \ + ../../../../../temp/csp/ta_CDLHIKKAKE.o \ + ../../../../../temp/csp/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/csp/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/csp/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/csp/ta_CDLINNECK.o \ + ../../../../../temp/csp/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/csp/ta_CDLKICKING.o \ + ../../../../../temp/csp/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/csp/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/csp/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/csp/ta_CDLLONGLINE.o \ + ../../../../../temp/csp/ta_CDLMARUBOZU.o \ + ../../../../../temp/csp/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/csp/ta_CDLMATHOLD.o \ + ../../../../../temp/csp/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/csp/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/csp/ta_CDLONNECK.o \ + ../../../../../temp/csp/ta_CDLPIERCING.o \ + ../../../../../temp/csp/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/csp/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/csp/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/csp/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/csp/ta_CDLSHORTLINE.o \ + ../../../../../temp/csp/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/csp/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/csp/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/csp/ta_CDLTAKURI.o \ + ../../../../../temp/csp/ta_CDLTASUKIGAP.o \ + ../../../../../temp/csp/ta_CDLTHRUSTING.o \ + ../../../../../temp/csp/ta_CDLTRISTAR.o \ + ../../../../../temp/csp/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/csp/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/csp/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/csp/ta_CEIL.o \ + ../../../../../temp/csp/ta_CMO.o \ + ../../../../../temp/csp/ta_CORREL.o \ + ../../../../../temp/csp/ta_COS.o \ + ../../../../../temp/csp/ta_COSH.o \ + ../../../../../temp/csp/ta_DEMA.o \ + ../../../../../temp/csp/ta_DIV.o \ + ../../../../../temp/csp/ta_DX.o \ + ../../../../../temp/csp/ta_EMA.o \ + ../../../../../temp/csp/ta_EXP.o \ + ../../../../../temp/csp/ta_FLOOR.o \ + ../../../../../temp/csp/ta_HT_DCPERIOD.o \ + ../../../../../temp/csp/ta_HT_DCPHASE.o \ + ../../../../../temp/csp/ta_HT_PHASOR.o \ + ../../../../../temp/csp/ta_HT_SINE.o \ + ../../../../../temp/csp/ta_HT_TRENDLINE.o \ + ../../../../../temp/csp/ta_HT_TRENDMODE.o \ + ../../../../../temp/csp/ta_KAMA.o \ + ../../../../../temp/csp/ta_LINEARREG.o \ + ../../../../../temp/csp/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/csp/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/csp/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/csp/ta_LN.o \ + ../../../../../temp/csp/ta_LOG10.o \ + ../../../../../temp/csp/ta_MA.o \ + ../../../../../temp/csp/ta_MACD.o \ + ../../../../../temp/csp/ta_MACDEXT.o \ + ../../../../../temp/csp/ta_MACDFIX.o \ + ../../../../../temp/csp/ta_MAMA.o \ + ../../../../../temp/csp/ta_MAVP.o \ + ../../../../../temp/csp/ta_MAX.o \ + ../../../../../temp/csp/ta_MAXINDEX.o \ + ../../../../../temp/csp/ta_MEDPRICE.o \ + ../../../../../temp/csp/ta_MFI.o \ + ../../../../../temp/csp/ta_MIDPOINT.o \ + ../../../../../temp/csp/ta_MIDPRICE.o \ + ../../../../../temp/csp/ta_MIN.o \ + ../../../../../temp/csp/ta_MININDEX.o \ + ../../../../../temp/csp/ta_MINMAX.o \ + ../../../../../temp/csp/ta_MINMAXINDEX.o \ + ../../../../../temp/csp/ta_MINUS_DI.o \ + ../../../../../temp/csp/ta_MINUS_DM.o \ + ../../../../../temp/csp/ta_MOM.o \ + ../../../../../temp/csp/ta_MULT.o \ + ../../../../../temp/csp/ta_NATR.o \ + ../../../../../temp/csp/ta_OBV.o \ + ../../../../../temp/csp/ta_PLUS_DI.o \ + ../../../../../temp/csp/ta_PLUS_DM.o \ + ../../../../../temp/csp/ta_PPO.o \ + ../../../../../temp/csp/ta_ROC.o \ + ../../../../../temp/csp/ta_ROCP.o \ + ../../../../../temp/csp/ta_ROCR.o \ + ../../../../../temp/csp/ta_ROCR100.o \ + ../../../../../temp/csp/ta_RSI.o \ + ../../../../../temp/csp/ta_SAR.o \ + ../../../../../temp/csp/ta_SAREXT.o \ + ../../../../../temp/csp/ta_SIN.o \ + ../../../../../temp/csp/ta_SINH.o \ + ../../../../../temp/csp/ta_SMA.o \ + ../../../../../temp/csp/ta_SQRT.o \ + ../../../../../temp/csp/ta_STDDEV.o \ + ../../../../../temp/csp/ta_STOCH.o \ + ../../../../../temp/csp/ta_STOCHF.o \ + ../../../../../temp/csp/ta_STOCHRSI.o \ + ../../../../../temp/csp/ta_SUB.o \ + ../../../../../temp/csp/ta_SUM.o \ + ../../../../../temp/csp/ta_T3.o \ + ../../../../../temp/csp/ta_TAN.o \ + ../../../../../temp/csp/ta_TANH.o \ + ../../../../../temp/csp/ta_TEMA.o \ + ../../../../../temp/csp/ta_TRANGE.o \ + ../../../../../temp/csp/ta_TRIMA.o \ + ../../../../../temp/csp/ta_TRIX.o \ + ../../../../../temp/csp/ta_TSF.o \ + ../../../../../temp/csp/ta_TYPPRICE.o \ + ../../../../../temp/csp/ta_ULTOSC.o \ + ../../../../../temp/csp/ta_VAR.o \ + ../../../../../temp/csp/ta_WCLPRICE.o \ + ../../../../../temp/csp/ta_WILLR.o \ + ../../../../../temp/csp/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_func_csp.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csp/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/csp/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/csp/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/csp/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/csp/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/csp/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/csp/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/csp/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/csp/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/csp/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/csp/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/csp/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/csp/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/csp/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/csp/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/csp/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/csp/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/csp/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/csp/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/csp/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/csp/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/csp/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/csp/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/csp/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/csp/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/csp/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/csp/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/csp/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/csp/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/csp/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/csp/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/csp/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/csp/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/csp/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/csp/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/csp/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/csp/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/csp/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/csp/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/csp/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/csp/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/csp/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/csp/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/csp/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/csp/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/csp/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/csp/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/csp/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/csp/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/csp/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/csp/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/csp/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/csp/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/csp/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/csp/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/csp/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/csp/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/csp/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/csp/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/csp/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/csp/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/csp/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/csp/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/csp/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/csp/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/csp/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/csp/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/csp/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/csp/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/csp/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/csp/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/csp/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/csp/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/csp/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/csp/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/csp/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/csp/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/csp/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/csp/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/csp/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/csp/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/csp/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/csp/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/csp/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/csp/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/csp/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/csp/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/csp/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/csp/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/csp/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/csp/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/csp/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/csp/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/csp/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/csp/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/csp/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/csp/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/csp/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/csp/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/csp/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/csp/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/csp/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/csp/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/csp/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/csp/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/csp/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/csp/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/csp/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/csp/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/csp/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/csp/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/csp/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/csp/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/csp/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/csp/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/csp/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/csp/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/csp/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/csp/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/csp/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/csp/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/csp/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/csp/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/csp/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/csp/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/csp/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/csp/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/csp/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/csp/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/csp/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/csp/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/csp/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/csp/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/csp/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/csp/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/csp/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/csp/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/csp/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/csp/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/csp/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/csp/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/csp/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/csp/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/csp/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/csp/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/csp/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/csp/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/csp/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/csp/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/csp/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/csp/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/csp/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/csp/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/csp/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/csp/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/csp/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/csp/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/csp/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/csp/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/csp/linux/g++/ta_libc/Makefile b/vendor/ta-lib/make/csp/linux/g++/ta_libc/Makefile new file mode 100644 index 000000000..2dc87138c --- /dev/null +++ b/vendor/ta-lib/make/csp/linux/g++/ta_libc/Makefile @@ -0,0 +1,1053 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_libc_csp.a +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -g -O -pg -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -fPIC -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../include -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I$(QTDIR)/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c \ + ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/csp/ta_global.o \ + ../../../../../temp/csp/ta_retcode.o \ + ../../../../../temp/csp/ta_version.o \ + ../../../../../temp/csp/ta_abstract.o \ + ../../../../../temp/csp/ta_def_ui.o \ + ../../../../../temp/csp/ta_func_api.o \ + ../../../../../temp/csp/ta_group_idx.o \ + ../../../../../temp/csp/ta_frame.o \ + ../../../../../temp/csp/table_a.o \ + ../../../../../temp/csp/table_b.o \ + ../../../../../temp/csp/table_c.o \ + ../../../../../temp/csp/table_d.o \ + ../../../../../temp/csp/table_e.o \ + ../../../../../temp/csp/table_f.o \ + ../../../../../temp/csp/table_g.o \ + ../../../../../temp/csp/table_h.o \ + ../../../../../temp/csp/table_i.o \ + ../../../../../temp/csp/table_j.o \ + ../../../../../temp/csp/table_k.o \ + ../../../../../temp/csp/table_l.o \ + ../../../../../temp/csp/table_m.o \ + ../../../../../temp/csp/table_n.o \ + ../../../../../temp/csp/table_o.o \ + ../../../../../temp/csp/table_p.o \ + ../../../../../temp/csp/table_q.o \ + ../../../../../temp/csp/table_r.o \ + ../../../../../temp/csp/table_s.o \ + ../../../../../temp/csp/table_t.o \ + ../../../../../temp/csp/table_u.o \ + ../../../../../temp/csp/table_v.o \ + ../../../../../temp/csp/table_w.o \ + ../../../../../temp/csp/table_x.o \ + ../../../../../temp/csp/table_y.o \ + ../../../../../temp/csp/table_z.o \ + ../../../../../temp/csp/ta_utility.o \ + ../../../../../temp/csp/ta_ACOS.o \ + ../../../../../temp/csp/ta_AD.o \ + ../../../../../temp/csp/ta_ADD.o \ + ../../../../../temp/csp/ta_ADOSC.o \ + ../../../../../temp/csp/ta_ADX.o \ + ../../../../../temp/csp/ta_ADXR.o \ + ../../../../../temp/csp/ta_APO.o \ + ../../../../../temp/csp/ta_AROON.o \ + ../../../../../temp/csp/ta_AROONOSC.o \ + ../../../../../temp/csp/ta_ASIN.o \ + ../../../../../temp/csp/ta_ATAN.o \ + ../../../../../temp/csp/ta_ATR.o \ + ../../../../../temp/csp/ta_AVGPRICE.o \ + ../../../../../temp/csp/ta_BBANDS.o \ + ../../../../../temp/csp/ta_BETA.o \ + ../../../../../temp/csp/ta_BOP.o \ + ../../../../../temp/csp/ta_CCI.o \ + ../../../../../temp/csp/ta_CDL2CROWS.o \ + ../../../../../temp/csp/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/csp/ta_CDL3INSIDE.o \ + ../../../../../temp/csp/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/csp/ta_CDL3OUTSIDE.o \ + ../../../../../temp/csp/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/csp/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/csp/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/csp/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/csp/ta_CDLBELTHOLD.o \ + ../../../../../temp/csp/ta_CDLBREAKAWAY.o \ + ../../../../../temp/csp/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/csp/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/csp/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/csp/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/csp/ta_CDLDOJI.o \ + ../../../../../temp/csp/ta_CDLDOJISTAR.o \ + ../../../../../temp/csp/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/csp/ta_CDLENGULFING.o \ + ../../../../../temp/csp/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/csp/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/csp/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/csp/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/csp/ta_CDLHAMMER.o \ + ../../../../../temp/csp/ta_CDLHANGINGMAN.o \ + ../../../../../temp/csp/ta_CDLHARAMI.o \ + ../../../../../temp/csp/ta_CDLHARAMICROSS.o \ + ../../../../../temp/csp/ta_CDLHIGHWAVE.o \ + ../../../../../temp/csp/ta_CDLHIKKAKE.o \ + ../../../../../temp/csp/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/csp/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/csp/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/csp/ta_CDLINNECK.o \ + ../../../../../temp/csp/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/csp/ta_CDLKICKING.o \ + ../../../../../temp/csp/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/csp/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/csp/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/csp/ta_CDLLONGLINE.o \ + ../../../../../temp/csp/ta_CDLMARUBOZU.o \ + ../../../../../temp/csp/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/csp/ta_CDLMATHOLD.o \ + ../../../../../temp/csp/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/csp/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/csp/ta_CDLONNECK.o \ + ../../../../../temp/csp/ta_CDLPIERCING.o \ + ../../../../../temp/csp/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/csp/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/csp/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/csp/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/csp/ta_CDLSHORTLINE.o \ + ../../../../../temp/csp/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/csp/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/csp/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/csp/ta_CDLTAKURI.o \ + ../../../../../temp/csp/ta_CDLTASUKIGAP.o \ + ../../../../../temp/csp/ta_CDLTHRUSTING.o \ + ../../../../../temp/csp/ta_CDLTRISTAR.o \ + ../../../../../temp/csp/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/csp/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/csp/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/csp/ta_CEIL.o \ + ../../../../../temp/csp/ta_CMO.o \ + ../../../../../temp/csp/ta_CORREL.o \ + ../../../../../temp/csp/ta_COS.o \ + ../../../../../temp/csp/ta_COSH.o \ + ../../../../../temp/csp/ta_DEMA.o \ + ../../../../../temp/csp/ta_DIV.o \ + ../../../../../temp/csp/ta_DX.o \ + ../../../../../temp/csp/ta_EMA.o \ + ../../../../../temp/csp/ta_EXP.o \ + ../../../../../temp/csp/ta_FLOOR.o \ + ../../../../../temp/csp/ta_HT_DCPERIOD.o \ + ../../../../../temp/csp/ta_HT_DCPHASE.o \ + ../../../../../temp/csp/ta_HT_PHASOR.o \ + ../../../../../temp/csp/ta_HT_SINE.o \ + ../../../../../temp/csp/ta_HT_TRENDLINE.o \ + ../../../../../temp/csp/ta_HT_TRENDMODE.o \ + ../../../../../temp/csp/ta_KAMA.o \ + ../../../../../temp/csp/ta_LINEARREG.o \ + ../../../../../temp/csp/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/csp/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/csp/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/csp/ta_LN.o \ + ../../../../../temp/csp/ta_LOG10.o \ + ../../../../../temp/csp/ta_MA.o \ + ../../../../../temp/csp/ta_MACD.o \ + ../../../../../temp/csp/ta_MACDEXT.o \ + ../../../../../temp/csp/ta_MACDFIX.o \ + ../../../../../temp/csp/ta_MAMA.o \ + ../../../../../temp/csp/ta_MAVP.o \ + ../../../../../temp/csp/ta_MAX.o \ + ../../../../../temp/csp/ta_MAXINDEX.o \ + ../../../../../temp/csp/ta_MEDPRICE.o \ + ../../../../../temp/csp/ta_MFI.o \ + ../../../../../temp/csp/ta_MIDPOINT.o \ + ../../../../../temp/csp/ta_MIDPRICE.o \ + ../../../../../temp/csp/ta_MIN.o \ + ../../../../../temp/csp/ta_MININDEX.o \ + ../../../../../temp/csp/ta_MINMAX.o \ + ../../../../../temp/csp/ta_MINMAXINDEX.o \ + ../../../../../temp/csp/ta_MINUS_DI.o \ + ../../../../../temp/csp/ta_MINUS_DM.o \ + ../../../../../temp/csp/ta_MOM.o \ + ../../../../../temp/csp/ta_MULT.o \ + ../../../../../temp/csp/ta_NATR.o \ + ../../../../../temp/csp/ta_OBV.o \ + ../../../../../temp/csp/ta_PLUS_DI.o \ + ../../../../../temp/csp/ta_PLUS_DM.o \ + ../../../../../temp/csp/ta_PPO.o \ + ../../../../../temp/csp/ta_ROC.o \ + ../../../../../temp/csp/ta_ROCP.o \ + ../../../../../temp/csp/ta_ROCR.o \ + ../../../../../temp/csp/ta_ROCR100.o \ + ../../../../../temp/csp/ta_RSI.o \ + ../../../../../temp/csp/ta_SAR.o \ + ../../../../../temp/csp/ta_SAREXT.o \ + ../../../../../temp/csp/ta_SIN.o \ + ../../../../../temp/csp/ta_SINH.o \ + ../../../../../temp/csp/ta_SMA.o \ + ../../../../../temp/csp/ta_SQRT.o \ + ../../../../../temp/csp/ta_STDDEV.o \ + ../../../../../temp/csp/ta_STOCH.o \ + ../../../../../temp/csp/ta_STOCHF.o \ + ../../../../../temp/csp/ta_STOCHRSI.o \ + ../../../../../temp/csp/ta_SUB.o \ + ../../../../../temp/csp/ta_SUM.o \ + ../../../../../temp/csp/ta_T3.o \ + ../../../../../temp/csp/ta_TAN.o \ + ../../../../../temp/csp/ta_TANH.o \ + ../../../../../temp/csp/ta_TEMA.o \ + ../../../../../temp/csp/ta_TRANGE.o \ + ../../../../../temp/csp/ta_TRIMA.o \ + ../../../../../temp/csp/ta_TRIX.o \ + ../../../../../temp/csp/ta_TSF.o \ + ../../../../../temp/csp/ta_TYPPRICE.o \ + ../../../../../temp/csp/ta_ULTOSC.o \ + ../../../../../temp/csp/ta_VAR.o \ + ../../../../../temp/csp/ta_WCLPRICE.o \ + ../../../../../temp/csp/ta_WILLR.o \ + ../../../../../temp/csp/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_libc_csp.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csp/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/csp/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/csp/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_version.o ../../../../../src/ta_common/ta_version.c + +../../../../../temp/csp/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csp/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csp/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/csp/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/csp/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/csp/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csp/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csp/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csp/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csp/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csp/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csp/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csp/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csp/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csp/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csp/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csp/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csp/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csp/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csp/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csp/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csp/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csp/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csp/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csp/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csp/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csp/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csp/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csp/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csp/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csp/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + +../../../../../temp/csp/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/csp/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/csp/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/csp/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/csp/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/csp/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/csp/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/csp/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/csp/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/csp/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/csp/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/csp/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/csp/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/csp/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/csp/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/csp/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/csp/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/csp/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/csp/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/csp/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/csp/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/csp/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/csp/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/csp/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/csp/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/csp/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/csp/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/csp/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/csp/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/csp/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/csp/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/csp/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/csp/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/csp/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/csp/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/csp/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/csp/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/csp/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/csp/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/csp/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/csp/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/csp/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/csp/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/csp/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/csp/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/csp/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/csp/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/csp/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/csp/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/csp/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/csp/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/csp/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/csp/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/csp/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/csp/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/csp/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/csp/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/csp/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/csp/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/csp/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/csp/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/csp/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/csp/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/csp/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/csp/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/csp/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/csp/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/csp/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/csp/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/csp/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/csp/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/csp/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/csp/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/csp/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/csp/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/csp/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/csp/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/csp/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/csp/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/csp/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/csp/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/csp/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/csp/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/csp/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/csp/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/csp/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/csp/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/csp/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/csp/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/csp/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/csp/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/csp/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/csp/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/csp/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/csp/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/csp/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/csp/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/csp/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/csp/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/csp/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/csp/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/csp/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/csp/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/csp/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/csp/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/csp/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/csp/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/csp/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/csp/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/csp/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/csp/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/csp/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/csp/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/csp/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/csp/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/csp/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/csp/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/csp/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/csp/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/csp/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/csp/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/csp/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/csp/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/csp/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/csp/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/csp/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/csp/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/csp/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/csp/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/csp/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/csp/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/csp/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/csp/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/csp/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/csp/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/csp/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/csp/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/csp/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/csp/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/csp/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/csp/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/csp/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/csp/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/csp/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/csp/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/csp/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/csp/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/csp/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/csp/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/csp/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/csp/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/csp/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/csp/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/csp/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/csp/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/csp/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/csp/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/csp/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/csp/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/csp/linux/g++/ta_regtest/Makefile b/vendor/ta-lib/make/csp/linux/g++/ta_regtest/Makefile new file mode 100644 index 000000000..cb8b2fa78 --- /dev/null +++ b/vendor/ta-lib/make/csp/linux/g++/ta_regtest/Makefile @@ -0,0 +1,211 @@ +############################################################################# +# Makefile for building ../../../../../bin/ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -g -O -pg -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -fPIC -Wall -W -g -DTA_DEBUG -D_DEBUG -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../src/tools/ta_regtest -I../../../../../src/ta_func -I../../../../../include +LINK = g++ +LFLAGS = -pg +LIBS = $(SUBLIBS) ../../../../../lib/libta_libc_csp.a -ldl +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/ta_regtest/ta_regtest.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c \ + ../../../../../src/tools/ta_regtest/test_internals.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c \ + ../../../../../src/tools/ta_regtest/test_util.c \ + ../../../../../src/tools/ta_regtest/test_data.c \ + ../../../../../src/tools/ta_regtest/test_abstract.c +OBJECTS = ../../../../../temp/csp/ta_regtest.o \ + ../../../../../temp/csp/test_candlestick.o \ + ../../../../../temp/csp/test_1in_1out.o \ + ../../../../../temp/csp/test_1in_2out.o \ + ../../../../../temp/csp/test_internals.o \ + ../../../../../temp/csp/test_adx.o \ + ../../../../../temp/csp/test_bbands.o \ + ../../../../../temp/csp/test_ma.o \ + ../../../../../temp/csp/test_macd.o \ + ../../../../../temp/csp/test_minmax.o \ + ../../../../../temp/csp/test_mom.o \ + ../../../../../temp/csp/test_per_ema.o \ + ../../../../../temp/csp/test_per_hl.o \ + ../../../../../temp/csp/test_per_hlc.o \ + ../../../../../temp/csp/test_per_hlcv.o \ + ../../../../../temp/csp/test_per_ohlc.o \ + ../../../../../temp/csp/test_po.o \ + ../../../../../temp/csp/test_rsi.o \ + ../../../../../temp/csp/test_sar.o \ + ../../../../../temp/csp/test_stddev.o \ + ../../../../../temp/csp/test_stoch.o \ + ../../../../../temp/csp/test_trange.o \ + ../../../../../temp/csp/test_util.o \ + ../../../../../temp/csp/test_data.o \ + ../../../../../temp/csp/test_abstract.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/ta_regtest +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csp/ta_regtest.o: ../../../../../src/tools/ta_regtest/ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/ta_regtest.o ../../../../../src/tools/ta_regtest/ta_regtest.c + +../../../../../temp/csp/test_candlestick.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_candlestick.o ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + +../../../../../temp/csp/test_1in_1out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_1in_1out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + +../../../../../temp/csp/test_1in_2out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_1in_2out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + +../../../../../temp/csp/test_internals.o: ../../../../../src/tools/ta_regtest/test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_internals.o ../../../../../src/tools/ta_regtest/test_internals.c + +../../../../../temp/csp/test_adx.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_adx.o ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + +../../../../../temp/csp/test_bbands.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_bbands.o ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + +../../../../../temp/csp/test_ma.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_ma.o ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + +../../../../../temp/csp/test_macd.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_macd.o ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + +../../../../../temp/csp/test_minmax.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_minmax.o ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + +../../../../../temp/csp/test_mom.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_mom.o ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + +../../../../../temp/csp/test_per_ema.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_per_ema.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + +../../../../../temp/csp/test_per_hl.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_per_hl.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + +../../../../../temp/csp/test_per_hlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_per_hlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + +../../../../../temp/csp/test_per_hlcv.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_per_hlcv.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + +../../../../../temp/csp/test_per_ohlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_per_ohlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + +../../../../../temp/csp/test_po.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_po.o ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + +../../../../../temp/csp/test_rsi.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_rsi.o ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + +../../../../../temp/csp/test_sar.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_sar.o ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + +../../../../../temp/csp/test_stddev.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_stddev.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + +../../../../../temp/csp/test_stoch.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_stoch.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + +../../../../../temp/csp/test_trange.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_trange.o ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + +../../../../../temp/csp/test_util.o: ../../../../../src/tools/ta_regtest/test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_util.o ../../../../../src/tools/ta_regtest/test_util.c + +../../../../../temp/csp/test_data.o: ../../../../../src/tools/ta_regtest/test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_data.o ../../../../../src/tools/ta_regtest/test_data.c + +../../../../../temp/csp/test_abstract.o: ../../../../../src/tools/ta_regtest/test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csp/test_abstract.o ../../../../../src/tools/ta_regtest/test_abstract.c + diff --git a/vendor/ta-lib/make/csr/cygwin/g++/Makefile b/vendor/ta-lib/make/csr/cygwin/g++/Makefile new file mode 100644 index 000000000..2f005e756 --- /dev/null +++ b/vendor/ta-lib/make/csr/cygwin/g++/Makefile @@ -0,0 +1,36 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +$(SUBDIRS): FORCE + cd $@; $(MAKE) + +tmake: ../csr/cygwin/g++/Makefile + +../csr/cygwin/g++/Makefile: rootmake.pro + tmake rootmake.pro -o ../csr/cygwin/g++/Makefile + +tmake_all: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done + +#### $text = "\t" . 'for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; pro=`basename $$i`.pro ; $(TMAKE) $$pro -o $(MAKEFILE); grep "TEMPLATE.*subdirs" $$pro 2>/dev/null >/dev/null && $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done'; + +clean release debug: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) $@; fi; ) ; done + +FORCE: diff --git a/vendor/ta-lib/make/csr/cygwin/g++/gen_code/Makefile b/vendor/ta-lib/make/csr/cygwin/g++/gen_code/Makefile new file mode 100644 index 000000000..e265d7c42 --- /dev/null +++ b/vendor/ta-lib/make/csr/cygwin/g++/gen_code/Makefile @@ -0,0 +1,231 @@ +############################################################################# +# Makefile for building ../../../../../bin/gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -O2 -fno-strict-aliasing -DTA_GEN_CODE -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -O2 -fno-strict-aliasing -DTA_GEN_CODE -DTA_SINGLE_THREAD +INCPATH = -I../../../../../include -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames +LINK = g++ +LFLAGS = +LIBS = $(SUBLIBS) ../../../../../lib/libta_common_csr.a +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/gen_code/gen_code.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/csr/gen_code/gen_code.o \ + ../../../../../temp/csr/gen_code/ta_abstract.o \ + ../../../../../temp/csr/gen_code/ta_def_ui.o \ + ../../../../../temp/csr/gen_code/table_a.o \ + ../../../../../temp/csr/gen_code/table_b.o \ + ../../../../../temp/csr/gen_code/table_c.o \ + ../../../../../temp/csr/gen_code/table_d.o \ + ../../../../../temp/csr/gen_code/table_e.o \ + ../../../../../temp/csr/gen_code/table_f.o \ + ../../../../../temp/csr/gen_code/table_g.o \ + ../../../../../temp/csr/gen_code/table_h.o \ + ../../../../../temp/csr/gen_code/table_i.o \ + ../../../../../temp/csr/gen_code/table_j.o \ + ../../../../../temp/csr/gen_code/table_k.o \ + ../../../../../temp/csr/gen_code/table_l.o \ + ../../../../../temp/csr/gen_code/table_m.o \ + ../../../../../temp/csr/gen_code/table_n.o \ + ../../../../../temp/csr/gen_code/table_o.o \ + ../../../../../temp/csr/gen_code/table_p.o \ + ../../../../../temp/csr/gen_code/table_q.o \ + ../../../../../temp/csr/gen_code/table_r.o \ + ../../../../../temp/csr/gen_code/table_s.o \ + ../../../../../temp/csr/gen_code/table_t.o \ + ../../../../../temp/csr/gen_code/table_u.o \ + ../../../../../temp/csr/gen_code/table_v.o \ + ../../../../../temp/csr/gen_code/table_w.o \ + ../../../../../temp/csr/gen_code/table_x.o \ + ../../../../../temp/csr/gen_code/table_y.o \ + ../../../../../temp/csr/gen_code/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/gen_code +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csr/gen_code/gen_code.o: ../../../../../src/tools/gen_code/gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/gen_code.o ../../../../../src/tools/gen_code/gen_code.c + +../../../../../temp/csr/gen_code/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csr/gen_code/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csr/gen_code/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csr/gen_code/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csr/gen_code/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csr/gen_code/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csr/gen_code/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csr/gen_code/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csr/gen_code/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csr/gen_code/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csr/gen_code/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csr/gen_code/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csr/gen_code/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csr/gen_code/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csr/gen_code/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csr/gen_code/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csr/gen_code/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csr/gen_code/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csr/gen_code/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csr/gen_code/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csr/gen_code/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csr/gen_code/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csr/gen_code/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csr/gen_code/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csr/gen_code/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csr/gen_code/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csr/gen_code/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csr/gen_code/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/csr/cygwin/g++/ta_abstract/Makefile b/vendor/ta-lib/make/csr/cygwin/g++/ta_abstract/Makefile new file mode 100644 index 000000000..9811ba791 --- /dev/null +++ b/vendor/ta-lib/make/csr/cygwin/g++/ta_abstract/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_abstract_csr.a +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/csr/ta_abstract.o \ + ../../../../../temp/csr/ta_def_ui.o \ + ../../../../../temp/csr/ta_func_api.o \ + ../../../../../temp/csr/ta_group_idx.o \ + ../../../../../temp/csr/ta_frame.o \ + ../../../../../temp/csr/table_a.o \ + ../../../../../temp/csr/table_b.o \ + ../../../../../temp/csr/table_c.o \ + ../../../../../temp/csr/table_d.o \ + ../../../../../temp/csr/table_e.o \ + ../../../../../temp/csr/table_f.o \ + ../../../../../temp/csr/table_g.o \ + ../../../../../temp/csr/table_h.o \ + ../../../../../temp/csr/table_i.o \ + ../../../../../temp/csr/table_j.o \ + ../../../../../temp/csr/table_k.o \ + ../../../../../temp/csr/table_l.o \ + ../../../../../temp/csr/table_m.o \ + ../../../../../temp/csr/table_n.o \ + ../../../../../temp/csr/table_o.o \ + ../../../../../temp/csr/table_p.o \ + ../../../../../temp/csr/table_q.o \ + ../../../../../temp/csr/table_r.o \ + ../../../../../temp/csr/table_s.o \ + ../../../../../temp/csr/table_t.o \ + ../../../../../temp/csr/table_u.o \ + ../../../../../temp/csr/table_v.o \ + ../../../../../temp/csr/table_w.o \ + ../../../../../temp/csr/table_x.o \ + ../../../../../temp/csr/table_y.o \ + ../../../../../temp/csr/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_abstract_csr.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csr/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csr/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csr/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/csr/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/csr/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/csr/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csr/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csr/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csr/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csr/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csr/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csr/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csr/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csr/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csr/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csr/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csr/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csr/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csr/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csr/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csr/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csr/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csr/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csr/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csr/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csr/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csr/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csr/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csr/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csr/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csr/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/csr/cygwin/g++/ta_common/Makefile b/vendor/ta-lib/make/csr/cygwin/g++/ta_common/Makefile new file mode 100644 index 000000000..6b0530957 --- /dev/null +++ b/vendor/ta-lib/make/csr/cygwin/g++/ta_common/Makefile @@ -0,0 +1,103 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_common_csr.a +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c +OBJECTS = ../../../../../temp/csr/ta_global.o \ + ../../../../../temp/csr/ta_retcode.o \ + ../../../../../temp/csr/ta_version.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_common_csr.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csr/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/csr/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/csr/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_version.o ../../../../../src/ta_common/ta_version.c + diff --git a/vendor/ta-lib/make/csr/cygwin/g++/ta_func/Makefile b/vendor/ta-lib/make/csr/cygwin/g++/ta_func/Makefile new file mode 100644 index 000000000..e9aec79fc --- /dev/null +++ b/vendor/ta-lib/make/csr/cygwin/g++/ta_func/Makefile @@ -0,0 +1,883 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_func_csr.a +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I/n -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/csr/ta_utility.o \ + ../../../../../temp/csr/ta_ACOS.o \ + ../../../../../temp/csr/ta_AD.o \ + ../../../../../temp/csr/ta_ADD.o \ + ../../../../../temp/csr/ta_ADOSC.o \ + ../../../../../temp/csr/ta_ADX.o \ + ../../../../../temp/csr/ta_ADXR.o \ + ../../../../../temp/csr/ta_APO.o \ + ../../../../../temp/csr/ta_AROON.o \ + ../../../../../temp/csr/ta_AROONOSC.o \ + ../../../../../temp/csr/ta_ASIN.o \ + ../../../../../temp/csr/ta_ATAN.o \ + ../../../../../temp/csr/ta_ATR.o \ + ../../../../../temp/csr/ta_AVGPRICE.o \ + ../../../../../temp/csr/ta_BBANDS.o \ + ../../../../../temp/csr/ta_BETA.o \ + ../../../../../temp/csr/ta_BOP.o \ + ../../../../../temp/csr/ta_CCI.o \ + ../../../../../temp/csr/ta_CDL2CROWS.o \ + ../../../../../temp/csr/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/csr/ta_CDL3INSIDE.o \ + ../../../../../temp/csr/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/csr/ta_CDL3OUTSIDE.o \ + ../../../../../temp/csr/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/csr/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/csr/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/csr/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/csr/ta_CDLBELTHOLD.o \ + ../../../../../temp/csr/ta_CDLBREAKAWAY.o \ + ../../../../../temp/csr/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/csr/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/csr/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/csr/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/csr/ta_CDLDOJI.o \ + ../../../../../temp/csr/ta_CDLDOJISTAR.o \ + ../../../../../temp/csr/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/csr/ta_CDLENGULFING.o \ + ../../../../../temp/csr/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/csr/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/csr/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/csr/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/csr/ta_CDLHAMMER.o \ + ../../../../../temp/csr/ta_CDLHANGINGMAN.o \ + ../../../../../temp/csr/ta_CDLHARAMI.o \ + ../../../../../temp/csr/ta_CDLHARAMICROSS.o \ + ../../../../../temp/csr/ta_CDLHIGHWAVE.o \ + ../../../../../temp/csr/ta_CDLHIKKAKE.o \ + ../../../../../temp/csr/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/csr/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/csr/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/csr/ta_CDLINNECK.o \ + ../../../../../temp/csr/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/csr/ta_CDLKICKING.o \ + ../../../../../temp/csr/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/csr/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/csr/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/csr/ta_CDLLONGLINE.o \ + ../../../../../temp/csr/ta_CDLMARUBOZU.o \ + ../../../../../temp/csr/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/csr/ta_CDLMATHOLD.o \ + ../../../../../temp/csr/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/csr/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/csr/ta_CDLONNECK.o \ + ../../../../../temp/csr/ta_CDLPIERCING.o \ + ../../../../../temp/csr/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/csr/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/csr/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/csr/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/csr/ta_CDLSHORTLINE.o \ + ../../../../../temp/csr/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/csr/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/csr/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/csr/ta_CDLTAKURI.o \ + ../../../../../temp/csr/ta_CDLTASUKIGAP.o \ + ../../../../../temp/csr/ta_CDLTHRUSTING.o \ + ../../../../../temp/csr/ta_CDLTRISTAR.o \ + ../../../../../temp/csr/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/csr/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/csr/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/csr/ta_CEIL.o \ + ../../../../../temp/csr/ta_CMO.o \ + ../../../../../temp/csr/ta_CORREL.o \ + ../../../../../temp/csr/ta_COS.o \ + ../../../../../temp/csr/ta_COSH.o \ + ../../../../../temp/csr/ta_DEMA.o \ + ../../../../../temp/csr/ta_DIV.o \ + ../../../../../temp/csr/ta_DX.o \ + ../../../../../temp/csr/ta_EMA.o \ + ../../../../../temp/csr/ta_EXP.o \ + ../../../../../temp/csr/ta_FLOOR.o \ + ../../../../../temp/csr/ta_HT_DCPERIOD.o \ + ../../../../../temp/csr/ta_HT_DCPHASE.o \ + ../../../../../temp/csr/ta_HT_PHASOR.o \ + ../../../../../temp/csr/ta_HT_SINE.o \ + ../../../../../temp/csr/ta_HT_TRENDLINE.o \ + ../../../../../temp/csr/ta_HT_TRENDMODE.o \ + ../../../../../temp/csr/ta_KAMA.o \ + ../../../../../temp/csr/ta_LINEARREG.o \ + ../../../../../temp/csr/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/csr/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/csr/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/csr/ta_LN.o \ + ../../../../../temp/csr/ta_LOG10.o \ + ../../../../../temp/csr/ta_MA.o \ + ../../../../../temp/csr/ta_MACD.o \ + ../../../../../temp/csr/ta_MACDEXT.o \ + ../../../../../temp/csr/ta_MACDFIX.o \ + ../../../../../temp/csr/ta_MAMA.o \ + ../../../../../temp/csr/ta_MAVP.o \ + ../../../../../temp/csr/ta_MAX.o \ + ../../../../../temp/csr/ta_MAXINDEX.o \ + ../../../../../temp/csr/ta_MEDPRICE.o \ + ../../../../../temp/csr/ta_MFI.o \ + ../../../../../temp/csr/ta_MIDPOINT.o \ + ../../../../../temp/csr/ta_MIDPRICE.o \ + ../../../../../temp/csr/ta_MIN.o \ + ../../../../../temp/csr/ta_MININDEX.o \ + ../../../../../temp/csr/ta_MINMAX.o \ + ../../../../../temp/csr/ta_MINMAXINDEX.o \ + ../../../../../temp/csr/ta_MINUS_DI.o \ + ../../../../../temp/csr/ta_MINUS_DM.o \ + ../../../../../temp/csr/ta_MOM.o \ + ../../../../../temp/csr/ta_MULT.o \ + ../../../../../temp/csr/ta_NATR.o \ + ../../../../../temp/csr/ta_OBV.o \ + ../../../../../temp/csr/ta_PLUS_DI.o \ + ../../../../../temp/csr/ta_PLUS_DM.o \ + ../../../../../temp/csr/ta_PPO.o \ + ../../../../../temp/csr/ta_ROC.o \ + ../../../../../temp/csr/ta_ROCP.o \ + ../../../../../temp/csr/ta_ROCR.o \ + ../../../../../temp/csr/ta_ROCR100.o \ + ../../../../../temp/csr/ta_RSI.o \ + ../../../../../temp/csr/ta_SAR.o \ + ../../../../../temp/csr/ta_SAREXT.o \ + ../../../../../temp/csr/ta_SIN.o \ + ../../../../../temp/csr/ta_SINH.o \ + ../../../../../temp/csr/ta_SMA.o \ + ../../../../../temp/csr/ta_SQRT.o \ + ../../../../../temp/csr/ta_STDDEV.o \ + ../../../../../temp/csr/ta_STOCH.o \ + ../../../../../temp/csr/ta_STOCHF.o \ + ../../../../../temp/csr/ta_STOCHRSI.o \ + ../../../../../temp/csr/ta_SUB.o \ + ../../../../../temp/csr/ta_SUM.o \ + ../../../../../temp/csr/ta_T3.o \ + ../../../../../temp/csr/ta_TAN.o \ + ../../../../../temp/csr/ta_TANH.o \ + ../../../../../temp/csr/ta_TEMA.o \ + ../../../../../temp/csr/ta_TRANGE.o \ + ../../../../../temp/csr/ta_TRIMA.o \ + ../../../../../temp/csr/ta_TRIX.o \ + ../../../../../temp/csr/ta_TSF.o \ + ../../../../../temp/csr/ta_TYPPRICE.o \ + ../../../../../temp/csr/ta_ULTOSC.o \ + ../../../../../temp/csr/ta_VAR.o \ + ../../../../../temp/csr/ta_WCLPRICE.o \ + ../../../../../temp/csr/ta_WILLR.o \ + ../../../../../temp/csr/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_func_csr.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csr/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/csr/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/csr/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/csr/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/csr/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/csr/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/csr/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/csr/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/csr/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/csr/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/csr/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/csr/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/csr/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/csr/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/csr/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/csr/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/csr/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/csr/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/csr/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/csr/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/csr/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/csr/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/csr/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/csr/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/csr/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/csr/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/csr/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/csr/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/csr/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/csr/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/csr/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/csr/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/csr/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/csr/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/csr/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/csr/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/csr/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/csr/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/csr/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/csr/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/csr/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/csr/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/csr/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/csr/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/csr/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/csr/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/csr/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/csr/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/csr/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/csr/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/csr/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/csr/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/csr/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/csr/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/csr/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/csr/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/csr/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/csr/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/csr/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/csr/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/csr/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/csr/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/csr/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/csr/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/csr/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/csr/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/csr/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/csr/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/csr/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/csr/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/csr/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/csr/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/csr/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/csr/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/csr/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/csr/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/csr/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/csr/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/csr/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/csr/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/csr/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/csr/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/csr/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/csr/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/csr/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/csr/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/csr/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/csr/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/csr/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/csr/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/csr/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/csr/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/csr/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/csr/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/csr/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/csr/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/csr/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/csr/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/csr/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/csr/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/csr/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/csr/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/csr/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/csr/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/csr/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/csr/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/csr/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/csr/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/csr/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/csr/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/csr/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/csr/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/csr/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/csr/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/csr/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/csr/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/csr/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/csr/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/csr/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/csr/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/csr/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/csr/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/csr/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/csr/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/csr/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/csr/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/csr/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/csr/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/csr/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/csr/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/csr/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/csr/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/csr/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/csr/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/csr/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/csr/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/csr/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/csr/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/csr/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/csr/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/csr/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/csr/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/csr/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/csr/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/csr/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/csr/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/csr/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/csr/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/csr/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/csr/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/csr/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/csr/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/csr/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/csr/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/csr/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/csr/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/csr/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/csr/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/csr/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/csr/cygwin/g++/ta_libc/Makefile b/vendor/ta-lib/make/csr/cygwin/g++/ta_libc/Makefile new file mode 100644 index 000000000..3fbe5d2dd --- /dev/null +++ b/vendor/ta-lib/make/csr/cygwin/g++/ta_libc/Makefile @@ -0,0 +1,1053 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_libc_csr.a +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD -DNO_DEBUG +CXXFLAGS= -pipe -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD -DNO_DEBUG +INCPATH = -I../../../../../src/ta_common -I../../../../../include -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I$(QTDIR)/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c \ + ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/csr/ta_global.o \ + ../../../../../temp/csr/ta_retcode.o \ + ../../../../../temp/csr/ta_version.o \ + ../../../../../temp/csr/ta_abstract.o \ + ../../../../../temp/csr/ta_def_ui.o \ + ../../../../../temp/csr/ta_func_api.o \ + ../../../../../temp/csr/ta_group_idx.o \ + ../../../../../temp/csr/ta_frame.o \ + ../../../../../temp/csr/table_a.o \ + ../../../../../temp/csr/table_b.o \ + ../../../../../temp/csr/table_c.o \ + ../../../../../temp/csr/table_d.o \ + ../../../../../temp/csr/table_e.o \ + ../../../../../temp/csr/table_f.o \ + ../../../../../temp/csr/table_g.o \ + ../../../../../temp/csr/table_h.o \ + ../../../../../temp/csr/table_i.o \ + ../../../../../temp/csr/table_j.o \ + ../../../../../temp/csr/table_k.o \ + ../../../../../temp/csr/table_l.o \ + ../../../../../temp/csr/table_m.o \ + ../../../../../temp/csr/table_n.o \ + ../../../../../temp/csr/table_o.o \ + ../../../../../temp/csr/table_p.o \ + ../../../../../temp/csr/table_q.o \ + ../../../../../temp/csr/table_r.o \ + ../../../../../temp/csr/table_s.o \ + ../../../../../temp/csr/table_t.o \ + ../../../../../temp/csr/table_u.o \ + ../../../../../temp/csr/table_v.o \ + ../../../../../temp/csr/table_w.o \ + ../../../../../temp/csr/table_x.o \ + ../../../../../temp/csr/table_y.o \ + ../../../../../temp/csr/table_z.o \ + ../../../../../temp/csr/ta_utility.o \ + ../../../../../temp/csr/ta_ACOS.o \ + ../../../../../temp/csr/ta_AD.o \ + ../../../../../temp/csr/ta_ADD.o \ + ../../../../../temp/csr/ta_ADOSC.o \ + ../../../../../temp/csr/ta_ADX.o \ + ../../../../../temp/csr/ta_ADXR.o \ + ../../../../../temp/csr/ta_APO.o \ + ../../../../../temp/csr/ta_AROON.o \ + ../../../../../temp/csr/ta_AROONOSC.o \ + ../../../../../temp/csr/ta_ASIN.o \ + ../../../../../temp/csr/ta_ATAN.o \ + ../../../../../temp/csr/ta_ATR.o \ + ../../../../../temp/csr/ta_AVGPRICE.o \ + ../../../../../temp/csr/ta_BBANDS.o \ + ../../../../../temp/csr/ta_BETA.o \ + ../../../../../temp/csr/ta_BOP.o \ + ../../../../../temp/csr/ta_CCI.o \ + ../../../../../temp/csr/ta_CDL2CROWS.o \ + ../../../../../temp/csr/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/csr/ta_CDL3INSIDE.o \ + ../../../../../temp/csr/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/csr/ta_CDL3OUTSIDE.o \ + ../../../../../temp/csr/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/csr/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/csr/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/csr/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/csr/ta_CDLBELTHOLD.o \ + ../../../../../temp/csr/ta_CDLBREAKAWAY.o \ + ../../../../../temp/csr/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/csr/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/csr/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/csr/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/csr/ta_CDLDOJI.o \ + ../../../../../temp/csr/ta_CDLDOJISTAR.o \ + ../../../../../temp/csr/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/csr/ta_CDLENGULFING.o \ + ../../../../../temp/csr/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/csr/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/csr/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/csr/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/csr/ta_CDLHAMMER.o \ + ../../../../../temp/csr/ta_CDLHANGINGMAN.o \ + ../../../../../temp/csr/ta_CDLHARAMI.o \ + ../../../../../temp/csr/ta_CDLHARAMICROSS.o \ + ../../../../../temp/csr/ta_CDLHIGHWAVE.o \ + ../../../../../temp/csr/ta_CDLHIKKAKE.o \ + ../../../../../temp/csr/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/csr/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/csr/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/csr/ta_CDLINNECK.o \ + ../../../../../temp/csr/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/csr/ta_CDLKICKING.o \ + ../../../../../temp/csr/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/csr/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/csr/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/csr/ta_CDLLONGLINE.o \ + ../../../../../temp/csr/ta_CDLMARUBOZU.o \ + ../../../../../temp/csr/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/csr/ta_CDLMATHOLD.o \ + ../../../../../temp/csr/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/csr/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/csr/ta_CDLONNECK.o \ + ../../../../../temp/csr/ta_CDLPIERCING.o \ + ../../../../../temp/csr/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/csr/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/csr/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/csr/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/csr/ta_CDLSHORTLINE.o \ + ../../../../../temp/csr/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/csr/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/csr/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/csr/ta_CDLTAKURI.o \ + ../../../../../temp/csr/ta_CDLTASUKIGAP.o \ + ../../../../../temp/csr/ta_CDLTHRUSTING.o \ + ../../../../../temp/csr/ta_CDLTRISTAR.o \ + ../../../../../temp/csr/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/csr/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/csr/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/csr/ta_CEIL.o \ + ../../../../../temp/csr/ta_CMO.o \ + ../../../../../temp/csr/ta_CORREL.o \ + ../../../../../temp/csr/ta_COS.o \ + ../../../../../temp/csr/ta_COSH.o \ + ../../../../../temp/csr/ta_DEMA.o \ + ../../../../../temp/csr/ta_DIV.o \ + ../../../../../temp/csr/ta_DX.o \ + ../../../../../temp/csr/ta_EMA.o \ + ../../../../../temp/csr/ta_EXP.o \ + ../../../../../temp/csr/ta_FLOOR.o \ + ../../../../../temp/csr/ta_HT_DCPERIOD.o \ + ../../../../../temp/csr/ta_HT_DCPHASE.o \ + ../../../../../temp/csr/ta_HT_PHASOR.o \ + ../../../../../temp/csr/ta_HT_SINE.o \ + ../../../../../temp/csr/ta_HT_TRENDLINE.o \ + ../../../../../temp/csr/ta_HT_TRENDMODE.o \ + ../../../../../temp/csr/ta_KAMA.o \ + ../../../../../temp/csr/ta_LINEARREG.o \ + ../../../../../temp/csr/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/csr/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/csr/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/csr/ta_LN.o \ + ../../../../../temp/csr/ta_LOG10.o \ + ../../../../../temp/csr/ta_MA.o \ + ../../../../../temp/csr/ta_MACD.o \ + ../../../../../temp/csr/ta_MACDEXT.o \ + ../../../../../temp/csr/ta_MACDFIX.o \ + ../../../../../temp/csr/ta_MAMA.o \ + ../../../../../temp/csr/ta_MAVP.o \ + ../../../../../temp/csr/ta_MAX.o \ + ../../../../../temp/csr/ta_MAXINDEX.o \ + ../../../../../temp/csr/ta_MEDPRICE.o \ + ../../../../../temp/csr/ta_MFI.o \ + ../../../../../temp/csr/ta_MIDPOINT.o \ + ../../../../../temp/csr/ta_MIDPRICE.o \ + ../../../../../temp/csr/ta_MIN.o \ + ../../../../../temp/csr/ta_MININDEX.o \ + ../../../../../temp/csr/ta_MINMAX.o \ + ../../../../../temp/csr/ta_MINMAXINDEX.o \ + ../../../../../temp/csr/ta_MINUS_DI.o \ + ../../../../../temp/csr/ta_MINUS_DM.o \ + ../../../../../temp/csr/ta_MOM.o \ + ../../../../../temp/csr/ta_MULT.o \ + ../../../../../temp/csr/ta_NATR.o \ + ../../../../../temp/csr/ta_OBV.o \ + ../../../../../temp/csr/ta_PLUS_DI.o \ + ../../../../../temp/csr/ta_PLUS_DM.o \ + ../../../../../temp/csr/ta_PPO.o \ + ../../../../../temp/csr/ta_ROC.o \ + ../../../../../temp/csr/ta_ROCP.o \ + ../../../../../temp/csr/ta_ROCR.o \ + ../../../../../temp/csr/ta_ROCR100.o \ + ../../../../../temp/csr/ta_RSI.o \ + ../../../../../temp/csr/ta_SAR.o \ + ../../../../../temp/csr/ta_SAREXT.o \ + ../../../../../temp/csr/ta_SIN.o \ + ../../../../../temp/csr/ta_SINH.o \ + ../../../../../temp/csr/ta_SMA.o \ + ../../../../../temp/csr/ta_SQRT.o \ + ../../../../../temp/csr/ta_STDDEV.o \ + ../../../../../temp/csr/ta_STOCH.o \ + ../../../../../temp/csr/ta_STOCHF.o \ + ../../../../../temp/csr/ta_STOCHRSI.o \ + ../../../../../temp/csr/ta_SUB.o \ + ../../../../../temp/csr/ta_SUM.o \ + ../../../../../temp/csr/ta_T3.o \ + ../../../../../temp/csr/ta_TAN.o \ + ../../../../../temp/csr/ta_TANH.o \ + ../../../../../temp/csr/ta_TEMA.o \ + ../../../../../temp/csr/ta_TRANGE.o \ + ../../../../../temp/csr/ta_TRIMA.o \ + ../../../../../temp/csr/ta_TRIX.o \ + ../../../../../temp/csr/ta_TSF.o \ + ../../../../../temp/csr/ta_TYPPRICE.o \ + ../../../../../temp/csr/ta_ULTOSC.o \ + ../../../../../temp/csr/ta_VAR.o \ + ../../../../../temp/csr/ta_WCLPRICE.o \ + ../../../../../temp/csr/ta_WILLR.o \ + ../../../../../temp/csr/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_libc_csr.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csr/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/csr/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/csr/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_version.o ../../../../../src/ta_common/ta_version.c + +../../../../../temp/csr/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csr/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csr/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/csr/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/csr/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/csr/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csr/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csr/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csr/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csr/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csr/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csr/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csr/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csr/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csr/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csr/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csr/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csr/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csr/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csr/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csr/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csr/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csr/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csr/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csr/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csr/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csr/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csr/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csr/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csr/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csr/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + +../../../../../temp/csr/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/csr/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/csr/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/csr/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/csr/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/csr/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/csr/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/csr/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/csr/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/csr/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/csr/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/csr/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/csr/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/csr/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/csr/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/csr/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/csr/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/csr/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/csr/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/csr/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/csr/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/csr/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/csr/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/csr/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/csr/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/csr/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/csr/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/csr/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/csr/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/csr/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/csr/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/csr/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/csr/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/csr/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/csr/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/csr/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/csr/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/csr/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/csr/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/csr/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/csr/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/csr/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/csr/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/csr/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/csr/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/csr/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/csr/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/csr/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/csr/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/csr/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/csr/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/csr/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/csr/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/csr/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/csr/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/csr/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/csr/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/csr/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/csr/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/csr/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/csr/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/csr/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/csr/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/csr/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/csr/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/csr/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/csr/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/csr/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/csr/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/csr/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/csr/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/csr/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/csr/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/csr/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/csr/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/csr/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/csr/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/csr/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/csr/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/csr/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/csr/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/csr/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/csr/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/csr/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/csr/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/csr/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/csr/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/csr/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/csr/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/csr/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/csr/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/csr/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/csr/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/csr/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/csr/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/csr/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/csr/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/csr/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/csr/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/csr/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/csr/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/csr/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/csr/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/csr/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/csr/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/csr/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/csr/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/csr/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/csr/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/csr/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/csr/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/csr/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/csr/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/csr/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/csr/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/csr/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/csr/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/csr/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/csr/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/csr/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/csr/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/csr/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/csr/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/csr/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/csr/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/csr/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/csr/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/csr/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/csr/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/csr/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/csr/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/csr/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/csr/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/csr/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/csr/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/csr/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/csr/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/csr/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/csr/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/csr/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/csr/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/csr/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/csr/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/csr/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/csr/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/csr/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/csr/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/csr/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/csr/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/csr/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/csr/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/csr/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/csr/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/csr/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/csr/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/csr/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/csr/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/csr/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/csr/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/csr/cygwin/g++/ta_regtest/Makefile b/vendor/ta-lib/make/csr/cygwin/g++/ta_regtest/Makefile new file mode 100644 index 000000000..3692683d9 --- /dev/null +++ b/vendor/ta-lib/make/csr/cygwin/g++/ta_regtest/Makefile @@ -0,0 +1,211 @@ +############################################################################# +# Makefile for building ../../../../../bin/ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../src/tools/ta_regtest -I../../../../../src/ta_func -I../../../../../include +LINK = g++ +LFLAGS = +LIBS = $(SUBLIBS) ../../../../../lib/libta_libc_csr.a +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/ta_regtest/ta_regtest.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c \ + ../../../../../src/tools/ta_regtest/test_internals.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c \ + ../../../../../src/tools/ta_regtest/test_util.c \ + ../../../../../src/tools/ta_regtest/test_data.c \ + ../../../../../src/tools/ta_regtest/test_abstract.c +OBJECTS = ../../../../../temp/csr/ta_regtest.o \ + ../../../../../temp/csr/test_candlestick.o \ + ../../../../../temp/csr/test_1in_1out.o \ + ../../../../../temp/csr/test_1in_2out.o \ + ../../../../../temp/csr/test_internals.o \ + ../../../../../temp/csr/test_adx.o \ + ../../../../../temp/csr/test_bbands.o \ + ../../../../../temp/csr/test_ma.o \ + ../../../../../temp/csr/test_macd.o \ + ../../../../../temp/csr/test_minmax.o \ + ../../../../../temp/csr/test_mom.o \ + ../../../../../temp/csr/test_per_ema.o \ + ../../../../../temp/csr/test_per_hl.o \ + ../../../../../temp/csr/test_per_hlc.o \ + ../../../../../temp/csr/test_per_hlcv.o \ + ../../../../../temp/csr/test_per_ohlc.o \ + ../../../../../temp/csr/test_po.o \ + ../../../../../temp/csr/test_rsi.o \ + ../../../../../temp/csr/test_sar.o \ + ../../../../../temp/csr/test_stddev.o \ + ../../../../../temp/csr/test_stoch.o \ + ../../../../../temp/csr/test_trange.o \ + ../../../../../temp/csr/test_util.o \ + ../../../../../temp/csr/test_data.o \ + ../../../../../temp/csr/test_abstract.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/ta_regtest +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csr/ta_regtest.o: ../../../../../src/tools/ta_regtest/ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_regtest.o ../../../../../src/tools/ta_regtest/ta_regtest.c + +../../../../../temp/csr/test_candlestick.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_candlestick.o ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + +../../../../../temp/csr/test_1in_1out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_1in_1out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + +../../../../../temp/csr/test_1in_2out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_1in_2out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + +../../../../../temp/csr/test_internals.o: ../../../../../src/tools/ta_regtest/test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_internals.o ../../../../../src/tools/ta_regtest/test_internals.c + +../../../../../temp/csr/test_adx.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_adx.o ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + +../../../../../temp/csr/test_bbands.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_bbands.o ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + +../../../../../temp/csr/test_ma.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_ma.o ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + +../../../../../temp/csr/test_macd.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_macd.o ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + +../../../../../temp/csr/test_minmax.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_minmax.o ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + +../../../../../temp/csr/test_mom.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_mom.o ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + +../../../../../temp/csr/test_per_ema.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_per_ema.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + +../../../../../temp/csr/test_per_hl.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_per_hl.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + +../../../../../temp/csr/test_per_hlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_per_hlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + +../../../../../temp/csr/test_per_hlcv.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_per_hlcv.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + +../../../../../temp/csr/test_per_ohlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_per_ohlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + +../../../../../temp/csr/test_po.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_po.o ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + +../../../../../temp/csr/test_rsi.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_rsi.o ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + +../../../../../temp/csr/test_sar.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_sar.o ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + +../../../../../temp/csr/test_stddev.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_stddev.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + +../../../../../temp/csr/test_stoch.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_stoch.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + +../../../../../temp/csr/test_trange.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_trange.o ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + +../../../../../temp/csr/test_util.o: ../../../../../src/tools/ta_regtest/test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_util.o ../../../../../src/tools/ta_regtest/test_util.c + +../../../../../temp/csr/test_data.o: ../../../../../src/tools/ta_regtest/test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_data.o ../../../../../src/tools/ta_regtest/test_data.c + +../../../../../temp/csr/test_abstract.o: ../../../../../src/tools/ta_regtest/test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_abstract.o ../../../../../src/tools/ta_regtest/test_abstract.c + diff --git a/vendor/ta-lib/make/csr/freebsd/g++/Makefile b/vendor/ta-lib/make/csr/freebsd/g++/Makefile new file mode 100644 index 000000000..b07e03f6a --- /dev/null +++ b/vendor/ta-lib/make/csr/freebsd/g++/Makefile @@ -0,0 +1,36 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +$(SUBDIRS): FORCE + cd $@; $(MAKE) + +tmake: ../csr/freebsd/g++/Makefile + +../csr/freebsd/g++/Makefile: rootmake.pro + tmake rootmake.pro -o ../csr/freebsd/g++/Makefile + +tmake_all: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done + +#### $text = "\t" . 'for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; pro=`basename $$i`.pro ; $(TMAKE) $$pro -o $(MAKEFILE); grep "TEMPLATE.*subdirs" $$pro 2>/dev/null >/dev/null && $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done'; + +clean release debug: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) $@; fi; ) ; done + +FORCE: diff --git a/vendor/ta-lib/make/csr/freebsd/g++/gen_code/Makefile b/vendor/ta-lib/make/csr/freebsd/g++/gen_code/Makefile new file mode 100644 index 000000000..2147ff430 --- /dev/null +++ b/vendor/ta-lib/make/csr/freebsd/g++/gen_code/Makefile @@ -0,0 +1,225 @@ +############################################################################# +# Makefile for building ../../../../../bin/gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -O2 -fno-strict-aliasing -DTA_GEN_CODE -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -O2 -fno-strict-aliasing -DTA_GEN_CODE -DTA_SINGLE_THREAD +INCPATH = -I../../../../../include -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I/usr/local/include +LINK = g++ +LFLAGS = -L/usr/local/lib +LIBS = $(SUBLIBS) ../../../../../lib/libta_common_csr.a +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/gen_code/gen_code.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/csr/gen_code/gen_code.o \ + ../../../../../temp/csr/gen_code/ta_abstract.o \ + ../../../../../temp/csr/gen_code/ta_def_ui.o \ + ../../../../../temp/csr/gen_code/table_a.o \ + ../../../../../temp/csr/gen_code/table_b.o \ + ../../../../../temp/csr/gen_code/table_c.o \ + ../../../../../temp/csr/gen_code/table_d.o \ + ../../../../../temp/csr/gen_code/table_e.o \ + ../../../../../temp/csr/gen_code/table_f.o \ + ../../../../../temp/csr/gen_code/table_g.o \ + ../../../../../temp/csr/gen_code/table_h.o \ + ../../../../../temp/csr/gen_code/table_i.o \ + ../../../../../temp/csr/gen_code/table_j.o \ + ../../../../../temp/csr/gen_code/table_k.o \ + ../../../../../temp/csr/gen_code/table_l.o \ + ../../../../../temp/csr/gen_code/table_m.o \ + ../../../../../temp/csr/gen_code/table_n.o \ + ../../../../../temp/csr/gen_code/table_o.o \ + ../../../../../temp/csr/gen_code/table_p.o \ + ../../../../../temp/csr/gen_code/table_q.o \ + ../../../../../temp/csr/gen_code/table_r.o \ + ../../../../../temp/csr/gen_code/table_s.o \ + ../../../../../temp/csr/gen_code/table_t.o \ + ../../../../../temp/csr/gen_code/table_u.o \ + ../../../../../temp/csr/gen_code/table_v.o \ + ../../../../../temp/csr/gen_code/table_w.o \ + ../../../../../temp/csr/gen_code/table_x.o \ + ../../../../../temp/csr/gen_code/table_y.o \ + ../../../../../temp/csr/gen_code/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/gen_code +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csr/gen_code/gen_code.o: ../../../../../src/tools/gen_code/gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/gen_code.o ../../../../../src/tools/gen_code/gen_code.c + +../../../../../temp/csr/gen_code/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csr/gen_code/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csr/gen_code/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csr/gen_code/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csr/gen_code/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csr/gen_code/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csr/gen_code/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csr/gen_code/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csr/gen_code/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csr/gen_code/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csr/gen_code/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csr/gen_code/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csr/gen_code/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csr/gen_code/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csr/gen_code/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csr/gen_code/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csr/gen_code/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csr/gen_code/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csr/gen_code/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csr/gen_code/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csr/gen_code/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csr/gen_code/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csr/gen_code/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csr/gen_code/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csr/gen_code/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csr/gen_code/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csr/gen_code/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csr/gen_code/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/csr/freebsd/g++/ta_abstract/Makefile b/vendor/ta-lib/make/csr/freebsd/g++/ta_abstract/Makefile new file mode 100644 index 000000000..c8639ab3a --- /dev/null +++ b/vendor/ta-lib/make/csr/freebsd/g++/ta_abstract/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_abstract_csr.a +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I../../../../../include -I/usr/local/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/csr/ta_abstract.o \ + ../../../../../temp/csr/ta_def_ui.o \ + ../../../../../temp/csr/ta_func_api.o \ + ../../../../../temp/csr/ta_group_idx.o \ + ../../../../../temp/csr/ta_frame.o \ + ../../../../../temp/csr/table_a.o \ + ../../../../../temp/csr/table_b.o \ + ../../../../../temp/csr/table_c.o \ + ../../../../../temp/csr/table_d.o \ + ../../../../../temp/csr/table_e.o \ + ../../../../../temp/csr/table_f.o \ + ../../../../../temp/csr/table_g.o \ + ../../../../../temp/csr/table_h.o \ + ../../../../../temp/csr/table_i.o \ + ../../../../../temp/csr/table_j.o \ + ../../../../../temp/csr/table_k.o \ + ../../../../../temp/csr/table_l.o \ + ../../../../../temp/csr/table_m.o \ + ../../../../../temp/csr/table_n.o \ + ../../../../../temp/csr/table_o.o \ + ../../../../../temp/csr/table_p.o \ + ../../../../../temp/csr/table_q.o \ + ../../../../../temp/csr/table_r.o \ + ../../../../../temp/csr/table_s.o \ + ../../../../../temp/csr/table_t.o \ + ../../../../../temp/csr/table_u.o \ + ../../../../../temp/csr/table_v.o \ + ../../../../../temp/csr/table_w.o \ + ../../../../../temp/csr/table_x.o \ + ../../../../../temp/csr/table_y.o \ + ../../../../../temp/csr/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_abstract_csr.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csr/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csr/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csr/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/csr/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/csr/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/csr/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csr/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csr/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csr/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csr/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csr/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csr/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csr/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csr/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csr/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csr/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csr/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csr/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csr/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csr/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csr/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csr/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csr/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csr/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csr/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csr/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csr/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csr/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csr/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csr/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csr/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/csr/freebsd/g++/ta_common/Makefile b/vendor/ta-lib/make/csr/freebsd/g++/ta_common/Makefile new file mode 100644 index 000000000..06ffa5e3a --- /dev/null +++ b/vendor/ta-lib/make/csr/freebsd/g++/ta_common/Makefile @@ -0,0 +1,103 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_common_csr.a +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../include -I/usr/local/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c +OBJECTS = ../../../../../temp/csr/ta_global.o \ + ../../../../../temp/csr/ta_retcode.o \ + ../../../../../temp/csr/ta_version.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_common_csr.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csr/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/csr/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/csr/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_version.o ../../../../../src/ta_common/ta_version.c + diff --git a/vendor/ta-lib/make/csr/freebsd/g++/ta_func/Makefile b/vendor/ta-lib/make/csr/freebsd/g++/ta_func/Makefile new file mode 100644 index 000000000..1b9e927da --- /dev/null +++ b/vendor/ta-lib/make/csr/freebsd/g++/ta_func/Makefile @@ -0,0 +1,883 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_func_csr.a +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I/n -I../../../../../include -I/usr/local/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/csr/ta_utility.o \ + ../../../../../temp/csr/ta_ACOS.o \ + ../../../../../temp/csr/ta_AD.o \ + ../../../../../temp/csr/ta_ADD.o \ + ../../../../../temp/csr/ta_ADOSC.o \ + ../../../../../temp/csr/ta_ADX.o \ + ../../../../../temp/csr/ta_ADXR.o \ + ../../../../../temp/csr/ta_APO.o \ + ../../../../../temp/csr/ta_AROON.o \ + ../../../../../temp/csr/ta_AROONOSC.o \ + ../../../../../temp/csr/ta_ASIN.o \ + ../../../../../temp/csr/ta_ATAN.o \ + ../../../../../temp/csr/ta_ATR.o \ + ../../../../../temp/csr/ta_AVGPRICE.o \ + ../../../../../temp/csr/ta_BBANDS.o \ + ../../../../../temp/csr/ta_BETA.o \ + ../../../../../temp/csr/ta_BOP.o \ + ../../../../../temp/csr/ta_CCI.o \ + ../../../../../temp/csr/ta_CDL2CROWS.o \ + ../../../../../temp/csr/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/csr/ta_CDL3INSIDE.o \ + ../../../../../temp/csr/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/csr/ta_CDL3OUTSIDE.o \ + ../../../../../temp/csr/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/csr/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/csr/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/csr/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/csr/ta_CDLBELTHOLD.o \ + ../../../../../temp/csr/ta_CDLBREAKAWAY.o \ + ../../../../../temp/csr/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/csr/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/csr/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/csr/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/csr/ta_CDLDOJI.o \ + ../../../../../temp/csr/ta_CDLDOJISTAR.o \ + ../../../../../temp/csr/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/csr/ta_CDLENGULFING.o \ + ../../../../../temp/csr/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/csr/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/csr/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/csr/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/csr/ta_CDLHAMMER.o \ + ../../../../../temp/csr/ta_CDLHANGINGMAN.o \ + ../../../../../temp/csr/ta_CDLHARAMI.o \ + ../../../../../temp/csr/ta_CDLHARAMICROSS.o \ + ../../../../../temp/csr/ta_CDLHIGHWAVE.o \ + ../../../../../temp/csr/ta_CDLHIKKAKE.o \ + ../../../../../temp/csr/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/csr/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/csr/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/csr/ta_CDLINNECK.o \ + ../../../../../temp/csr/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/csr/ta_CDLKICKING.o \ + ../../../../../temp/csr/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/csr/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/csr/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/csr/ta_CDLLONGLINE.o \ + ../../../../../temp/csr/ta_CDLMARUBOZU.o \ + ../../../../../temp/csr/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/csr/ta_CDLMATHOLD.o \ + ../../../../../temp/csr/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/csr/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/csr/ta_CDLONNECK.o \ + ../../../../../temp/csr/ta_CDLPIERCING.o \ + ../../../../../temp/csr/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/csr/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/csr/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/csr/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/csr/ta_CDLSHORTLINE.o \ + ../../../../../temp/csr/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/csr/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/csr/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/csr/ta_CDLTAKURI.o \ + ../../../../../temp/csr/ta_CDLTASUKIGAP.o \ + ../../../../../temp/csr/ta_CDLTHRUSTING.o \ + ../../../../../temp/csr/ta_CDLTRISTAR.o \ + ../../../../../temp/csr/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/csr/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/csr/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/csr/ta_CEIL.o \ + ../../../../../temp/csr/ta_CMO.o \ + ../../../../../temp/csr/ta_CORREL.o \ + ../../../../../temp/csr/ta_COS.o \ + ../../../../../temp/csr/ta_COSH.o \ + ../../../../../temp/csr/ta_DEMA.o \ + ../../../../../temp/csr/ta_DIV.o \ + ../../../../../temp/csr/ta_DX.o \ + ../../../../../temp/csr/ta_EMA.o \ + ../../../../../temp/csr/ta_EXP.o \ + ../../../../../temp/csr/ta_FLOOR.o \ + ../../../../../temp/csr/ta_HT_DCPERIOD.o \ + ../../../../../temp/csr/ta_HT_DCPHASE.o \ + ../../../../../temp/csr/ta_HT_PHASOR.o \ + ../../../../../temp/csr/ta_HT_SINE.o \ + ../../../../../temp/csr/ta_HT_TRENDLINE.o \ + ../../../../../temp/csr/ta_HT_TRENDMODE.o \ + ../../../../../temp/csr/ta_KAMA.o \ + ../../../../../temp/csr/ta_LINEARREG.o \ + ../../../../../temp/csr/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/csr/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/csr/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/csr/ta_LN.o \ + ../../../../../temp/csr/ta_LOG10.o \ + ../../../../../temp/csr/ta_MA.o \ + ../../../../../temp/csr/ta_MACD.o \ + ../../../../../temp/csr/ta_MACDEXT.o \ + ../../../../../temp/csr/ta_MACDFIX.o \ + ../../../../../temp/csr/ta_MAMA.o \ + ../../../../../temp/csr/ta_MAVP.o \ + ../../../../../temp/csr/ta_MAX.o \ + ../../../../../temp/csr/ta_MAXINDEX.o \ + ../../../../../temp/csr/ta_MEDPRICE.o \ + ../../../../../temp/csr/ta_MFI.o \ + ../../../../../temp/csr/ta_MIDPOINT.o \ + ../../../../../temp/csr/ta_MIDPRICE.o \ + ../../../../../temp/csr/ta_MIN.o \ + ../../../../../temp/csr/ta_MININDEX.o \ + ../../../../../temp/csr/ta_MINMAX.o \ + ../../../../../temp/csr/ta_MINMAXINDEX.o \ + ../../../../../temp/csr/ta_MINUS_DI.o \ + ../../../../../temp/csr/ta_MINUS_DM.o \ + ../../../../../temp/csr/ta_MOM.o \ + ../../../../../temp/csr/ta_MULT.o \ + ../../../../../temp/csr/ta_NATR.o \ + ../../../../../temp/csr/ta_OBV.o \ + ../../../../../temp/csr/ta_PLUS_DI.o \ + ../../../../../temp/csr/ta_PLUS_DM.o \ + ../../../../../temp/csr/ta_PPO.o \ + ../../../../../temp/csr/ta_ROC.o \ + ../../../../../temp/csr/ta_ROCP.o \ + ../../../../../temp/csr/ta_ROCR.o \ + ../../../../../temp/csr/ta_ROCR100.o \ + ../../../../../temp/csr/ta_RSI.o \ + ../../../../../temp/csr/ta_SAR.o \ + ../../../../../temp/csr/ta_SAREXT.o \ + ../../../../../temp/csr/ta_SIN.o \ + ../../../../../temp/csr/ta_SINH.o \ + ../../../../../temp/csr/ta_SMA.o \ + ../../../../../temp/csr/ta_SQRT.o \ + ../../../../../temp/csr/ta_STDDEV.o \ + ../../../../../temp/csr/ta_STOCH.o \ + ../../../../../temp/csr/ta_STOCHF.o \ + ../../../../../temp/csr/ta_STOCHRSI.o \ + ../../../../../temp/csr/ta_SUB.o \ + ../../../../../temp/csr/ta_SUM.o \ + ../../../../../temp/csr/ta_T3.o \ + ../../../../../temp/csr/ta_TAN.o \ + ../../../../../temp/csr/ta_TANH.o \ + ../../../../../temp/csr/ta_TEMA.o \ + ../../../../../temp/csr/ta_TRANGE.o \ + ../../../../../temp/csr/ta_TRIMA.o \ + ../../../../../temp/csr/ta_TRIX.o \ + ../../../../../temp/csr/ta_TSF.o \ + ../../../../../temp/csr/ta_TYPPRICE.o \ + ../../../../../temp/csr/ta_ULTOSC.o \ + ../../../../../temp/csr/ta_VAR.o \ + ../../../../../temp/csr/ta_WCLPRICE.o \ + ../../../../../temp/csr/ta_WILLR.o \ + ../../../../../temp/csr/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_func_csr.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csr/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/csr/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/csr/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/csr/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/csr/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/csr/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/csr/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/csr/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/csr/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/csr/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/csr/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/csr/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/csr/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/csr/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/csr/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/csr/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/csr/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/csr/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/csr/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/csr/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/csr/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/csr/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/csr/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/csr/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/csr/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/csr/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/csr/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/csr/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/csr/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/csr/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/csr/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/csr/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/csr/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/csr/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/csr/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/csr/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/csr/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/csr/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/csr/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/csr/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/csr/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/csr/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/csr/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/csr/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/csr/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/csr/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/csr/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/csr/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/csr/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/csr/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/csr/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/csr/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/csr/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/csr/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/csr/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/csr/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/csr/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/csr/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/csr/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/csr/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/csr/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/csr/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/csr/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/csr/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/csr/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/csr/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/csr/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/csr/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/csr/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/csr/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/csr/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/csr/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/csr/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/csr/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/csr/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/csr/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/csr/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/csr/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/csr/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/csr/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/csr/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/csr/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/csr/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/csr/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/csr/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/csr/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/csr/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/csr/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/csr/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/csr/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/csr/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/csr/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/csr/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/csr/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/csr/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/csr/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/csr/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/csr/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/csr/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/csr/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/csr/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/csr/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/csr/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/csr/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/csr/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/csr/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/csr/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/csr/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/csr/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/csr/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/csr/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/csr/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/csr/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/csr/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/csr/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/csr/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/csr/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/csr/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/csr/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/csr/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/csr/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/csr/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/csr/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/csr/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/csr/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/csr/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/csr/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/csr/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/csr/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/csr/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/csr/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/csr/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/csr/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/csr/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/csr/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/csr/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/csr/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/csr/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/csr/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/csr/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/csr/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/csr/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/csr/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/csr/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/csr/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/csr/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/csr/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/csr/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/csr/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/csr/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/csr/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/csr/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/csr/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/csr/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/csr/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/csr/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/csr/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/csr/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/csr/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/csr/freebsd/g++/ta_libc/Makefile b/vendor/ta-lib/make/csr/freebsd/g++/ta_libc/Makefile new file mode 100644 index 000000000..84c8a4675 --- /dev/null +++ b/vendor/ta-lib/make/csr/freebsd/g++/ta_libc/Makefile @@ -0,0 +1,1053 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_libc_csr.a +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD -DNO_DEBUG +CXXFLAGS= -pipe -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD -DNO_DEBUG +INCPATH = -I../../../../../src/ta_common -I../../../../../include -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I/usr/local/include -I$(QTDIR)/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c \ + ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/csr/ta_global.o \ + ../../../../../temp/csr/ta_retcode.o \ + ../../../../../temp/csr/ta_version.o \ + ../../../../../temp/csr/ta_abstract.o \ + ../../../../../temp/csr/ta_def_ui.o \ + ../../../../../temp/csr/ta_func_api.o \ + ../../../../../temp/csr/ta_group_idx.o \ + ../../../../../temp/csr/ta_frame.o \ + ../../../../../temp/csr/table_a.o \ + ../../../../../temp/csr/table_b.o \ + ../../../../../temp/csr/table_c.o \ + ../../../../../temp/csr/table_d.o \ + ../../../../../temp/csr/table_e.o \ + ../../../../../temp/csr/table_f.o \ + ../../../../../temp/csr/table_g.o \ + ../../../../../temp/csr/table_h.o \ + ../../../../../temp/csr/table_i.o \ + ../../../../../temp/csr/table_j.o \ + ../../../../../temp/csr/table_k.o \ + ../../../../../temp/csr/table_l.o \ + ../../../../../temp/csr/table_m.o \ + ../../../../../temp/csr/table_n.o \ + ../../../../../temp/csr/table_o.o \ + ../../../../../temp/csr/table_p.o \ + ../../../../../temp/csr/table_q.o \ + ../../../../../temp/csr/table_r.o \ + ../../../../../temp/csr/table_s.o \ + ../../../../../temp/csr/table_t.o \ + ../../../../../temp/csr/table_u.o \ + ../../../../../temp/csr/table_v.o \ + ../../../../../temp/csr/table_w.o \ + ../../../../../temp/csr/table_x.o \ + ../../../../../temp/csr/table_y.o \ + ../../../../../temp/csr/table_z.o \ + ../../../../../temp/csr/ta_utility.o \ + ../../../../../temp/csr/ta_ACOS.o \ + ../../../../../temp/csr/ta_AD.o \ + ../../../../../temp/csr/ta_ADD.o \ + ../../../../../temp/csr/ta_ADOSC.o \ + ../../../../../temp/csr/ta_ADX.o \ + ../../../../../temp/csr/ta_ADXR.o \ + ../../../../../temp/csr/ta_APO.o \ + ../../../../../temp/csr/ta_AROON.o \ + ../../../../../temp/csr/ta_AROONOSC.o \ + ../../../../../temp/csr/ta_ASIN.o \ + ../../../../../temp/csr/ta_ATAN.o \ + ../../../../../temp/csr/ta_ATR.o \ + ../../../../../temp/csr/ta_AVGPRICE.o \ + ../../../../../temp/csr/ta_BBANDS.o \ + ../../../../../temp/csr/ta_BETA.o \ + ../../../../../temp/csr/ta_BOP.o \ + ../../../../../temp/csr/ta_CCI.o \ + ../../../../../temp/csr/ta_CDL2CROWS.o \ + ../../../../../temp/csr/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/csr/ta_CDL3INSIDE.o \ + ../../../../../temp/csr/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/csr/ta_CDL3OUTSIDE.o \ + ../../../../../temp/csr/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/csr/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/csr/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/csr/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/csr/ta_CDLBELTHOLD.o \ + ../../../../../temp/csr/ta_CDLBREAKAWAY.o \ + ../../../../../temp/csr/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/csr/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/csr/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/csr/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/csr/ta_CDLDOJI.o \ + ../../../../../temp/csr/ta_CDLDOJISTAR.o \ + ../../../../../temp/csr/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/csr/ta_CDLENGULFING.o \ + ../../../../../temp/csr/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/csr/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/csr/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/csr/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/csr/ta_CDLHAMMER.o \ + ../../../../../temp/csr/ta_CDLHANGINGMAN.o \ + ../../../../../temp/csr/ta_CDLHARAMI.o \ + ../../../../../temp/csr/ta_CDLHARAMICROSS.o \ + ../../../../../temp/csr/ta_CDLHIGHWAVE.o \ + ../../../../../temp/csr/ta_CDLHIKKAKE.o \ + ../../../../../temp/csr/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/csr/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/csr/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/csr/ta_CDLINNECK.o \ + ../../../../../temp/csr/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/csr/ta_CDLKICKING.o \ + ../../../../../temp/csr/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/csr/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/csr/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/csr/ta_CDLLONGLINE.o \ + ../../../../../temp/csr/ta_CDLMARUBOZU.o \ + ../../../../../temp/csr/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/csr/ta_CDLMATHOLD.o \ + ../../../../../temp/csr/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/csr/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/csr/ta_CDLONNECK.o \ + ../../../../../temp/csr/ta_CDLPIERCING.o \ + ../../../../../temp/csr/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/csr/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/csr/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/csr/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/csr/ta_CDLSHORTLINE.o \ + ../../../../../temp/csr/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/csr/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/csr/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/csr/ta_CDLTAKURI.o \ + ../../../../../temp/csr/ta_CDLTASUKIGAP.o \ + ../../../../../temp/csr/ta_CDLTHRUSTING.o \ + ../../../../../temp/csr/ta_CDLTRISTAR.o \ + ../../../../../temp/csr/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/csr/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/csr/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/csr/ta_CEIL.o \ + ../../../../../temp/csr/ta_CMO.o \ + ../../../../../temp/csr/ta_CORREL.o \ + ../../../../../temp/csr/ta_COS.o \ + ../../../../../temp/csr/ta_COSH.o \ + ../../../../../temp/csr/ta_DEMA.o \ + ../../../../../temp/csr/ta_DIV.o \ + ../../../../../temp/csr/ta_DX.o \ + ../../../../../temp/csr/ta_EMA.o \ + ../../../../../temp/csr/ta_EXP.o \ + ../../../../../temp/csr/ta_FLOOR.o \ + ../../../../../temp/csr/ta_HT_DCPERIOD.o \ + ../../../../../temp/csr/ta_HT_DCPHASE.o \ + ../../../../../temp/csr/ta_HT_PHASOR.o \ + ../../../../../temp/csr/ta_HT_SINE.o \ + ../../../../../temp/csr/ta_HT_TRENDLINE.o \ + ../../../../../temp/csr/ta_HT_TRENDMODE.o \ + ../../../../../temp/csr/ta_KAMA.o \ + ../../../../../temp/csr/ta_LINEARREG.o \ + ../../../../../temp/csr/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/csr/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/csr/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/csr/ta_LN.o \ + ../../../../../temp/csr/ta_LOG10.o \ + ../../../../../temp/csr/ta_MA.o \ + ../../../../../temp/csr/ta_MACD.o \ + ../../../../../temp/csr/ta_MACDEXT.o \ + ../../../../../temp/csr/ta_MACDFIX.o \ + ../../../../../temp/csr/ta_MAMA.o \ + ../../../../../temp/csr/ta_MAVP.o \ + ../../../../../temp/csr/ta_MAX.o \ + ../../../../../temp/csr/ta_MAXINDEX.o \ + ../../../../../temp/csr/ta_MEDPRICE.o \ + ../../../../../temp/csr/ta_MFI.o \ + ../../../../../temp/csr/ta_MIDPOINT.o \ + ../../../../../temp/csr/ta_MIDPRICE.o \ + ../../../../../temp/csr/ta_MIN.o \ + ../../../../../temp/csr/ta_MININDEX.o \ + ../../../../../temp/csr/ta_MINMAX.o \ + ../../../../../temp/csr/ta_MINMAXINDEX.o \ + ../../../../../temp/csr/ta_MINUS_DI.o \ + ../../../../../temp/csr/ta_MINUS_DM.o \ + ../../../../../temp/csr/ta_MOM.o \ + ../../../../../temp/csr/ta_MULT.o \ + ../../../../../temp/csr/ta_NATR.o \ + ../../../../../temp/csr/ta_OBV.o \ + ../../../../../temp/csr/ta_PLUS_DI.o \ + ../../../../../temp/csr/ta_PLUS_DM.o \ + ../../../../../temp/csr/ta_PPO.o \ + ../../../../../temp/csr/ta_ROC.o \ + ../../../../../temp/csr/ta_ROCP.o \ + ../../../../../temp/csr/ta_ROCR.o \ + ../../../../../temp/csr/ta_ROCR100.o \ + ../../../../../temp/csr/ta_RSI.o \ + ../../../../../temp/csr/ta_SAR.o \ + ../../../../../temp/csr/ta_SAREXT.o \ + ../../../../../temp/csr/ta_SIN.o \ + ../../../../../temp/csr/ta_SINH.o \ + ../../../../../temp/csr/ta_SMA.o \ + ../../../../../temp/csr/ta_SQRT.o \ + ../../../../../temp/csr/ta_STDDEV.o \ + ../../../../../temp/csr/ta_STOCH.o \ + ../../../../../temp/csr/ta_STOCHF.o \ + ../../../../../temp/csr/ta_STOCHRSI.o \ + ../../../../../temp/csr/ta_SUB.o \ + ../../../../../temp/csr/ta_SUM.o \ + ../../../../../temp/csr/ta_T3.o \ + ../../../../../temp/csr/ta_TAN.o \ + ../../../../../temp/csr/ta_TANH.o \ + ../../../../../temp/csr/ta_TEMA.o \ + ../../../../../temp/csr/ta_TRANGE.o \ + ../../../../../temp/csr/ta_TRIMA.o \ + ../../../../../temp/csr/ta_TRIX.o \ + ../../../../../temp/csr/ta_TSF.o \ + ../../../../../temp/csr/ta_TYPPRICE.o \ + ../../../../../temp/csr/ta_ULTOSC.o \ + ../../../../../temp/csr/ta_VAR.o \ + ../../../../../temp/csr/ta_WCLPRICE.o \ + ../../../../../temp/csr/ta_WILLR.o \ + ../../../../../temp/csr/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_libc_csr.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csr/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/csr/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/csr/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_version.o ../../../../../src/ta_common/ta_version.c + +../../../../../temp/csr/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csr/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csr/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/csr/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/csr/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/csr/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csr/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csr/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csr/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csr/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csr/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csr/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csr/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csr/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csr/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csr/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csr/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csr/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csr/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csr/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csr/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csr/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csr/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csr/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csr/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csr/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csr/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csr/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csr/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csr/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csr/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + +../../../../../temp/csr/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/csr/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/csr/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/csr/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/csr/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/csr/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/csr/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/csr/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/csr/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/csr/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/csr/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/csr/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/csr/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/csr/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/csr/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/csr/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/csr/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/csr/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/csr/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/csr/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/csr/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/csr/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/csr/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/csr/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/csr/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/csr/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/csr/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/csr/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/csr/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/csr/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/csr/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/csr/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/csr/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/csr/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/csr/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/csr/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/csr/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/csr/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/csr/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/csr/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/csr/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/csr/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/csr/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/csr/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/csr/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/csr/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/csr/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/csr/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/csr/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/csr/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/csr/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/csr/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/csr/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/csr/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/csr/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/csr/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/csr/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/csr/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/csr/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/csr/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/csr/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/csr/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/csr/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/csr/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/csr/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/csr/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/csr/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/csr/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/csr/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/csr/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/csr/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/csr/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/csr/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/csr/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/csr/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/csr/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/csr/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/csr/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/csr/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/csr/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/csr/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/csr/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/csr/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/csr/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/csr/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/csr/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/csr/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/csr/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/csr/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/csr/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/csr/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/csr/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/csr/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/csr/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/csr/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/csr/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/csr/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/csr/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/csr/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/csr/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/csr/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/csr/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/csr/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/csr/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/csr/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/csr/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/csr/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/csr/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/csr/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/csr/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/csr/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/csr/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/csr/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/csr/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/csr/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/csr/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/csr/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/csr/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/csr/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/csr/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/csr/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/csr/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/csr/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/csr/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/csr/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/csr/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/csr/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/csr/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/csr/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/csr/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/csr/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/csr/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/csr/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/csr/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/csr/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/csr/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/csr/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/csr/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/csr/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/csr/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/csr/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/csr/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/csr/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/csr/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/csr/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/csr/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/csr/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/csr/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/csr/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/csr/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/csr/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/csr/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/csr/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/csr/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/csr/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/csr/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/csr/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/csr/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/csr/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/csr/freebsd/g++/ta_regtest/Makefile b/vendor/ta-lib/make/csr/freebsd/g++/ta_regtest/Makefile new file mode 100644 index 000000000..8a3b7e6d1 --- /dev/null +++ b/vendor/ta-lib/make/csr/freebsd/g++/ta_regtest/Makefile @@ -0,0 +1,205 @@ +############################################################################# +# Makefile for building ../../../../../bin/ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../src/tools/ta_regtest -I../../../../../src/ta_func -I../../../../../include -I/usr/local/include +LINK = g++ +LFLAGS = -L/usr/local/lib +LIBS = $(SUBLIBS) ../../../../../lib/libta_libc_csr.a +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/ta_regtest/ta_regtest.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c \ + ../../../../../src/tools/ta_regtest/test_internals.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c \ + ../../../../../src/tools/ta_regtest/test_util.c \ + ../../../../../src/tools/ta_regtest/test_data.c \ + ../../../../../src/tools/ta_regtest/test_abstract.c +OBJECTS = ../../../../../temp/csr/ta_regtest.o \ + ../../../../../temp/csr/test_candlestick.o \ + ../../../../../temp/csr/test_1in_1out.o \ + ../../../../../temp/csr/test_1in_2out.o \ + ../../../../../temp/csr/test_internals.o \ + ../../../../../temp/csr/test_adx.o \ + ../../../../../temp/csr/test_bbands.o \ + ../../../../../temp/csr/test_ma.o \ + ../../../../../temp/csr/test_macd.o \ + ../../../../../temp/csr/test_minmax.o \ + ../../../../../temp/csr/test_mom.o \ + ../../../../../temp/csr/test_per_ema.o \ + ../../../../../temp/csr/test_per_hl.o \ + ../../../../../temp/csr/test_per_hlc.o \ + ../../../../../temp/csr/test_per_hlcv.o \ + ../../../../../temp/csr/test_per_ohlc.o \ + ../../../../../temp/csr/test_po.o \ + ../../../../../temp/csr/test_rsi.o \ + ../../../../../temp/csr/test_sar.o \ + ../../../../../temp/csr/test_stddev.o \ + ../../../../../temp/csr/test_stoch.o \ + ../../../../../temp/csr/test_trange.o \ + ../../../../../temp/csr/test_util.o \ + ../../../../../temp/csr/test_data.o \ + ../../../../../temp/csr/test_abstract.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/ta_regtest +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csr/ta_regtest.o: ../../../../../src/tools/ta_regtest/ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_regtest.o ../../../../../src/tools/ta_regtest/ta_regtest.c + +../../../../../temp/csr/test_candlestick.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_candlestick.o ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + +../../../../../temp/csr/test_1in_1out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_1in_1out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + +../../../../../temp/csr/test_1in_2out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_1in_2out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + +../../../../../temp/csr/test_internals.o: ../../../../../src/tools/ta_regtest/test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_internals.o ../../../../../src/tools/ta_regtest/test_internals.c + +../../../../../temp/csr/test_adx.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_adx.o ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + +../../../../../temp/csr/test_bbands.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_bbands.o ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + +../../../../../temp/csr/test_ma.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_ma.o ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + +../../../../../temp/csr/test_macd.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_macd.o ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + +../../../../../temp/csr/test_minmax.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_minmax.o ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + +../../../../../temp/csr/test_mom.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_mom.o ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + +../../../../../temp/csr/test_per_ema.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_per_ema.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + +../../../../../temp/csr/test_per_hl.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_per_hl.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + +../../../../../temp/csr/test_per_hlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_per_hlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + +../../../../../temp/csr/test_per_hlcv.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_per_hlcv.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + +../../../../../temp/csr/test_per_ohlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_per_ohlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + +../../../../../temp/csr/test_po.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_po.o ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + +../../../../../temp/csr/test_rsi.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_rsi.o ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + +../../../../../temp/csr/test_sar.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_sar.o ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + +../../../../../temp/csr/test_stddev.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_stddev.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + +../../../../../temp/csr/test_stoch.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_stoch.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + +../../../../../temp/csr/test_trange.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_trange.o ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + +../../../../../temp/csr/test_util.o: ../../../../../src/tools/ta_regtest/test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_util.o ../../../../../src/tools/ta_regtest/test_util.c + +../../../../../temp/csr/test_data.o: ../../../../../src/tools/ta_regtest/test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_data.o ../../../../../src/tools/ta_regtest/test_data.c + +../../../../../temp/csr/test_abstract.o: ../../../../../src/tools/ta_regtest/test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_abstract.o ../../../../../src/tools/ta_regtest/test_abstract.c + diff --git a/vendor/ta-lib/make/csr/linux/g++/Makefile b/vendor/ta-lib/make/csr/linux/g++/Makefile new file mode 100644 index 000000000..804e39863 --- /dev/null +++ b/vendor/ta-lib/make/csr/linux/g++/Makefile @@ -0,0 +1,36 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +$(SUBDIRS): FORCE + cd $@; $(MAKE) + +tmake: ../csr/linux/g++/Makefile + +../csr/linux/g++/Makefile: rootmake.pro + tmake rootmake.pro -o ../csr/linux/g++/Makefile + +tmake_all: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done + +#### $text = "\t" . 'for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; pro=`basename $$i`.pro ; $(TMAKE) $$pro -o $(MAKEFILE); grep "TEMPLATE.*subdirs" $$pro 2>/dev/null >/dev/null && $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done'; + +clean release debug: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) $@; fi; ) ; done + +FORCE: diff --git a/vendor/ta-lib/make/csr/linux/g++/gen_code/Makefile b/vendor/ta-lib/make/csr/linux/g++/gen_code/Makefile new file mode 100644 index 000000000..30b2afe75 --- /dev/null +++ b/vendor/ta-lib/make/csr/linux/g++/gen_code/Makefile @@ -0,0 +1,231 @@ +############################################################################# +# Makefile for building ../../../../../bin/gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -O2 -fno-strict-aliasing -DTA_GEN_CODE -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -fPIC -Wall -W -O2 -fno-strict-aliasing -DTA_GEN_CODE -DTA_SINGLE_THREAD +INCPATH = -I../../../../../include -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames +LINK = g++ +LFLAGS = +LIBS = $(SUBLIBS) ../../../../../lib/libta_common_csr.a -ldl +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/gen_code/gen_code.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/csr/gen_code/gen_code.o \ + ../../../../../temp/csr/gen_code/ta_abstract.o \ + ../../../../../temp/csr/gen_code/ta_def_ui.o \ + ../../../../../temp/csr/gen_code/table_a.o \ + ../../../../../temp/csr/gen_code/table_b.o \ + ../../../../../temp/csr/gen_code/table_c.o \ + ../../../../../temp/csr/gen_code/table_d.o \ + ../../../../../temp/csr/gen_code/table_e.o \ + ../../../../../temp/csr/gen_code/table_f.o \ + ../../../../../temp/csr/gen_code/table_g.o \ + ../../../../../temp/csr/gen_code/table_h.o \ + ../../../../../temp/csr/gen_code/table_i.o \ + ../../../../../temp/csr/gen_code/table_j.o \ + ../../../../../temp/csr/gen_code/table_k.o \ + ../../../../../temp/csr/gen_code/table_l.o \ + ../../../../../temp/csr/gen_code/table_m.o \ + ../../../../../temp/csr/gen_code/table_n.o \ + ../../../../../temp/csr/gen_code/table_o.o \ + ../../../../../temp/csr/gen_code/table_p.o \ + ../../../../../temp/csr/gen_code/table_q.o \ + ../../../../../temp/csr/gen_code/table_r.o \ + ../../../../../temp/csr/gen_code/table_s.o \ + ../../../../../temp/csr/gen_code/table_t.o \ + ../../../../../temp/csr/gen_code/table_u.o \ + ../../../../../temp/csr/gen_code/table_v.o \ + ../../../../../temp/csr/gen_code/table_w.o \ + ../../../../../temp/csr/gen_code/table_x.o \ + ../../../../../temp/csr/gen_code/table_y.o \ + ../../../../../temp/csr/gen_code/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/gen_code +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csr/gen_code/gen_code.o: ../../../../../src/tools/gen_code/gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/gen_code.o ../../../../../src/tools/gen_code/gen_code.c + +../../../../../temp/csr/gen_code/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csr/gen_code/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csr/gen_code/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csr/gen_code/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csr/gen_code/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csr/gen_code/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csr/gen_code/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csr/gen_code/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csr/gen_code/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csr/gen_code/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csr/gen_code/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csr/gen_code/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csr/gen_code/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csr/gen_code/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csr/gen_code/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csr/gen_code/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csr/gen_code/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csr/gen_code/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csr/gen_code/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csr/gen_code/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csr/gen_code/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csr/gen_code/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csr/gen_code/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csr/gen_code/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csr/gen_code/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csr/gen_code/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csr/gen_code/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csr/gen_code/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/gen_code/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/csr/linux/g++/ta_abstract/Makefile b/vendor/ta-lib/make/csr/linux/g++/ta_abstract/Makefile new file mode 100644 index 000000000..600520d85 --- /dev/null +++ b/vendor/ta-lib/make/csr/linux/g++/ta_abstract/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_abstract_csr.a +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -fPIC -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +OBJECTS = ../../../../../temp/csr/ta_abstract.o \ + ../../../../../temp/csr/ta_def_ui.o \ + ../../../../../temp/csr/ta_func_api.o \ + ../../../../../temp/csr/ta_group_idx.o \ + ../../../../../temp/csr/ta_frame.o \ + ../../../../../temp/csr/table_a.o \ + ../../../../../temp/csr/table_b.o \ + ../../../../../temp/csr/table_c.o \ + ../../../../../temp/csr/table_d.o \ + ../../../../../temp/csr/table_e.o \ + ../../../../../temp/csr/table_f.o \ + ../../../../../temp/csr/table_g.o \ + ../../../../../temp/csr/table_h.o \ + ../../../../../temp/csr/table_i.o \ + ../../../../../temp/csr/table_j.o \ + ../../../../../temp/csr/table_k.o \ + ../../../../../temp/csr/table_l.o \ + ../../../../../temp/csr/table_m.o \ + ../../../../../temp/csr/table_n.o \ + ../../../../../temp/csr/table_o.o \ + ../../../../../temp/csr/table_p.o \ + ../../../../../temp/csr/table_q.o \ + ../../../../../temp/csr/table_r.o \ + ../../../../../temp/csr/table_s.o \ + ../../../../../temp/csr/table_t.o \ + ../../../../../temp/csr/table_u.o \ + ../../../../../temp/csr/table_v.o \ + ../../../../../temp/csr/table_w.o \ + ../../../../../temp/csr/table_x.o \ + ../../../../../temp/csr/table_y.o \ + ../../../../../temp/csr/table_z.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_abstract_csr.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csr/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csr/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csr/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/csr/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/csr/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/csr/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csr/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csr/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csr/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csr/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csr/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csr/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csr/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csr/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csr/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csr/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csr/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csr/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csr/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csr/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csr/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csr/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csr/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csr/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csr/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csr/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csr/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csr/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csr/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csr/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csr/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + diff --git a/vendor/ta-lib/make/csr/linux/g++/ta_common/Makefile b/vendor/ta-lib/make/csr/linux/g++/ta_common/Makefile new file mode 100644 index 000000000..6331d59cc --- /dev/null +++ b/vendor/ta-lib/make/csr/linux/g++/ta_common/Makefile @@ -0,0 +1,103 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_common_csr.a +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -fPIC -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c +OBJECTS = ../../../../../temp/csr/ta_global.o \ + ../../../../../temp/csr/ta_retcode.o \ + ../../../../../temp/csr/ta_version.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_common_csr.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csr/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/csr/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/csr/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_version.o ../../../../../src/ta_common/ta_version.c + diff --git a/vendor/ta-lib/make/csr/linux/g++/ta_func/Makefile b/vendor/ta-lib/make/csr/linux/g++/ta_func/Makefile new file mode 100644 index 000000000..b9f561190 --- /dev/null +++ b/vendor/ta-lib/make/csr/linux/g++/ta_func/Makefile @@ -0,0 +1,883 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_func_csr.a +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -fPIC -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I/n -I../../../../../include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/csr/ta_utility.o \ + ../../../../../temp/csr/ta_ACOS.o \ + ../../../../../temp/csr/ta_AD.o \ + ../../../../../temp/csr/ta_ADD.o \ + ../../../../../temp/csr/ta_ADOSC.o \ + ../../../../../temp/csr/ta_ADX.o \ + ../../../../../temp/csr/ta_ADXR.o \ + ../../../../../temp/csr/ta_APO.o \ + ../../../../../temp/csr/ta_AROON.o \ + ../../../../../temp/csr/ta_AROONOSC.o \ + ../../../../../temp/csr/ta_ASIN.o \ + ../../../../../temp/csr/ta_ATAN.o \ + ../../../../../temp/csr/ta_ATR.o \ + ../../../../../temp/csr/ta_AVGPRICE.o \ + ../../../../../temp/csr/ta_BBANDS.o \ + ../../../../../temp/csr/ta_BETA.o \ + ../../../../../temp/csr/ta_BOP.o \ + ../../../../../temp/csr/ta_CCI.o \ + ../../../../../temp/csr/ta_CDL2CROWS.o \ + ../../../../../temp/csr/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/csr/ta_CDL3INSIDE.o \ + ../../../../../temp/csr/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/csr/ta_CDL3OUTSIDE.o \ + ../../../../../temp/csr/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/csr/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/csr/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/csr/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/csr/ta_CDLBELTHOLD.o \ + ../../../../../temp/csr/ta_CDLBREAKAWAY.o \ + ../../../../../temp/csr/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/csr/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/csr/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/csr/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/csr/ta_CDLDOJI.o \ + ../../../../../temp/csr/ta_CDLDOJISTAR.o \ + ../../../../../temp/csr/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/csr/ta_CDLENGULFING.o \ + ../../../../../temp/csr/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/csr/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/csr/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/csr/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/csr/ta_CDLHAMMER.o \ + ../../../../../temp/csr/ta_CDLHANGINGMAN.o \ + ../../../../../temp/csr/ta_CDLHARAMI.o \ + ../../../../../temp/csr/ta_CDLHARAMICROSS.o \ + ../../../../../temp/csr/ta_CDLHIGHWAVE.o \ + ../../../../../temp/csr/ta_CDLHIKKAKE.o \ + ../../../../../temp/csr/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/csr/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/csr/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/csr/ta_CDLINNECK.o \ + ../../../../../temp/csr/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/csr/ta_CDLKICKING.o \ + ../../../../../temp/csr/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/csr/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/csr/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/csr/ta_CDLLONGLINE.o \ + ../../../../../temp/csr/ta_CDLMARUBOZU.o \ + ../../../../../temp/csr/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/csr/ta_CDLMATHOLD.o \ + ../../../../../temp/csr/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/csr/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/csr/ta_CDLONNECK.o \ + ../../../../../temp/csr/ta_CDLPIERCING.o \ + ../../../../../temp/csr/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/csr/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/csr/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/csr/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/csr/ta_CDLSHORTLINE.o \ + ../../../../../temp/csr/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/csr/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/csr/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/csr/ta_CDLTAKURI.o \ + ../../../../../temp/csr/ta_CDLTASUKIGAP.o \ + ../../../../../temp/csr/ta_CDLTHRUSTING.o \ + ../../../../../temp/csr/ta_CDLTRISTAR.o \ + ../../../../../temp/csr/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/csr/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/csr/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/csr/ta_CEIL.o \ + ../../../../../temp/csr/ta_CMO.o \ + ../../../../../temp/csr/ta_CORREL.o \ + ../../../../../temp/csr/ta_COS.o \ + ../../../../../temp/csr/ta_COSH.o \ + ../../../../../temp/csr/ta_DEMA.o \ + ../../../../../temp/csr/ta_DIV.o \ + ../../../../../temp/csr/ta_DX.o \ + ../../../../../temp/csr/ta_EMA.o \ + ../../../../../temp/csr/ta_EXP.o \ + ../../../../../temp/csr/ta_FLOOR.o \ + ../../../../../temp/csr/ta_HT_DCPERIOD.o \ + ../../../../../temp/csr/ta_HT_DCPHASE.o \ + ../../../../../temp/csr/ta_HT_PHASOR.o \ + ../../../../../temp/csr/ta_HT_SINE.o \ + ../../../../../temp/csr/ta_HT_TRENDLINE.o \ + ../../../../../temp/csr/ta_HT_TRENDMODE.o \ + ../../../../../temp/csr/ta_KAMA.o \ + ../../../../../temp/csr/ta_LINEARREG.o \ + ../../../../../temp/csr/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/csr/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/csr/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/csr/ta_LN.o \ + ../../../../../temp/csr/ta_LOG10.o \ + ../../../../../temp/csr/ta_MA.o \ + ../../../../../temp/csr/ta_MACD.o \ + ../../../../../temp/csr/ta_MACDEXT.o \ + ../../../../../temp/csr/ta_MACDFIX.o \ + ../../../../../temp/csr/ta_MAMA.o \ + ../../../../../temp/csr/ta_MAVP.o \ + ../../../../../temp/csr/ta_MAX.o \ + ../../../../../temp/csr/ta_MAXINDEX.o \ + ../../../../../temp/csr/ta_MEDPRICE.o \ + ../../../../../temp/csr/ta_MFI.o \ + ../../../../../temp/csr/ta_MIDPOINT.o \ + ../../../../../temp/csr/ta_MIDPRICE.o \ + ../../../../../temp/csr/ta_MIN.o \ + ../../../../../temp/csr/ta_MININDEX.o \ + ../../../../../temp/csr/ta_MINMAX.o \ + ../../../../../temp/csr/ta_MINMAXINDEX.o \ + ../../../../../temp/csr/ta_MINUS_DI.o \ + ../../../../../temp/csr/ta_MINUS_DM.o \ + ../../../../../temp/csr/ta_MOM.o \ + ../../../../../temp/csr/ta_MULT.o \ + ../../../../../temp/csr/ta_NATR.o \ + ../../../../../temp/csr/ta_OBV.o \ + ../../../../../temp/csr/ta_PLUS_DI.o \ + ../../../../../temp/csr/ta_PLUS_DM.o \ + ../../../../../temp/csr/ta_PPO.o \ + ../../../../../temp/csr/ta_ROC.o \ + ../../../../../temp/csr/ta_ROCP.o \ + ../../../../../temp/csr/ta_ROCR.o \ + ../../../../../temp/csr/ta_ROCR100.o \ + ../../../../../temp/csr/ta_RSI.o \ + ../../../../../temp/csr/ta_SAR.o \ + ../../../../../temp/csr/ta_SAREXT.o \ + ../../../../../temp/csr/ta_SIN.o \ + ../../../../../temp/csr/ta_SINH.o \ + ../../../../../temp/csr/ta_SMA.o \ + ../../../../../temp/csr/ta_SQRT.o \ + ../../../../../temp/csr/ta_STDDEV.o \ + ../../../../../temp/csr/ta_STOCH.o \ + ../../../../../temp/csr/ta_STOCHF.o \ + ../../../../../temp/csr/ta_STOCHRSI.o \ + ../../../../../temp/csr/ta_SUB.o \ + ../../../../../temp/csr/ta_SUM.o \ + ../../../../../temp/csr/ta_T3.o \ + ../../../../../temp/csr/ta_TAN.o \ + ../../../../../temp/csr/ta_TANH.o \ + ../../../../../temp/csr/ta_TEMA.o \ + ../../../../../temp/csr/ta_TRANGE.o \ + ../../../../../temp/csr/ta_TRIMA.o \ + ../../../../../temp/csr/ta_TRIX.o \ + ../../../../../temp/csr/ta_TSF.o \ + ../../../../../temp/csr/ta_TYPPRICE.o \ + ../../../../../temp/csr/ta_ULTOSC.o \ + ../../../../../temp/csr/ta_VAR.o \ + ../../../../../temp/csr/ta_WCLPRICE.o \ + ../../../../../temp/csr/ta_WILLR.o \ + ../../../../../temp/csr/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_func_csr.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csr/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/csr/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/csr/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/csr/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/csr/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/csr/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/csr/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/csr/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/csr/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/csr/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/csr/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/csr/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/csr/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/csr/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/csr/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/csr/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/csr/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/csr/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/csr/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/csr/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/csr/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/csr/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/csr/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/csr/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/csr/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/csr/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/csr/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/csr/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/csr/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/csr/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/csr/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/csr/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/csr/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/csr/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/csr/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/csr/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/csr/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/csr/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/csr/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/csr/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/csr/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/csr/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/csr/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/csr/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/csr/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/csr/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/csr/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/csr/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/csr/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/csr/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/csr/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/csr/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/csr/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/csr/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/csr/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/csr/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/csr/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/csr/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/csr/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/csr/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/csr/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/csr/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/csr/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/csr/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/csr/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/csr/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/csr/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/csr/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/csr/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/csr/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/csr/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/csr/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/csr/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/csr/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/csr/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/csr/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/csr/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/csr/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/csr/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/csr/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/csr/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/csr/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/csr/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/csr/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/csr/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/csr/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/csr/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/csr/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/csr/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/csr/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/csr/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/csr/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/csr/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/csr/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/csr/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/csr/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/csr/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/csr/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/csr/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/csr/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/csr/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/csr/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/csr/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/csr/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/csr/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/csr/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/csr/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/csr/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/csr/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/csr/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/csr/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/csr/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/csr/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/csr/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/csr/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/csr/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/csr/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/csr/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/csr/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/csr/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/csr/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/csr/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/csr/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/csr/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/csr/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/csr/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/csr/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/csr/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/csr/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/csr/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/csr/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/csr/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/csr/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/csr/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/csr/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/csr/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/csr/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/csr/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/csr/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/csr/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/csr/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/csr/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/csr/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/csr/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/csr/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/csr/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/csr/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/csr/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/csr/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/csr/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/csr/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/csr/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/csr/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/csr/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/csr/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/csr/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/csr/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/csr/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/csr/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/csr/linux/g++/ta_libc/Makefile b/vendor/ta-lib/make/csr/linux/g++/ta_libc/Makefile new file mode 100644 index 000000000..1502507c2 --- /dev/null +++ b/vendor/ta-lib/make/csr/linux/g++/ta_libc/Makefile @@ -0,0 +1,1053 @@ +############################################################################# +# Makefile for building ../../../../../lib/libta_libc_csr.a +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD -DNO_DEBUG +CXXFLAGS= -pipe -fPIC -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD -DNO_DEBUG +INCPATH = -I../../../../../src/ta_common -I../../../../../include -I../../../../../src/ta_abstract -I../../../../../src/ta_abstract/tables -I../../../../../src/ta_abstract/frames -I$(QTDIR)/include +AR = ar cqs +RANLIB = +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c \ + ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +OBJECTS = ../../../../../temp/csr/ta_global.o \ + ../../../../../temp/csr/ta_retcode.o \ + ../../../../../temp/csr/ta_version.o \ + ../../../../../temp/csr/ta_abstract.o \ + ../../../../../temp/csr/ta_def_ui.o \ + ../../../../../temp/csr/ta_func_api.o \ + ../../../../../temp/csr/ta_group_idx.o \ + ../../../../../temp/csr/ta_frame.o \ + ../../../../../temp/csr/table_a.o \ + ../../../../../temp/csr/table_b.o \ + ../../../../../temp/csr/table_c.o \ + ../../../../../temp/csr/table_d.o \ + ../../../../../temp/csr/table_e.o \ + ../../../../../temp/csr/table_f.o \ + ../../../../../temp/csr/table_g.o \ + ../../../../../temp/csr/table_h.o \ + ../../../../../temp/csr/table_i.o \ + ../../../../../temp/csr/table_j.o \ + ../../../../../temp/csr/table_k.o \ + ../../../../../temp/csr/table_l.o \ + ../../../../../temp/csr/table_m.o \ + ../../../../../temp/csr/table_n.o \ + ../../../../../temp/csr/table_o.o \ + ../../../../../temp/csr/table_p.o \ + ../../../../../temp/csr/table_q.o \ + ../../../../../temp/csr/table_r.o \ + ../../../../../temp/csr/table_s.o \ + ../../../../../temp/csr/table_t.o \ + ../../../../../temp/csr/table_u.o \ + ../../../../../temp/csr/table_v.o \ + ../../../../../temp/csr/table_w.o \ + ../../../../../temp/csr/table_x.o \ + ../../../../../temp/csr/table_y.o \ + ../../../../../temp/csr/table_z.o \ + ../../../../../temp/csr/ta_utility.o \ + ../../../../../temp/csr/ta_ACOS.o \ + ../../../../../temp/csr/ta_AD.o \ + ../../../../../temp/csr/ta_ADD.o \ + ../../../../../temp/csr/ta_ADOSC.o \ + ../../../../../temp/csr/ta_ADX.o \ + ../../../../../temp/csr/ta_ADXR.o \ + ../../../../../temp/csr/ta_APO.o \ + ../../../../../temp/csr/ta_AROON.o \ + ../../../../../temp/csr/ta_AROONOSC.o \ + ../../../../../temp/csr/ta_ASIN.o \ + ../../../../../temp/csr/ta_ATAN.o \ + ../../../../../temp/csr/ta_ATR.o \ + ../../../../../temp/csr/ta_AVGPRICE.o \ + ../../../../../temp/csr/ta_BBANDS.o \ + ../../../../../temp/csr/ta_BETA.o \ + ../../../../../temp/csr/ta_BOP.o \ + ../../../../../temp/csr/ta_CCI.o \ + ../../../../../temp/csr/ta_CDL2CROWS.o \ + ../../../../../temp/csr/ta_CDL3BLACKCROWS.o \ + ../../../../../temp/csr/ta_CDL3INSIDE.o \ + ../../../../../temp/csr/ta_CDL3LINESTRIKE.o \ + ../../../../../temp/csr/ta_CDL3OUTSIDE.o \ + ../../../../../temp/csr/ta_CDL3STARSINSOUTH.o \ + ../../../../../temp/csr/ta_CDL3WHITESOLDIERS.o \ + ../../../../../temp/csr/ta_CDLABANDONEDBABY.o \ + ../../../../../temp/csr/ta_CDLADVANCEBLOCK.o \ + ../../../../../temp/csr/ta_CDLBELTHOLD.o \ + ../../../../../temp/csr/ta_CDLBREAKAWAY.o \ + ../../../../../temp/csr/ta_CDLCLOSINGMARUBOZU.o \ + ../../../../../temp/csr/ta_CDLCONCEALBABYSWALL.o \ + ../../../../../temp/csr/ta_CDLCOUNTERATTACK.o \ + ../../../../../temp/csr/ta_CDLDARKCLOUDCOVER.o \ + ../../../../../temp/csr/ta_CDLDOJI.o \ + ../../../../../temp/csr/ta_CDLDOJISTAR.o \ + ../../../../../temp/csr/ta_CDLDRAGONFLYDOJI.o \ + ../../../../../temp/csr/ta_CDLENGULFING.o \ + ../../../../../temp/csr/ta_CDLEVENINGDOJISTAR.o \ + ../../../../../temp/csr/ta_CDLEVENINGSTAR.o \ + ../../../../../temp/csr/ta_CDLGAPSIDESIDEWHITE.o \ + ../../../../../temp/csr/ta_CDLGRAVESTONEDOJI.o \ + ../../../../../temp/csr/ta_CDLHAMMER.o \ + ../../../../../temp/csr/ta_CDLHANGINGMAN.o \ + ../../../../../temp/csr/ta_CDLHARAMI.o \ + ../../../../../temp/csr/ta_CDLHARAMICROSS.o \ + ../../../../../temp/csr/ta_CDLHIGHWAVE.o \ + ../../../../../temp/csr/ta_CDLHIKKAKE.o \ + ../../../../../temp/csr/ta_CDLHIKKAKEMOD.o \ + ../../../../../temp/csr/ta_CDLHOMINGPIGEON.o \ + ../../../../../temp/csr/ta_CDLIDENTICAL3CROWS.o \ + ../../../../../temp/csr/ta_CDLINNECK.o \ + ../../../../../temp/csr/ta_CDLINVERTEDHAMMER.o \ + ../../../../../temp/csr/ta_CDLKICKING.o \ + ../../../../../temp/csr/ta_CDLKICKINGBYLENGTH.o \ + ../../../../../temp/csr/ta_CDLLADDERBOTTOM.o \ + ../../../../../temp/csr/ta_CDLLONGLEGGEDDOJI.o \ + ../../../../../temp/csr/ta_CDLLONGLINE.o \ + ../../../../../temp/csr/ta_CDLMARUBOZU.o \ + ../../../../../temp/csr/ta_CDLMATCHINGLOW.o \ + ../../../../../temp/csr/ta_CDLMATHOLD.o \ + ../../../../../temp/csr/ta_CDLMORNINGDOJISTAR.o \ + ../../../../../temp/csr/ta_CDLMORNINGSTAR.o \ + ../../../../../temp/csr/ta_CDLONNECK.o \ + ../../../../../temp/csr/ta_CDLPIERCING.o \ + ../../../../../temp/csr/ta_CDLRICKSHAWMAN.o \ + ../../../../../temp/csr/ta_CDLRISEFALL3METHODS.o \ + ../../../../../temp/csr/ta_CDLSEPARATINGLINES.o \ + ../../../../../temp/csr/ta_CDLSHOOTINGSTAR.o \ + ../../../../../temp/csr/ta_CDLSHORTLINE.o \ + ../../../../../temp/csr/ta_CDLSPINNINGTOP.o \ + ../../../../../temp/csr/ta_CDLSTALLEDPATTERN.o \ + ../../../../../temp/csr/ta_CDLSTICKSANDWICH.o \ + ../../../../../temp/csr/ta_CDLTAKURI.o \ + ../../../../../temp/csr/ta_CDLTASUKIGAP.o \ + ../../../../../temp/csr/ta_CDLTHRUSTING.o \ + ../../../../../temp/csr/ta_CDLTRISTAR.o \ + ../../../../../temp/csr/ta_CDLUNIQUE3RIVER.o \ + ../../../../../temp/csr/ta_CDLUPSIDEGAP2CROWS.o \ + ../../../../../temp/csr/ta_CDLXSIDEGAP3METHODS.o \ + ../../../../../temp/csr/ta_CEIL.o \ + ../../../../../temp/csr/ta_CMO.o \ + ../../../../../temp/csr/ta_CORREL.o \ + ../../../../../temp/csr/ta_COS.o \ + ../../../../../temp/csr/ta_COSH.o \ + ../../../../../temp/csr/ta_DEMA.o \ + ../../../../../temp/csr/ta_DIV.o \ + ../../../../../temp/csr/ta_DX.o \ + ../../../../../temp/csr/ta_EMA.o \ + ../../../../../temp/csr/ta_EXP.o \ + ../../../../../temp/csr/ta_FLOOR.o \ + ../../../../../temp/csr/ta_HT_DCPERIOD.o \ + ../../../../../temp/csr/ta_HT_DCPHASE.o \ + ../../../../../temp/csr/ta_HT_PHASOR.o \ + ../../../../../temp/csr/ta_HT_SINE.o \ + ../../../../../temp/csr/ta_HT_TRENDLINE.o \ + ../../../../../temp/csr/ta_HT_TRENDMODE.o \ + ../../../../../temp/csr/ta_KAMA.o \ + ../../../../../temp/csr/ta_LINEARREG.o \ + ../../../../../temp/csr/ta_LINEARREG_ANGLE.o \ + ../../../../../temp/csr/ta_LINEARREG_INTERCEPT.o \ + ../../../../../temp/csr/ta_LINEARREG_SLOPE.o \ + ../../../../../temp/csr/ta_LN.o \ + ../../../../../temp/csr/ta_LOG10.o \ + ../../../../../temp/csr/ta_MA.o \ + ../../../../../temp/csr/ta_MACD.o \ + ../../../../../temp/csr/ta_MACDEXT.o \ + ../../../../../temp/csr/ta_MACDFIX.o \ + ../../../../../temp/csr/ta_MAMA.o \ + ../../../../../temp/csr/ta_MAVP.o \ + ../../../../../temp/csr/ta_MAX.o \ + ../../../../../temp/csr/ta_MAXINDEX.o \ + ../../../../../temp/csr/ta_MEDPRICE.o \ + ../../../../../temp/csr/ta_MFI.o \ + ../../../../../temp/csr/ta_MIDPOINT.o \ + ../../../../../temp/csr/ta_MIDPRICE.o \ + ../../../../../temp/csr/ta_MIN.o \ + ../../../../../temp/csr/ta_MININDEX.o \ + ../../../../../temp/csr/ta_MINMAX.o \ + ../../../../../temp/csr/ta_MINMAXINDEX.o \ + ../../../../../temp/csr/ta_MINUS_DI.o \ + ../../../../../temp/csr/ta_MINUS_DM.o \ + ../../../../../temp/csr/ta_MOM.o \ + ../../../../../temp/csr/ta_MULT.o \ + ../../../../../temp/csr/ta_NATR.o \ + ../../../../../temp/csr/ta_OBV.o \ + ../../../../../temp/csr/ta_PLUS_DI.o \ + ../../../../../temp/csr/ta_PLUS_DM.o \ + ../../../../../temp/csr/ta_PPO.o \ + ../../../../../temp/csr/ta_ROC.o \ + ../../../../../temp/csr/ta_ROCP.o \ + ../../../../../temp/csr/ta_ROCR.o \ + ../../../../../temp/csr/ta_ROCR100.o \ + ../../../../../temp/csr/ta_RSI.o \ + ../../../../../temp/csr/ta_SAR.o \ + ../../../../../temp/csr/ta_SAREXT.o \ + ../../../../../temp/csr/ta_SIN.o \ + ../../../../../temp/csr/ta_SINH.o \ + ../../../../../temp/csr/ta_SMA.o \ + ../../../../../temp/csr/ta_SQRT.o \ + ../../../../../temp/csr/ta_STDDEV.o \ + ../../../../../temp/csr/ta_STOCH.o \ + ../../../../../temp/csr/ta_STOCHF.o \ + ../../../../../temp/csr/ta_STOCHRSI.o \ + ../../../../../temp/csr/ta_SUB.o \ + ../../../../../temp/csr/ta_SUM.o \ + ../../../../../temp/csr/ta_T3.o \ + ../../../../../temp/csr/ta_TAN.o \ + ../../../../../temp/csr/ta_TANH.o \ + ../../../../../temp/csr/ta_TEMA.o \ + ../../../../../temp/csr/ta_TRANGE.o \ + ../../../../../temp/csr/ta_TRIMA.o \ + ../../../../../temp/csr/ta_TRIX.o \ + ../../../../../temp/csr/ta_TSF.o \ + ../../../../../temp/csr/ta_TYPPRICE.o \ + ../../../../../temp/csr/ta_ULTOSC.o \ + ../../../../../temp/csr/ta_VAR.o \ + ../../../../../temp/csr/ta_WCLPRICE.o \ + ../../../../../temp/csr/ta_WILLR.o \ + ../../../../../temp/csr/ta_WMA.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../lib/libta_libc_csr.a +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -rm -f $(TARGET) + $(AR) $(TARGET) $(OBJECTS) $(OBJMOC) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csr/ta_global.o: ../../../../../src/ta_common/ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_global.o ../../../../../src/ta_common/ta_global.c + +../../../../../temp/csr/ta_retcode.o: ../../../../../src/ta_common/ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_retcode.o ../../../../../src/ta_common/ta_retcode.c + +../../../../../temp/csr/ta_version.o: ../../../../../src/ta_common/ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_version.o ../../../../../src/ta_common/ta_version.c + +../../../../../temp/csr/ta_abstract.o: ../../../../../src/ta_abstract/ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_abstract.o ../../../../../src/ta_abstract/ta_abstract.c + +../../../../../temp/csr/ta_def_ui.o: ../../../../../src/ta_abstract/ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_def_ui.o ../../../../../src/ta_abstract/ta_def_ui.c + +../../../../../temp/csr/ta_func_api.o: ../../../../../src/ta_abstract/ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_func_api.o ../../../../../src/ta_abstract/ta_func_api.c + +../../../../../temp/csr/ta_group_idx.o: ../../../../../src/ta_abstract/ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_group_idx.o ../../../../../src/ta_abstract/ta_group_idx.c + +../../../../../temp/csr/ta_frame.o: ../../../../../src/ta_abstract/frames/ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_frame.o ../../../../../src/ta_abstract/frames/ta_frame.c + +../../../../../temp/csr/table_a.o: ../../../../../src/ta_abstract/tables/table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_a.o ../../../../../src/ta_abstract/tables/table_a.c + +../../../../../temp/csr/table_b.o: ../../../../../src/ta_abstract/tables/table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_b.o ../../../../../src/ta_abstract/tables/table_b.c + +../../../../../temp/csr/table_c.o: ../../../../../src/ta_abstract/tables/table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_c.o ../../../../../src/ta_abstract/tables/table_c.c + +../../../../../temp/csr/table_d.o: ../../../../../src/ta_abstract/tables/table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_d.o ../../../../../src/ta_abstract/tables/table_d.c + +../../../../../temp/csr/table_e.o: ../../../../../src/ta_abstract/tables/table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_e.o ../../../../../src/ta_abstract/tables/table_e.c + +../../../../../temp/csr/table_f.o: ../../../../../src/ta_abstract/tables/table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_f.o ../../../../../src/ta_abstract/tables/table_f.c + +../../../../../temp/csr/table_g.o: ../../../../../src/ta_abstract/tables/table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_g.o ../../../../../src/ta_abstract/tables/table_g.c + +../../../../../temp/csr/table_h.o: ../../../../../src/ta_abstract/tables/table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_h.o ../../../../../src/ta_abstract/tables/table_h.c + +../../../../../temp/csr/table_i.o: ../../../../../src/ta_abstract/tables/table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_i.o ../../../../../src/ta_abstract/tables/table_i.c + +../../../../../temp/csr/table_j.o: ../../../../../src/ta_abstract/tables/table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_j.o ../../../../../src/ta_abstract/tables/table_j.c + +../../../../../temp/csr/table_k.o: ../../../../../src/ta_abstract/tables/table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_k.o ../../../../../src/ta_abstract/tables/table_k.c + +../../../../../temp/csr/table_l.o: ../../../../../src/ta_abstract/tables/table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_l.o ../../../../../src/ta_abstract/tables/table_l.c + +../../../../../temp/csr/table_m.o: ../../../../../src/ta_abstract/tables/table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_m.o ../../../../../src/ta_abstract/tables/table_m.c + +../../../../../temp/csr/table_n.o: ../../../../../src/ta_abstract/tables/table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_n.o ../../../../../src/ta_abstract/tables/table_n.c + +../../../../../temp/csr/table_o.o: ../../../../../src/ta_abstract/tables/table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_o.o ../../../../../src/ta_abstract/tables/table_o.c + +../../../../../temp/csr/table_p.o: ../../../../../src/ta_abstract/tables/table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_p.o ../../../../../src/ta_abstract/tables/table_p.c + +../../../../../temp/csr/table_q.o: ../../../../../src/ta_abstract/tables/table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_q.o ../../../../../src/ta_abstract/tables/table_q.c + +../../../../../temp/csr/table_r.o: ../../../../../src/ta_abstract/tables/table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_r.o ../../../../../src/ta_abstract/tables/table_r.c + +../../../../../temp/csr/table_s.o: ../../../../../src/ta_abstract/tables/table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_s.o ../../../../../src/ta_abstract/tables/table_s.c + +../../../../../temp/csr/table_t.o: ../../../../../src/ta_abstract/tables/table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_t.o ../../../../../src/ta_abstract/tables/table_t.c + +../../../../../temp/csr/table_u.o: ../../../../../src/ta_abstract/tables/table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_u.o ../../../../../src/ta_abstract/tables/table_u.c + +../../../../../temp/csr/table_v.o: ../../../../../src/ta_abstract/tables/table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_v.o ../../../../../src/ta_abstract/tables/table_v.c + +../../../../../temp/csr/table_w.o: ../../../../../src/ta_abstract/tables/table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_w.o ../../../../../src/ta_abstract/tables/table_w.c + +../../../../../temp/csr/table_x.o: ../../../../../src/ta_abstract/tables/table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_x.o ../../../../../src/ta_abstract/tables/table_x.c + +../../../../../temp/csr/table_y.o: ../../../../../src/ta_abstract/tables/table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_y.o ../../../../../src/ta_abstract/tables/table_y.c + +../../../../../temp/csr/table_z.o: ../../../../../src/ta_abstract/tables/table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/table_z.o ../../../../../src/ta_abstract/tables/table_z.c + +../../../../../temp/csr/ta_utility.o: ../../../../../src/ta_func/ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_utility.o ../../../../../src/ta_func/ta_utility.c + +../../../../../temp/csr/ta_ACOS.o: ../../../../../src/ta_func/ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ACOS.o ../../../../../src/ta_func/ta_ACOS.c + +../../../../../temp/csr/ta_AD.o: ../../../../../src/ta_func/ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_AD.o ../../../../../src/ta_func/ta_AD.c + +../../../../../temp/csr/ta_ADD.o: ../../../../../src/ta_func/ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ADD.o ../../../../../src/ta_func/ta_ADD.c + +../../../../../temp/csr/ta_ADOSC.o: ../../../../../src/ta_func/ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ADOSC.o ../../../../../src/ta_func/ta_ADOSC.c + +../../../../../temp/csr/ta_ADX.o: ../../../../../src/ta_func/ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ADX.o ../../../../../src/ta_func/ta_ADX.c + +../../../../../temp/csr/ta_ADXR.o: ../../../../../src/ta_func/ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ADXR.o ../../../../../src/ta_func/ta_ADXR.c + +../../../../../temp/csr/ta_APO.o: ../../../../../src/ta_func/ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_APO.o ../../../../../src/ta_func/ta_APO.c + +../../../../../temp/csr/ta_AROON.o: ../../../../../src/ta_func/ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_AROON.o ../../../../../src/ta_func/ta_AROON.c + +../../../../../temp/csr/ta_AROONOSC.o: ../../../../../src/ta_func/ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_AROONOSC.o ../../../../../src/ta_func/ta_AROONOSC.c + +../../../../../temp/csr/ta_ASIN.o: ../../../../../src/ta_func/ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ASIN.o ../../../../../src/ta_func/ta_ASIN.c + +../../../../../temp/csr/ta_ATAN.o: ../../../../../src/ta_func/ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ATAN.o ../../../../../src/ta_func/ta_ATAN.c + +../../../../../temp/csr/ta_ATR.o: ../../../../../src/ta_func/ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ATR.o ../../../../../src/ta_func/ta_ATR.c + +../../../../../temp/csr/ta_AVGPRICE.o: ../../../../../src/ta_func/ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_AVGPRICE.o ../../../../../src/ta_func/ta_AVGPRICE.c + +../../../../../temp/csr/ta_BBANDS.o: ../../../../../src/ta_func/ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_BBANDS.o ../../../../../src/ta_func/ta_BBANDS.c + +../../../../../temp/csr/ta_BETA.o: ../../../../../src/ta_func/ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_BETA.o ../../../../../src/ta_func/ta_BETA.c + +../../../../../temp/csr/ta_BOP.o: ../../../../../src/ta_func/ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_BOP.o ../../../../../src/ta_func/ta_BOP.c + +../../../../../temp/csr/ta_CCI.o: ../../../../../src/ta_func/ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CCI.o ../../../../../src/ta_func/ta_CCI.c + +../../../../../temp/csr/ta_CDL2CROWS.o: ../../../../../src/ta_func/ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL2CROWS.o ../../../../../src/ta_func/ta_CDL2CROWS.c + +../../../../../temp/csr/ta_CDL3BLACKCROWS.o: ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3BLACKCROWS.o ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c + +../../../../../temp/csr/ta_CDL3INSIDE.o: ../../../../../src/ta_func/ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3INSIDE.o ../../../../../src/ta_func/ta_CDL3INSIDE.c + +../../../../../temp/csr/ta_CDL3LINESTRIKE.o: ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3LINESTRIKE.o ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c + +../../../../../temp/csr/ta_CDL3OUTSIDE.o: ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3OUTSIDE.o ../../../../../src/ta_func/ta_CDL3OUTSIDE.c + +../../../../../temp/csr/ta_CDL3STARSINSOUTH.o: ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3STARSINSOUTH.o ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c + +../../../../../temp/csr/ta_CDL3WHITESOLDIERS.o: ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDL3WHITESOLDIERS.o ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c + +../../../../../temp/csr/ta_CDLABANDONEDBABY.o: ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLABANDONEDBABY.o ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c + +../../../../../temp/csr/ta_CDLADVANCEBLOCK.o: ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLADVANCEBLOCK.o ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c + +../../../../../temp/csr/ta_CDLBELTHOLD.o: ../../../../../src/ta_func/ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLBELTHOLD.o ../../../../../src/ta_func/ta_CDLBELTHOLD.c + +../../../../../temp/csr/ta_CDLBREAKAWAY.o: ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLBREAKAWAY.o ../../../../../src/ta_func/ta_CDLBREAKAWAY.c + +../../../../../temp/csr/ta_CDLCLOSINGMARUBOZU.o: ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLCLOSINGMARUBOZU.o ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c + +../../../../../temp/csr/ta_CDLCONCEALBABYSWALL.o: ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLCONCEALBABYSWALL.o ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c + +../../../../../temp/csr/ta_CDLCOUNTERATTACK.o: ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLCOUNTERATTACK.o ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c + +../../../../../temp/csr/ta_CDLDARKCLOUDCOVER.o: ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLDARKCLOUDCOVER.o ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c + +../../../../../temp/csr/ta_CDLDOJI.o: ../../../../../src/ta_func/ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLDOJI.o ../../../../../src/ta_func/ta_CDLDOJI.c + +../../../../../temp/csr/ta_CDLDOJISTAR.o: ../../../../../src/ta_func/ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLDOJISTAR.o ../../../../../src/ta_func/ta_CDLDOJISTAR.c + +../../../../../temp/csr/ta_CDLDRAGONFLYDOJI.o: ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLDRAGONFLYDOJI.o ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c + +../../../../../temp/csr/ta_CDLENGULFING.o: ../../../../../src/ta_func/ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLENGULFING.o ../../../../../src/ta_func/ta_CDLENGULFING.c + +../../../../../temp/csr/ta_CDLEVENINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLEVENINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c + +../../../../../temp/csr/ta_CDLEVENINGSTAR.o: ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLEVENINGSTAR.o ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c + +../../../../../temp/csr/ta_CDLGAPSIDESIDEWHITE.o: ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLGAPSIDESIDEWHITE.o ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c + +../../../../../temp/csr/ta_CDLGRAVESTONEDOJI.o: ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLGRAVESTONEDOJI.o ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c + +../../../../../temp/csr/ta_CDLHAMMER.o: ../../../../../src/ta_func/ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHAMMER.o ../../../../../src/ta_func/ta_CDLHAMMER.c + +../../../../../temp/csr/ta_CDLHANGINGMAN.o: ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHANGINGMAN.o ../../../../../src/ta_func/ta_CDLHANGINGMAN.c + +../../../../../temp/csr/ta_CDLHARAMI.o: ../../../../../src/ta_func/ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHARAMI.o ../../../../../src/ta_func/ta_CDLHARAMI.c + +../../../../../temp/csr/ta_CDLHARAMICROSS.o: ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHARAMICROSS.o ../../../../../src/ta_func/ta_CDLHARAMICROSS.c + +../../../../../temp/csr/ta_CDLHIGHWAVE.o: ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHIGHWAVE.o ../../../../../src/ta_func/ta_CDLHIGHWAVE.c + +../../../../../temp/csr/ta_CDLHIKKAKE.o: ../../../../../src/ta_func/ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHIKKAKE.o ../../../../../src/ta_func/ta_CDLHIKKAKE.c + +../../../../../temp/csr/ta_CDLHIKKAKEMOD.o: ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHIKKAKEMOD.o ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c + +../../../../../temp/csr/ta_CDLHOMINGPIGEON.o: ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLHOMINGPIGEON.o ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c + +../../../../../temp/csr/ta_CDLIDENTICAL3CROWS.o: ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLIDENTICAL3CROWS.o ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c + +../../../../../temp/csr/ta_CDLINNECK.o: ../../../../../src/ta_func/ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLINNECK.o ../../../../../src/ta_func/ta_CDLINNECK.c + +../../../../../temp/csr/ta_CDLINVERTEDHAMMER.o: ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLINVERTEDHAMMER.o ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c + +../../../../../temp/csr/ta_CDLKICKING.o: ../../../../../src/ta_func/ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLKICKING.o ../../../../../src/ta_func/ta_CDLKICKING.c + +../../../../../temp/csr/ta_CDLKICKINGBYLENGTH.o: ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLKICKINGBYLENGTH.o ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c + +../../../../../temp/csr/ta_CDLLADDERBOTTOM.o: ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLLADDERBOTTOM.o ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c + +../../../../../temp/csr/ta_CDLLONGLEGGEDDOJI.o: ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLLONGLEGGEDDOJI.o ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c + +../../../../../temp/csr/ta_CDLLONGLINE.o: ../../../../../src/ta_func/ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLLONGLINE.o ../../../../../src/ta_func/ta_CDLLONGLINE.c + +../../../../../temp/csr/ta_CDLMARUBOZU.o: ../../../../../src/ta_func/ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMARUBOZU.o ../../../../../src/ta_func/ta_CDLMARUBOZU.c + +../../../../../temp/csr/ta_CDLMATCHINGLOW.o: ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMATCHINGLOW.o ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c + +../../../../../temp/csr/ta_CDLMATHOLD.o: ../../../../../src/ta_func/ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMATHOLD.o ../../../../../src/ta_func/ta_CDLMATHOLD.c + +../../../../../temp/csr/ta_CDLMORNINGDOJISTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMORNINGDOJISTAR.o ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c + +../../../../../temp/csr/ta_CDLMORNINGSTAR.o: ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLMORNINGSTAR.o ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c + +../../../../../temp/csr/ta_CDLONNECK.o: ../../../../../src/ta_func/ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLONNECK.o ../../../../../src/ta_func/ta_CDLONNECK.c + +../../../../../temp/csr/ta_CDLPIERCING.o: ../../../../../src/ta_func/ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLPIERCING.o ../../../../../src/ta_func/ta_CDLPIERCING.c + +../../../../../temp/csr/ta_CDLRICKSHAWMAN.o: ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLRICKSHAWMAN.o ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c + +../../../../../temp/csr/ta_CDLRISEFALL3METHODS.o: ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLRISEFALL3METHODS.o ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c + +../../../../../temp/csr/ta_CDLSEPARATINGLINES.o: ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSEPARATINGLINES.o ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c + +../../../../../temp/csr/ta_CDLSHOOTINGSTAR.o: ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSHOOTINGSTAR.o ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c + +../../../../../temp/csr/ta_CDLSHORTLINE.o: ../../../../../src/ta_func/ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSHORTLINE.o ../../../../../src/ta_func/ta_CDLSHORTLINE.c + +../../../../../temp/csr/ta_CDLSPINNINGTOP.o: ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSPINNINGTOP.o ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c + +../../../../../temp/csr/ta_CDLSTALLEDPATTERN.o: ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSTALLEDPATTERN.o ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c + +../../../../../temp/csr/ta_CDLSTICKSANDWICH.o: ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLSTICKSANDWICH.o ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c + +../../../../../temp/csr/ta_CDLTAKURI.o: ../../../../../src/ta_func/ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLTAKURI.o ../../../../../src/ta_func/ta_CDLTAKURI.c + +../../../../../temp/csr/ta_CDLTASUKIGAP.o: ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLTASUKIGAP.o ../../../../../src/ta_func/ta_CDLTASUKIGAP.c + +../../../../../temp/csr/ta_CDLTHRUSTING.o: ../../../../../src/ta_func/ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLTHRUSTING.o ../../../../../src/ta_func/ta_CDLTHRUSTING.c + +../../../../../temp/csr/ta_CDLTRISTAR.o: ../../../../../src/ta_func/ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLTRISTAR.o ../../../../../src/ta_func/ta_CDLTRISTAR.c + +../../../../../temp/csr/ta_CDLUNIQUE3RIVER.o: ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLUNIQUE3RIVER.o ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c + +../../../../../temp/csr/ta_CDLUPSIDEGAP2CROWS.o: ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLUPSIDEGAP2CROWS.o ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c + +../../../../../temp/csr/ta_CDLXSIDEGAP3METHODS.o: ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CDLXSIDEGAP3METHODS.o ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c + +../../../../../temp/csr/ta_CEIL.o: ../../../../../src/ta_func/ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CEIL.o ../../../../../src/ta_func/ta_CEIL.c + +../../../../../temp/csr/ta_CMO.o: ../../../../../src/ta_func/ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CMO.o ../../../../../src/ta_func/ta_CMO.c + +../../../../../temp/csr/ta_CORREL.o: ../../../../../src/ta_func/ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_CORREL.o ../../../../../src/ta_func/ta_CORREL.c + +../../../../../temp/csr/ta_COS.o: ../../../../../src/ta_func/ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_COS.o ../../../../../src/ta_func/ta_COS.c + +../../../../../temp/csr/ta_COSH.o: ../../../../../src/ta_func/ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_COSH.o ../../../../../src/ta_func/ta_COSH.c + +../../../../../temp/csr/ta_DEMA.o: ../../../../../src/ta_func/ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_DEMA.o ../../../../../src/ta_func/ta_DEMA.c + +../../../../../temp/csr/ta_DIV.o: ../../../../../src/ta_func/ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_DIV.o ../../../../../src/ta_func/ta_DIV.c + +../../../../../temp/csr/ta_DX.o: ../../../../../src/ta_func/ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_DX.o ../../../../../src/ta_func/ta_DX.c + +../../../../../temp/csr/ta_EMA.o: ../../../../../src/ta_func/ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_EMA.o ../../../../../src/ta_func/ta_EMA.c + +../../../../../temp/csr/ta_EXP.o: ../../../../../src/ta_func/ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_EXP.o ../../../../../src/ta_func/ta_EXP.c + +../../../../../temp/csr/ta_FLOOR.o: ../../../../../src/ta_func/ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_FLOOR.o ../../../../../src/ta_func/ta_FLOOR.c + +../../../../../temp/csr/ta_HT_DCPERIOD.o: ../../../../../src/ta_func/ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_DCPERIOD.o ../../../../../src/ta_func/ta_HT_DCPERIOD.c + +../../../../../temp/csr/ta_HT_DCPHASE.o: ../../../../../src/ta_func/ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_DCPHASE.o ../../../../../src/ta_func/ta_HT_DCPHASE.c + +../../../../../temp/csr/ta_HT_PHASOR.o: ../../../../../src/ta_func/ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_PHASOR.o ../../../../../src/ta_func/ta_HT_PHASOR.c + +../../../../../temp/csr/ta_HT_SINE.o: ../../../../../src/ta_func/ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_SINE.o ../../../../../src/ta_func/ta_HT_SINE.c + +../../../../../temp/csr/ta_HT_TRENDLINE.o: ../../../../../src/ta_func/ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_TRENDLINE.o ../../../../../src/ta_func/ta_HT_TRENDLINE.c + +../../../../../temp/csr/ta_HT_TRENDMODE.o: ../../../../../src/ta_func/ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_HT_TRENDMODE.o ../../../../../src/ta_func/ta_HT_TRENDMODE.c + +../../../../../temp/csr/ta_KAMA.o: ../../../../../src/ta_func/ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_KAMA.o ../../../../../src/ta_func/ta_KAMA.c + +../../../../../temp/csr/ta_LINEARREG.o: ../../../../../src/ta_func/ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LINEARREG.o ../../../../../src/ta_func/ta_LINEARREG.c + +../../../../../temp/csr/ta_LINEARREG_ANGLE.o: ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LINEARREG_ANGLE.o ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c + +../../../../../temp/csr/ta_LINEARREG_INTERCEPT.o: ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LINEARREG_INTERCEPT.o ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c + +../../../../../temp/csr/ta_LINEARREG_SLOPE.o: ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LINEARREG_SLOPE.o ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c + +../../../../../temp/csr/ta_LN.o: ../../../../../src/ta_func/ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LN.o ../../../../../src/ta_func/ta_LN.c + +../../../../../temp/csr/ta_LOG10.o: ../../../../../src/ta_func/ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_LOG10.o ../../../../../src/ta_func/ta_LOG10.c + +../../../../../temp/csr/ta_MA.o: ../../../../../src/ta_func/ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MA.o ../../../../../src/ta_func/ta_MA.c + +../../../../../temp/csr/ta_MACD.o: ../../../../../src/ta_func/ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MACD.o ../../../../../src/ta_func/ta_MACD.c + +../../../../../temp/csr/ta_MACDEXT.o: ../../../../../src/ta_func/ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MACDEXT.o ../../../../../src/ta_func/ta_MACDEXT.c + +../../../../../temp/csr/ta_MACDFIX.o: ../../../../../src/ta_func/ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MACDFIX.o ../../../../../src/ta_func/ta_MACDFIX.c + +../../../../../temp/csr/ta_MAMA.o: ../../../../../src/ta_func/ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MAMA.o ../../../../../src/ta_func/ta_MAMA.c + +../../../../../temp/csr/ta_MAVP.o: ../../../../../src/ta_func/ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MAVP.o ../../../../../src/ta_func/ta_MAVP.c + +../../../../../temp/csr/ta_MAX.o: ../../../../../src/ta_func/ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MAX.o ../../../../../src/ta_func/ta_MAX.c + +../../../../../temp/csr/ta_MAXINDEX.o: ../../../../../src/ta_func/ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MAXINDEX.o ../../../../../src/ta_func/ta_MAXINDEX.c + +../../../../../temp/csr/ta_MEDPRICE.o: ../../../../../src/ta_func/ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MEDPRICE.o ../../../../../src/ta_func/ta_MEDPRICE.c + +../../../../../temp/csr/ta_MFI.o: ../../../../../src/ta_func/ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MFI.o ../../../../../src/ta_func/ta_MFI.c + +../../../../../temp/csr/ta_MIDPOINT.o: ../../../../../src/ta_func/ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MIDPOINT.o ../../../../../src/ta_func/ta_MIDPOINT.c + +../../../../../temp/csr/ta_MIDPRICE.o: ../../../../../src/ta_func/ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MIDPRICE.o ../../../../../src/ta_func/ta_MIDPRICE.c + +../../../../../temp/csr/ta_MIN.o: ../../../../../src/ta_func/ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MIN.o ../../../../../src/ta_func/ta_MIN.c + +../../../../../temp/csr/ta_MININDEX.o: ../../../../../src/ta_func/ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MININDEX.o ../../../../../src/ta_func/ta_MININDEX.c + +../../../../../temp/csr/ta_MINMAX.o: ../../../../../src/ta_func/ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MINMAX.o ../../../../../src/ta_func/ta_MINMAX.c + +../../../../../temp/csr/ta_MINMAXINDEX.o: ../../../../../src/ta_func/ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MINMAXINDEX.o ../../../../../src/ta_func/ta_MINMAXINDEX.c + +../../../../../temp/csr/ta_MINUS_DI.o: ../../../../../src/ta_func/ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MINUS_DI.o ../../../../../src/ta_func/ta_MINUS_DI.c + +../../../../../temp/csr/ta_MINUS_DM.o: ../../../../../src/ta_func/ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MINUS_DM.o ../../../../../src/ta_func/ta_MINUS_DM.c + +../../../../../temp/csr/ta_MOM.o: ../../../../../src/ta_func/ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MOM.o ../../../../../src/ta_func/ta_MOM.c + +../../../../../temp/csr/ta_MULT.o: ../../../../../src/ta_func/ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_MULT.o ../../../../../src/ta_func/ta_MULT.c + +../../../../../temp/csr/ta_NATR.o: ../../../../../src/ta_func/ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_NATR.o ../../../../../src/ta_func/ta_NATR.c + +../../../../../temp/csr/ta_OBV.o: ../../../../../src/ta_func/ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_OBV.o ../../../../../src/ta_func/ta_OBV.c + +../../../../../temp/csr/ta_PLUS_DI.o: ../../../../../src/ta_func/ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_PLUS_DI.o ../../../../../src/ta_func/ta_PLUS_DI.c + +../../../../../temp/csr/ta_PLUS_DM.o: ../../../../../src/ta_func/ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_PLUS_DM.o ../../../../../src/ta_func/ta_PLUS_DM.c + +../../../../../temp/csr/ta_PPO.o: ../../../../../src/ta_func/ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_PPO.o ../../../../../src/ta_func/ta_PPO.c + +../../../../../temp/csr/ta_ROC.o: ../../../../../src/ta_func/ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ROC.o ../../../../../src/ta_func/ta_ROC.c + +../../../../../temp/csr/ta_ROCP.o: ../../../../../src/ta_func/ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ROCP.o ../../../../../src/ta_func/ta_ROCP.c + +../../../../../temp/csr/ta_ROCR.o: ../../../../../src/ta_func/ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ROCR.o ../../../../../src/ta_func/ta_ROCR.c + +../../../../../temp/csr/ta_ROCR100.o: ../../../../../src/ta_func/ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ROCR100.o ../../../../../src/ta_func/ta_ROCR100.c + +../../../../../temp/csr/ta_RSI.o: ../../../../../src/ta_func/ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_RSI.o ../../../../../src/ta_func/ta_RSI.c + +../../../../../temp/csr/ta_SAR.o: ../../../../../src/ta_func/ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SAR.o ../../../../../src/ta_func/ta_SAR.c + +../../../../../temp/csr/ta_SAREXT.o: ../../../../../src/ta_func/ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SAREXT.o ../../../../../src/ta_func/ta_SAREXT.c + +../../../../../temp/csr/ta_SIN.o: ../../../../../src/ta_func/ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SIN.o ../../../../../src/ta_func/ta_SIN.c + +../../../../../temp/csr/ta_SINH.o: ../../../../../src/ta_func/ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SINH.o ../../../../../src/ta_func/ta_SINH.c + +../../../../../temp/csr/ta_SMA.o: ../../../../../src/ta_func/ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SMA.o ../../../../../src/ta_func/ta_SMA.c + +../../../../../temp/csr/ta_SQRT.o: ../../../../../src/ta_func/ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SQRT.o ../../../../../src/ta_func/ta_SQRT.c + +../../../../../temp/csr/ta_STDDEV.o: ../../../../../src/ta_func/ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_STDDEV.o ../../../../../src/ta_func/ta_STDDEV.c + +../../../../../temp/csr/ta_STOCH.o: ../../../../../src/ta_func/ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_STOCH.o ../../../../../src/ta_func/ta_STOCH.c + +../../../../../temp/csr/ta_STOCHF.o: ../../../../../src/ta_func/ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_STOCHF.o ../../../../../src/ta_func/ta_STOCHF.c + +../../../../../temp/csr/ta_STOCHRSI.o: ../../../../../src/ta_func/ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_STOCHRSI.o ../../../../../src/ta_func/ta_STOCHRSI.c + +../../../../../temp/csr/ta_SUB.o: ../../../../../src/ta_func/ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SUB.o ../../../../../src/ta_func/ta_SUB.c + +../../../../../temp/csr/ta_SUM.o: ../../../../../src/ta_func/ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_SUM.o ../../../../../src/ta_func/ta_SUM.c + +../../../../../temp/csr/ta_T3.o: ../../../../../src/ta_func/ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_T3.o ../../../../../src/ta_func/ta_T3.c + +../../../../../temp/csr/ta_TAN.o: ../../../../../src/ta_func/ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TAN.o ../../../../../src/ta_func/ta_TAN.c + +../../../../../temp/csr/ta_TANH.o: ../../../../../src/ta_func/ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TANH.o ../../../../../src/ta_func/ta_TANH.c + +../../../../../temp/csr/ta_TEMA.o: ../../../../../src/ta_func/ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TEMA.o ../../../../../src/ta_func/ta_TEMA.c + +../../../../../temp/csr/ta_TRANGE.o: ../../../../../src/ta_func/ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TRANGE.o ../../../../../src/ta_func/ta_TRANGE.c + +../../../../../temp/csr/ta_TRIMA.o: ../../../../../src/ta_func/ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TRIMA.o ../../../../../src/ta_func/ta_TRIMA.c + +../../../../../temp/csr/ta_TRIX.o: ../../../../../src/ta_func/ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TRIX.o ../../../../../src/ta_func/ta_TRIX.c + +../../../../../temp/csr/ta_TSF.o: ../../../../../src/ta_func/ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TSF.o ../../../../../src/ta_func/ta_TSF.c + +../../../../../temp/csr/ta_TYPPRICE.o: ../../../../../src/ta_func/ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_TYPPRICE.o ../../../../../src/ta_func/ta_TYPPRICE.c + +../../../../../temp/csr/ta_ULTOSC.o: ../../../../../src/ta_func/ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_ULTOSC.o ../../../../../src/ta_func/ta_ULTOSC.c + +../../../../../temp/csr/ta_VAR.o: ../../../../../src/ta_func/ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_VAR.o ../../../../../src/ta_func/ta_VAR.c + +../../../../../temp/csr/ta_WCLPRICE.o: ../../../../../src/ta_func/ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_WCLPRICE.o ../../../../../src/ta_func/ta_WCLPRICE.c + +../../../../../temp/csr/ta_WILLR.o: ../../../../../src/ta_func/ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_WILLR.o ../../../../../src/ta_func/ta_WILLR.c + +../../../../../temp/csr/ta_WMA.o: ../../../../../src/ta_func/ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_WMA.o ../../../../../src/ta_func/ta_WMA.c + diff --git a/vendor/ta-lib/make/csr/linux/g++/ta_regtest/Makefile b/vendor/ta-lib/make/csr/linux/g++/ta_regtest/Makefile new file mode 100644 index 000000000..baf90a98d --- /dev/null +++ b/vendor/ta-lib/make/csr/linux/g++/ta_regtest/Makefile @@ -0,0 +1,211 @@ +############################################################################# +# Makefile for building ../../../../../bin/ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +CFLAGS = -pipe -fPIC -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD +CXXFLAGS= -pipe -fPIC -Wall -W -O2 -fno-strict-aliasing -DTA_SINGLE_THREAD +INCPATH = -I../../../../../src/ta_common -I../../../../../src/tools/ta_regtest -I../../../../../src/ta_func -I../../../../../include +LINK = g++ +LFLAGS = +LIBS = $(SUBLIBS) ../../../../../lib/libta_libc_csr.a -ldl +MOC = $(QTDIR)/bin/moc +UIC = $(QTDIR)/bin/uic + +TAR = tar -cf +GZIP = gzip -9f + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = +SOURCES = ../../../../../src/tools/ta_regtest/ta_regtest.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c \ + ../../../../../src/tools/ta_regtest/test_internals.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c \ + ../../../../../src/tools/ta_regtest/test_util.c \ + ../../../../../src/tools/ta_regtest/test_data.c \ + ../../../../../src/tools/ta_regtest/test_abstract.c +OBJECTS = ../../../../../temp/csr/ta_regtest.o \ + ../../../../../temp/csr/test_candlestick.o \ + ../../../../../temp/csr/test_1in_1out.o \ + ../../../../../temp/csr/test_1in_2out.o \ + ../../../../../temp/csr/test_internals.o \ + ../../../../../temp/csr/test_adx.o \ + ../../../../../temp/csr/test_bbands.o \ + ../../../../../temp/csr/test_ma.o \ + ../../../../../temp/csr/test_macd.o \ + ../../../../../temp/csr/test_minmax.o \ + ../../../../../temp/csr/test_mom.o \ + ../../../../../temp/csr/test_per_ema.o \ + ../../../../../temp/csr/test_per_hl.o \ + ../../../../../temp/csr/test_per_hlc.o \ + ../../../../../temp/csr/test_per_hlcv.o \ + ../../../../../temp/csr/test_per_ohlc.o \ + ../../../../../temp/csr/test_po.o \ + ../../../../../temp/csr/test_rsi.o \ + ../../../../../temp/csr/test_sar.o \ + ../../../../../temp/csr/test_stddev.o \ + ../../../../../temp/csr/test_stoch.o \ + ../../../../../temp/csr/test_trange.o \ + ../../../../../temp/csr/test_util.o \ + ../../../../../temp/csr/test_data.o \ + ../../../../../temp/csr/test_abstract.o +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ../../../../../bin/ta_regtest +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + +####### Build rules + + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) + -rm -f *~ core + +####### Sub-libraries + + +###### Combined headers + + +####### Compile + +../../../../../temp/csr/ta_regtest.o: ../../../../../src/tools/ta_regtest/ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/ta_regtest.o ../../../../../src/tools/ta_regtest/ta_regtest.c + +../../../../../temp/csr/test_candlestick.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_candlestick.o ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c + +../../../../../temp/csr/test_1in_1out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_1in_1out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c + +../../../../../temp/csr/test_1in_2out.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_1in_2out.o ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c + +../../../../../temp/csr/test_internals.o: ../../../../../src/tools/ta_regtest/test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_internals.o ../../../../../src/tools/ta_regtest/test_internals.c + +../../../../../temp/csr/test_adx.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_adx.o ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c + +../../../../../temp/csr/test_bbands.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_bbands.o ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c + +../../../../../temp/csr/test_ma.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_ma.o ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c + +../../../../../temp/csr/test_macd.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_macd.o ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c + +../../../../../temp/csr/test_minmax.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_minmax.o ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c + +../../../../../temp/csr/test_mom.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_mom.o ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c + +../../../../../temp/csr/test_per_ema.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_per_ema.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c + +../../../../../temp/csr/test_per_hl.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_per_hl.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c + +../../../../../temp/csr/test_per_hlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_per_hlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c + +../../../../../temp/csr/test_per_hlcv.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_per_hlcv.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c + +../../../../../temp/csr/test_per_ohlc.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_per_ohlc.o ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c + +../../../../../temp/csr/test_po.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_po.o ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c + +../../../../../temp/csr/test_rsi.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_rsi.o ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c + +../../../../../temp/csr/test_sar.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_sar.o ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c + +../../../../../temp/csr/test_stddev.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_stddev.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c + +../../../../../temp/csr/test_stoch.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_stoch.o ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c + +../../../../../temp/csr/test_trange.o: ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_trange.o ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c + +../../../../../temp/csr/test_util.o: ../../../../../src/tools/ta_regtest/test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_util.o ../../../../../src/tools/ta_regtest/test_util.c + +../../../../../temp/csr/test_data.o: ../../../../../src/tools/ta_regtest/test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_data.o ../../../../../src/tools/ta_regtest/test_data.c + +../../../../../temp/csr/test_abstract.o: ../../../../../src/tools/ta_regtest/test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o ../../../../../temp/csr/test_abstract.o ../../../../../src/tools/ta_regtest/test_abstract.c + diff --git a/vendor/ta-lib/make/csr/win32/borland/Makefile b/vendor/ta-lib/make/csr/win32/borland/Makefile new file mode 100644 index 000000000..cdfddc170 --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/borland/Makefile @@ -0,0 +1,96 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +ta_common: + cd ta_common + $(MAKE) + @cd .. + +ta_func: + cd ta_func + $(MAKE) + @cd .. + +ta_abstract: + cd ta_abstract + $(MAKE) + @cd .. + +ta_libc: + cd ta_libc + $(MAKE) + @cd .. + +gen_code: + cd gen_code + $(MAKE) + @cd .. + +ta_regtest: + cd ta_regtest + $(MAKE) + @cd .. + + +tmake: ../csr/win32/borland/Makefile + +../csr/win32/borland/Makefile: rootmake.pro + tmake rootmake.pro -o ../csr/win32/borland/Makefile + +tmake_all: + cd ta_common + $(TMAKE) ta_common.pro -o $(MAKEFILE) + @cd .. + cd ta_func + $(TMAKE) ta_func.pro -o $(MAKEFILE) + @cd .. + cd ta_abstract + $(TMAKE) ta_abstract.pro -o $(MAKEFILE) + @cd .. + cd ta_libc + $(TMAKE) ta_libc.pro -o $(MAKEFILE) + @cd .. + cd gen_code + $(TMAKE) gen_code.pro -o $(MAKEFILE) + @cd .. + cd ta_regtest + $(TMAKE) ta_regtest.pro -o $(MAKEFILE) + @cd .. + + +clean: + cd ta_common + $(MAKE) clean + @cd .. + cd ta_func + $(MAKE) clean + @cd .. + cd ta_abstract + $(MAKE) clean + @cd .. + cd ta_libc + $(MAKE) clean + @cd .. + cd gen_code + $(MAKE) clean + @cd .. + cd ta_regtest + $(MAKE) clean + @cd .. + diff --git a/vendor/ta-lib/make/csr/win32/borland/gen_code/Makefile b/vendor/ta-lib/make/csr/win32/borland/gen_code/Makefile new file mode 100644 index 000000000..92aeb3f5c --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/borland/gen_code/Makefile @@ -0,0 +1,267 @@ +############################################################################# +# Makefile for building gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +####### Compiler, tools and options + +CC = bcc32 +CXX = bcc32 +CFLAGS = -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -O2 -DTA_GEN_CODE -DTA_SINGLE_THREAD -DWIN32 +CXXFLAGS= -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -O2 -DTA_GEN_CODE -DTA_SINGLE_THREAD -DWIN32 +INCPATH = -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" +LINK = ilink32 +LFLAGS = -L$(BCB)\lib -L$(BCB)\lib\PSDK -c -x -Gn -ap -Tpe c0x32.obj +LIBS = import32.lib cw32i.lib ..\..\..\..\..\lib\ta_common_csr.lib +MOC = moc +UIC = uic + +ZIP = zip -r -9 +DEF_FILE = +RES_FILE = + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\gen_code\gen_code.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\csr\gen_code\gen_code.obj \ + ..\..\..\..\..\temp\csr\gen_code\ta_abstract.obj \ + ..\..\..\..\..\temp\csr\gen_code\ta_def_ui.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_a.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_b.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_c.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_d.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_e.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_f.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_g.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_h.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_i.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_j.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_k.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_l.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_m.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_n.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_o.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_p.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_q.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_r.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_s.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_t.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_u.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_v.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_w.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_x.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_y.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_z.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\gen_code.exe +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) @&&| + $(LFLAGS) $(OBJECTS) $(OBJMOC),$(TARGET),,$(LIBS),$(DEF_FILE),$(RES_FILE) +| + +moc: $(SRCMOC) + +tmake: ../csr/win32/borland/gen_code/Makefile + +../csr/win32/borland/gen_code/Makefile: gen_code/gen_code.pro + tmake gen_code/gen_code.pro -o ../csr/win32/borland/gen_code/Makefile + +dist: + $(ZIP) gen_code/gen_code.zip gen_code/gen_code.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csr\gen_code\gen_code.obj + -del ..\..\..\..\..\temp\csr\gen_code\ta_abstract.obj + -del ..\..\..\..\..\temp\csr\gen_code\ta_def_ui.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_a.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_b.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_c.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_d.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_e.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_f.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_g.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_h.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_i.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_j.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_k.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_l.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_m.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_n.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_o.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_p.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_q.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_r.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_s.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_t.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_u.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_v.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_w.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_x.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_y.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_z.obj + -del $(TARGET) + -del gen_code.tds + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csr/*.pch + -del ../../../../../temp/csr/*.idb + -del ../../../../../temp/csr/gen_code/*.pch + -del ../../../../../temp/csr/gen_code/*.idb + -del ../../../../../temp/csr/gen_code/*.obj + +####### Compile + +..\..\..\..\..\temp\csr\gen_code\gen_code.obj: ..\..\..\..\..\src\tools\gen_code\gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\gen_code.obj ..\..\..\..\..\src\tools\gen_code\gen_code.c + +..\..\..\..\..\temp\csr\gen_code\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\csr\gen_code\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\csr\gen_code\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\csr\gen_code\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\csr\gen_code\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\csr\gen_code\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\csr\gen_code\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\csr\gen_code\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\csr\gen_code\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\csr\gen_code\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\csr\gen_code\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\csr\gen_code\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\csr\gen_code\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\csr\gen_code\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\csr\gen_code\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\csr\gen_code\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\csr\gen_code\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\csr\gen_code\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\csr\gen_code\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\csr\gen_code\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\csr\gen_code\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\csr\gen_code\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\csr\gen_code\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\csr\gen_code\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\csr\gen_code\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\csr\gen_code\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\csr\gen_code\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\csr\gen_code\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/csr/win32/borland/ta_abstract/Makefile b/vendor/ta-lib/make/csr/win32/borland/ta_abstract/Makefile new file mode 100644 index 000000000..790d99bb5 --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/borland/ta_abstract/Makefile @@ -0,0 +1,309 @@ +############################################################################# +# Makefile for building ta_abstract_csr +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +####### Compiler, tools and options + +CC = bcc32 +CXX = bcc32 +CFLAGS = -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -O2 -DTA_SINGLE_THREAD -DWIN32 +CXXFLAGS= -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -O2 -DTA_SINGLE_THREAD -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"..\..\..\..\..\include" +LIB = tlib /C /P256 +MOC = moc +UIC = uic + +ZIP = zip -r -9 +DEF_FILE = +RES_FILE = + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\csr\ta_abstract.obj \ + ..\..\..\..\..\temp\csr\ta_def_ui.obj \ + ..\..\..\..\..\temp\csr\ta_func_api.obj \ + ..\..\..\..\..\temp\csr\ta_group_idx.obj \ + ..\..\..\..\..\temp\csr\ta_frame.obj \ + ..\..\..\..\..\temp\csr\table_a.obj \ + ..\..\..\..\..\temp\csr\table_b.obj \ + ..\..\..\..\..\temp\csr\table_c.obj \ + ..\..\..\..\..\temp\csr\table_d.obj \ + ..\..\..\..\..\temp\csr\table_e.obj \ + ..\..\..\..\..\temp\csr\table_f.obj \ + ..\..\..\..\..\temp\csr\table_g.obj \ + ..\..\..\..\..\temp\csr\table_h.obj \ + ..\..\..\..\..\temp\csr\table_i.obj \ + ..\..\..\..\..\temp\csr\table_j.obj \ + ..\..\..\..\..\temp\csr\table_k.obj \ + ..\..\..\..\..\temp\csr\table_l.obj \ + ..\..\..\..\..\temp\csr\table_m.obj \ + ..\..\..\..\..\temp\csr\table_n.obj \ + ..\..\..\..\..\temp\csr\table_o.obj \ + ..\..\..\..\..\temp\csr\table_p.obj \ + ..\..\..\..\..\temp\csr\table_q.obj \ + ..\..\..\..\..\temp\csr\table_r.obj \ + ..\..\..\..\..\temp\csr\table_s.obj \ + ..\..\..\..\..\temp\csr\table_t.obj \ + ..\..\..\..\..\temp\csr\table_u.obj \ + ..\..\..\..\..\temp\csr\table_v.obj \ + ..\..\..\..\..\temp\csr\table_w.obj \ + ..\..\..\..\..\temp\csr\table_x.obj \ + ..\..\..\..\..\temp\csr\table_y.obj \ + ..\..\..\..\..\temp\csr\table_z.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_abstract_csr.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) @&&| ++..\..\..\..\..\temp\csr\ta_abstract.obj \ ++..\..\..\..\..\temp\csr\ta_def_ui.obj \ ++..\..\..\..\..\temp\csr\ta_func_api.obj \ ++..\..\..\..\..\temp\csr\ta_group_idx.obj \ ++..\..\..\..\..\temp\csr\ta_frame.obj \ ++..\..\..\..\..\temp\csr\table_a.obj \ ++..\..\..\..\..\temp\csr\table_b.obj \ ++..\..\..\..\..\temp\csr\table_c.obj \ ++..\..\..\..\..\temp\csr\table_d.obj \ ++..\..\..\..\..\temp\csr\table_e.obj \ ++..\..\..\..\..\temp\csr\table_f.obj \ ++..\..\..\..\..\temp\csr\table_g.obj \ ++..\..\..\..\..\temp\csr\table_h.obj \ ++..\..\..\..\..\temp\csr\table_i.obj \ ++..\..\..\..\..\temp\csr\table_j.obj \ ++..\..\..\..\..\temp\csr\table_k.obj \ ++..\..\..\..\..\temp\csr\table_l.obj \ ++..\..\..\..\..\temp\csr\table_m.obj \ ++..\..\..\..\..\temp\csr\table_n.obj \ ++..\..\..\..\..\temp\csr\table_o.obj \ ++..\..\..\..\..\temp\csr\table_p.obj \ ++..\..\..\..\..\temp\csr\table_q.obj \ ++..\..\..\..\..\temp\csr\table_r.obj \ ++..\..\..\..\..\temp\csr\table_s.obj \ ++..\..\..\..\..\temp\csr\table_t.obj \ ++..\..\..\..\..\temp\csr\table_u.obj \ ++..\..\..\..\..\temp\csr\table_v.obj \ ++..\..\..\..\..\temp\csr\table_w.obj \ ++..\..\..\..\..\temp\csr\table_x.obj \ ++..\..\..\..\..\temp\csr\table_y.obj \ ++..\..\..\..\..\temp\csr\table_z.obj \ ++ +| + +moc: $(SRCMOC) + +tmake: ../csr/win32/borland/ta_abstract/Makefile + +../csr/win32/borland/ta_abstract/Makefile: ta_abstract/ta_abstract.pro + tmake ta_abstract/ta_abstract.pro -o ../csr/win32/borland/ta_abstract/Makefile + +dist: + $(ZIP) ta_abstract/ta_abstract.zip ta_abstract/ta_abstract.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csr\ta_abstract.obj + -del ..\..\..\..\..\temp\csr\ta_def_ui.obj + -del ..\..\..\..\..\temp\csr\ta_func_api.obj + -del ..\..\..\..\..\temp\csr\ta_group_idx.obj + -del ..\..\..\..\..\temp\csr\ta_frame.obj + -del ..\..\..\..\..\temp\csr\table_a.obj + -del ..\..\..\..\..\temp\csr\table_b.obj + -del ..\..\..\..\..\temp\csr\table_c.obj + -del ..\..\..\..\..\temp\csr\table_d.obj + -del ..\..\..\..\..\temp\csr\table_e.obj + -del ..\..\..\..\..\temp\csr\table_f.obj + -del ..\..\..\..\..\temp\csr\table_g.obj + -del ..\..\..\..\..\temp\csr\table_h.obj + -del ..\..\..\..\..\temp\csr\table_i.obj + -del ..\..\..\..\..\temp\csr\table_j.obj + -del ..\..\..\..\..\temp\csr\table_k.obj + -del ..\..\..\..\..\temp\csr\table_l.obj + -del ..\..\..\..\..\temp\csr\table_m.obj + -del ..\..\..\..\..\temp\csr\table_n.obj + -del ..\..\..\..\..\temp\csr\table_o.obj + -del ..\..\..\..\..\temp\csr\table_p.obj + -del ..\..\..\..\..\temp\csr\table_q.obj + -del ..\..\..\..\..\temp\csr\table_r.obj + -del ..\..\..\..\..\temp\csr\table_s.obj + -del ..\..\..\..\..\temp\csr\table_t.obj + -del ..\..\..\..\..\temp\csr\table_u.obj + -del ..\..\..\..\..\temp\csr\table_v.obj + -del ..\..\..\..\..\temp\csr\table_w.obj + -del ..\..\..\..\..\temp\csr\table_x.obj + -del ..\..\..\..\..\temp\csr\table_y.obj + -del ..\..\..\..\..\temp\csr\table_z.obj + -del $(TARGET) + -del ta_abstract_csr.tds + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csr/*.pch + -del ../../../../../temp/csr/*.idb + -del ../../../../../temp/csr/ta_abstract/*.pch + -del ../../../../../temp/csr/ta_abstract/*.idb + -del ../../../../../temp/csr/ta_abstract/*.obj + +####### Compile + +..\..\..\..\..\temp\csr\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\csr\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\csr\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\csr\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\csr\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\csr\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\csr\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\csr\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\csr\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\csr\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\csr\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\csr\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\csr\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\csr\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\csr\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\csr\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\csr\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\csr\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\csr\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\csr\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\csr\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\csr\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\csr\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\csr\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\csr\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\csr\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\csr\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\csr\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\csr\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\csr\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\csr\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/csr/win32/borland/ta_common/Makefile b/vendor/ta-lib/make/csr/win32/borland/ta_common/Makefile new file mode 100644 index 000000000..7bad43bdc --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/borland/ta_common/Makefile @@ -0,0 +1,113 @@ +############################################################################# +# Makefile for building ta_common_csr +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +####### Compiler, tools and options + +CC = bcc32 +CXX = bcc32 +CFLAGS = -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -O2 -DTA_SINGLE_THREAD -DWIN32 +CXXFLAGS= -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -O2 -DTA_SINGLE_THREAD -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" +LIB = tlib /C /P256 +MOC = moc +UIC = uic + +ZIP = zip -r -9 +DEF_FILE = +RES_FILE = + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c +OBJECTS = ..\..\..\..\..\temp\csr\ta_global.obj \ + ..\..\..\..\..\temp\csr\ta_retcode.obj \ + ..\..\..\..\..\temp\csr\ta_version.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_common_csr.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) @&&| ++..\..\..\..\..\temp\csr\ta_global.obj \ ++..\..\..\..\..\temp\csr\ta_retcode.obj \ ++..\..\..\..\..\temp\csr\ta_version.obj \ ++ +| + +moc: $(SRCMOC) + +tmake: ../csr/win32/borland/ta_common/Makefile + +../csr/win32/borland/ta_common/Makefile: ta_common/ta_common.pro + tmake ta_common/ta_common.pro -o ../csr/win32/borland/ta_common/Makefile + +dist: + $(ZIP) ta_common/ta_common.zip ta_common/ta_common.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csr\ta_global.obj + -del ..\..\..\..\..\temp\csr\ta_retcode.obj + -del ..\..\..\..\..\temp\csr\ta_version.obj + -del $(TARGET) + -del ta_common_csr.tds + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csr/*.pch + -del ../../../../../temp/csr/*.idb + -del ../../../../../temp/csr/ta_common_csr/*.pch + -del ../../../../../temp/csr/ta_common_csr/*.idb + -del ../../../../../temp/csr/ta_common_csr/*.obj + +####### Compile + +..\..\..\..\..\temp\csr\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\csr\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\csr\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + diff --git a/vendor/ta-lib/make/csr/win32/borland/ta_func/Makefile b/vendor/ta-lib/make/csr/win32/borland/ta_func/Makefile new file mode 100644 index 000000000..371c38a5d --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/borland/ta_func/Makefile @@ -0,0 +1,1205 @@ +############################################################################# +# Makefile for building ta_func_csr +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +####### Compiler, tools and options + +CC = bcc32 +CXX = bcc32 +CFLAGS = -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -O2 -DTA_SINGLE_THREAD -DWIN32 +CXXFLAGS= -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -O2 -DTA_SINGLE_THREAD -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"\n" -I"..\..\..\..\..\include" +LIB = tlib /C /P256 +MOC = moc +UIC = uic + +ZIP = zip -r -9 +DEF_FILE = +RES_FILE = + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\csr\ta_utility.obj \ + ..\..\..\..\..\temp\csr\ta_ACOS.obj \ + ..\..\..\..\..\temp\csr\ta_AD.obj \ + ..\..\..\..\..\temp\csr\ta_ADD.obj \ + ..\..\..\..\..\temp\csr\ta_ADOSC.obj \ + ..\..\..\..\..\temp\csr\ta_ADX.obj \ + ..\..\..\..\..\temp\csr\ta_ADXR.obj \ + ..\..\..\..\..\temp\csr\ta_APO.obj \ + ..\..\..\..\..\temp\csr\ta_AROON.obj \ + ..\..\..\..\..\temp\csr\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\csr\ta_ASIN.obj \ + ..\..\..\..\..\temp\csr\ta_ATAN.obj \ + ..\..\..\..\..\temp\csr\ta_ATR.obj \ + ..\..\..\..\..\temp\csr\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_BBANDS.obj \ + ..\..\..\..\..\temp\csr\ta_BETA.obj \ + ..\..\..\..\..\temp\csr\ta_BOP.obj \ + ..\..\..\..\..\temp\csr\ta_CCI.obj \ + ..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\csr\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\csr\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\csr\ta_CEIL.obj \ + ..\..\..\..\..\temp\csr\ta_CMO.obj \ + ..\..\..\..\..\temp\csr\ta_CORREL.obj \ + ..\..\..\..\..\temp\csr\ta_COS.obj \ + ..\..\..\..\..\temp\csr\ta_COSH.obj \ + ..\..\..\..\..\temp\csr\ta_DEMA.obj \ + ..\..\..\..\..\temp\csr\ta_DIV.obj \ + ..\..\..\..\..\temp\csr\ta_DX.obj \ + ..\..\..\..\..\temp\csr\ta_EMA.obj \ + ..\..\..\..\..\temp\csr\ta_EXP.obj \ + ..\..\..\..\..\temp\csr\ta_FLOOR.obj \ + ..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\csr\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\csr\ta_KAMA.obj \ + ..\..\..\..\..\temp\csr\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\csr\ta_LN.obj \ + ..\..\..\..\..\temp\csr\ta_LOG10.obj \ + ..\..\..\..\..\temp\csr\ta_MA.obj \ + ..\..\..\..\..\temp\csr\ta_MACD.obj \ + ..\..\..\..\..\temp\csr\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\csr\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\csr\ta_MAMA.obj \ + ..\..\..\..\..\temp\csr\ta_MAVP.obj \ + ..\..\..\..\..\temp\csr\ta_MAX.obj \ + ..\..\..\..\..\temp\csr\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\csr\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_MFI.obj \ + ..\..\..\..\..\temp\csr\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\csr\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_MIN.obj \ + ..\..\..\..\..\temp\csr\ta_MININDEX.obj \ + ..\..\..\..\..\temp\csr\ta_MINMAX.obj \ + ..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\csr\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\csr\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\csr\ta_MOM.obj \ + ..\..\..\..\..\temp\csr\ta_MULT.obj \ + ..\..\..\..\..\temp\csr\ta_NATR.obj \ + ..\..\..\..\..\temp\csr\ta_OBV.obj \ + ..\..\..\..\..\temp\csr\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\csr\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\csr\ta_PPO.obj \ + ..\..\..\..\..\temp\csr\ta_ROC.obj \ + ..\..\..\..\..\temp\csr\ta_ROCP.obj \ + ..\..\..\..\..\temp\csr\ta_ROCR.obj \ + ..\..\..\..\..\temp\csr\ta_ROCR100.obj \ + ..\..\..\..\..\temp\csr\ta_RSI.obj \ + ..\..\..\..\..\temp\csr\ta_SAR.obj \ + ..\..\..\..\..\temp\csr\ta_SAREXT.obj \ + ..\..\..\..\..\temp\csr\ta_SIN.obj \ + ..\..\..\..\..\temp\csr\ta_SINH.obj \ + ..\..\..\..\..\temp\csr\ta_SMA.obj \ + ..\..\..\..\..\temp\csr\ta_SQRT.obj \ + ..\..\..\..\..\temp\csr\ta_STDDEV.obj \ + ..\..\..\..\..\temp\csr\ta_STOCH.obj \ + ..\..\..\..\..\temp\csr\ta_STOCHF.obj \ + ..\..\..\..\..\temp\csr\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\csr\ta_SUB.obj \ + ..\..\..\..\..\temp\csr\ta_SUM.obj \ + ..\..\..\..\..\temp\csr\ta_T3.obj \ + ..\..\..\..\..\temp\csr\ta_TAN.obj \ + ..\..\..\..\..\temp\csr\ta_TANH.obj \ + ..\..\..\..\..\temp\csr\ta_TEMA.obj \ + ..\..\..\..\..\temp\csr\ta_TRANGE.obj \ + ..\..\..\..\..\temp\csr\ta_TRIMA.obj \ + ..\..\..\..\..\temp\csr\ta_TRIX.obj \ + ..\..\..\..\..\temp\csr\ta_TSF.obj \ + ..\..\..\..\..\temp\csr\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\csr\ta_VAR.obj \ + ..\..\..\..\..\temp\csr\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_WILLR.obj \ + ..\..\..\..\..\temp\csr\ta_WMA.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_func_csr.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) @&&| ++..\..\..\..\..\temp\csr\ta_utility.obj \ ++..\..\..\..\..\temp\csr\ta_ACOS.obj \ ++..\..\..\..\..\temp\csr\ta_AD.obj \ ++..\..\..\..\..\temp\csr\ta_ADD.obj \ ++..\..\..\..\..\temp\csr\ta_ADOSC.obj \ ++..\..\..\..\..\temp\csr\ta_ADX.obj \ ++..\..\..\..\..\temp\csr\ta_ADXR.obj \ ++..\..\..\..\..\temp\csr\ta_APO.obj \ ++..\..\..\..\..\temp\csr\ta_AROON.obj \ ++..\..\..\..\..\temp\csr\ta_AROONOSC.obj \ ++..\..\..\..\..\temp\csr\ta_ASIN.obj \ ++..\..\..\..\..\temp\csr\ta_ATAN.obj \ ++..\..\..\..\..\temp\csr\ta_ATR.obj \ ++..\..\..\..\..\temp\csr\ta_AVGPRICE.obj \ ++..\..\..\..\..\temp\csr\ta_BBANDS.obj \ ++..\..\..\..\..\temp\csr\ta_BETA.obj \ ++..\..\..\..\..\temp\csr\ta_BOP.obj \ ++..\..\..\..\..\temp\csr\ta_CCI.obj \ ++..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj \ ++..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj \ ++..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj \ ++..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj \ ++..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj \ ++..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj \ ++..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj \ ++..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj \ ++..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj \ ++..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj \ ++..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj \ ++..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj \ ++..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj \ ++..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj \ ++..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj \ ++..\..\..\..\..\temp\csr\ta_CDLDOJI.obj \ ++..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj \ ++..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj \ ++..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj \ ++..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj \ ++..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj \ ++..\..\..\..\..\temp\csr\ta_CDLINNECK.obj \ ++..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj \ ++..\..\..\..\..\temp\csr\ta_CDLKICKING.obj \ ++..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj \ ++..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj \ ++..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj \ ++..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj \ ++..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj \ ++..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj \ ++..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj \ ++..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLONNECK.obj \ ++..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj \ ++..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj \ ++..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj \ ++..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj \ ++..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj \ ++..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj \ ++..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj \ ++..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj \ ++..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj \ ++..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj \ ++..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj \ ++..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj \ ++..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj \ ++..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj \ ++..\..\..\..\..\temp\csr\ta_CEIL.obj \ ++..\..\..\..\..\temp\csr\ta_CMO.obj \ ++..\..\..\..\..\temp\csr\ta_CORREL.obj \ ++..\..\..\..\..\temp\csr\ta_COS.obj \ ++..\..\..\..\..\temp\csr\ta_COSH.obj \ ++..\..\..\..\..\temp\csr\ta_DEMA.obj \ ++..\..\..\..\..\temp\csr\ta_DIV.obj \ ++..\..\..\..\..\temp\csr\ta_DX.obj \ ++..\..\..\..\..\temp\csr\ta_EMA.obj \ ++..\..\..\..\..\temp\csr\ta_EXP.obj \ ++..\..\..\..\..\temp\csr\ta_FLOOR.obj \ ++..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj \ ++..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj \ ++..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj \ ++..\..\..\..\..\temp\csr\ta_HT_SINE.obj \ ++..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj \ ++..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj \ ++..\..\..\..\..\temp\csr\ta_KAMA.obj \ ++..\..\..\..\..\temp\csr\ta_LINEARREG.obj \ ++..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj \ ++..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj \ ++..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj \ ++..\..\..\..\..\temp\csr\ta_LN.obj \ ++..\..\..\..\..\temp\csr\ta_LOG10.obj \ ++..\..\..\..\..\temp\csr\ta_MA.obj \ ++..\..\..\..\..\temp\csr\ta_MACD.obj \ ++..\..\..\..\..\temp\csr\ta_MACDEXT.obj \ ++..\..\..\..\..\temp\csr\ta_MACDFIX.obj \ ++..\..\..\..\..\temp\csr\ta_MAMA.obj \ ++..\..\..\..\..\temp\csr\ta_MAVP.obj \ ++..\..\..\..\..\temp\csr\ta_MAX.obj \ ++..\..\..\..\..\temp\csr\ta_MAXINDEX.obj \ ++..\..\..\..\..\temp\csr\ta_MEDPRICE.obj \ ++..\..\..\..\..\temp\csr\ta_MFI.obj \ ++..\..\..\..\..\temp\csr\ta_MIDPOINT.obj \ ++..\..\..\..\..\temp\csr\ta_MIDPRICE.obj \ ++..\..\..\..\..\temp\csr\ta_MIN.obj \ ++..\..\..\..\..\temp\csr\ta_MININDEX.obj \ ++..\..\..\..\..\temp\csr\ta_MINMAX.obj \ ++..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj \ ++..\..\..\..\..\temp\csr\ta_MINUS_DI.obj \ ++..\..\..\..\..\temp\csr\ta_MINUS_DM.obj \ ++..\..\..\..\..\temp\csr\ta_MOM.obj \ ++..\..\..\..\..\temp\csr\ta_MULT.obj \ ++..\..\..\..\..\temp\csr\ta_NATR.obj \ ++..\..\..\..\..\temp\csr\ta_OBV.obj \ ++..\..\..\..\..\temp\csr\ta_PLUS_DI.obj \ ++..\..\..\..\..\temp\csr\ta_PLUS_DM.obj \ ++..\..\..\..\..\temp\csr\ta_PPO.obj \ ++..\..\..\..\..\temp\csr\ta_ROC.obj \ ++..\..\..\..\..\temp\csr\ta_ROCP.obj \ ++..\..\..\..\..\temp\csr\ta_ROCR.obj \ ++..\..\..\..\..\temp\csr\ta_ROCR100.obj \ ++..\..\..\..\..\temp\csr\ta_RSI.obj \ ++..\..\..\..\..\temp\csr\ta_SAR.obj \ ++..\..\..\..\..\temp\csr\ta_SAREXT.obj \ ++..\..\..\..\..\temp\csr\ta_SIN.obj \ ++..\..\..\..\..\temp\csr\ta_SINH.obj \ ++..\..\..\..\..\temp\csr\ta_SMA.obj \ ++..\..\..\..\..\temp\csr\ta_SQRT.obj \ ++..\..\..\..\..\temp\csr\ta_STDDEV.obj \ ++..\..\..\..\..\temp\csr\ta_STOCH.obj \ ++..\..\..\..\..\temp\csr\ta_STOCHF.obj \ ++..\..\..\..\..\temp\csr\ta_STOCHRSI.obj \ ++..\..\..\..\..\temp\csr\ta_SUB.obj \ ++..\..\..\..\..\temp\csr\ta_SUM.obj \ ++..\..\..\..\..\temp\csr\ta_T3.obj \ ++..\..\..\..\..\temp\csr\ta_TAN.obj \ ++..\..\..\..\..\temp\csr\ta_TANH.obj \ ++..\..\..\..\..\temp\csr\ta_TEMA.obj \ ++..\..\..\..\..\temp\csr\ta_TRANGE.obj \ ++..\..\..\..\..\temp\csr\ta_TRIMA.obj \ ++..\..\..\..\..\temp\csr\ta_TRIX.obj \ ++..\..\..\..\..\temp\csr\ta_TSF.obj \ ++..\..\..\..\..\temp\csr\ta_TYPPRICE.obj \ ++..\..\..\..\..\temp\csr\ta_ULTOSC.obj \ ++..\..\..\..\..\temp\csr\ta_VAR.obj \ ++..\..\..\..\..\temp\csr\ta_WCLPRICE.obj \ ++..\..\..\..\..\temp\csr\ta_WILLR.obj \ ++..\..\..\..\..\temp\csr\ta_WMA.obj \ ++ +| + +moc: $(SRCMOC) + +tmake: ../csr/win32/borland/ta_func/Makefile + +../csr/win32/borland/ta_func/Makefile: ta_func/ta_func.pro + tmake ta_func/ta_func.pro -o ../csr/win32/borland/ta_func/Makefile + +dist: + $(ZIP) ta_func/ta_func.zip ta_func/ta_func.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csr\ta_utility.obj + -del ..\..\..\..\..\temp\csr\ta_ACOS.obj + -del ..\..\..\..\..\temp\csr\ta_AD.obj + -del ..\..\..\..\..\temp\csr\ta_ADD.obj + -del ..\..\..\..\..\temp\csr\ta_ADOSC.obj + -del ..\..\..\..\..\temp\csr\ta_ADX.obj + -del ..\..\..\..\..\temp\csr\ta_ADXR.obj + -del ..\..\..\..\..\temp\csr\ta_APO.obj + -del ..\..\..\..\..\temp\csr\ta_AROON.obj + -del ..\..\..\..\..\temp\csr\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\csr\ta_ASIN.obj + -del ..\..\..\..\..\temp\csr\ta_ATAN.obj + -del ..\..\..\..\..\temp\csr\ta_ATR.obj + -del ..\..\..\..\..\temp\csr\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_BBANDS.obj + -del ..\..\..\..\..\temp\csr\ta_BETA.obj + -del ..\..\..\..\..\temp\csr\ta_BOP.obj + -del ..\..\..\..\..\temp\csr\ta_CCI.obj + -del ..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\csr\ta_CEIL.obj + -del ..\..\..\..\..\temp\csr\ta_CMO.obj + -del ..\..\..\..\..\temp\csr\ta_CORREL.obj + -del ..\..\..\..\..\temp\csr\ta_COS.obj + -del ..\..\..\..\..\temp\csr\ta_COSH.obj + -del ..\..\..\..\..\temp\csr\ta_DEMA.obj + -del ..\..\..\..\..\temp\csr\ta_DIV.obj + -del ..\..\..\..\..\temp\csr\ta_DX.obj + -del ..\..\..\..\..\temp\csr\ta_EMA.obj + -del ..\..\..\..\..\temp\csr\ta_EXP.obj + -del ..\..\..\..\..\temp\csr\ta_FLOOR.obj + -del ..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\csr\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\csr\ta_KAMA.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\csr\ta_LN.obj + -del ..\..\..\..\..\temp\csr\ta_LOG10.obj + -del ..\..\..\..\..\temp\csr\ta_MA.obj + -del ..\..\..\..\..\temp\csr\ta_MACD.obj + -del ..\..\..\..\..\temp\csr\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\csr\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\csr\ta_MAMA.obj + -del ..\..\..\..\..\temp\csr\ta_MAVP.obj + -del ..\..\..\..\..\temp\csr\ta_MAX.obj + -del ..\..\..\..\..\temp\csr\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\csr\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_MFI.obj + -del ..\..\..\..\..\temp\csr\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\csr\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_MIN.obj + -del ..\..\..\..\..\temp\csr\ta_MININDEX.obj + -del ..\..\..\..\..\temp\csr\ta_MINMAX.obj + -del ..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\csr\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\csr\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\csr\ta_MOM.obj + -del ..\..\..\..\..\temp\csr\ta_MULT.obj + -del ..\..\..\..\..\temp\csr\ta_NATR.obj + -del ..\..\..\..\..\temp\csr\ta_OBV.obj + -del ..\..\..\..\..\temp\csr\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\csr\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\csr\ta_PPO.obj + -del ..\..\..\..\..\temp\csr\ta_ROC.obj + -del ..\..\..\..\..\temp\csr\ta_ROCP.obj + -del ..\..\..\..\..\temp\csr\ta_ROCR.obj + -del ..\..\..\..\..\temp\csr\ta_ROCR100.obj + -del ..\..\..\..\..\temp\csr\ta_RSI.obj + -del ..\..\..\..\..\temp\csr\ta_SAR.obj + -del ..\..\..\..\..\temp\csr\ta_SAREXT.obj + -del ..\..\..\..\..\temp\csr\ta_SIN.obj + -del ..\..\..\..\..\temp\csr\ta_SINH.obj + -del ..\..\..\..\..\temp\csr\ta_SMA.obj + -del ..\..\..\..\..\temp\csr\ta_SQRT.obj + -del ..\..\..\..\..\temp\csr\ta_STDDEV.obj + -del ..\..\..\..\..\temp\csr\ta_STOCH.obj + -del ..\..\..\..\..\temp\csr\ta_STOCHF.obj + -del ..\..\..\..\..\temp\csr\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\csr\ta_SUB.obj + -del ..\..\..\..\..\temp\csr\ta_SUM.obj + -del ..\..\..\..\..\temp\csr\ta_T3.obj + -del ..\..\..\..\..\temp\csr\ta_TAN.obj + -del ..\..\..\..\..\temp\csr\ta_TANH.obj + -del ..\..\..\..\..\temp\csr\ta_TEMA.obj + -del ..\..\..\..\..\temp\csr\ta_TRANGE.obj + -del ..\..\..\..\..\temp\csr\ta_TRIMA.obj + -del ..\..\..\..\..\temp\csr\ta_TRIX.obj + -del ..\..\..\..\..\temp\csr\ta_TSF.obj + -del ..\..\..\..\..\temp\csr\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\csr\ta_VAR.obj + -del ..\..\..\..\..\temp\csr\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_WILLR.obj + -del ..\..\..\..\..\temp\csr\ta_WMA.obj + -del $(TARGET) + -del ta_func_csr.tds + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csr/*.pch + -del ../../../../../temp/csr/*.idb + -del ../../../../../temp/csr/ta_func/*.pch + -del ../../../../../temp/csr/ta_func/*.idb + -del ../../../../../temp/csr/ta_func/*.obj + +####### Compile + +..\..\..\..\..\temp\csr\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\csr\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\csr\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\csr\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\csr\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\csr\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\csr\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\csr\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\csr\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\csr\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\csr\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\csr\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\csr\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\csr\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\csr\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\csr\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\csr\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\csr\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\csr\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\csr\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\csr\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\csr\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\csr\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\csr\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\csr\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\csr\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\csr\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\csr\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\csr\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\csr\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\csr\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\csr\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\csr\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\csr\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\csr\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\csr\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\csr\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\csr\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\csr\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\csr\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\csr\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\csr\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\csr\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\csr\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\csr\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\csr\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\csr\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\csr\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\csr\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\csr\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\csr\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\csr\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\csr\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\csr\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\csr\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\csr\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\csr\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\csr\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\csr\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\csr\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\csr\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\csr\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\csr\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\csr\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\csr\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\csr\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\csr\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\csr\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\csr\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\csr\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\csr\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\csr\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\csr\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\csr\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\csr\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\csr\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\csr\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\csr\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\csr\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\csr\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\csr\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\csr\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\csr\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\csr\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\csr\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\csr\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\csr\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\csr\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\csr\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\csr\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\csr\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\csr\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\csr\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/csr/win32/borland/ta_libc/Makefile b/vendor/ta-lib/make/csr/win32/borland/ta_libc/Makefile new file mode 100644 index 000000000..bd4418ff8 --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/borland/ta_libc/Makefile @@ -0,0 +1,1438 @@ +############################################################################# +# Makefile for building ta_libc_csr +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +####### Compiler, tools and options + +CC = bcc32 +CXX = bcc32 +CFLAGS = -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -O2 -DTA_SINGLE_THREAD -DWIN32 -DNO_DEBUG +CXXFLAGS= -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -O2 -DTA_SINGLE_THREAD -DWIN32 -DNO_DEBUG +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"$(QTDIR)\include" +LIB = tlib /C /P256 +MOC = moc +UIC = uic + +ZIP = zip -r -9 +DEF_FILE = +RES_FILE = + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c \ + ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\csr\ta_global.obj \ + ..\..\..\..\..\temp\csr\ta_retcode.obj \ + ..\..\..\..\..\temp\csr\ta_version.obj \ + ..\..\..\..\..\temp\csr\ta_abstract.obj \ + ..\..\..\..\..\temp\csr\ta_def_ui.obj \ + ..\..\..\..\..\temp\csr\ta_func_api.obj \ + ..\..\..\..\..\temp\csr\ta_group_idx.obj \ + ..\..\..\..\..\temp\csr\ta_frame.obj \ + ..\..\..\..\..\temp\csr\table_a.obj \ + ..\..\..\..\..\temp\csr\table_b.obj \ + ..\..\..\..\..\temp\csr\table_c.obj \ + ..\..\..\..\..\temp\csr\table_d.obj \ + ..\..\..\..\..\temp\csr\table_e.obj \ + ..\..\..\..\..\temp\csr\table_f.obj \ + ..\..\..\..\..\temp\csr\table_g.obj \ + ..\..\..\..\..\temp\csr\table_h.obj \ + ..\..\..\..\..\temp\csr\table_i.obj \ + ..\..\..\..\..\temp\csr\table_j.obj \ + ..\..\..\..\..\temp\csr\table_k.obj \ + ..\..\..\..\..\temp\csr\table_l.obj \ + ..\..\..\..\..\temp\csr\table_m.obj \ + ..\..\..\..\..\temp\csr\table_n.obj \ + ..\..\..\..\..\temp\csr\table_o.obj \ + ..\..\..\..\..\temp\csr\table_p.obj \ + ..\..\..\..\..\temp\csr\table_q.obj \ + ..\..\..\..\..\temp\csr\table_r.obj \ + ..\..\..\..\..\temp\csr\table_s.obj \ + ..\..\..\..\..\temp\csr\table_t.obj \ + ..\..\..\..\..\temp\csr\table_u.obj \ + ..\..\..\..\..\temp\csr\table_v.obj \ + ..\..\..\..\..\temp\csr\table_w.obj \ + ..\..\..\..\..\temp\csr\table_x.obj \ + ..\..\..\..\..\temp\csr\table_y.obj \ + ..\..\..\..\..\temp\csr\table_z.obj \ + ..\..\..\..\..\temp\csr\ta_utility.obj \ + ..\..\..\..\..\temp\csr\ta_ACOS.obj \ + ..\..\..\..\..\temp\csr\ta_AD.obj \ + ..\..\..\..\..\temp\csr\ta_ADD.obj \ + ..\..\..\..\..\temp\csr\ta_ADOSC.obj \ + ..\..\..\..\..\temp\csr\ta_ADX.obj \ + ..\..\..\..\..\temp\csr\ta_ADXR.obj \ + ..\..\..\..\..\temp\csr\ta_APO.obj \ + ..\..\..\..\..\temp\csr\ta_AROON.obj \ + ..\..\..\..\..\temp\csr\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\csr\ta_ASIN.obj \ + ..\..\..\..\..\temp\csr\ta_ATAN.obj \ + ..\..\..\..\..\temp\csr\ta_ATR.obj \ + ..\..\..\..\..\temp\csr\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_BBANDS.obj \ + ..\..\..\..\..\temp\csr\ta_BETA.obj \ + ..\..\..\..\..\temp\csr\ta_BOP.obj \ + ..\..\..\..\..\temp\csr\ta_CCI.obj \ + ..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\csr\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\csr\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\csr\ta_CEIL.obj \ + ..\..\..\..\..\temp\csr\ta_CMO.obj \ + ..\..\..\..\..\temp\csr\ta_CORREL.obj \ + ..\..\..\..\..\temp\csr\ta_COS.obj \ + ..\..\..\..\..\temp\csr\ta_COSH.obj \ + ..\..\..\..\..\temp\csr\ta_DEMA.obj \ + ..\..\..\..\..\temp\csr\ta_DIV.obj \ + ..\..\..\..\..\temp\csr\ta_DX.obj \ + ..\..\..\..\..\temp\csr\ta_EMA.obj \ + ..\..\..\..\..\temp\csr\ta_EXP.obj \ + ..\..\..\..\..\temp\csr\ta_FLOOR.obj \ + ..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\csr\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\csr\ta_KAMA.obj \ + ..\..\..\..\..\temp\csr\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\csr\ta_LN.obj \ + ..\..\..\..\..\temp\csr\ta_LOG10.obj \ + ..\..\..\..\..\temp\csr\ta_MA.obj \ + ..\..\..\..\..\temp\csr\ta_MACD.obj \ + ..\..\..\..\..\temp\csr\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\csr\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\csr\ta_MAMA.obj \ + ..\..\..\..\..\temp\csr\ta_MAVP.obj \ + ..\..\..\..\..\temp\csr\ta_MAX.obj \ + ..\..\..\..\..\temp\csr\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\csr\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_MFI.obj \ + ..\..\..\..\..\temp\csr\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\csr\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_MIN.obj \ + ..\..\..\..\..\temp\csr\ta_MININDEX.obj \ + ..\..\..\..\..\temp\csr\ta_MINMAX.obj \ + ..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\csr\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\csr\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\csr\ta_MOM.obj \ + ..\..\..\..\..\temp\csr\ta_MULT.obj \ + ..\..\..\..\..\temp\csr\ta_NATR.obj \ + ..\..\..\..\..\temp\csr\ta_OBV.obj \ + ..\..\..\..\..\temp\csr\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\csr\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\csr\ta_PPO.obj \ + ..\..\..\..\..\temp\csr\ta_ROC.obj \ + ..\..\..\..\..\temp\csr\ta_ROCP.obj \ + ..\..\..\..\..\temp\csr\ta_ROCR.obj \ + ..\..\..\..\..\temp\csr\ta_ROCR100.obj \ + ..\..\..\..\..\temp\csr\ta_RSI.obj \ + ..\..\..\..\..\temp\csr\ta_SAR.obj \ + ..\..\..\..\..\temp\csr\ta_SAREXT.obj \ + ..\..\..\..\..\temp\csr\ta_SIN.obj \ + ..\..\..\..\..\temp\csr\ta_SINH.obj \ + ..\..\..\..\..\temp\csr\ta_SMA.obj \ + ..\..\..\..\..\temp\csr\ta_SQRT.obj \ + ..\..\..\..\..\temp\csr\ta_STDDEV.obj \ + ..\..\..\..\..\temp\csr\ta_STOCH.obj \ + ..\..\..\..\..\temp\csr\ta_STOCHF.obj \ + ..\..\..\..\..\temp\csr\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\csr\ta_SUB.obj \ + ..\..\..\..\..\temp\csr\ta_SUM.obj \ + ..\..\..\..\..\temp\csr\ta_T3.obj \ + ..\..\..\..\..\temp\csr\ta_TAN.obj \ + ..\..\..\..\..\temp\csr\ta_TANH.obj \ + ..\..\..\..\..\temp\csr\ta_TEMA.obj \ + ..\..\..\..\..\temp\csr\ta_TRANGE.obj \ + ..\..\..\..\..\temp\csr\ta_TRIMA.obj \ + ..\..\..\..\..\temp\csr\ta_TRIX.obj \ + ..\..\..\..\..\temp\csr\ta_TSF.obj \ + ..\..\..\..\..\temp\csr\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\csr\ta_VAR.obj \ + ..\..\..\..\..\temp\csr\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_WILLR.obj \ + ..\..\..\..\..\temp\csr\ta_WMA.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_libc_csr.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) @&&| ++..\..\..\..\..\temp\csr\ta_global.obj \ ++..\..\..\..\..\temp\csr\ta_retcode.obj \ ++..\..\..\..\..\temp\csr\ta_version.obj \ ++..\..\..\..\..\temp\csr\ta_abstract.obj \ ++..\..\..\..\..\temp\csr\ta_def_ui.obj \ ++..\..\..\..\..\temp\csr\ta_func_api.obj \ ++..\..\..\..\..\temp\csr\ta_group_idx.obj \ ++..\..\..\..\..\temp\csr\ta_frame.obj \ ++..\..\..\..\..\temp\csr\table_a.obj \ ++..\..\..\..\..\temp\csr\table_b.obj \ ++..\..\..\..\..\temp\csr\table_c.obj \ ++..\..\..\..\..\temp\csr\table_d.obj \ ++..\..\..\..\..\temp\csr\table_e.obj \ ++..\..\..\..\..\temp\csr\table_f.obj \ ++..\..\..\..\..\temp\csr\table_g.obj \ ++..\..\..\..\..\temp\csr\table_h.obj \ ++..\..\..\..\..\temp\csr\table_i.obj \ ++..\..\..\..\..\temp\csr\table_j.obj \ ++..\..\..\..\..\temp\csr\table_k.obj \ ++..\..\..\..\..\temp\csr\table_l.obj \ ++..\..\..\..\..\temp\csr\table_m.obj \ ++..\..\..\..\..\temp\csr\table_n.obj \ ++..\..\..\..\..\temp\csr\table_o.obj \ ++..\..\..\..\..\temp\csr\table_p.obj \ ++..\..\..\..\..\temp\csr\table_q.obj \ ++..\..\..\..\..\temp\csr\table_r.obj \ ++..\..\..\..\..\temp\csr\table_s.obj \ ++..\..\..\..\..\temp\csr\table_t.obj \ ++..\..\..\..\..\temp\csr\table_u.obj \ ++..\..\..\..\..\temp\csr\table_v.obj \ ++..\..\..\..\..\temp\csr\table_w.obj \ ++..\..\..\..\..\temp\csr\table_x.obj \ ++..\..\..\..\..\temp\csr\table_y.obj \ ++..\..\..\..\..\temp\csr\table_z.obj \ ++..\..\..\..\..\temp\csr\ta_utility.obj \ ++..\..\..\..\..\temp\csr\ta_ACOS.obj \ ++..\..\..\..\..\temp\csr\ta_AD.obj \ ++..\..\..\..\..\temp\csr\ta_ADD.obj \ ++..\..\..\..\..\temp\csr\ta_ADOSC.obj \ ++..\..\..\..\..\temp\csr\ta_ADX.obj \ ++..\..\..\..\..\temp\csr\ta_ADXR.obj \ ++..\..\..\..\..\temp\csr\ta_APO.obj \ ++..\..\..\..\..\temp\csr\ta_AROON.obj \ ++..\..\..\..\..\temp\csr\ta_AROONOSC.obj \ ++..\..\..\..\..\temp\csr\ta_ASIN.obj \ ++..\..\..\..\..\temp\csr\ta_ATAN.obj \ ++..\..\..\..\..\temp\csr\ta_ATR.obj \ ++..\..\..\..\..\temp\csr\ta_AVGPRICE.obj \ ++..\..\..\..\..\temp\csr\ta_BBANDS.obj \ ++..\..\..\..\..\temp\csr\ta_BETA.obj \ ++..\..\..\..\..\temp\csr\ta_BOP.obj \ ++..\..\..\..\..\temp\csr\ta_CCI.obj \ ++..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj \ ++..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj \ ++..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj \ ++..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj \ ++..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj \ ++..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj \ ++..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj \ ++..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj \ ++..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj \ ++..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj \ ++..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj \ ++..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj \ ++..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj \ ++..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj \ ++..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj \ ++..\..\..\..\..\temp\csr\ta_CDLDOJI.obj \ ++..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj \ ++..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj \ ++..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj \ ++..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj \ ++..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj \ ++..\..\..\..\..\temp\csr\ta_CDLINNECK.obj \ ++..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj \ ++..\..\..\..\..\temp\csr\ta_CDLKICKING.obj \ ++..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj \ ++..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj \ ++..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj \ ++..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj \ ++..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj \ ++..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj \ ++..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj \ ++..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLONNECK.obj \ ++..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj \ ++..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj \ ++..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj \ ++..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj \ ++..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj \ ++..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj \ ++..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj \ ++..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj \ ++..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj \ ++..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj \ ++..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj \ ++..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj \ ++..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj \ ++..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj \ ++..\..\..\..\..\temp\csr\ta_CEIL.obj \ ++..\..\..\..\..\temp\csr\ta_CMO.obj \ ++..\..\..\..\..\temp\csr\ta_CORREL.obj \ ++..\..\..\..\..\temp\csr\ta_COS.obj \ ++..\..\..\..\..\temp\csr\ta_COSH.obj \ ++..\..\..\..\..\temp\csr\ta_DEMA.obj \ ++..\..\..\..\..\temp\csr\ta_DIV.obj \ ++..\..\..\..\..\temp\csr\ta_DX.obj \ ++..\..\..\..\..\temp\csr\ta_EMA.obj \ ++..\..\..\..\..\temp\csr\ta_EXP.obj \ ++..\..\..\..\..\temp\csr\ta_FLOOR.obj \ ++..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj \ ++..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj \ ++..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj \ ++..\..\..\..\..\temp\csr\ta_HT_SINE.obj \ ++..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj \ ++..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj \ ++..\..\..\..\..\temp\csr\ta_KAMA.obj \ ++..\..\..\..\..\temp\csr\ta_LINEARREG.obj \ ++..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj \ ++..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj \ ++..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj \ ++..\..\..\..\..\temp\csr\ta_LN.obj \ ++..\..\..\..\..\temp\csr\ta_LOG10.obj \ ++..\..\..\..\..\temp\csr\ta_MA.obj \ ++..\..\..\..\..\temp\csr\ta_MACD.obj \ ++..\..\..\..\..\temp\csr\ta_MACDEXT.obj \ ++..\..\..\..\..\temp\csr\ta_MACDFIX.obj \ ++..\..\..\..\..\temp\csr\ta_MAMA.obj \ ++..\..\..\..\..\temp\csr\ta_MAVP.obj \ ++..\..\..\..\..\temp\csr\ta_MAX.obj \ ++..\..\..\..\..\temp\csr\ta_MAXINDEX.obj \ ++..\..\..\..\..\temp\csr\ta_MEDPRICE.obj \ ++..\..\..\..\..\temp\csr\ta_MFI.obj \ ++..\..\..\..\..\temp\csr\ta_MIDPOINT.obj \ ++..\..\..\..\..\temp\csr\ta_MIDPRICE.obj \ ++..\..\..\..\..\temp\csr\ta_MIN.obj \ ++..\..\..\..\..\temp\csr\ta_MININDEX.obj \ ++..\..\..\..\..\temp\csr\ta_MINMAX.obj \ ++..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj \ ++..\..\..\..\..\temp\csr\ta_MINUS_DI.obj \ ++..\..\..\..\..\temp\csr\ta_MINUS_DM.obj \ ++..\..\..\..\..\temp\csr\ta_MOM.obj \ ++..\..\..\..\..\temp\csr\ta_MULT.obj \ ++..\..\..\..\..\temp\csr\ta_NATR.obj \ ++..\..\..\..\..\temp\csr\ta_OBV.obj \ ++..\..\..\..\..\temp\csr\ta_PLUS_DI.obj \ ++..\..\..\..\..\temp\csr\ta_PLUS_DM.obj \ ++..\..\..\..\..\temp\csr\ta_PPO.obj \ ++..\..\..\..\..\temp\csr\ta_ROC.obj \ ++..\..\..\..\..\temp\csr\ta_ROCP.obj \ ++..\..\..\..\..\temp\csr\ta_ROCR.obj \ ++..\..\..\..\..\temp\csr\ta_ROCR100.obj \ ++..\..\..\..\..\temp\csr\ta_RSI.obj \ ++..\..\..\..\..\temp\csr\ta_SAR.obj \ ++..\..\..\..\..\temp\csr\ta_SAREXT.obj \ ++..\..\..\..\..\temp\csr\ta_SIN.obj \ ++..\..\..\..\..\temp\csr\ta_SINH.obj \ ++..\..\..\..\..\temp\csr\ta_SMA.obj \ ++..\..\..\..\..\temp\csr\ta_SQRT.obj \ ++..\..\..\..\..\temp\csr\ta_STDDEV.obj \ ++..\..\..\..\..\temp\csr\ta_STOCH.obj \ ++..\..\..\..\..\temp\csr\ta_STOCHF.obj \ ++..\..\..\..\..\temp\csr\ta_STOCHRSI.obj \ ++..\..\..\..\..\temp\csr\ta_SUB.obj \ ++..\..\..\..\..\temp\csr\ta_SUM.obj \ ++..\..\..\..\..\temp\csr\ta_T3.obj \ ++..\..\..\..\..\temp\csr\ta_TAN.obj \ ++..\..\..\..\..\temp\csr\ta_TANH.obj \ ++..\..\..\..\..\temp\csr\ta_TEMA.obj \ ++..\..\..\..\..\temp\csr\ta_TRANGE.obj \ ++..\..\..\..\..\temp\csr\ta_TRIMA.obj \ ++..\..\..\..\..\temp\csr\ta_TRIX.obj \ ++..\..\..\..\..\temp\csr\ta_TSF.obj \ ++..\..\..\..\..\temp\csr\ta_TYPPRICE.obj \ ++..\..\..\..\..\temp\csr\ta_ULTOSC.obj \ ++..\..\..\..\..\temp\csr\ta_VAR.obj \ ++..\..\..\..\..\temp\csr\ta_WCLPRICE.obj \ ++..\..\..\..\..\temp\csr\ta_WILLR.obj \ ++..\..\..\..\..\temp\csr\ta_WMA.obj \ ++ +| + +moc: $(SRCMOC) + +tmake: ../csr/win32/borland/ta_libc/Makefile + +../csr/win32/borland/ta_libc/Makefile: ta_libc/ta_libc.pro + tmake ta_libc/ta_libc.pro -o ../csr/win32/borland/ta_libc/Makefile + +dist: + $(ZIP) ta_libc/ta_libc.zip ta_libc/ta_libc.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csr\ta_global.obj + -del ..\..\..\..\..\temp\csr\ta_retcode.obj + -del ..\..\..\..\..\temp\csr\ta_version.obj + -del ..\..\..\..\..\temp\csr\ta_abstract.obj + -del ..\..\..\..\..\temp\csr\ta_def_ui.obj + -del ..\..\..\..\..\temp\csr\ta_func_api.obj + -del ..\..\..\..\..\temp\csr\ta_group_idx.obj + -del ..\..\..\..\..\temp\csr\ta_frame.obj + -del ..\..\..\..\..\temp\csr\table_a.obj + -del ..\..\..\..\..\temp\csr\table_b.obj + -del ..\..\..\..\..\temp\csr\table_c.obj + -del ..\..\..\..\..\temp\csr\table_d.obj + -del ..\..\..\..\..\temp\csr\table_e.obj + -del ..\..\..\..\..\temp\csr\table_f.obj + -del ..\..\..\..\..\temp\csr\table_g.obj + -del ..\..\..\..\..\temp\csr\table_h.obj + -del ..\..\..\..\..\temp\csr\table_i.obj + -del ..\..\..\..\..\temp\csr\table_j.obj + -del ..\..\..\..\..\temp\csr\table_k.obj + -del ..\..\..\..\..\temp\csr\table_l.obj + -del ..\..\..\..\..\temp\csr\table_m.obj + -del ..\..\..\..\..\temp\csr\table_n.obj + -del ..\..\..\..\..\temp\csr\table_o.obj + -del ..\..\..\..\..\temp\csr\table_p.obj + -del ..\..\..\..\..\temp\csr\table_q.obj + -del ..\..\..\..\..\temp\csr\table_r.obj + -del ..\..\..\..\..\temp\csr\table_s.obj + -del ..\..\..\..\..\temp\csr\table_t.obj + -del ..\..\..\..\..\temp\csr\table_u.obj + -del ..\..\..\..\..\temp\csr\table_v.obj + -del ..\..\..\..\..\temp\csr\table_w.obj + -del ..\..\..\..\..\temp\csr\table_x.obj + -del ..\..\..\..\..\temp\csr\table_y.obj + -del ..\..\..\..\..\temp\csr\table_z.obj + -del ..\..\..\..\..\temp\csr\ta_utility.obj + -del ..\..\..\..\..\temp\csr\ta_ACOS.obj + -del ..\..\..\..\..\temp\csr\ta_AD.obj + -del ..\..\..\..\..\temp\csr\ta_ADD.obj + -del ..\..\..\..\..\temp\csr\ta_ADOSC.obj + -del ..\..\..\..\..\temp\csr\ta_ADX.obj + -del ..\..\..\..\..\temp\csr\ta_ADXR.obj + -del ..\..\..\..\..\temp\csr\ta_APO.obj + -del ..\..\..\..\..\temp\csr\ta_AROON.obj + -del ..\..\..\..\..\temp\csr\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\csr\ta_ASIN.obj + -del ..\..\..\..\..\temp\csr\ta_ATAN.obj + -del ..\..\..\..\..\temp\csr\ta_ATR.obj + -del ..\..\..\..\..\temp\csr\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_BBANDS.obj + -del ..\..\..\..\..\temp\csr\ta_BETA.obj + -del ..\..\..\..\..\temp\csr\ta_BOP.obj + -del ..\..\..\..\..\temp\csr\ta_CCI.obj + -del ..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\csr\ta_CEIL.obj + -del ..\..\..\..\..\temp\csr\ta_CMO.obj + -del ..\..\..\..\..\temp\csr\ta_CORREL.obj + -del ..\..\..\..\..\temp\csr\ta_COS.obj + -del ..\..\..\..\..\temp\csr\ta_COSH.obj + -del ..\..\..\..\..\temp\csr\ta_DEMA.obj + -del ..\..\..\..\..\temp\csr\ta_DIV.obj + -del ..\..\..\..\..\temp\csr\ta_DX.obj + -del ..\..\..\..\..\temp\csr\ta_EMA.obj + -del ..\..\..\..\..\temp\csr\ta_EXP.obj + -del ..\..\..\..\..\temp\csr\ta_FLOOR.obj + -del ..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\csr\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\csr\ta_KAMA.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\csr\ta_LN.obj + -del ..\..\..\..\..\temp\csr\ta_LOG10.obj + -del ..\..\..\..\..\temp\csr\ta_MA.obj + -del ..\..\..\..\..\temp\csr\ta_MACD.obj + -del ..\..\..\..\..\temp\csr\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\csr\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\csr\ta_MAMA.obj + -del ..\..\..\..\..\temp\csr\ta_MAVP.obj + -del ..\..\..\..\..\temp\csr\ta_MAX.obj + -del ..\..\..\..\..\temp\csr\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\csr\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_MFI.obj + -del ..\..\..\..\..\temp\csr\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\csr\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_MIN.obj + -del ..\..\..\..\..\temp\csr\ta_MININDEX.obj + -del ..\..\..\..\..\temp\csr\ta_MINMAX.obj + -del ..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\csr\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\csr\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\csr\ta_MOM.obj + -del ..\..\..\..\..\temp\csr\ta_MULT.obj + -del ..\..\..\..\..\temp\csr\ta_NATR.obj + -del ..\..\..\..\..\temp\csr\ta_OBV.obj + -del ..\..\..\..\..\temp\csr\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\csr\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\csr\ta_PPO.obj + -del ..\..\..\..\..\temp\csr\ta_ROC.obj + -del ..\..\..\..\..\temp\csr\ta_ROCP.obj + -del ..\..\..\..\..\temp\csr\ta_ROCR.obj + -del ..\..\..\..\..\temp\csr\ta_ROCR100.obj + -del ..\..\..\..\..\temp\csr\ta_RSI.obj + -del ..\..\..\..\..\temp\csr\ta_SAR.obj + -del ..\..\..\..\..\temp\csr\ta_SAREXT.obj + -del ..\..\..\..\..\temp\csr\ta_SIN.obj + -del ..\..\..\..\..\temp\csr\ta_SINH.obj + -del ..\..\..\..\..\temp\csr\ta_SMA.obj + -del ..\..\..\..\..\temp\csr\ta_SQRT.obj + -del ..\..\..\..\..\temp\csr\ta_STDDEV.obj + -del ..\..\..\..\..\temp\csr\ta_STOCH.obj + -del ..\..\..\..\..\temp\csr\ta_STOCHF.obj + -del ..\..\..\..\..\temp\csr\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\csr\ta_SUB.obj + -del ..\..\..\..\..\temp\csr\ta_SUM.obj + -del ..\..\..\..\..\temp\csr\ta_T3.obj + -del ..\..\..\..\..\temp\csr\ta_TAN.obj + -del ..\..\..\..\..\temp\csr\ta_TANH.obj + -del ..\..\..\..\..\temp\csr\ta_TEMA.obj + -del ..\..\..\..\..\temp\csr\ta_TRANGE.obj + -del ..\..\..\..\..\temp\csr\ta_TRIMA.obj + -del ..\..\..\..\..\temp\csr\ta_TRIX.obj + -del ..\..\..\..\..\temp\csr\ta_TSF.obj + -del ..\..\..\..\..\temp\csr\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\csr\ta_VAR.obj + -del ..\..\..\..\..\temp\csr\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_WILLR.obj + -del ..\..\..\..\..\temp\csr\ta_WMA.obj + -del $(TARGET) + -del ta_libc_csr.tds + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + +####### Compile + +..\..\..\..\..\temp\csr\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\csr\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\csr\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + +..\..\..\..\..\temp\csr\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\csr\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\csr\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\csr\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\csr\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\csr\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\csr\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\csr\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\csr\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\csr\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\csr\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\csr\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\csr\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\csr\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\csr\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\csr\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\csr\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\csr\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\csr\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\csr\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\csr\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\csr\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\csr\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\csr\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\csr\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\csr\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\csr\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\csr\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\csr\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\csr\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\csr\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + +..\..\..\..\..\temp\csr\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\csr\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\csr\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\csr\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\csr\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\csr\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\csr\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\csr\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\csr\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\csr\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\csr\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\csr\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\csr\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\csr\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\csr\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\csr\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\csr\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\csr\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\csr\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\csr\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\csr\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\csr\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\csr\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\csr\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\csr\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\csr\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\csr\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\csr\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\csr\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\csr\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\csr\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\csr\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\csr\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\csr\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\csr\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\csr\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\csr\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\csr\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\csr\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\csr\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\csr\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\csr\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\csr\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\csr\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\csr\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\csr\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\csr\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\csr\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\csr\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\csr\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\csr\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\csr\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\csr\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\csr\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\csr\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\csr\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\csr\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\csr\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\csr\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\csr\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\csr\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\csr\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\csr\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\csr\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\csr\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\csr\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\csr\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\csr\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\csr\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\csr\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\csr\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\csr\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\csr\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\csr\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\csr\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\csr\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\csr\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\csr\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\csr\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\csr\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\csr\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\csr\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\csr\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\csr\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\csr\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\csr\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\csr\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\csr\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\csr\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\csr\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\csr\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\csr\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\csr\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/csr/win32/borland/ta_regtest/Makefile b/vendor/ta-lib/make/csr/win32/borland/ta_regtest/Makefile new file mode 100644 index 000000000..d9c8b5140 --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/borland/ta_regtest/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +####### Compiler, tools and options + +CC = bcc32 +CXX = bcc32 +CFLAGS = -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -O2 -DTA_SINGLE_THREAD -DWIN32 +CXXFLAGS= -x- -RT- -tWR -w -w-8004 -w-8071 -w-8057 -w-8080 -O2 -DTA_SINGLE_THREAD -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\tools\ta_regtest" -I"..\..\..\..\..\src\ta_func" -I"..\..\..\..\..\include" +LINK = ilink32 +LFLAGS = -L$(BCB)\lib -L$(BCB)\lib\PSDK -c -x -Gn -ap -Tpe c0x32.obj +LIBS = import32.lib cw32i.lib ..\..\..\..\..\lib\ta_libc_csr.lib +MOC = moc +UIC = uic + +ZIP = zip -r -9 +DEF_FILE = +RES_FILE = + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_internals.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_util.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_data.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c +OBJECTS = ..\..\..\..\..\temp\csr\ta_regtest.obj \ + ..\..\..\..\..\temp\csr\test_candlestick.obj \ + ..\..\..\..\..\temp\csr\test_1in_1out.obj \ + ..\..\..\..\..\temp\csr\test_1in_2out.obj \ + ..\..\..\..\..\temp\csr\test_internals.obj \ + ..\..\..\..\..\temp\csr\test_adx.obj \ + ..\..\..\..\..\temp\csr\test_bbands.obj \ + ..\..\..\..\..\temp\csr\test_ma.obj \ + ..\..\..\..\..\temp\csr\test_macd.obj \ + ..\..\..\..\..\temp\csr\test_minmax.obj \ + ..\..\..\..\..\temp\csr\test_mom.obj \ + ..\..\..\..\..\temp\csr\test_per_ema.obj \ + ..\..\..\..\..\temp\csr\test_per_hl.obj \ + ..\..\..\..\..\temp\csr\test_per_hlc.obj \ + ..\..\..\..\..\temp\csr\test_per_hlcv.obj \ + ..\..\..\..\..\temp\csr\test_per_ohlc.obj \ + ..\..\..\..\..\temp\csr\test_po.obj \ + ..\..\..\..\..\temp\csr\test_rsi.obj \ + ..\..\..\..\..\temp\csr\test_sar.obj \ + ..\..\..\..\..\temp\csr\test_stddev.obj \ + ..\..\..\..\..\temp\csr\test_stoch.obj \ + ..\..\..\..\..\temp\csr\test_trange.obj \ + ..\..\..\..\..\temp\csr\test_util.obj \ + ..\..\..\..\..\temp\csr\test_data.obj \ + ..\..\..\..\..\temp\csr\test_abstract.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\ta_regtest.exe +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) @&&| + $(LFLAGS) $(OBJECTS) $(OBJMOC),$(TARGET),,$(LIBS),$(DEF_FILE),$(RES_FILE) +| + +moc: $(SRCMOC) + +tmake: ../csr/win32/borland/ta_regtest/Makefile + +../csr/win32/borland/ta_regtest/Makefile: ta_regtest/ta_regtest.pro + tmake ta_regtest/ta_regtest.pro -o ../csr/win32/borland/ta_regtest/Makefile + +dist: + $(ZIP) ta_regtest/ta_regtest.zip ta_regtest/ta_regtest.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csr\ta_regtest.obj + -del ..\..\..\..\..\temp\csr\test_candlestick.obj + -del ..\..\..\..\..\temp\csr\test_1in_1out.obj + -del ..\..\..\..\..\temp\csr\test_1in_2out.obj + -del ..\..\..\..\..\temp\csr\test_internals.obj + -del ..\..\..\..\..\temp\csr\test_adx.obj + -del ..\..\..\..\..\temp\csr\test_bbands.obj + -del ..\..\..\..\..\temp\csr\test_ma.obj + -del ..\..\..\..\..\temp\csr\test_macd.obj + -del ..\..\..\..\..\temp\csr\test_minmax.obj + -del ..\..\..\..\..\temp\csr\test_mom.obj + -del ..\..\..\..\..\temp\csr\test_per_ema.obj + -del ..\..\..\..\..\temp\csr\test_per_hl.obj + -del ..\..\..\..\..\temp\csr\test_per_hlc.obj + -del ..\..\..\..\..\temp\csr\test_per_hlcv.obj + -del ..\..\..\..\..\temp\csr\test_per_ohlc.obj + -del ..\..\..\..\..\temp\csr\test_po.obj + -del ..\..\..\..\..\temp\csr\test_rsi.obj + -del ..\..\..\..\..\temp\csr\test_sar.obj + -del ..\..\..\..\..\temp\csr\test_stddev.obj + -del ..\..\..\..\..\temp\csr\test_stoch.obj + -del ..\..\..\..\..\temp\csr\test_trange.obj + -del ..\..\..\..\..\temp\csr\test_util.obj + -del ..\..\..\..\..\temp\csr\test_data.obj + -del ..\..\..\..\..\temp\csr\test_abstract.obj + -del $(TARGET) + -del ta_regtest.tds + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csr/*.pch + -del ../../../../../temp/csr/*.idb + -del ../../../../../temp/csr/ta_regtest/*.pch + -del ../../../../../temp/csr/ta_regtest/*.idb + -del ../../../../../temp/csr/ta_regtest/*.obj + +####### Compile + +..\..\..\..\..\temp\csr\ta_regtest.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_regtest.obj ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + +..\..\..\..\..\temp\csr\test_candlestick.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_candlestick.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + +..\..\..\..\..\temp\csr\test_1in_1out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_1in_1out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + +..\..\..\..\..\temp\csr\test_1in_2out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_1in_2out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + +..\..\..\..\..\temp\csr\test_internals.obj: ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_internals.obj ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + +..\..\..\..\..\temp\csr\test_adx.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_adx.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + +..\..\..\..\..\temp\csr\test_bbands.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_bbands.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + +..\..\..\..\..\temp\csr\test_ma.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_ma.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + +..\..\..\..\..\temp\csr\test_macd.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_macd.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + +..\..\..\..\..\temp\csr\test_minmax.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_minmax.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + +..\..\..\..\..\temp\csr\test_mom.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_mom.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + +..\..\..\..\..\temp\csr\test_per_ema.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_per_ema.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + +..\..\..\..\..\temp\csr\test_per_hl.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_per_hl.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + +..\..\..\..\..\temp\csr\test_per_hlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_per_hlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + +..\..\..\..\..\temp\csr\test_per_hlcv.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_per_hlcv.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + +..\..\..\..\..\temp\csr\test_per_ohlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_per_ohlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + +..\..\..\..\..\temp\csr\test_po.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_po.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + +..\..\..\..\..\temp\csr\test_rsi.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_rsi.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + +..\..\..\..\..\temp\csr\test_sar.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_sar.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + +..\..\..\..\..\temp\csr\test_stddev.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_stddev.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + +..\..\..\..\..\temp\csr\test_stoch.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_stoch.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + +..\..\..\..\..\temp\csr\test_trange.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_trange.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + +..\..\..\..\..\temp\csr\test_util.obj: ..\..\..\..\..\src\tools\ta_regtest\test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_util.obj ..\..\..\..\..\src\tools\ta_regtest\test_util.c + +..\..\..\..\..\temp\csr\test_data.obj: ..\..\..\..\..\src\tools\ta_regtest\test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_data.obj ..\..\..\..\..\src\tools\ta_regtest\test_data.c + +..\..\..\..\..\temp\csr\test_abstract.obj: ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_abstract.obj ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + diff --git a/vendor/ta-lib/make/csr/win32/msvc/Makefile b/vendor/ta-lib/make/csr/win32/msvc/Makefile new file mode 100644 index 000000000..1297e37f5 --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/msvc/Makefile @@ -0,0 +1,97 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +ta_common: FORCE + cd ta_common + $(MAKE) /nologo + @cd .. + +ta_func: FORCE + cd ta_func + $(MAKE) /nologo + @cd .. + +ta_abstract: FORCE + cd ta_abstract + $(MAKE) /nologo + @cd .. + +ta_libc: FORCE + cd ta_libc + $(MAKE) /nologo + @cd .. + +gen_code: FORCE + cd gen_code + $(MAKE) /nologo + @cd .. + +ta_regtest: FORCE + cd ta_regtest + $(MAKE) /nologo + @cd .. + + +tmake: ../csr/win32/msvc/Makefile + +../csr/win32/msvc/Makefile: rootmake.pro + tmake rootmake.pro -o ../csr/win32/msvc/Makefile + +tmake_all: + cd ta_common + $(TMAKE) ta_common.pro -o $(MAKEFILE) + @cd .. + cd ta_func + $(TMAKE) ta_func.pro -o $(MAKEFILE) + @cd .. + cd ta_abstract + $(TMAKE) ta_abstract.pro -o $(MAKEFILE) + @cd .. + cd ta_libc + $(TMAKE) ta_libc.pro -o $(MAKEFILE) + @cd .. + cd gen_code + $(TMAKE) gen_code.pro -o $(MAKEFILE) + @cd .. + cd ta_regtest + $(TMAKE) ta_regtest.pro -o $(MAKEFILE) + @cd .. + + +clean: + cd ta_common + $(MAKE) clean + @cd .. + cd ta_func + $(MAKE) clean + @cd .. + cd ta_abstract + $(MAKE) clean + @cd .. + cd ta_libc + $(MAKE) clean + @cd .. + cd gen_code + $(MAKE) clean + @cd .. + cd ta_regtest + $(MAKE) clean + @cd .. + +FORCE: diff --git a/vendor/ta-lib/make/csr/win32/msvc/gen_code/Makefile b/vendor/ta-lib/make/csr/win32/msvc/gen_code/Makefile new file mode 100644 index 000000000..3d27d82a6 --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/msvc/gen_code/Makefile @@ -0,0 +1,260 @@ +############################################################################# +# Makefile for building gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -O2 -DTA_GEN_CODE -DTA_SINGLE_THREAD -DWIN32 -D_MBCS -D_LIB +CXXFLAGS= -nologo -W3 -O2 -DTA_GEN_CODE -DTA_SINGLE_THREAD -DWIN32 -D_MBCS -D_LIB +INCPATH = -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" +LINK = link +LFLAGS = /NOLOGO /SUBSYSTEM:console +LIBS = ..\..\..\..\..\lib\ta_common_csr.lib +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\gen_code\gen_code.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\csr\gen_code\gen_code.obj \ + ..\..\..\..\..\temp\csr\gen_code\ta_abstract.obj \ + ..\..\..\..\..\temp\csr\gen_code\ta_def_ui.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_a.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_b.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_c.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_d.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_e.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_f.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_g.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_h.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_i.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_j.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_k.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_l.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_m.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_n.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_o.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_p.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_q.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_r.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_s.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_t.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_u.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_v.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_w.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_x.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_y.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_z.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\gen_code.exe +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) $(LIBS) +<< + +moc: $(SRCMOC) + +tmake: ../csr/win32/msvc/gen_code/Makefile + +../csr/win32/msvc/gen_code/Makefile: gen_code/gen_code.pro + tmake gen_code/gen_code.pro -o ../csr/win32/msvc/gen_code/Makefile + +dist: + $(ZIP) gen_code/gen_code.zip gen_code/gen_code.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\csr\gen_code\gen_code.obj + -del ..\..\..\..\..\temp\csr\gen_code\ta_abstract.obj + -del ..\..\..\..\..\temp\csr\gen_code\ta_def_ui.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_a.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_b.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_c.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_d.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_e.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_f.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_g.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_h.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_i.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_j.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_k.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_l.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_m.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_n.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_o.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_p.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_q.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_r.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_s.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_t.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_u.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_v.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_w.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_x.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_y.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csr/*.pch + -del ../../../../../temp/csr/*.idb + -del ../../../../../temp/csr/gen_code/*.pch + -del ../../../../../temp/csr/gen_code/*.idb + -del ../../../../../temp/csr/gen_code/*.obj + +####### Compile + +..\..\..\..\..\temp\csr\gen_code\gen_code.obj: ..\..\..\..\..\src\tools\gen_code\gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\gen_code.obj ..\..\..\..\..\src\tools\gen_code\gen_code.c + +..\..\..\..\..\temp\csr\gen_code\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\csr\gen_code\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\csr\gen_code\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\csr\gen_code\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\csr\gen_code\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\csr\gen_code\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\csr\gen_code\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\csr\gen_code\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\csr\gen_code\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\csr\gen_code\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\csr\gen_code\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\csr\gen_code\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\csr\gen_code\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\csr\gen_code\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\csr\gen_code\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\csr\gen_code\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\csr\gen_code\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\csr\gen_code\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\csr\gen_code\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\csr\gen_code\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\csr\gen_code\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\csr\gen_code\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\csr\gen_code\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\csr\gen_code\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\csr\gen_code\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\csr\gen_code\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\csr\gen_code\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\csr\gen_code\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\gen_code\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/csr/win32/msvc/ta_abstract/Makefile b/vendor/ta-lib/make/csr/win32/msvc/ta_abstract/Makefile new file mode 100644 index 000000000..85707e823 --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/msvc/ta_abstract/Makefile @@ -0,0 +1,270 @@ +############################################################################# +# Makefile for building ta_abstract_csr +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -O2 -DTA_SINGLE_THREAD -DWIN32 -D_MBCS -D_LIB +CXXFLAGS= -nologo -W3 -O2 -DTA_SINGLE_THREAD -DWIN32 -D_MBCS -D_LIB +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"..\..\..\..\..\include" +LIB = lib /NOLOGO +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\csr\ta_abstract.obj \ + ..\..\..\..\..\temp\csr\ta_def_ui.obj \ + ..\..\..\..\..\temp\csr\ta_func_api.obj \ + ..\..\..\..\..\temp\csr\ta_group_idx.obj \ + ..\..\..\..\..\temp\csr\ta_frame.obj \ + ..\..\..\..\..\temp\csr\table_a.obj \ + ..\..\..\..\..\temp\csr\table_b.obj \ + ..\..\..\..\..\temp\csr\table_c.obj \ + ..\..\..\..\..\temp\csr\table_d.obj \ + ..\..\..\..\..\temp\csr\table_e.obj \ + ..\..\..\..\..\temp\csr\table_f.obj \ + ..\..\..\..\..\temp\csr\table_g.obj \ + ..\..\..\..\..\temp\csr\table_h.obj \ + ..\..\..\..\..\temp\csr\table_i.obj \ + ..\..\..\..\..\temp\csr\table_j.obj \ + ..\..\..\..\..\temp\csr\table_k.obj \ + ..\..\..\..\..\temp\csr\table_l.obj \ + ..\..\..\..\..\temp\csr\table_m.obj \ + ..\..\..\..\..\temp\csr\table_n.obj \ + ..\..\..\..\..\temp\csr\table_o.obj \ + ..\..\..\..\..\temp\csr\table_p.obj \ + ..\..\..\..\..\temp\csr\table_q.obj \ + ..\..\..\..\..\temp\csr\table_r.obj \ + ..\..\..\..\..\temp\csr\table_s.obj \ + ..\..\..\..\..\temp\csr\table_t.obj \ + ..\..\..\..\..\temp\csr\table_u.obj \ + ..\..\..\..\..\temp\csr\table_v.obj \ + ..\..\..\..\..\temp\csr\table_w.obj \ + ..\..\..\..\..\temp\csr\table_x.obj \ + ..\..\..\..\..\temp\csr\table_y.obj \ + ..\..\..\..\..\temp\csr\table_z.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_abstract_csr.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LIB) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) +<< + +moc: $(SRCMOC) + +tmake: ../csr/win32/msvc/ta_abstract/Makefile + +../csr/win32/msvc/ta_abstract/Makefile: ta_abstract/ta_abstract.pro + tmake ta_abstract/ta_abstract.pro -o ../csr/win32/msvc/ta_abstract/Makefile + +dist: + $(ZIP) ta_abstract/ta_abstract.zip ta_abstract/ta_abstract.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\csr\ta_abstract.obj + -del ..\..\..\..\..\temp\csr\ta_def_ui.obj + -del ..\..\..\..\..\temp\csr\ta_func_api.obj + -del ..\..\..\..\..\temp\csr\ta_group_idx.obj + -del ..\..\..\..\..\temp\csr\ta_frame.obj + -del ..\..\..\..\..\temp\csr\table_a.obj + -del ..\..\..\..\..\temp\csr\table_b.obj + -del ..\..\..\..\..\temp\csr\table_c.obj + -del ..\..\..\..\..\temp\csr\table_d.obj + -del ..\..\..\..\..\temp\csr\table_e.obj + -del ..\..\..\..\..\temp\csr\table_f.obj + -del ..\..\..\..\..\temp\csr\table_g.obj + -del ..\..\..\..\..\temp\csr\table_h.obj + -del ..\..\..\..\..\temp\csr\table_i.obj + -del ..\..\..\..\..\temp\csr\table_j.obj + -del ..\..\..\..\..\temp\csr\table_k.obj + -del ..\..\..\..\..\temp\csr\table_l.obj + -del ..\..\..\..\..\temp\csr\table_m.obj + -del ..\..\..\..\..\temp\csr\table_n.obj + -del ..\..\..\..\..\temp\csr\table_o.obj + -del ..\..\..\..\..\temp\csr\table_p.obj + -del ..\..\..\..\..\temp\csr\table_q.obj + -del ..\..\..\..\..\temp\csr\table_r.obj + -del ..\..\..\..\..\temp\csr\table_s.obj + -del ..\..\..\..\..\temp\csr\table_t.obj + -del ..\..\..\..\..\temp\csr\table_u.obj + -del ..\..\..\..\..\temp\csr\table_v.obj + -del ..\..\..\..\..\temp\csr\table_w.obj + -del ..\..\..\..\..\temp\csr\table_x.obj + -del ..\..\..\..\..\temp\csr\table_y.obj + -del ..\..\..\..\..\temp\csr\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csr/*.pch + -del ../../../../../temp/csr/*.idb + -del ../../../../../temp/csr/ta_abstract/*.pch + -del ../../../../../temp/csr/ta_abstract/*.idb + -del ../../../../../temp/csr/ta_abstract/*.obj + +####### Compile + +..\..\..\..\..\temp\csr\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\csr\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\csr\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\csr\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\csr\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\csr\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\csr\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\csr\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\csr\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\csr\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\csr\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\csr\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\csr\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\csr\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\csr\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\csr\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\csr\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\csr\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\csr\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\csr\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\csr\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\csr\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\csr\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\csr\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\csr\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\csr\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\csr\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\csr\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\csr\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\csr\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\csr\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/csr/win32/msvc/ta_common/Makefile b/vendor/ta-lib/make/csr/win32/msvc/ta_common/Makefile new file mode 100644 index 000000000..70a8b3524 --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/msvc/ta_common/Makefile @@ -0,0 +1,102 @@ +############################################################################# +# Makefile for building ta_common_csr +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -O2 -DTA_SINGLE_THREAD -DWIN32 -D_MBCS -D_LIB +CXXFLAGS= -nologo -W3 -O2 -DTA_SINGLE_THREAD -DWIN32 -D_MBCS -D_LIB +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" +LIB = lib /NOLOGO +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c +OBJECTS = ..\..\..\..\..\temp\csr\ta_global.obj \ + ..\..\..\..\..\temp\csr\ta_retcode.obj \ + ..\..\..\..\..\temp\csr\ta_version.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_common_csr.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LIB) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) +<< + +moc: $(SRCMOC) + +tmake: ../csr/win32/msvc/ta_common/Makefile + +../csr/win32/msvc/ta_common/Makefile: ta_common/ta_common.pro + tmake ta_common/ta_common.pro -o ../csr/win32/msvc/ta_common/Makefile + +dist: + $(ZIP) ta_common/ta_common.zip ta_common/ta_common.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\csr\ta_global.obj + -del ..\..\..\..\..\temp\csr\ta_retcode.obj + -del ..\..\..\..\..\temp\csr\ta_version.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csr/*.pch + -del ../../../../../temp/csr/*.idb + -del ../../../../../temp/csr/ta_common_csr/*.pch + -del ../../../../../temp/csr/ta_common_csr/*.idb + -del ../../../../../temp/csr/ta_common_csr/*.obj + +####### Compile + +..\..\..\..\..\temp\csr\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\csr\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\csr\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + diff --git a/vendor/ta-lib/make/csr/win32/msvc/ta_func/Makefile b/vendor/ta-lib/make/csr/win32/msvc/ta_func/Makefile new file mode 100644 index 000000000..237c33809 --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/msvc/ta_func/Makefile @@ -0,0 +1,1038 @@ +############################################################################# +# Makefile for building ta_func_csr +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -O2 -DTA_SINGLE_THREAD -DWIN32 -D_MBCS -D_LIB +CXXFLAGS= -nologo -W3 -O2 -DTA_SINGLE_THREAD -DWIN32 -D_MBCS -D_LIB +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"\n" -I"..\..\..\..\..\include" +LIB = lib /NOLOGO +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\csr\ta_utility.obj \ + ..\..\..\..\..\temp\csr\ta_ACOS.obj \ + ..\..\..\..\..\temp\csr\ta_AD.obj \ + ..\..\..\..\..\temp\csr\ta_ADD.obj \ + ..\..\..\..\..\temp\csr\ta_ADOSC.obj \ + ..\..\..\..\..\temp\csr\ta_ADX.obj \ + ..\..\..\..\..\temp\csr\ta_ADXR.obj \ + ..\..\..\..\..\temp\csr\ta_APO.obj \ + ..\..\..\..\..\temp\csr\ta_AROON.obj \ + ..\..\..\..\..\temp\csr\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\csr\ta_ASIN.obj \ + ..\..\..\..\..\temp\csr\ta_ATAN.obj \ + ..\..\..\..\..\temp\csr\ta_ATR.obj \ + ..\..\..\..\..\temp\csr\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_BBANDS.obj \ + ..\..\..\..\..\temp\csr\ta_BETA.obj \ + ..\..\..\..\..\temp\csr\ta_BOP.obj \ + ..\..\..\..\..\temp\csr\ta_CCI.obj \ + ..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\csr\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\csr\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\csr\ta_CEIL.obj \ + ..\..\..\..\..\temp\csr\ta_CMO.obj \ + ..\..\..\..\..\temp\csr\ta_CORREL.obj \ + ..\..\..\..\..\temp\csr\ta_COS.obj \ + ..\..\..\..\..\temp\csr\ta_COSH.obj \ + ..\..\..\..\..\temp\csr\ta_DEMA.obj \ + ..\..\..\..\..\temp\csr\ta_DIV.obj \ + ..\..\..\..\..\temp\csr\ta_DX.obj \ + ..\..\..\..\..\temp\csr\ta_EMA.obj \ + ..\..\..\..\..\temp\csr\ta_EXP.obj \ + ..\..\..\..\..\temp\csr\ta_FLOOR.obj \ + ..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\csr\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\csr\ta_KAMA.obj \ + ..\..\..\..\..\temp\csr\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\csr\ta_LN.obj \ + ..\..\..\..\..\temp\csr\ta_LOG10.obj \ + ..\..\..\..\..\temp\csr\ta_MA.obj \ + ..\..\..\..\..\temp\csr\ta_MACD.obj \ + ..\..\..\..\..\temp\csr\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\csr\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\csr\ta_MAMA.obj \ + ..\..\..\..\..\temp\csr\ta_MAVP.obj \ + ..\..\..\..\..\temp\csr\ta_MAX.obj \ + ..\..\..\..\..\temp\csr\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\csr\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_MFI.obj \ + ..\..\..\..\..\temp\csr\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\csr\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_MIN.obj \ + ..\..\..\..\..\temp\csr\ta_MININDEX.obj \ + ..\..\..\..\..\temp\csr\ta_MINMAX.obj \ + ..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\csr\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\csr\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\csr\ta_MOM.obj \ + ..\..\..\..\..\temp\csr\ta_MULT.obj \ + ..\..\..\..\..\temp\csr\ta_NATR.obj \ + ..\..\..\..\..\temp\csr\ta_OBV.obj \ + ..\..\..\..\..\temp\csr\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\csr\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\csr\ta_PPO.obj \ + ..\..\..\..\..\temp\csr\ta_ROC.obj \ + ..\..\..\..\..\temp\csr\ta_ROCP.obj \ + ..\..\..\..\..\temp\csr\ta_ROCR.obj \ + ..\..\..\..\..\temp\csr\ta_ROCR100.obj \ + ..\..\..\..\..\temp\csr\ta_RSI.obj \ + ..\..\..\..\..\temp\csr\ta_SAR.obj \ + ..\..\..\..\..\temp\csr\ta_SAREXT.obj \ + ..\..\..\..\..\temp\csr\ta_SIN.obj \ + ..\..\..\..\..\temp\csr\ta_SINH.obj \ + ..\..\..\..\..\temp\csr\ta_SMA.obj \ + ..\..\..\..\..\temp\csr\ta_SQRT.obj \ + ..\..\..\..\..\temp\csr\ta_STDDEV.obj \ + ..\..\..\..\..\temp\csr\ta_STOCH.obj \ + ..\..\..\..\..\temp\csr\ta_STOCHF.obj \ + ..\..\..\..\..\temp\csr\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\csr\ta_SUB.obj \ + ..\..\..\..\..\temp\csr\ta_SUM.obj \ + ..\..\..\..\..\temp\csr\ta_T3.obj \ + ..\..\..\..\..\temp\csr\ta_TAN.obj \ + ..\..\..\..\..\temp\csr\ta_TANH.obj \ + ..\..\..\..\..\temp\csr\ta_TEMA.obj \ + ..\..\..\..\..\temp\csr\ta_TRANGE.obj \ + ..\..\..\..\..\temp\csr\ta_TRIMA.obj \ + ..\..\..\..\..\temp\csr\ta_TRIX.obj \ + ..\..\..\..\..\temp\csr\ta_TSF.obj \ + ..\..\..\..\..\temp\csr\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\csr\ta_VAR.obj \ + ..\..\..\..\..\temp\csr\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_WILLR.obj \ + ..\..\..\..\..\temp\csr\ta_WMA.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_func_csr.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LIB) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) +<< + +moc: $(SRCMOC) + +tmake: ../csr/win32/msvc/ta_func/Makefile + +../csr/win32/msvc/ta_func/Makefile: ta_func/ta_func.pro + tmake ta_func/ta_func.pro -o ../csr/win32/msvc/ta_func/Makefile + +dist: + $(ZIP) ta_func/ta_func.zip ta_func/ta_func.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\csr\ta_utility.obj + -del ..\..\..\..\..\temp\csr\ta_ACOS.obj + -del ..\..\..\..\..\temp\csr\ta_AD.obj + -del ..\..\..\..\..\temp\csr\ta_ADD.obj + -del ..\..\..\..\..\temp\csr\ta_ADOSC.obj + -del ..\..\..\..\..\temp\csr\ta_ADX.obj + -del ..\..\..\..\..\temp\csr\ta_ADXR.obj + -del ..\..\..\..\..\temp\csr\ta_APO.obj + -del ..\..\..\..\..\temp\csr\ta_AROON.obj + -del ..\..\..\..\..\temp\csr\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\csr\ta_ASIN.obj + -del ..\..\..\..\..\temp\csr\ta_ATAN.obj + -del ..\..\..\..\..\temp\csr\ta_ATR.obj + -del ..\..\..\..\..\temp\csr\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_BBANDS.obj + -del ..\..\..\..\..\temp\csr\ta_BETA.obj + -del ..\..\..\..\..\temp\csr\ta_BOP.obj + -del ..\..\..\..\..\temp\csr\ta_CCI.obj + -del ..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\csr\ta_CEIL.obj + -del ..\..\..\..\..\temp\csr\ta_CMO.obj + -del ..\..\..\..\..\temp\csr\ta_CORREL.obj + -del ..\..\..\..\..\temp\csr\ta_COS.obj + -del ..\..\..\..\..\temp\csr\ta_COSH.obj + -del ..\..\..\..\..\temp\csr\ta_DEMA.obj + -del ..\..\..\..\..\temp\csr\ta_DIV.obj + -del ..\..\..\..\..\temp\csr\ta_DX.obj + -del ..\..\..\..\..\temp\csr\ta_EMA.obj + -del ..\..\..\..\..\temp\csr\ta_EXP.obj + -del ..\..\..\..\..\temp\csr\ta_FLOOR.obj + -del ..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\csr\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\csr\ta_KAMA.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\csr\ta_LN.obj + -del ..\..\..\..\..\temp\csr\ta_LOG10.obj + -del ..\..\..\..\..\temp\csr\ta_MA.obj + -del ..\..\..\..\..\temp\csr\ta_MACD.obj + -del ..\..\..\..\..\temp\csr\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\csr\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\csr\ta_MAMA.obj + -del ..\..\..\..\..\temp\csr\ta_MAVP.obj + -del ..\..\..\..\..\temp\csr\ta_MAX.obj + -del ..\..\..\..\..\temp\csr\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\csr\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_MFI.obj + -del ..\..\..\..\..\temp\csr\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\csr\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_MIN.obj + -del ..\..\..\..\..\temp\csr\ta_MININDEX.obj + -del ..\..\..\..\..\temp\csr\ta_MINMAX.obj + -del ..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\csr\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\csr\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\csr\ta_MOM.obj + -del ..\..\..\..\..\temp\csr\ta_MULT.obj + -del ..\..\..\..\..\temp\csr\ta_NATR.obj + -del ..\..\..\..\..\temp\csr\ta_OBV.obj + -del ..\..\..\..\..\temp\csr\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\csr\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\csr\ta_PPO.obj + -del ..\..\..\..\..\temp\csr\ta_ROC.obj + -del ..\..\..\..\..\temp\csr\ta_ROCP.obj + -del ..\..\..\..\..\temp\csr\ta_ROCR.obj + -del ..\..\..\..\..\temp\csr\ta_ROCR100.obj + -del ..\..\..\..\..\temp\csr\ta_RSI.obj + -del ..\..\..\..\..\temp\csr\ta_SAR.obj + -del ..\..\..\..\..\temp\csr\ta_SAREXT.obj + -del ..\..\..\..\..\temp\csr\ta_SIN.obj + -del ..\..\..\..\..\temp\csr\ta_SINH.obj + -del ..\..\..\..\..\temp\csr\ta_SMA.obj + -del ..\..\..\..\..\temp\csr\ta_SQRT.obj + -del ..\..\..\..\..\temp\csr\ta_STDDEV.obj + -del ..\..\..\..\..\temp\csr\ta_STOCH.obj + -del ..\..\..\..\..\temp\csr\ta_STOCHF.obj + -del ..\..\..\..\..\temp\csr\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\csr\ta_SUB.obj + -del ..\..\..\..\..\temp\csr\ta_SUM.obj + -del ..\..\..\..\..\temp\csr\ta_T3.obj + -del ..\..\..\..\..\temp\csr\ta_TAN.obj + -del ..\..\..\..\..\temp\csr\ta_TANH.obj + -del ..\..\..\..\..\temp\csr\ta_TEMA.obj + -del ..\..\..\..\..\temp\csr\ta_TRANGE.obj + -del ..\..\..\..\..\temp\csr\ta_TRIMA.obj + -del ..\..\..\..\..\temp\csr\ta_TRIX.obj + -del ..\..\..\..\..\temp\csr\ta_TSF.obj + -del ..\..\..\..\..\temp\csr\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\csr\ta_VAR.obj + -del ..\..\..\..\..\temp\csr\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_WILLR.obj + -del ..\..\..\..\..\temp\csr\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csr/*.pch + -del ../../../../../temp/csr/*.idb + -del ../../../../../temp/csr/ta_func/*.pch + -del ../../../../../temp/csr/ta_func/*.idb + -del ../../../../../temp/csr/ta_func/*.obj + +####### Compile + +..\..\..\..\..\temp\csr\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\csr\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\csr\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\csr\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\csr\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\csr\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\csr\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\csr\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\csr\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\csr\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\csr\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\csr\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\csr\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\csr\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\csr\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\csr\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\csr\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\csr\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\csr\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\csr\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\csr\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\csr\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\csr\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\csr\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\csr\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\csr\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\csr\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\csr\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\csr\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\csr\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\csr\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\csr\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\csr\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\csr\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\csr\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\csr\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\csr\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\csr\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\csr\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\csr\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\csr\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\csr\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\csr\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\csr\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\csr\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\csr\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\csr\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\csr\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\csr\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\csr\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\csr\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\csr\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\csr\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\csr\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\csr\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\csr\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\csr\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\csr\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\csr\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\csr\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\csr\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\csr\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\csr\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\csr\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\csr\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\csr\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\csr\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\csr\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\csr\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\csr\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\csr\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\csr\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\csr\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\csr\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\csr\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\csr\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\csr\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\csr\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\csr\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\csr\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\csr\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\csr\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\csr\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\csr\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\csr\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\csr\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\csr\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\csr\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\csr\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\csr\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\csr\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\csr\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\csr\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/csr/win32/msvc/ta_libc/Makefile b/vendor/ta-lib/make/csr/win32/msvc/ta_libc/Makefile new file mode 100644 index 000000000..847600882 --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/msvc/ta_libc/Makefile @@ -0,0 +1,1237 @@ +############################################################################# +# Makefile for building ta_libc_csr +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -O2 -DTA_SINGLE_THREAD -DWIN32 -D_MBCS -D_LIB -DNO_DEBUG +CXXFLAGS= -nologo -W3 -O2 -DTA_SINGLE_THREAD -DWIN32 -D_MBCS -D_LIB -DNO_DEBUG +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"$(QTDIR)\include" +LIB = lib /NOLOGO +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c \ + ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\csr\ta_global.obj \ + ..\..\..\..\..\temp\csr\ta_retcode.obj \ + ..\..\..\..\..\temp\csr\ta_version.obj \ + ..\..\..\..\..\temp\csr\ta_abstract.obj \ + ..\..\..\..\..\temp\csr\ta_def_ui.obj \ + ..\..\..\..\..\temp\csr\ta_func_api.obj \ + ..\..\..\..\..\temp\csr\ta_group_idx.obj \ + ..\..\..\..\..\temp\csr\ta_frame.obj \ + ..\..\..\..\..\temp\csr\table_a.obj \ + ..\..\..\..\..\temp\csr\table_b.obj \ + ..\..\..\..\..\temp\csr\table_c.obj \ + ..\..\..\..\..\temp\csr\table_d.obj \ + ..\..\..\..\..\temp\csr\table_e.obj \ + ..\..\..\..\..\temp\csr\table_f.obj \ + ..\..\..\..\..\temp\csr\table_g.obj \ + ..\..\..\..\..\temp\csr\table_h.obj \ + ..\..\..\..\..\temp\csr\table_i.obj \ + ..\..\..\..\..\temp\csr\table_j.obj \ + ..\..\..\..\..\temp\csr\table_k.obj \ + ..\..\..\..\..\temp\csr\table_l.obj \ + ..\..\..\..\..\temp\csr\table_m.obj \ + ..\..\..\..\..\temp\csr\table_n.obj \ + ..\..\..\..\..\temp\csr\table_o.obj \ + ..\..\..\..\..\temp\csr\table_p.obj \ + ..\..\..\..\..\temp\csr\table_q.obj \ + ..\..\..\..\..\temp\csr\table_r.obj \ + ..\..\..\..\..\temp\csr\table_s.obj \ + ..\..\..\..\..\temp\csr\table_t.obj \ + ..\..\..\..\..\temp\csr\table_u.obj \ + ..\..\..\..\..\temp\csr\table_v.obj \ + ..\..\..\..\..\temp\csr\table_w.obj \ + ..\..\..\..\..\temp\csr\table_x.obj \ + ..\..\..\..\..\temp\csr\table_y.obj \ + ..\..\..\..\..\temp\csr\table_z.obj \ + ..\..\..\..\..\temp\csr\ta_utility.obj \ + ..\..\..\..\..\temp\csr\ta_ACOS.obj \ + ..\..\..\..\..\temp\csr\ta_AD.obj \ + ..\..\..\..\..\temp\csr\ta_ADD.obj \ + ..\..\..\..\..\temp\csr\ta_ADOSC.obj \ + ..\..\..\..\..\temp\csr\ta_ADX.obj \ + ..\..\..\..\..\temp\csr\ta_ADXR.obj \ + ..\..\..\..\..\temp\csr\ta_APO.obj \ + ..\..\..\..\..\temp\csr\ta_AROON.obj \ + ..\..\..\..\..\temp\csr\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\csr\ta_ASIN.obj \ + ..\..\..\..\..\temp\csr\ta_ATAN.obj \ + ..\..\..\..\..\temp\csr\ta_ATR.obj \ + ..\..\..\..\..\temp\csr\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_BBANDS.obj \ + ..\..\..\..\..\temp\csr\ta_BETA.obj \ + ..\..\..\..\..\temp\csr\ta_BOP.obj \ + ..\..\..\..\..\temp\csr\ta_CCI.obj \ + ..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\csr\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\csr\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\csr\ta_CEIL.obj \ + ..\..\..\..\..\temp\csr\ta_CMO.obj \ + ..\..\..\..\..\temp\csr\ta_CORREL.obj \ + ..\..\..\..\..\temp\csr\ta_COS.obj \ + ..\..\..\..\..\temp\csr\ta_COSH.obj \ + ..\..\..\..\..\temp\csr\ta_DEMA.obj \ + ..\..\..\..\..\temp\csr\ta_DIV.obj \ + ..\..\..\..\..\temp\csr\ta_DX.obj \ + ..\..\..\..\..\temp\csr\ta_EMA.obj \ + ..\..\..\..\..\temp\csr\ta_EXP.obj \ + ..\..\..\..\..\temp\csr\ta_FLOOR.obj \ + ..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\csr\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\csr\ta_KAMA.obj \ + ..\..\..\..\..\temp\csr\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\csr\ta_LN.obj \ + ..\..\..\..\..\temp\csr\ta_LOG10.obj \ + ..\..\..\..\..\temp\csr\ta_MA.obj \ + ..\..\..\..\..\temp\csr\ta_MACD.obj \ + ..\..\..\..\..\temp\csr\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\csr\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\csr\ta_MAMA.obj \ + ..\..\..\..\..\temp\csr\ta_MAVP.obj \ + ..\..\..\..\..\temp\csr\ta_MAX.obj \ + ..\..\..\..\..\temp\csr\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\csr\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_MFI.obj \ + ..\..\..\..\..\temp\csr\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\csr\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_MIN.obj \ + ..\..\..\..\..\temp\csr\ta_MININDEX.obj \ + ..\..\..\..\..\temp\csr\ta_MINMAX.obj \ + ..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\csr\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\csr\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\csr\ta_MOM.obj \ + ..\..\..\..\..\temp\csr\ta_MULT.obj \ + ..\..\..\..\..\temp\csr\ta_NATR.obj \ + ..\..\..\..\..\temp\csr\ta_OBV.obj \ + ..\..\..\..\..\temp\csr\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\csr\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\csr\ta_PPO.obj \ + ..\..\..\..\..\temp\csr\ta_ROC.obj \ + ..\..\..\..\..\temp\csr\ta_ROCP.obj \ + ..\..\..\..\..\temp\csr\ta_ROCR.obj \ + ..\..\..\..\..\temp\csr\ta_ROCR100.obj \ + ..\..\..\..\..\temp\csr\ta_RSI.obj \ + ..\..\..\..\..\temp\csr\ta_SAR.obj \ + ..\..\..\..\..\temp\csr\ta_SAREXT.obj \ + ..\..\..\..\..\temp\csr\ta_SIN.obj \ + ..\..\..\..\..\temp\csr\ta_SINH.obj \ + ..\..\..\..\..\temp\csr\ta_SMA.obj \ + ..\..\..\..\..\temp\csr\ta_SQRT.obj \ + ..\..\..\..\..\temp\csr\ta_STDDEV.obj \ + ..\..\..\..\..\temp\csr\ta_STOCH.obj \ + ..\..\..\..\..\temp\csr\ta_STOCHF.obj \ + ..\..\..\..\..\temp\csr\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\csr\ta_SUB.obj \ + ..\..\..\..\..\temp\csr\ta_SUM.obj \ + ..\..\..\..\..\temp\csr\ta_T3.obj \ + ..\..\..\..\..\temp\csr\ta_TAN.obj \ + ..\..\..\..\..\temp\csr\ta_TANH.obj \ + ..\..\..\..\..\temp\csr\ta_TEMA.obj \ + ..\..\..\..\..\temp\csr\ta_TRANGE.obj \ + ..\..\..\..\..\temp\csr\ta_TRIMA.obj \ + ..\..\..\..\..\temp\csr\ta_TRIX.obj \ + ..\..\..\..\..\temp\csr\ta_TSF.obj \ + ..\..\..\..\..\temp\csr\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\csr\ta_VAR.obj \ + ..\..\..\..\..\temp\csr\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_WILLR.obj \ + ..\..\..\..\..\temp\csr\ta_WMA.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_libc_csr.lib +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LIB) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) +<< + +moc: $(SRCMOC) + +tmake: ../csr/win32/msvc/ta_libc/Makefile + +../csr/win32/msvc/ta_libc/Makefile: ta_libc/ta_libc.pro + tmake ta_libc/ta_libc.pro -o ../csr/win32/msvc/ta_libc/Makefile + +dist: + $(ZIP) ta_libc/ta_libc.zip ta_libc/ta_libc.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\csr\ta_global.obj + -del ..\..\..\..\..\temp\csr\ta_retcode.obj + -del ..\..\..\..\..\temp\csr\ta_version.obj + -del ..\..\..\..\..\temp\csr\ta_abstract.obj + -del ..\..\..\..\..\temp\csr\ta_def_ui.obj + -del ..\..\..\..\..\temp\csr\ta_func_api.obj + -del ..\..\..\..\..\temp\csr\ta_group_idx.obj + -del ..\..\..\..\..\temp\csr\ta_frame.obj + -del ..\..\..\..\..\temp\csr\table_a.obj + -del ..\..\..\..\..\temp\csr\table_b.obj + -del ..\..\..\..\..\temp\csr\table_c.obj + -del ..\..\..\..\..\temp\csr\table_d.obj + -del ..\..\..\..\..\temp\csr\table_e.obj + -del ..\..\..\..\..\temp\csr\table_f.obj + -del ..\..\..\..\..\temp\csr\table_g.obj + -del ..\..\..\..\..\temp\csr\table_h.obj + -del ..\..\..\..\..\temp\csr\table_i.obj + -del ..\..\..\..\..\temp\csr\table_j.obj + -del ..\..\..\..\..\temp\csr\table_k.obj + -del ..\..\..\..\..\temp\csr\table_l.obj + -del ..\..\..\..\..\temp\csr\table_m.obj + -del ..\..\..\..\..\temp\csr\table_n.obj + -del ..\..\..\..\..\temp\csr\table_o.obj + -del ..\..\..\..\..\temp\csr\table_p.obj + -del ..\..\..\..\..\temp\csr\table_q.obj + -del ..\..\..\..\..\temp\csr\table_r.obj + -del ..\..\..\..\..\temp\csr\table_s.obj + -del ..\..\..\..\..\temp\csr\table_t.obj + -del ..\..\..\..\..\temp\csr\table_u.obj + -del ..\..\..\..\..\temp\csr\table_v.obj + -del ..\..\..\..\..\temp\csr\table_w.obj + -del ..\..\..\..\..\temp\csr\table_x.obj + -del ..\..\..\..\..\temp\csr\table_y.obj + -del ..\..\..\..\..\temp\csr\table_z.obj + -del ..\..\..\..\..\temp\csr\ta_utility.obj + -del ..\..\..\..\..\temp\csr\ta_ACOS.obj + -del ..\..\..\..\..\temp\csr\ta_AD.obj + -del ..\..\..\..\..\temp\csr\ta_ADD.obj + -del ..\..\..\..\..\temp\csr\ta_ADOSC.obj + -del ..\..\..\..\..\temp\csr\ta_ADX.obj + -del ..\..\..\..\..\temp\csr\ta_ADXR.obj + -del ..\..\..\..\..\temp\csr\ta_APO.obj + -del ..\..\..\..\..\temp\csr\ta_AROON.obj + -del ..\..\..\..\..\temp\csr\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\csr\ta_ASIN.obj + -del ..\..\..\..\..\temp\csr\ta_ATAN.obj + -del ..\..\..\..\..\temp\csr\ta_ATR.obj + -del ..\..\..\..\..\temp\csr\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_BBANDS.obj + -del ..\..\..\..\..\temp\csr\ta_BETA.obj + -del ..\..\..\..\..\temp\csr\ta_BOP.obj + -del ..\..\..\..\..\temp\csr\ta_CCI.obj + -del ..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\csr\ta_CEIL.obj + -del ..\..\..\..\..\temp\csr\ta_CMO.obj + -del ..\..\..\..\..\temp\csr\ta_CORREL.obj + -del ..\..\..\..\..\temp\csr\ta_COS.obj + -del ..\..\..\..\..\temp\csr\ta_COSH.obj + -del ..\..\..\..\..\temp\csr\ta_DEMA.obj + -del ..\..\..\..\..\temp\csr\ta_DIV.obj + -del ..\..\..\..\..\temp\csr\ta_DX.obj + -del ..\..\..\..\..\temp\csr\ta_EMA.obj + -del ..\..\..\..\..\temp\csr\ta_EXP.obj + -del ..\..\..\..\..\temp\csr\ta_FLOOR.obj + -del ..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\csr\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\csr\ta_KAMA.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\csr\ta_LN.obj + -del ..\..\..\..\..\temp\csr\ta_LOG10.obj + -del ..\..\..\..\..\temp\csr\ta_MA.obj + -del ..\..\..\..\..\temp\csr\ta_MACD.obj + -del ..\..\..\..\..\temp\csr\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\csr\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\csr\ta_MAMA.obj + -del ..\..\..\..\..\temp\csr\ta_MAVP.obj + -del ..\..\..\..\..\temp\csr\ta_MAX.obj + -del ..\..\..\..\..\temp\csr\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\csr\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_MFI.obj + -del ..\..\..\..\..\temp\csr\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\csr\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_MIN.obj + -del ..\..\..\..\..\temp\csr\ta_MININDEX.obj + -del ..\..\..\..\..\temp\csr\ta_MINMAX.obj + -del ..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\csr\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\csr\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\csr\ta_MOM.obj + -del ..\..\..\..\..\temp\csr\ta_MULT.obj + -del ..\..\..\..\..\temp\csr\ta_NATR.obj + -del ..\..\..\..\..\temp\csr\ta_OBV.obj + -del ..\..\..\..\..\temp\csr\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\csr\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\csr\ta_PPO.obj + -del ..\..\..\..\..\temp\csr\ta_ROC.obj + -del ..\..\..\..\..\temp\csr\ta_ROCP.obj + -del ..\..\..\..\..\temp\csr\ta_ROCR.obj + -del ..\..\..\..\..\temp\csr\ta_ROCR100.obj + -del ..\..\..\..\..\temp\csr\ta_RSI.obj + -del ..\..\..\..\..\temp\csr\ta_SAR.obj + -del ..\..\..\..\..\temp\csr\ta_SAREXT.obj + -del ..\..\..\..\..\temp\csr\ta_SIN.obj + -del ..\..\..\..\..\temp\csr\ta_SINH.obj + -del ..\..\..\..\..\temp\csr\ta_SMA.obj + -del ..\..\..\..\..\temp\csr\ta_SQRT.obj + -del ..\..\..\..\..\temp\csr\ta_STDDEV.obj + -del ..\..\..\..\..\temp\csr\ta_STOCH.obj + -del ..\..\..\..\..\temp\csr\ta_STOCHF.obj + -del ..\..\..\..\..\temp\csr\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\csr\ta_SUB.obj + -del ..\..\..\..\..\temp\csr\ta_SUM.obj + -del ..\..\..\..\..\temp\csr\ta_T3.obj + -del ..\..\..\..\..\temp\csr\ta_TAN.obj + -del ..\..\..\..\..\temp\csr\ta_TANH.obj + -del ..\..\..\..\..\temp\csr\ta_TEMA.obj + -del ..\..\..\..\..\temp\csr\ta_TRANGE.obj + -del ..\..\..\..\..\temp\csr\ta_TRIMA.obj + -del ..\..\..\..\..\temp\csr\ta_TRIX.obj + -del ..\..\..\..\..\temp\csr\ta_TSF.obj + -del ..\..\..\..\..\temp\csr\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\csr\ta_VAR.obj + -del ..\..\..\..\..\temp\csr\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_WILLR.obj + -del ..\..\..\..\..\temp\csr\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + +####### Compile + +..\..\..\..\..\temp\csr\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\csr\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\csr\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + +..\..\..\..\..\temp\csr\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\csr\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\csr\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\csr\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\csr\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\csr\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\csr\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\csr\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\csr\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\csr\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\csr\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\csr\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\csr\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\csr\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\csr\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\csr\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\csr\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\csr\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\csr\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\csr\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\csr\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\csr\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\csr\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\csr\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\csr\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\csr\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\csr\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\csr\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\csr\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\csr\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\csr\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + +..\..\..\..\..\temp\csr\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\csr\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\csr\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\csr\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\csr\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\csr\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\csr\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\csr\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\csr\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\csr\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\csr\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\csr\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\csr\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\csr\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\csr\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\csr\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\csr\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\csr\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\csr\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\csr\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\csr\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\csr\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\csr\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\csr\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\csr\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\csr\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\csr\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\csr\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\csr\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\csr\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\csr\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\csr\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\csr\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\csr\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\csr\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\csr\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\csr\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\csr\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\csr\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\csr\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\csr\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\csr\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\csr\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\csr\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\csr\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\csr\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\csr\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\csr\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\csr\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\csr\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\csr\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\csr\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\csr\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\csr\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\csr\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\csr\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\csr\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\csr\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\csr\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\csr\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\csr\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\csr\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\csr\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\csr\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\csr\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\csr\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\csr\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\csr\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\csr\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\csr\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\csr\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\csr\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\csr\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\csr\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\csr\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\csr\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\csr\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\csr\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\csr\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\csr\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\csr\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\csr\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\csr\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\csr\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\csr\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\csr\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\csr\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\csr\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\csr\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\csr\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\csr\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\csr\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\csr\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/csr/win32/msvc/ta_regtest/Makefile b/vendor/ta-lib/make/csr/win32/msvc/ta_regtest/Makefile new file mode 100644 index 000000000..7a6a3a807 --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/msvc/ta_regtest/Makefile @@ -0,0 +1,236 @@ +############################################################################# +# Makefile for building ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = cl +CXX = cl +CFLAGS = -nologo -W3 -O2 -DTA_SINGLE_THREAD -DWIN32 -D_MBCS -D_LIB +CXXFLAGS= -nologo -W3 -O2 -DTA_SINGLE_THREAD -DWIN32 -D_MBCS -D_LIB +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\tools\ta_regtest" -I"..\..\..\..\..\src\ta_func" -I"..\..\..\..\..\include" +LINK = link +LFLAGS = /NOLOGO /SUBSYSTEM:console +LIBS = ..\..\..\..\..\lib\ta_libc_csr.lib +MOC = moc +UIC = uic + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_internals.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_util.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_data.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c +OBJECTS = ..\..\..\..\..\temp\csr\ta_regtest.obj \ + ..\..\..\..\..\temp\csr\test_candlestick.obj \ + ..\..\..\..\..\temp\csr\test_1in_1out.obj \ + ..\..\..\..\..\temp\csr\test_1in_2out.obj \ + ..\..\..\..\..\temp\csr\test_internals.obj \ + ..\..\..\..\..\temp\csr\test_adx.obj \ + ..\..\..\..\..\temp\csr\test_bbands.obj \ + ..\..\..\..\..\temp\csr\test_ma.obj \ + ..\..\..\..\..\temp\csr\test_macd.obj \ + ..\..\..\..\..\temp\csr\test_minmax.obj \ + ..\..\..\..\..\temp\csr\test_mom.obj \ + ..\..\..\..\..\temp\csr\test_per_ema.obj \ + ..\..\..\..\..\temp\csr\test_per_hl.obj \ + ..\..\..\..\..\temp\csr\test_per_hlc.obj \ + ..\..\..\..\..\temp\csr\test_per_hlcv.obj \ + ..\..\..\..\..\temp\csr\test_per_ohlc.obj \ + ..\..\..\..\..\temp\csr\test_po.obj \ + ..\..\..\..\..\temp\csr\test_rsi.obj \ + ..\..\..\..\..\temp\csr\test_sar.obj \ + ..\..\..\..\..\temp\csr\test_stddev.obj \ + ..\..\..\..\..\temp\csr\test_stoch.obj \ + ..\..\..\..\..\temp\csr\test_trange.obj \ + ..\..\..\..\..\temp\csr\test_util.obj \ + ..\..\..\..\..\temp\csr\test_data.obj \ + ..\..\..\..\..\temp\csr\test_abstract.obj +INTERFACES = +UICDECLS = +UICIMPLS = +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\ta_regtest.exe +INTERFACE_DECL_PATH = . + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) $(LIBS) +<< + +moc: $(SRCMOC) + +tmake: ../csr/win32/msvc/ta_regtest/Makefile + +../csr/win32/msvc/ta_regtest/Makefile: ta_regtest/ta_regtest.pro + tmake ta_regtest/ta_regtest.pro -o ../csr/win32/msvc/ta_regtest/Makefile + +dist: + $(ZIP) ta_regtest/ta_regtest.zip ta_regtest/ta_regtest.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES) + +clean: + -del ..\..\..\..\..\temp\csr\ta_regtest.obj + -del ..\..\..\..\..\temp\csr\test_candlestick.obj + -del ..\..\..\..\..\temp\csr\test_1in_1out.obj + -del ..\..\..\..\..\temp\csr\test_1in_2out.obj + -del ..\..\..\..\..\temp\csr\test_internals.obj + -del ..\..\..\..\..\temp\csr\test_adx.obj + -del ..\..\..\..\..\temp\csr\test_bbands.obj + -del ..\..\..\..\..\temp\csr\test_ma.obj + -del ..\..\..\..\..\temp\csr\test_macd.obj + -del ..\..\..\..\..\temp\csr\test_minmax.obj + -del ..\..\..\..\..\temp\csr\test_mom.obj + -del ..\..\..\..\..\temp\csr\test_per_ema.obj + -del ..\..\..\..\..\temp\csr\test_per_hl.obj + -del ..\..\..\..\..\temp\csr\test_per_hlc.obj + -del ..\..\..\..\..\temp\csr\test_per_hlcv.obj + -del ..\..\..\..\..\temp\csr\test_per_ohlc.obj + -del ..\..\..\..\..\temp\csr\test_po.obj + -del ..\..\..\..\..\temp\csr\test_rsi.obj + -del ..\..\..\..\..\temp\csr\test_sar.obj + -del ..\..\..\..\..\temp\csr\test_stddev.obj + -del ..\..\..\..\..\temp\csr\test_stoch.obj + -del ..\..\..\..\..\temp\csr\test_trange.obj + -del ..\..\..\..\..\temp\csr\test_util.obj + -del ..\..\..\..\..\temp\csr\test_data.obj + -del ..\..\..\..\..\temp\csr\test_abstract.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csr/*.pch + -del ../../../../../temp/csr/*.idb + -del ../../../../../temp/csr/ta_regtest/*.pch + -del ../../../../../temp/csr/ta_regtest/*.idb + -del ../../../../../temp/csr/ta_regtest/*.obj + +####### Compile + +..\..\..\..\..\temp\csr\ta_regtest.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\ta_regtest.obj ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + +..\..\..\..\..\temp\csr\test_candlestick.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\test_candlestick.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + +..\..\..\..\..\temp\csr\test_1in_1out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\test_1in_1out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + +..\..\..\..\..\temp\csr\test_1in_2out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\test_1in_2out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + +..\..\..\..\..\temp\csr\test_internals.obj: ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\test_internals.obj ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + +..\..\..\..\..\temp\csr\test_adx.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\test_adx.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + +..\..\..\..\..\temp\csr\test_bbands.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\test_bbands.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + +..\..\..\..\..\temp\csr\test_ma.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\test_ma.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + +..\..\..\..\..\temp\csr\test_macd.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\test_macd.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + +..\..\..\..\..\temp\csr\test_minmax.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\test_minmax.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + +..\..\..\..\..\temp\csr\test_mom.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\test_mom.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + +..\..\..\..\..\temp\csr\test_per_ema.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\test_per_ema.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + +..\..\..\..\..\temp\csr\test_per_hl.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\test_per_hl.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + +..\..\..\..\..\temp\csr\test_per_hlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\test_per_hlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + +..\..\..\..\..\temp\csr\test_per_hlcv.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\test_per_hlcv.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + +..\..\..\..\..\temp\csr\test_per_ohlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\test_per_ohlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + +..\..\..\..\..\temp\csr\test_po.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\test_po.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + +..\..\..\..\..\temp\csr\test_rsi.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\test_rsi.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + +..\..\..\..\..\temp\csr\test_sar.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\test_sar.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + +..\..\..\..\..\temp\csr\test_stddev.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\test_stddev.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + +..\..\..\..\..\temp\csr\test_stoch.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\test_stoch.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + +..\..\..\..\..\temp\csr\test_trange.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\test_trange.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + +..\..\..\..\..\temp\csr\test_util.obj: ..\..\..\..\..\src\tools\ta_regtest\test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\test_util.obj ..\..\..\..\..\src\tools\ta_regtest\test_util.c + +..\..\..\..\..\temp\csr\test_data.obj: ..\..\..\..\..\src\tools\ta_regtest\test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\test_data.obj ..\..\..\..\..\src\tools\ta_regtest\test_data.c + +..\..\..\..\..\temp\csr\test_abstract.obj: ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -Fo..\..\..\..\..\temp\csr\test_abstract.obj ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + diff --git a/vendor/ta-lib/make/csr/win32/symantec/Makefile b/vendor/ta-lib/make/csr/win32/symantec/Makefile new file mode 100644 index 000000000..822ae48c4 --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/symantec/Makefile @@ -0,0 +1,97 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +ta_common: FORCE + cd ta_common + $(MAKE) + @cd .. + +ta_func: FORCE + cd ta_func + $(MAKE) + @cd .. + +ta_abstract: FORCE + cd ta_abstract + $(MAKE) + @cd .. + +ta_libc: FORCE + cd ta_libc + $(MAKE) + @cd .. + +gen_code: FORCE + cd gen_code + $(MAKE) + @cd .. + +ta_regtest: FORCE + cd ta_regtest + $(MAKE) + @cd .. + + +tmake: ../csr/win32/symantec/Makefile + +../csr/win32/symantec/Makefile: rootmake.pro + tmake rootmake.pro -o ../csr/win32/symantec/Makefile + +tmake_all: + cd ta_common + $(TMAKE) ta_common.pro -o $(MAKEFILE) + @cd .. + cd ta_func + $(TMAKE) ta_func.pro -o $(MAKEFILE) + @cd .. + cd ta_abstract + $(TMAKE) ta_abstract.pro -o $(MAKEFILE) + @cd .. + cd ta_libc + $(TMAKE) ta_libc.pro -o $(MAKEFILE) + @cd .. + cd gen_code + $(TMAKE) gen_code.pro -o $(MAKEFILE) + @cd .. + cd ta_regtest + $(TMAKE) ta_regtest.pro -o $(MAKEFILE) + @cd .. + + +clean: + cd ta_common + $(MAKE) clean + @cd .. + cd ta_func + $(MAKE) clean + @cd .. + cd ta_abstract + $(MAKE) clean + @cd .. + cd ta_libc + $(MAKE) clean + @cd .. + cd gen_code + $(MAKE) clean + @cd .. + cd ta_regtest + $(MAKE) clean + @cd .. + +FORCE: diff --git a/vendor/ta-lib/make/csr/win32/symantec/gen_code/Makefile b/vendor/ta-lib/make/csr/win32/symantec/gen_code/Makefile new file mode 100644 index 000000000..f5089cc63 --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/symantec/gen_code/Makefile @@ -0,0 +1,253 @@ +############################################################################# +# Makefile for building gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = sc +CXX = sc +CFLAGS = -mn -w2 -o -DTA_GEN_CODE -DTA_SINGLE_THREAD -DWIN32 +CXXFLAGS= -mn -w2 -o -DTA_GEN_CODE -DTA_SINGLE_THREAD -DWIN32 +INCPATH = -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" +LINK = link +LFLAGS = /NOLOGO /NOI /SUBSYSTEM:console +LIBS = ..\..\..\..\..\lib\ta_common_csr.lib +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\gen_code\gen_code.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\csr\gen_code\gen_code.obj \ + ..\..\..\..\..\temp\csr\gen_code\ta_abstract.obj \ + ..\..\..\..\..\temp\csr\gen_code\ta_def_ui.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_a.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_b.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_c.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_d.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_e.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_f.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_g.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_h.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_i.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_j.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_k.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_l.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_m.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_n.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_o.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_p.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_q.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_r.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_s.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_t.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_u.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_v.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_w.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_x.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_y.obj \ + ..\..\..\..\..\temp\csr\gen_code\table_z.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\gen_code.exe + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) $(OBJECTS) $(OBJMOC), $(TARGET),, $(LIBS) + +moc: $(SRCMOC) + +tmake: ../csr/win32/symantec/gen_code/Makefile + +../csr/win32/symantec/gen_code/Makefile: gen_code/gen_code.pro + tmake gen_code/gen_code.pro -o ../csr/win32/symantec/gen_code/Makefile + +dist: + $(ZIP) gen_code/gen_code.zip gen_code/gen_code.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csr\gen_code\gen_code.obj + -del ..\..\..\..\..\temp\csr\gen_code\ta_abstract.obj + -del ..\..\..\..\..\temp\csr\gen_code\ta_def_ui.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_a.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_b.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_c.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_d.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_e.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_f.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_g.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_h.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_i.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_j.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_k.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_l.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_m.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_n.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_o.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_p.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_q.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_r.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_s.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_t.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_u.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_v.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_w.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_x.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_y.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csr/*.pch + -del ../../../../../temp/csr/*.idb + -del ../../../../../temp/csr/gen_code/*.pch + -del ../../../../../temp/csr/gen_code/*.idb + -del ../../../../../temp/csr/gen_code/*.obj + +####### Compile + +..\..\..\..\..\temp\csr\gen_code\gen_code.obj: ..\..\..\..\..\src\tools\gen_code\gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\gen_code.obj ..\..\..\..\..\src\tools\gen_code\gen_code.c + +..\..\..\..\..\temp\csr\gen_code\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\csr\gen_code\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\csr\gen_code\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\csr\gen_code\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\csr\gen_code\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\csr\gen_code\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\csr\gen_code\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\csr\gen_code\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\csr\gen_code\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\csr\gen_code\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\csr\gen_code\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\csr\gen_code\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\csr\gen_code\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\csr\gen_code\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\csr\gen_code\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\csr\gen_code\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\csr\gen_code\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\csr\gen_code\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\csr\gen_code\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\csr\gen_code\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\csr\gen_code\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\csr\gen_code\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\csr\gen_code\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\csr\gen_code\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\csr\gen_code\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\csr\gen_code\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\csr\gen_code\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\csr\gen_code\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\gen_code\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/csr/win32/symantec/ta_abstract/Makefile b/vendor/ta-lib/make/csr/win32/symantec/ta_abstract/Makefile new file mode 100644 index 000000000..947c811ba --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/symantec/ta_abstract/Makefile @@ -0,0 +1,295 @@ +############################################################################# +# Makefile for building ta_abstract_csr +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = sc +CXX = sc +CFLAGS = -mn -w2 -o -DTA_SINGLE_THREAD -DWIN32 +CXXFLAGS= -mn -w2 -o -DTA_SINGLE_THREAD -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"..\..\..\..\..\include" +LIB = lib /C /N /NOI /P:32 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\csr\ta_abstract.obj \ + ..\..\..\..\..\temp\csr\ta_def_ui.obj \ + ..\..\..\..\..\temp\csr\ta_func_api.obj \ + ..\..\..\..\..\temp\csr\ta_group_idx.obj \ + ..\..\..\..\..\temp\csr\ta_frame.obj \ + ..\..\..\..\..\temp\csr\table_a.obj \ + ..\..\..\..\..\temp\csr\table_b.obj \ + ..\..\..\..\..\temp\csr\table_c.obj \ + ..\..\..\..\..\temp\csr\table_d.obj \ + ..\..\..\..\..\temp\csr\table_e.obj \ + ..\..\..\..\..\temp\csr\table_f.obj \ + ..\..\..\..\..\temp\csr\table_g.obj \ + ..\..\..\..\..\temp\csr\table_h.obj \ + ..\..\..\..\..\temp\csr\table_i.obj \ + ..\..\..\..\..\temp\csr\table_j.obj \ + ..\..\..\..\..\temp\csr\table_k.obj \ + ..\..\..\..\..\temp\csr\table_l.obj \ + ..\..\..\..\..\temp\csr\table_m.obj \ + ..\..\..\..\..\temp\csr\table_n.obj \ + ..\..\..\..\..\temp\csr\table_o.obj \ + ..\..\..\..\..\temp\csr\table_p.obj \ + ..\..\..\..\..\temp\csr\table_q.obj \ + ..\..\..\..\..\temp\csr\table_r.obj \ + ..\..\..\..\..\temp\csr\table_s.obj \ + ..\..\..\..\..\temp\csr\table_t.obj \ + ..\..\..\..\..\temp\csr\table_u.obj \ + ..\..\..\..\..\temp\csr\table_v.obj \ + ..\..\..\..\..\temp\csr\table_w.obj \ + ..\..\..\..\..\temp\csr\table_x.obj \ + ..\..\..\..\..\temp\csr\table_y.obj \ + ..\..\..\..\..\temp\csr\table_z.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_abstract_csr.lib + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) ..\..\..\..\..\temp\csr\ta_abstract.obj \ ++..\..\..\..\..\temp\csr\ta_def_ui.obj \ ++..\..\..\..\..\temp\csr\ta_func_api.obj \ ++..\..\..\..\..\temp\csr\ta_group_idx.obj \ ++..\..\..\..\..\temp\csr\ta_frame.obj \ ++..\..\..\..\..\temp\csr\table_a.obj \ ++..\..\..\..\..\temp\csr\table_b.obj \ ++..\..\..\..\..\temp\csr\table_c.obj \ ++..\..\..\..\..\temp\csr\table_d.obj \ ++..\..\..\..\..\temp\csr\table_e.obj \ ++..\..\..\..\..\temp\csr\table_f.obj \ ++..\..\..\..\..\temp\csr\table_g.obj \ ++..\..\..\..\..\temp\csr\table_h.obj \ ++..\..\..\..\..\temp\csr\table_i.obj \ ++..\..\..\..\..\temp\csr\table_j.obj \ ++..\..\..\..\..\temp\csr\table_k.obj \ ++..\..\..\..\..\temp\csr\table_l.obj \ ++..\..\..\..\..\temp\csr\table_m.obj \ ++..\..\..\..\..\temp\csr\table_n.obj \ ++..\..\..\..\..\temp\csr\table_o.obj \ ++..\..\..\..\..\temp\csr\table_p.obj \ ++..\..\..\..\..\temp\csr\table_q.obj \ ++..\..\..\..\..\temp\csr\table_r.obj \ ++..\..\..\..\..\temp\csr\table_s.obj \ ++..\..\..\..\..\temp\csr\table_t.obj \ ++..\..\..\..\..\temp\csr\table_u.obj \ ++..\..\..\..\..\temp\csr\table_v.obj \ ++..\..\..\..\..\temp\csr\table_w.obj \ ++..\..\..\..\..\temp\csr\table_x.obj \ ++..\..\..\..\..\temp\csr\table_y.obj \ ++..\..\..\..\..\temp\csr\table_z.obj \ ++,; + +moc: $(SRCMOC) + +tmake: ../csr/win32/symantec/ta_abstract/Makefile + +../csr/win32/symantec/ta_abstract/Makefile: ta_abstract/ta_abstract.pro + tmake ta_abstract/ta_abstract.pro -o ../csr/win32/symantec/ta_abstract/Makefile + +dist: + $(ZIP) ta_abstract/ta_abstract.zip ta_abstract/ta_abstract.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csr\ta_abstract.obj + -del ..\..\..\..\..\temp\csr\ta_def_ui.obj + -del ..\..\..\..\..\temp\csr\ta_func_api.obj + -del ..\..\..\..\..\temp\csr\ta_group_idx.obj + -del ..\..\..\..\..\temp\csr\ta_frame.obj + -del ..\..\..\..\..\temp\csr\table_a.obj + -del ..\..\..\..\..\temp\csr\table_b.obj + -del ..\..\..\..\..\temp\csr\table_c.obj + -del ..\..\..\..\..\temp\csr\table_d.obj + -del ..\..\..\..\..\temp\csr\table_e.obj + -del ..\..\..\..\..\temp\csr\table_f.obj + -del ..\..\..\..\..\temp\csr\table_g.obj + -del ..\..\..\..\..\temp\csr\table_h.obj + -del ..\..\..\..\..\temp\csr\table_i.obj + -del ..\..\..\..\..\temp\csr\table_j.obj + -del ..\..\..\..\..\temp\csr\table_k.obj + -del ..\..\..\..\..\temp\csr\table_l.obj + -del ..\..\..\..\..\temp\csr\table_m.obj + -del ..\..\..\..\..\temp\csr\table_n.obj + -del ..\..\..\..\..\temp\csr\table_o.obj + -del ..\..\..\..\..\temp\csr\table_p.obj + -del ..\..\..\..\..\temp\csr\table_q.obj + -del ..\..\..\..\..\temp\csr\table_r.obj + -del ..\..\..\..\..\temp\csr\table_s.obj + -del ..\..\..\..\..\temp\csr\table_t.obj + -del ..\..\..\..\..\temp\csr\table_u.obj + -del ..\..\..\..\..\temp\csr\table_v.obj + -del ..\..\..\..\..\temp\csr\table_w.obj + -del ..\..\..\..\..\temp\csr\table_x.obj + -del ..\..\..\..\..\temp\csr\table_y.obj + -del ..\..\..\..\..\temp\csr\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csr/*.pch + -del ../../../../../temp/csr/*.idb + -del ../../../../../temp/csr/ta_abstract/*.pch + -del ../../../../../temp/csr/ta_abstract/*.idb + -del ../../../../../temp/csr/ta_abstract/*.obj + +####### Compile + +..\..\..\..\..\temp\csr\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\csr\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\csr\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\csr\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\csr\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\csr\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\csr\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\csr\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\csr\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\csr\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\csr\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\csr\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\csr\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\csr\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\csr\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\csr\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\csr\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\csr\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\csr\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\csr\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\csr\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\csr\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\csr\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\csr\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\csr\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\csr\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\csr\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\csr\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\csr\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\csr\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\csr\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/csr/win32/symantec/ta_common/Makefile b/vendor/ta-lib/make/csr/win32/symantec/ta_common/Makefile new file mode 100644 index 000000000..79f968764 --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/symantec/ta_common/Makefile @@ -0,0 +1,99 @@ +############################################################################# +# Makefile for building ta_common_csr +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = sc +CXX = sc +CFLAGS = -mn -w2 -o -DTA_SINGLE_THREAD -DWIN32 +CXXFLAGS= -mn -w2 -o -DTA_SINGLE_THREAD -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" +LIB = lib /C /N /NOI /P:32 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c +OBJECTS = ..\..\..\..\..\temp\csr\ta_global.obj \ + ..\..\..\..\..\temp\csr\ta_retcode.obj \ + ..\..\..\..\..\temp\csr\ta_version.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_common_csr.lib + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) ..\..\..\..\..\temp\csr\ta_global.obj \ ++..\..\..\..\..\temp\csr\ta_retcode.obj \ ++..\..\..\..\..\temp\csr\ta_version.obj \ ++,; + +moc: $(SRCMOC) + +tmake: ../csr/win32/symantec/ta_common/Makefile + +../csr/win32/symantec/ta_common/Makefile: ta_common/ta_common.pro + tmake ta_common/ta_common.pro -o ../csr/win32/symantec/ta_common/Makefile + +dist: + $(ZIP) ta_common/ta_common.zip ta_common/ta_common.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csr\ta_global.obj + -del ..\..\..\..\..\temp\csr\ta_retcode.obj + -del ..\..\..\..\..\temp\csr\ta_version.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csr/*.pch + -del ../../../../../temp/csr/*.idb + -del ../../../../../temp/csr/ta_common_csr/*.pch + -del ../../../../../temp/csr/ta_common_csr/*.idb + -del ../../../../../temp/csr/ta_common_csr/*.obj + +####### Compile + +..\..\..\..\..\temp\csr\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\csr\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\csr\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + diff --git a/vendor/ta-lib/make/csr/win32/symantec/ta_func/Makefile b/vendor/ta-lib/make/csr/win32/symantec/ta_func/Makefile new file mode 100644 index 000000000..4017cb453 --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/symantec/ta_func/Makefile @@ -0,0 +1,1191 @@ +############################################################################# +# Makefile for building ta_func_csr +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = sc +CXX = sc +CFLAGS = -mn -w2 -o -DTA_SINGLE_THREAD -DWIN32 +CXXFLAGS= -mn -w2 -o -DTA_SINGLE_THREAD -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"\n" -I"..\..\..\..\..\include" +LIB = lib /C /N /NOI /P:32 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\csr\ta_utility.obj \ + ..\..\..\..\..\temp\csr\ta_ACOS.obj \ + ..\..\..\..\..\temp\csr\ta_AD.obj \ + ..\..\..\..\..\temp\csr\ta_ADD.obj \ + ..\..\..\..\..\temp\csr\ta_ADOSC.obj \ + ..\..\..\..\..\temp\csr\ta_ADX.obj \ + ..\..\..\..\..\temp\csr\ta_ADXR.obj \ + ..\..\..\..\..\temp\csr\ta_APO.obj \ + ..\..\..\..\..\temp\csr\ta_AROON.obj \ + ..\..\..\..\..\temp\csr\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\csr\ta_ASIN.obj \ + ..\..\..\..\..\temp\csr\ta_ATAN.obj \ + ..\..\..\..\..\temp\csr\ta_ATR.obj \ + ..\..\..\..\..\temp\csr\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_BBANDS.obj \ + ..\..\..\..\..\temp\csr\ta_BETA.obj \ + ..\..\..\..\..\temp\csr\ta_BOP.obj \ + ..\..\..\..\..\temp\csr\ta_CCI.obj \ + ..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\csr\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\csr\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\csr\ta_CEIL.obj \ + ..\..\..\..\..\temp\csr\ta_CMO.obj \ + ..\..\..\..\..\temp\csr\ta_CORREL.obj \ + ..\..\..\..\..\temp\csr\ta_COS.obj \ + ..\..\..\..\..\temp\csr\ta_COSH.obj \ + ..\..\..\..\..\temp\csr\ta_DEMA.obj \ + ..\..\..\..\..\temp\csr\ta_DIV.obj \ + ..\..\..\..\..\temp\csr\ta_DX.obj \ + ..\..\..\..\..\temp\csr\ta_EMA.obj \ + ..\..\..\..\..\temp\csr\ta_EXP.obj \ + ..\..\..\..\..\temp\csr\ta_FLOOR.obj \ + ..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\csr\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\csr\ta_KAMA.obj \ + ..\..\..\..\..\temp\csr\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\csr\ta_LN.obj \ + ..\..\..\..\..\temp\csr\ta_LOG10.obj \ + ..\..\..\..\..\temp\csr\ta_MA.obj \ + ..\..\..\..\..\temp\csr\ta_MACD.obj \ + ..\..\..\..\..\temp\csr\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\csr\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\csr\ta_MAMA.obj \ + ..\..\..\..\..\temp\csr\ta_MAVP.obj \ + ..\..\..\..\..\temp\csr\ta_MAX.obj \ + ..\..\..\..\..\temp\csr\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\csr\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_MFI.obj \ + ..\..\..\..\..\temp\csr\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\csr\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_MIN.obj \ + ..\..\..\..\..\temp\csr\ta_MININDEX.obj \ + ..\..\..\..\..\temp\csr\ta_MINMAX.obj \ + ..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\csr\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\csr\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\csr\ta_MOM.obj \ + ..\..\..\..\..\temp\csr\ta_MULT.obj \ + ..\..\..\..\..\temp\csr\ta_NATR.obj \ + ..\..\..\..\..\temp\csr\ta_OBV.obj \ + ..\..\..\..\..\temp\csr\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\csr\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\csr\ta_PPO.obj \ + ..\..\..\..\..\temp\csr\ta_ROC.obj \ + ..\..\..\..\..\temp\csr\ta_ROCP.obj \ + ..\..\..\..\..\temp\csr\ta_ROCR.obj \ + ..\..\..\..\..\temp\csr\ta_ROCR100.obj \ + ..\..\..\..\..\temp\csr\ta_RSI.obj \ + ..\..\..\..\..\temp\csr\ta_SAR.obj \ + ..\..\..\..\..\temp\csr\ta_SAREXT.obj \ + ..\..\..\..\..\temp\csr\ta_SIN.obj \ + ..\..\..\..\..\temp\csr\ta_SINH.obj \ + ..\..\..\..\..\temp\csr\ta_SMA.obj \ + ..\..\..\..\..\temp\csr\ta_SQRT.obj \ + ..\..\..\..\..\temp\csr\ta_STDDEV.obj \ + ..\..\..\..\..\temp\csr\ta_STOCH.obj \ + ..\..\..\..\..\temp\csr\ta_STOCHF.obj \ + ..\..\..\..\..\temp\csr\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\csr\ta_SUB.obj \ + ..\..\..\..\..\temp\csr\ta_SUM.obj \ + ..\..\..\..\..\temp\csr\ta_T3.obj \ + ..\..\..\..\..\temp\csr\ta_TAN.obj \ + ..\..\..\..\..\temp\csr\ta_TANH.obj \ + ..\..\..\..\..\temp\csr\ta_TEMA.obj \ + ..\..\..\..\..\temp\csr\ta_TRANGE.obj \ + ..\..\..\..\..\temp\csr\ta_TRIMA.obj \ + ..\..\..\..\..\temp\csr\ta_TRIX.obj \ + ..\..\..\..\..\temp\csr\ta_TSF.obj \ + ..\..\..\..\..\temp\csr\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\csr\ta_VAR.obj \ + ..\..\..\..\..\temp\csr\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_WILLR.obj \ + ..\..\..\..\..\temp\csr\ta_WMA.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_func_csr.lib + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) ..\..\..\..\..\temp\csr\ta_utility.obj \ ++..\..\..\..\..\temp\csr\ta_ACOS.obj \ ++..\..\..\..\..\temp\csr\ta_AD.obj \ ++..\..\..\..\..\temp\csr\ta_ADD.obj \ ++..\..\..\..\..\temp\csr\ta_ADOSC.obj \ ++..\..\..\..\..\temp\csr\ta_ADX.obj \ ++..\..\..\..\..\temp\csr\ta_ADXR.obj \ ++..\..\..\..\..\temp\csr\ta_APO.obj \ ++..\..\..\..\..\temp\csr\ta_AROON.obj \ ++..\..\..\..\..\temp\csr\ta_AROONOSC.obj \ ++..\..\..\..\..\temp\csr\ta_ASIN.obj \ ++..\..\..\..\..\temp\csr\ta_ATAN.obj \ ++..\..\..\..\..\temp\csr\ta_ATR.obj \ ++..\..\..\..\..\temp\csr\ta_AVGPRICE.obj \ ++..\..\..\..\..\temp\csr\ta_BBANDS.obj \ ++..\..\..\..\..\temp\csr\ta_BETA.obj \ ++..\..\..\..\..\temp\csr\ta_BOP.obj \ ++..\..\..\..\..\temp\csr\ta_CCI.obj \ ++..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj \ ++..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj \ ++..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj \ ++..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj \ ++..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj \ ++..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj \ ++..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj \ ++..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj \ ++..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj \ ++..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj \ ++..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj \ ++..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj \ ++..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj \ ++..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj \ ++..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj \ ++..\..\..\..\..\temp\csr\ta_CDLDOJI.obj \ ++..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj \ ++..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj \ ++..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj \ ++..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj \ ++..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj \ ++..\..\..\..\..\temp\csr\ta_CDLINNECK.obj \ ++..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj \ ++..\..\..\..\..\temp\csr\ta_CDLKICKING.obj \ ++..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj \ ++..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj \ ++..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj \ ++..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj \ ++..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj \ ++..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj \ ++..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj \ ++..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLONNECK.obj \ ++..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj \ ++..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj \ ++..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj \ ++..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj \ ++..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj \ ++..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj \ ++..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj \ ++..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj \ ++..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj \ ++..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj \ ++..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj \ ++..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj \ ++..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj \ ++..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj \ ++..\..\..\..\..\temp\csr\ta_CEIL.obj \ ++..\..\..\..\..\temp\csr\ta_CMO.obj \ ++..\..\..\..\..\temp\csr\ta_CORREL.obj \ ++..\..\..\..\..\temp\csr\ta_COS.obj \ ++..\..\..\..\..\temp\csr\ta_COSH.obj \ ++..\..\..\..\..\temp\csr\ta_DEMA.obj \ ++..\..\..\..\..\temp\csr\ta_DIV.obj \ ++..\..\..\..\..\temp\csr\ta_DX.obj \ ++..\..\..\..\..\temp\csr\ta_EMA.obj \ ++..\..\..\..\..\temp\csr\ta_EXP.obj \ ++..\..\..\..\..\temp\csr\ta_FLOOR.obj \ ++..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj \ ++..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj \ ++..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj \ ++..\..\..\..\..\temp\csr\ta_HT_SINE.obj \ ++..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj \ ++..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj \ ++..\..\..\..\..\temp\csr\ta_KAMA.obj \ ++..\..\..\..\..\temp\csr\ta_LINEARREG.obj \ ++..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj \ ++..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj \ ++..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj \ ++..\..\..\..\..\temp\csr\ta_LN.obj \ ++..\..\..\..\..\temp\csr\ta_LOG10.obj \ ++..\..\..\..\..\temp\csr\ta_MA.obj \ ++..\..\..\..\..\temp\csr\ta_MACD.obj \ ++..\..\..\..\..\temp\csr\ta_MACDEXT.obj \ ++..\..\..\..\..\temp\csr\ta_MACDFIX.obj \ ++..\..\..\..\..\temp\csr\ta_MAMA.obj \ ++..\..\..\..\..\temp\csr\ta_MAVP.obj \ ++..\..\..\..\..\temp\csr\ta_MAX.obj \ ++..\..\..\..\..\temp\csr\ta_MAXINDEX.obj \ ++..\..\..\..\..\temp\csr\ta_MEDPRICE.obj \ ++..\..\..\..\..\temp\csr\ta_MFI.obj \ ++..\..\..\..\..\temp\csr\ta_MIDPOINT.obj \ ++..\..\..\..\..\temp\csr\ta_MIDPRICE.obj \ ++..\..\..\..\..\temp\csr\ta_MIN.obj \ ++..\..\..\..\..\temp\csr\ta_MININDEX.obj \ ++..\..\..\..\..\temp\csr\ta_MINMAX.obj \ ++..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj \ ++..\..\..\..\..\temp\csr\ta_MINUS_DI.obj \ ++..\..\..\..\..\temp\csr\ta_MINUS_DM.obj \ ++..\..\..\..\..\temp\csr\ta_MOM.obj \ ++..\..\..\..\..\temp\csr\ta_MULT.obj \ ++..\..\..\..\..\temp\csr\ta_NATR.obj \ ++..\..\..\..\..\temp\csr\ta_OBV.obj \ ++..\..\..\..\..\temp\csr\ta_PLUS_DI.obj \ ++..\..\..\..\..\temp\csr\ta_PLUS_DM.obj \ ++..\..\..\..\..\temp\csr\ta_PPO.obj \ ++..\..\..\..\..\temp\csr\ta_ROC.obj \ ++..\..\..\..\..\temp\csr\ta_ROCP.obj \ ++..\..\..\..\..\temp\csr\ta_ROCR.obj \ ++..\..\..\..\..\temp\csr\ta_ROCR100.obj \ ++..\..\..\..\..\temp\csr\ta_RSI.obj \ ++..\..\..\..\..\temp\csr\ta_SAR.obj \ ++..\..\..\..\..\temp\csr\ta_SAREXT.obj \ ++..\..\..\..\..\temp\csr\ta_SIN.obj \ ++..\..\..\..\..\temp\csr\ta_SINH.obj \ ++..\..\..\..\..\temp\csr\ta_SMA.obj \ ++..\..\..\..\..\temp\csr\ta_SQRT.obj \ ++..\..\..\..\..\temp\csr\ta_STDDEV.obj \ ++..\..\..\..\..\temp\csr\ta_STOCH.obj \ ++..\..\..\..\..\temp\csr\ta_STOCHF.obj \ ++..\..\..\..\..\temp\csr\ta_STOCHRSI.obj \ ++..\..\..\..\..\temp\csr\ta_SUB.obj \ ++..\..\..\..\..\temp\csr\ta_SUM.obj \ ++..\..\..\..\..\temp\csr\ta_T3.obj \ ++..\..\..\..\..\temp\csr\ta_TAN.obj \ ++..\..\..\..\..\temp\csr\ta_TANH.obj \ ++..\..\..\..\..\temp\csr\ta_TEMA.obj \ ++..\..\..\..\..\temp\csr\ta_TRANGE.obj \ ++..\..\..\..\..\temp\csr\ta_TRIMA.obj \ ++..\..\..\..\..\temp\csr\ta_TRIX.obj \ ++..\..\..\..\..\temp\csr\ta_TSF.obj \ ++..\..\..\..\..\temp\csr\ta_TYPPRICE.obj \ ++..\..\..\..\..\temp\csr\ta_ULTOSC.obj \ ++..\..\..\..\..\temp\csr\ta_VAR.obj \ ++..\..\..\..\..\temp\csr\ta_WCLPRICE.obj \ ++..\..\..\..\..\temp\csr\ta_WILLR.obj \ ++..\..\..\..\..\temp\csr\ta_WMA.obj \ ++,; + +moc: $(SRCMOC) + +tmake: ../csr/win32/symantec/ta_func/Makefile + +../csr/win32/symantec/ta_func/Makefile: ta_func/ta_func.pro + tmake ta_func/ta_func.pro -o ../csr/win32/symantec/ta_func/Makefile + +dist: + $(ZIP) ta_func/ta_func.zip ta_func/ta_func.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csr\ta_utility.obj + -del ..\..\..\..\..\temp\csr\ta_ACOS.obj + -del ..\..\..\..\..\temp\csr\ta_AD.obj + -del ..\..\..\..\..\temp\csr\ta_ADD.obj + -del ..\..\..\..\..\temp\csr\ta_ADOSC.obj + -del ..\..\..\..\..\temp\csr\ta_ADX.obj + -del ..\..\..\..\..\temp\csr\ta_ADXR.obj + -del ..\..\..\..\..\temp\csr\ta_APO.obj + -del ..\..\..\..\..\temp\csr\ta_AROON.obj + -del ..\..\..\..\..\temp\csr\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\csr\ta_ASIN.obj + -del ..\..\..\..\..\temp\csr\ta_ATAN.obj + -del ..\..\..\..\..\temp\csr\ta_ATR.obj + -del ..\..\..\..\..\temp\csr\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_BBANDS.obj + -del ..\..\..\..\..\temp\csr\ta_BETA.obj + -del ..\..\..\..\..\temp\csr\ta_BOP.obj + -del ..\..\..\..\..\temp\csr\ta_CCI.obj + -del ..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\csr\ta_CEIL.obj + -del ..\..\..\..\..\temp\csr\ta_CMO.obj + -del ..\..\..\..\..\temp\csr\ta_CORREL.obj + -del ..\..\..\..\..\temp\csr\ta_COS.obj + -del ..\..\..\..\..\temp\csr\ta_COSH.obj + -del ..\..\..\..\..\temp\csr\ta_DEMA.obj + -del ..\..\..\..\..\temp\csr\ta_DIV.obj + -del ..\..\..\..\..\temp\csr\ta_DX.obj + -del ..\..\..\..\..\temp\csr\ta_EMA.obj + -del ..\..\..\..\..\temp\csr\ta_EXP.obj + -del ..\..\..\..\..\temp\csr\ta_FLOOR.obj + -del ..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\csr\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\csr\ta_KAMA.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\csr\ta_LN.obj + -del ..\..\..\..\..\temp\csr\ta_LOG10.obj + -del ..\..\..\..\..\temp\csr\ta_MA.obj + -del ..\..\..\..\..\temp\csr\ta_MACD.obj + -del ..\..\..\..\..\temp\csr\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\csr\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\csr\ta_MAMA.obj + -del ..\..\..\..\..\temp\csr\ta_MAVP.obj + -del ..\..\..\..\..\temp\csr\ta_MAX.obj + -del ..\..\..\..\..\temp\csr\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\csr\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_MFI.obj + -del ..\..\..\..\..\temp\csr\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\csr\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_MIN.obj + -del ..\..\..\..\..\temp\csr\ta_MININDEX.obj + -del ..\..\..\..\..\temp\csr\ta_MINMAX.obj + -del ..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\csr\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\csr\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\csr\ta_MOM.obj + -del ..\..\..\..\..\temp\csr\ta_MULT.obj + -del ..\..\..\..\..\temp\csr\ta_NATR.obj + -del ..\..\..\..\..\temp\csr\ta_OBV.obj + -del ..\..\..\..\..\temp\csr\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\csr\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\csr\ta_PPO.obj + -del ..\..\..\..\..\temp\csr\ta_ROC.obj + -del ..\..\..\..\..\temp\csr\ta_ROCP.obj + -del ..\..\..\..\..\temp\csr\ta_ROCR.obj + -del ..\..\..\..\..\temp\csr\ta_ROCR100.obj + -del ..\..\..\..\..\temp\csr\ta_RSI.obj + -del ..\..\..\..\..\temp\csr\ta_SAR.obj + -del ..\..\..\..\..\temp\csr\ta_SAREXT.obj + -del ..\..\..\..\..\temp\csr\ta_SIN.obj + -del ..\..\..\..\..\temp\csr\ta_SINH.obj + -del ..\..\..\..\..\temp\csr\ta_SMA.obj + -del ..\..\..\..\..\temp\csr\ta_SQRT.obj + -del ..\..\..\..\..\temp\csr\ta_STDDEV.obj + -del ..\..\..\..\..\temp\csr\ta_STOCH.obj + -del ..\..\..\..\..\temp\csr\ta_STOCHF.obj + -del ..\..\..\..\..\temp\csr\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\csr\ta_SUB.obj + -del ..\..\..\..\..\temp\csr\ta_SUM.obj + -del ..\..\..\..\..\temp\csr\ta_T3.obj + -del ..\..\..\..\..\temp\csr\ta_TAN.obj + -del ..\..\..\..\..\temp\csr\ta_TANH.obj + -del ..\..\..\..\..\temp\csr\ta_TEMA.obj + -del ..\..\..\..\..\temp\csr\ta_TRANGE.obj + -del ..\..\..\..\..\temp\csr\ta_TRIMA.obj + -del ..\..\..\..\..\temp\csr\ta_TRIX.obj + -del ..\..\..\..\..\temp\csr\ta_TSF.obj + -del ..\..\..\..\..\temp\csr\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\csr\ta_VAR.obj + -del ..\..\..\..\..\temp\csr\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_WILLR.obj + -del ..\..\..\..\..\temp\csr\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csr/*.pch + -del ../../../../../temp/csr/*.idb + -del ../../../../../temp/csr/ta_func/*.pch + -del ../../../../../temp/csr/ta_func/*.idb + -del ../../../../../temp/csr/ta_func/*.obj + +####### Compile + +..\..\..\..\..\temp\csr\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\csr\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\csr\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\csr\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\csr\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\csr\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\csr\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\csr\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\csr\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\csr\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\csr\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\csr\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\csr\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\csr\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\csr\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\csr\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\csr\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\csr\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\csr\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\csr\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\csr\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\csr\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\csr\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\csr\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\csr\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\csr\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\csr\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\csr\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\csr\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\csr\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\csr\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\csr\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\csr\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\csr\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\csr\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\csr\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\csr\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\csr\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\csr\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\csr\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\csr\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\csr\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\csr\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\csr\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\csr\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\csr\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\csr\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\csr\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\csr\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\csr\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\csr\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\csr\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\csr\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\csr\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\csr\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\csr\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\csr\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\csr\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\csr\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\csr\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\csr\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\csr\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\csr\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\csr\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\csr\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\csr\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\csr\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\csr\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\csr\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\csr\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\csr\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\csr\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\csr\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\csr\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\csr\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\csr\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\csr\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\csr\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\csr\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\csr\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\csr\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\csr\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\csr\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\csr\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\csr\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\csr\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\csr\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\csr\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\csr\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\csr\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\csr\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\csr\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\csr\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/csr/win32/symantec/ta_libc/Makefile b/vendor/ta-lib/make/csr/win32/symantec/ta_libc/Makefile new file mode 100644 index 000000000..35748c75b --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/symantec/ta_libc/Makefile @@ -0,0 +1,1424 @@ +############################################################################# +# Makefile for building ta_libc_csr +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = sc +CXX = sc +CFLAGS = -mn -w2 -o -DTA_SINGLE_THREAD -DWIN32 -DNO_DEBUG +CXXFLAGS= -mn -w2 -o -DTA_SINGLE_THREAD -DWIN32 -DNO_DEBUG +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\include" -I"..\..\..\..\..\src\ta_abstract" -I"..\..\..\..\..\src\ta_abstract\tables" -I"..\..\..\..\..\src\ta_abstract\frames" -I"$(QTDIR)\include" +LIB = lib /C /N /NOI /P:32 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c \ + ..\..\..\..\..\src\ta_common\ta_retcode.c \ + ..\..\..\..\..\src\ta_common\ta_version.c \ + ..\..\..\..\..\src\ta_abstract\ta_abstract.c \ + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c \ + ..\..\..\..\..\src\ta_abstract\ta_func_api.c \ + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c \ + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_a.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_b.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_c.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_d.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_e.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_f.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_g.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_h.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_i.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_j.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_k.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_l.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_m.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_n.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_o.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_p.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_q.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_r.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_s.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_t.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_u.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_v.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_w.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_x.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_y.c \ + ..\..\..\..\..\src\ta_abstract\tables\table_z.c \ + ..\..\..\..\..\src\ta_func\ta_utility.c \ + ..\..\..\..\..\src\ta_func\ta_ACOS.c \ + ..\..\..\..\..\src\ta_func\ta_AD.c \ + ..\..\..\..\..\src\ta_func\ta_ADD.c \ + ..\..\..\..\..\src\ta_func\ta_ADOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ADX.c \ + ..\..\..\..\..\src\ta_func\ta_ADXR.c \ + ..\..\..\..\..\src\ta_func\ta_APO.c \ + ..\..\..\..\..\src\ta_func\ta_AROON.c \ + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c \ + ..\..\..\..\..\src\ta_func\ta_ASIN.c \ + ..\..\..\..\..\src\ta_func\ta_ATAN.c \ + ..\..\..\..\..\src\ta_func\ta_ATR.c \ + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_BBANDS.c \ + ..\..\..\..\..\src\ta_func\ta_BETA.c \ + ..\..\..\..\..\src\ta_func\ta_BOP.c \ + ..\..\..\..\..\src\ta_func\ta_CCI.c \ + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c \ + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c \ + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c \ + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c \ + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c \ + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c \ + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c \ + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c \ + ..\..\..\..\..\src\ta_func\ta_CEIL.c \ + ..\..\..\..\..\src\ta_func\ta_CMO.c \ + ..\..\..\..\..\src\ta_func\ta_CORREL.c \ + ..\..\..\..\..\src\ta_func\ta_COS.c \ + ..\..\..\..\..\src\ta_func\ta_COSH.c \ + ..\..\..\..\..\src\ta_func\ta_DEMA.c \ + ..\..\..\..\..\src\ta_func\ta_DIV.c \ + ..\..\..\..\..\src\ta_func\ta_DX.c \ + ..\..\..\..\..\src\ta_func\ta_EMA.c \ + ..\..\..\..\..\src\ta_func\ta_EXP.c \ + ..\..\..\..\..\src\ta_func\ta_FLOOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c \ + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c \ + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c \ + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c \ + ..\..\..\..\..\src\ta_func\ta_KAMA.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c \ + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c \ + ..\..\..\..\..\src\ta_func\ta_LN.c \ + ..\..\..\..\..\src\ta_func\ta_LOG10.c \ + ..\..\..\..\..\src\ta_func\ta_MA.c \ + ..\..\..\..\..\src\ta_func\ta_MACD.c \ + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c \ + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c \ + ..\..\..\..\..\src\ta_func\ta_MAMA.c \ + ..\..\..\..\..\src\ta_func\ta_MAVP.c \ + ..\..\..\..\..\src\ta_func\ta_MAX.c \ + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MFI.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c \ + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_MIN.c \ + ..\..\..\..\..\src\ta_func\ta_MININDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAX.c \ + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_MOM.c \ + ..\..\..\..\..\src\ta_func\ta_MULT.c \ + ..\..\..\..\..\src\ta_func\ta_NATR.c \ + ..\..\..\..\..\src\ta_func\ta_OBV.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c \ + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c \ + ..\..\..\..\..\src\ta_func\ta_PPO.c \ + ..\..\..\..\..\src\ta_func\ta_ROC.c \ + ..\..\..\..\..\src\ta_func\ta_ROCP.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR.c \ + ..\..\..\..\..\src\ta_func\ta_ROCR100.c \ + ..\..\..\..\..\src\ta_func\ta_RSI.c \ + ..\..\..\..\..\src\ta_func\ta_SAR.c \ + ..\..\..\..\..\src\ta_func\ta_SAREXT.c \ + ..\..\..\..\..\src\ta_func\ta_SIN.c \ + ..\..\..\..\..\src\ta_func\ta_SINH.c \ + ..\..\..\..\..\src\ta_func\ta_SMA.c \ + ..\..\..\..\..\src\ta_func\ta_SQRT.c \ + ..\..\..\..\..\src\ta_func\ta_STDDEV.c \ + ..\..\..\..\..\src\ta_func\ta_STOCH.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHF.c \ + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c \ + ..\..\..\..\..\src\ta_func\ta_SUB.c \ + ..\..\..\..\..\src\ta_func\ta_SUM.c \ + ..\..\..\..\..\src\ta_func\ta_T3.c \ + ..\..\..\..\..\src\ta_func\ta_TAN.c \ + ..\..\..\..\..\src\ta_func\ta_TANH.c \ + ..\..\..\..\..\src\ta_func\ta_TEMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRANGE.c \ + ..\..\..\..\..\src\ta_func\ta_TRIMA.c \ + ..\..\..\..\..\src\ta_func\ta_TRIX.c \ + ..\..\..\..\..\src\ta_func\ta_TSF.c \ + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c \ + ..\..\..\..\..\src\ta_func\ta_VAR.c \ + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c \ + ..\..\..\..\..\src\ta_func\ta_WILLR.c \ + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\csr\ta_global.obj \ + ..\..\..\..\..\temp\csr\ta_retcode.obj \ + ..\..\..\..\..\temp\csr\ta_version.obj \ + ..\..\..\..\..\temp\csr\ta_abstract.obj \ + ..\..\..\..\..\temp\csr\ta_def_ui.obj \ + ..\..\..\..\..\temp\csr\ta_func_api.obj \ + ..\..\..\..\..\temp\csr\ta_group_idx.obj \ + ..\..\..\..\..\temp\csr\ta_frame.obj \ + ..\..\..\..\..\temp\csr\table_a.obj \ + ..\..\..\..\..\temp\csr\table_b.obj \ + ..\..\..\..\..\temp\csr\table_c.obj \ + ..\..\..\..\..\temp\csr\table_d.obj \ + ..\..\..\..\..\temp\csr\table_e.obj \ + ..\..\..\..\..\temp\csr\table_f.obj \ + ..\..\..\..\..\temp\csr\table_g.obj \ + ..\..\..\..\..\temp\csr\table_h.obj \ + ..\..\..\..\..\temp\csr\table_i.obj \ + ..\..\..\..\..\temp\csr\table_j.obj \ + ..\..\..\..\..\temp\csr\table_k.obj \ + ..\..\..\..\..\temp\csr\table_l.obj \ + ..\..\..\..\..\temp\csr\table_m.obj \ + ..\..\..\..\..\temp\csr\table_n.obj \ + ..\..\..\..\..\temp\csr\table_o.obj \ + ..\..\..\..\..\temp\csr\table_p.obj \ + ..\..\..\..\..\temp\csr\table_q.obj \ + ..\..\..\..\..\temp\csr\table_r.obj \ + ..\..\..\..\..\temp\csr\table_s.obj \ + ..\..\..\..\..\temp\csr\table_t.obj \ + ..\..\..\..\..\temp\csr\table_u.obj \ + ..\..\..\..\..\temp\csr\table_v.obj \ + ..\..\..\..\..\temp\csr\table_w.obj \ + ..\..\..\..\..\temp\csr\table_x.obj \ + ..\..\..\..\..\temp\csr\table_y.obj \ + ..\..\..\..\..\temp\csr\table_z.obj \ + ..\..\..\..\..\temp\csr\ta_utility.obj \ + ..\..\..\..\..\temp\csr\ta_ACOS.obj \ + ..\..\..\..\..\temp\csr\ta_AD.obj \ + ..\..\..\..\..\temp\csr\ta_ADD.obj \ + ..\..\..\..\..\temp\csr\ta_ADOSC.obj \ + ..\..\..\..\..\temp\csr\ta_ADX.obj \ + ..\..\..\..\..\temp\csr\ta_ADXR.obj \ + ..\..\..\..\..\temp\csr\ta_APO.obj \ + ..\..\..\..\..\temp\csr\ta_AROON.obj \ + ..\..\..\..\..\temp\csr\ta_AROONOSC.obj \ + ..\..\..\..\..\temp\csr\ta_ASIN.obj \ + ..\..\..\..\..\temp\csr\ta_ATAN.obj \ + ..\..\..\..\..\temp\csr\ta_ATR.obj \ + ..\..\..\..\..\temp\csr\ta_AVGPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_BBANDS.obj \ + ..\..\..\..\..\temp\csr\ta_BETA.obj \ + ..\..\..\..\..\temp\csr\ta_BOP.obj \ + ..\..\..\..\..\temp\csr\ta_CCI.obj \ + ..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj \ + ..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj \ + ..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj \ + ..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj \ + ..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj \ + ..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj \ + ..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj \ + ..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj \ + ..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj \ + ..\..\..\..\..\temp\csr\ta_CDLDOJI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj \ + ..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj \ + ..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj \ + ..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLINNECK.obj \ + ..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj \ + ..\..\..\..\..\temp\csr\ta_CDLKICKING.obj \ + ..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj \ + ..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj \ + ..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLONNECK.obj \ + ..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj \ + ..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj \ + ..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj \ + ..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj \ + ..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj \ + ..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj \ + ..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj \ + ..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj \ + ..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj \ + ..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj \ + ..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj \ + ..\..\..\..\..\temp\csr\ta_CEIL.obj \ + ..\..\..\..\..\temp\csr\ta_CMO.obj \ + ..\..\..\..\..\temp\csr\ta_CORREL.obj \ + ..\..\..\..\..\temp\csr\ta_COS.obj \ + ..\..\..\..\..\temp\csr\ta_COSH.obj \ + ..\..\..\..\..\temp\csr\ta_DEMA.obj \ + ..\..\..\..\..\temp\csr\ta_DIV.obj \ + ..\..\..\..\..\temp\csr\ta_DX.obj \ + ..\..\..\..\..\temp\csr\ta_EMA.obj \ + ..\..\..\..\..\temp\csr\ta_EXP.obj \ + ..\..\..\..\..\temp\csr\ta_FLOOR.obj \ + ..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj \ + ..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj \ + ..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj \ + ..\..\..\..\..\temp\csr\ta_HT_SINE.obj \ + ..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj \ + ..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj \ + ..\..\..\..\..\temp\csr\ta_KAMA.obj \ + ..\..\..\..\..\temp\csr\ta_LINEARREG.obj \ + ..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj \ + ..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj \ + ..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj \ + ..\..\..\..\..\temp\csr\ta_LN.obj \ + ..\..\..\..\..\temp\csr\ta_LOG10.obj \ + ..\..\..\..\..\temp\csr\ta_MA.obj \ + ..\..\..\..\..\temp\csr\ta_MACD.obj \ + ..\..\..\..\..\temp\csr\ta_MACDEXT.obj \ + ..\..\..\..\..\temp\csr\ta_MACDFIX.obj \ + ..\..\..\..\..\temp\csr\ta_MAMA.obj \ + ..\..\..\..\..\temp\csr\ta_MAVP.obj \ + ..\..\..\..\..\temp\csr\ta_MAX.obj \ + ..\..\..\..\..\temp\csr\ta_MAXINDEX.obj \ + ..\..\..\..\..\temp\csr\ta_MEDPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_MFI.obj \ + ..\..\..\..\..\temp\csr\ta_MIDPOINT.obj \ + ..\..\..\..\..\temp\csr\ta_MIDPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_MIN.obj \ + ..\..\..\..\..\temp\csr\ta_MININDEX.obj \ + ..\..\..\..\..\temp\csr\ta_MINMAX.obj \ + ..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj \ + ..\..\..\..\..\temp\csr\ta_MINUS_DI.obj \ + ..\..\..\..\..\temp\csr\ta_MINUS_DM.obj \ + ..\..\..\..\..\temp\csr\ta_MOM.obj \ + ..\..\..\..\..\temp\csr\ta_MULT.obj \ + ..\..\..\..\..\temp\csr\ta_NATR.obj \ + ..\..\..\..\..\temp\csr\ta_OBV.obj \ + ..\..\..\..\..\temp\csr\ta_PLUS_DI.obj \ + ..\..\..\..\..\temp\csr\ta_PLUS_DM.obj \ + ..\..\..\..\..\temp\csr\ta_PPO.obj \ + ..\..\..\..\..\temp\csr\ta_ROC.obj \ + ..\..\..\..\..\temp\csr\ta_ROCP.obj \ + ..\..\..\..\..\temp\csr\ta_ROCR.obj \ + ..\..\..\..\..\temp\csr\ta_ROCR100.obj \ + ..\..\..\..\..\temp\csr\ta_RSI.obj \ + ..\..\..\..\..\temp\csr\ta_SAR.obj \ + ..\..\..\..\..\temp\csr\ta_SAREXT.obj \ + ..\..\..\..\..\temp\csr\ta_SIN.obj \ + ..\..\..\..\..\temp\csr\ta_SINH.obj \ + ..\..\..\..\..\temp\csr\ta_SMA.obj \ + ..\..\..\..\..\temp\csr\ta_SQRT.obj \ + ..\..\..\..\..\temp\csr\ta_STDDEV.obj \ + ..\..\..\..\..\temp\csr\ta_STOCH.obj \ + ..\..\..\..\..\temp\csr\ta_STOCHF.obj \ + ..\..\..\..\..\temp\csr\ta_STOCHRSI.obj \ + ..\..\..\..\..\temp\csr\ta_SUB.obj \ + ..\..\..\..\..\temp\csr\ta_SUM.obj \ + ..\..\..\..\..\temp\csr\ta_T3.obj \ + ..\..\..\..\..\temp\csr\ta_TAN.obj \ + ..\..\..\..\..\temp\csr\ta_TANH.obj \ + ..\..\..\..\..\temp\csr\ta_TEMA.obj \ + ..\..\..\..\..\temp\csr\ta_TRANGE.obj \ + ..\..\..\..\..\temp\csr\ta_TRIMA.obj \ + ..\..\..\..\..\temp\csr\ta_TRIX.obj \ + ..\..\..\..\..\temp\csr\ta_TSF.obj \ + ..\..\..\..\..\temp\csr\ta_TYPPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_ULTOSC.obj \ + ..\..\..\..\..\temp\csr\ta_VAR.obj \ + ..\..\..\..\..\temp\csr\ta_WCLPRICE.obj \ + ..\..\..\..\..\temp\csr\ta_WILLR.obj \ + ..\..\..\..\..\temp\csr\ta_WMA.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_libc_csr.lib + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + -del $(TARGET) + $(LIB) $(TARGET) ..\..\..\..\..\temp\csr\ta_global.obj \ ++..\..\..\..\..\temp\csr\ta_retcode.obj \ ++..\..\..\..\..\temp\csr\ta_version.obj \ ++..\..\..\..\..\temp\csr\ta_abstract.obj \ ++..\..\..\..\..\temp\csr\ta_def_ui.obj \ ++..\..\..\..\..\temp\csr\ta_func_api.obj \ ++..\..\..\..\..\temp\csr\ta_group_idx.obj \ ++..\..\..\..\..\temp\csr\ta_frame.obj \ ++..\..\..\..\..\temp\csr\table_a.obj \ ++..\..\..\..\..\temp\csr\table_b.obj \ ++..\..\..\..\..\temp\csr\table_c.obj \ ++..\..\..\..\..\temp\csr\table_d.obj \ ++..\..\..\..\..\temp\csr\table_e.obj \ ++..\..\..\..\..\temp\csr\table_f.obj \ ++..\..\..\..\..\temp\csr\table_g.obj \ ++..\..\..\..\..\temp\csr\table_h.obj \ ++..\..\..\..\..\temp\csr\table_i.obj \ ++..\..\..\..\..\temp\csr\table_j.obj \ ++..\..\..\..\..\temp\csr\table_k.obj \ ++..\..\..\..\..\temp\csr\table_l.obj \ ++..\..\..\..\..\temp\csr\table_m.obj \ ++..\..\..\..\..\temp\csr\table_n.obj \ ++..\..\..\..\..\temp\csr\table_o.obj \ ++..\..\..\..\..\temp\csr\table_p.obj \ ++..\..\..\..\..\temp\csr\table_q.obj \ ++..\..\..\..\..\temp\csr\table_r.obj \ ++..\..\..\..\..\temp\csr\table_s.obj \ ++..\..\..\..\..\temp\csr\table_t.obj \ ++..\..\..\..\..\temp\csr\table_u.obj \ ++..\..\..\..\..\temp\csr\table_v.obj \ ++..\..\..\..\..\temp\csr\table_w.obj \ ++..\..\..\..\..\temp\csr\table_x.obj \ ++..\..\..\..\..\temp\csr\table_y.obj \ ++..\..\..\..\..\temp\csr\table_z.obj \ ++..\..\..\..\..\temp\csr\ta_utility.obj \ ++..\..\..\..\..\temp\csr\ta_ACOS.obj \ ++..\..\..\..\..\temp\csr\ta_AD.obj \ ++..\..\..\..\..\temp\csr\ta_ADD.obj \ ++..\..\..\..\..\temp\csr\ta_ADOSC.obj \ ++..\..\..\..\..\temp\csr\ta_ADX.obj \ ++..\..\..\..\..\temp\csr\ta_ADXR.obj \ ++..\..\..\..\..\temp\csr\ta_APO.obj \ ++..\..\..\..\..\temp\csr\ta_AROON.obj \ ++..\..\..\..\..\temp\csr\ta_AROONOSC.obj \ ++..\..\..\..\..\temp\csr\ta_ASIN.obj \ ++..\..\..\..\..\temp\csr\ta_ATAN.obj \ ++..\..\..\..\..\temp\csr\ta_ATR.obj \ ++..\..\..\..\..\temp\csr\ta_AVGPRICE.obj \ ++..\..\..\..\..\temp\csr\ta_BBANDS.obj \ ++..\..\..\..\..\temp\csr\ta_BETA.obj \ ++..\..\..\..\..\temp\csr\ta_BOP.obj \ ++..\..\..\..\..\temp\csr\ta_CCI.obj \ ++..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj \ ++..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj \ ++..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj \ ++..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj \ ++..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj \ ++..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj \ ++..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj \ ++..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj \ ++..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj \ ++..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj \ ++..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj \ ++..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj \ ++..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj \ ++..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj \ ++..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj \ ++..\..\..\..\..\temp\csr\ta_CDLDOJI.obj \ ++..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj \ ++..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj \ ++..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj \ ++..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj \ ++..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj \ ++..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj \ ++..\..\..\..\..\temp\csr\ta_CDLINNECK.obj \ ++..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj \ ++..\..\..\..\..\temp\csr\ta_CDLKICKING.obj \ ++..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj \ ++..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj \ ++..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj \ ++..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj \ ++..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj \ ++..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj \ ++..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj \ ++..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLONNECK.obj \ ++..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj \ ++..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj \ ++..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj \ ++..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj \ ++..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj \ ++..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj \ ++..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj \ ++..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj \ ++..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj \ ++..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj \ ++..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj \ ++..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj \ ++..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj \ ++..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj \ ++..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj \ ++..\..\..\..\..\temp\csr\ta_CEIL.obj \ ++..\..\..\..\..\temp\csr\ta_CMO.obj \ ++..\..\..\..\..\temp\csr\ta_CORREL.obj \ ++..\..\..\..\..\temp\csr\ta_COS.obj \ ++..\..\..\..\..\temp\csr\ta_COSH.obj \ ++..\..\..\..\..\temp\csr\ta_DEMA.obj \ ++..\..\..\..\..\temp\csr\ta_DIV.obj \ ++..\..\..\..\..\temp\csr\ta_DX.obj \ ++..\..\..\..\..\temp\csr\ta_EMA.obj \ ++..\..\..\..\..\temp\csr\ta_EXP.obj \ ++..\..\..\..\..\temp\csr\ta_FLOOR.obj \ ++..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj \ ++..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj \ ++..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj \ ++..\..\..\..\..\temp\csr\ta_HT_SINE.obj \ ++..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj \ ++..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj \ ++..\..\..\..\..\temp\csr\ta_KAMA.obj \ ++..\..\..\..\..\temp\csr\ta_LINEARREG.obj \ ++..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj \ ++..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj \ ++..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj \ ++..\..\..\..\..\temp\csr\ta_LN.obj \ ++..\..\..\..\..\temp\csr\ta_LOG10.obj \ ++..\..\..\..\..\temp\csr\ta_MA.obj \ ++..\..\..\..\..\temp\csr\ta_MACD.obj \ ++..\..\..\..\..\temp\csr\ta_MACDEXT.obj \ ++..\..\..\..\..\temp\csr\ta_MACDFIX.obj \ ++..\..\..\..\..\temp\csr\ta_MAMA.obj \ ++..\..\..\..\..\temp\csr\ta_MAVP.obj \ ++..\..\..\..\..\temp\csr\ta_MAX.obj \ ++..\..\..\..\..\temp\csr\ta_MAXINDEX.obj \ ++..\..\..\..\..\temp\csr\ta_MEDPRICE.obj \ ++..\..\..\..\..\temp\csr\ta_MFI.obj \ ++..\..\..\..\..\temp\csr\ta_MIDPOINT.obj \ ++..\..\..\..\..\temp\csr\ta_MIDPRICE.obj \ ++..\..\..\..\..\temp\csr\ta_MIN.obj \ ++..\..\..\..\..\temp\csr\ta_MININDEX.obj \ ++..\..\..\..\..\temp\csr\ta_MINMAX.obj \ ++..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj \ ++..\..\..\..\..\temp\csr\ta_MINUS_DI.obj \ ++..\..\..\..\..\temp\csr\ta_MINUS_DM.obj \ ++..\..\..\..\..\temp\csr\ta_MOM.obj \ ++..\..\..\..\..\temp\csr\ta_MULT.obj \ ++..\..\..\..\..\temp\csr\ta_NATR.obj \ ++..\..\..\..\..\temp\csr\ta_OBV.obj \ ++..\..\..\..\..\temp\csr\ta_PLUS_DI.obj \ ++..\..\..\..\..\temp\csr\ta_PLUS_DM.obj \ ++..\..\..\..\..\temp\csr\ta_PPO.obj \ ++..\..\..\..\..\temp\csr\ta_ROC.obj \ ++..\..\..\..\..\temp\csr\ta_ROCP.obj \ ++..\..\..\..\..\temp\csr\ta_ROCR.obj \ ++..\..\..\..\..\temp\csr\ta_ROCR100.obj \ ++..\..\..\..\..\temp\csr\ta_RSI.obj \ ++..\..\..\..\..\temp\csr\ta_SAR.obj \ ++..\..\..\..\..\temp\csr\ta_SAREXT.obj \ ++..\..\..\..\..\temp\csr\ta_SIN.obj \ ++..\..\..\..\..\temp\csr\ta_SINH.obj \ ++..\..\..\..\..\temp\csr\ta_SMA.obj \ ++..\..\..\..\..\temp\csr\ta_SQRT.obj \ ++..\..\..\..\..\temp\csr\ta_STDDEV.obj \ ++..\..\..\..\..\temp\csr\ta_STOCH.obj \ ++..\..\..\..\..\temp\csr\ta_STOCHF.obj \ ++..\..\..\..\..\temp\csr\ta_STOCHRSI.obj \ ++..\..\..\..\..\temp\csr\ta_SUB.obj \ ++..\..\..\..\..\temp\csr\ta_SUM.obj \ ++..\..\..\..\..\temp\csr\ta_T3.obj \ ++..\..\..\..\..\temp\csr\ta_TAN.obj \ ++..\..\..\..\..\temp\csr\ta_TANH.obj \ ++..\..\..\..\..\temp\csr\ta_TEMA.obj \ ++..\..\..\..\..\temp\csr\ta_TRANGE.obj \ ++..\..\..\..\..\temp\csr\ta_TRIMA.obj \ ++..\..\..\..\..\temp\csr\ta_TRIX.obj \ ++..\..\..\..\..\temp\csr\ta_TSF.obj \ ++..\..\..\..\..\temp\csr\ta_TYPPRICE.obj \ ++..\..\..\..\..\temp\csr\ta_ULTOSC.obj \ ++..\..\..\..\..\temp\csr\ta_VAR.obj \ ++..\..\..\..\..\temp\csr\ta_WCLPRICE.obj \ ++..\..\..\..\..\temp\csr\ta_WILLR.obj \ ++..\..\..\..\..\temp\csr\ta_WMA.obj \ ++,; + +moc: $(SRCMOC) + +tmake: ../csr/win32/symantec/ta_libc/Makefile + +../csr/win32/symantec/ta_libc/Makefile: ta_libc/ta_libc.pro + tmake ta_libc/ta_libc.pro -o ../csr/win32/symantec/ta_libc/Makefile + +dist: + $(ZIP) ta_libc/ta_libc.zip ta_libc/ta_libc.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csr\ta_global.obj + -del ..\..\..\..\..\temp\csr\ta_retcode.obj + -del ..\..\..\..\..\temp\csr\ta_version.obj + -del ..\..\..\..\..\temp\csr\ta_abstract.obj + -del ..\..\..\..\..\temp\csr\ta_def_ui.obj + -del ..\..\..\..\..\temp\csr\ta_func_api.obj + -del ..\..\..\..\..\temp\csr\ta_group_idx.obj + -del ..\..\..\..\..\temp\csr\ta_frame.obj + -del ..\..\..\..\..\temp\csr\table_a.obj + -del ..\..\..\..\..\temp\csr\table_b.obj + -del ..\..\..\..\..\temp\csr\table_c.obj + -del ..\..\..\..\..\temp\csr\table_d.obj + -del ..\..\..\..\..\temp\csr\table_e.obj + -del ..\..\..\..\..\temp\csr\table_f.obj + -del ..\..\..\..\..\temp\csr\table_g.obj + -del ..\..\..\..\..\temp\csr\table_h.obj + -del ..\..\..\..\..\temp\csr\table_i.obj + -del ..\..\..\..\..\temp\csr\table_j.obj + -del ..\..\..\..\..\temp\csr\table_k.obj + -del ..\..\..\..\..\temp\csr\table_l.obj + -del ..\..\..\..\..\temp\csr\table_m.obj + -del ..\..\..\..\..\temp\csr\table_n.obj + -del ..\..\..\..\..\temp\csr\table_o.obj + -del ..\..\..\..\..\temp\csr\table_p.obj + -del ..\..\..\..\..\temp\csr\table_q.obj + -del ..\..\..\..\..\temp\csr\table_r.obj + -del ..\..\..\..\..\temp\csr\table_s.obj + -del ..\..\..\..\..\temp\csr\table_t.obj + -del ..\..\..\..\..\temp\csr\table_u.obj + -del ..\..\..\..\..\temp\csr\table_v.obj + -del ..\..\..\..\..\temp\csr\table_w.obj + -del ..\..\..\..\..\temp\csr\table_x.obj + -del ..\..\..\..\..\temp\csr\table_y.obj + -del ..\..\..\..\..\temp\csr\table_z.obj + -del ..\..\..\..\..\temp\csr\ta_utility.obj + -del ..\..\..\..\..\temp\csr\ta_ACOS.obj + -del ..\..\..\..\..\temp\csr\ta_AD.obj + -del ..\..\..\..\..\temp\csr\ta_ADD.obj + -del ..\..\..\..\..\temp\csr\ta_ADOSC.obj + -del ..\..\..\..\..\temp\csr\ta_ADX.obj + -del ..\..\..\..\..\temp\csr\ta_ADXR.obj + -del ..\..\..\..\..\temp\csr\ta_APO.obj + -del ..\..\..\..\..\temp\csr\ta_AROON.obj + -del ..\..\..\..\..\temp\csr\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\csr\ta_ASIN.obj + -del ..\..\..\..\..\temp\csr\ta_ATAN.obj + -del ..\..\..\..\..\temp\csr\ta_ATR.obj + -del ..\..\..\..\..\temp\csr\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_BBANDS.obj + -del ..\..\..\..\..\temp\csr\ta_BETA.obj + -del ..\..\..\..\..\temp\csr\ta_BOP.obj + -del ..\..\..\..\..\temp\csr\ta_CCI.obj + -del ..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\csr\ta_CEIL.obj + -del ..\..\..\..\..\temp\csr\ta_CMO.obj + -del ..\..\..\..\..\temp\csr\ta_CORREL.obj + -del ..\..\..\..\..\temp\csr\ta_COS.obj + -del ..\..\..\..\..\temp\csr\ta_COSH.obj + -del ..\..\..\..\..\temp\csr\ta_DEMA.obj + -del ..\..\..\..\..\temp\csr\ta_DIV.obj + -del ..\..\..\..\..\temp\csr\ta_DX.obj + -del ..\..\..\..\..\temp\csr\ta_EMA.obj + -del ..\..\..\..\..\temp\csr\ta_EXP.obj + -del ..\..\..\..\..\temp\csr\ta_FLOOR.obj + -del ..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\csr\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\csr\ta_KAMA.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\csr\ta_LN.obj + -del ..\..\..\..\..\temp\csr\ta_LOG10.obj + -del ..\..\..\..\..\temp\csr\ta_MA.obj + -del ..\..\..\..\..\temp\csr\ta_MACD.obj + -del ..\..\..\..\..\temp\csr\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\csr\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\csr\ta_MAMA.obj + -del ..\..\..\..\..\temp\csr\ta_MAVP.obj + -del ..\..\..\..\..\temp\csr\ta_MAX.obj + -del ..\..\..\..\..\temp\csr\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\csr\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_MFI.obj + -del ..\..\..\..\..\temp\csr\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\csr\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_MIN.obj + -del ..\..\..\..\..\temp\csr\ta_MININDEX.obj + -del ..\..\..\..\..\temp\csr\ta_MINMAX.obj + -del ..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\csr\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\csr\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\csr\ta_MOM.obj + -del ..\..\..\..\..\temp\csr\ta_MULT.obj + -del ..\..\..\..\..\temp\csr\ta_NATR.obj + -del ..\..\..\..\..\temp\csr\ta_OBV.obj + -del ..\..\..\..\..\temp\csr\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\csr\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\csr\ta_PPO.obj + -del ..\..\..\..\..\temp\csr\ta_ROC.obj + -del ..\..\..\..\..\temp\csr\ta_ROCP.obj + -del ..\..\..\..\..\temp\csr\ta_ROCR.obj + -del ..\..\..\..\..\temp\csr\ta_ROCR100.obj + -del ..\..\..\..\..\temp\csr\ta_RSI.obj + -del ..\..\..\..\..\temp\csr\ta_SAR.obj + -del ..\..\..\..\..\temp\csr\ta_SAREXT.obj + -del ..\..\..\..\..\temp\csr\ta_SIN.obj + -del ..\..\..\..\..\temp\csr\ta_SINH.obj + -del ..\..\..\..\..\temp\csr\ta_SMA.obj + -del ..\..\..\..\..\temp\csr\ta_SQRT.obj + -del ..\..\..\..\..\temp\csr\ta_STDDEV.obj + -del ..\..\..\..\..\temp\csr\ta_STOCH.obj + -del ..\..\..\..\..\temp\csr\ta_STOCHF.obj + -del ..\..\..\..\..\temp\csr\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\csr\ta_SUB.obj + -del ..\..\..\..\..\temp\csr\ta_SUM.obj + -del ..\..\..\..\..\temp\csr\ta_T3.obj + -del ..\..\..\..\..\temp\csr\ta_TAN.obj + -del ..\..\..\..\..\temp\csr\ta_TANH.obj + -del ..\..\..\..\..\temp\csr\ta_TEMA.obj + -del ..\..\..\..\..\temp\csr\ta_TRANGE.obj + -del ..\..\..\..\..\temp\csr\ta_TRIMA.obj + -del ..\..\..\..\..\temp\csr\ta_TRIX.obj + -del ..\..\..\..\..\temp\csr\ta_TSF.obj + -del ..\..\..\..\..\temp\csr\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\csr\ta_VAR.obj + -del ..\..\..\..\..\temp\csr\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_WILLR.obj + -del ..\..\..\..\..\temp\csr\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + +####### Compile + +..\..\..\..\..\temp\csr\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\csr\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\csr\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + +..\..\..\..\..\temp\csr\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\csr\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\csr\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\csr\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\csr\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\csr\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\csr\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\csr\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\csr\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\csr\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\csr\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\csr\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\csr\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\csr\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\csr\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\csr\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\csr\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\csr\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\csr\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\csr\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\csr\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\csr\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\csr\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\csr\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\csr\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\csr\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\csr\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\csr\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\csr\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\csr\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\csr\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + +..\..\..\..\..\temp\csr\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\csr\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\csr\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\csr\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\csr\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\csr\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\csr\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\csr\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\csr\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\csr\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\csr\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\csr\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\csr\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\csr\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\csr\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\csr\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\csr\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\csr\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\csr\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\csr\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\csr\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\csr\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\csr\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\csr\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\csr\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\csr\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\csr\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\csr\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\csr\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\csr\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\csr\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\csr\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\csr\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\csr\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\csr\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\csr\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\csr\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\csr\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\csr\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\csr\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\csr\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\csr\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\csr\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\csr\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\csr\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\csr\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\csr\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\csr\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\csr\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\csr\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\csr\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\csr\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\csr\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\csr\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\csr\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\csr\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\csr\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\csr\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\csr\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\csr\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\csr\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\csr\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\csr\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\csr\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\csr\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\csr\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\csr\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\csr\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\csr\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\csr\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\csr\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\csr\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\csr\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\csr\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\csr\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\csr\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\csr\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\csr\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\csr\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\csr\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\csr\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\csr\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\csr\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\csr\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\csr\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\csr\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\csr\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\csr\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\csr\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\csr\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\csr\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\csr\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\csr\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/csr/win32/symantec/ta_regtest/Makefile b/vendor/ta-lib/make/csr/win32/symantec/ta_regtest/Makefile new file mode 100644 index 000000000..25843aa98 --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/symantec/ta_regtest/Makefile @@ -0,0 +1,229 @@ +############################################################################# +# Makefile for building ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = sc +CXX = sc +CFLAGS = -mn -w2 -o -DTA_SINGLE_THREAD -DWIN32 +CXXFLAGS= -mn -w2 -o -DTA_SINGLE_THREAD -DWIN32 +INCPATH = -I"..\..\..\..\..\src\ta_common" -I"..\..\..\..\..\src\tools\ta_regtest" -I"..\..\..\..\..\src\ta_func" -I"..\..\..\..\..\include" +LINK = link +LFLAGS = /NOLOGO /NOI /SUBSYSTEM:console +LIBS = ..\..\..\..\..\lib\ta_libc_csr.lib +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_internals.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c \ + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_util.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_data.c \ + ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c +OBJECTS = ..\..\..\..\..\temp\csr\ta_regtest.obj \ + ..\..\..\..\..\temp\csr\test_candlestick.obj \ + ..\..\..\..\..\temp\csr\test_1in_1out.obj \ + ..\..\..\..\..\temp\csr\test_1in_2out.obj \ + ..\..\..\..\..\temp\csr\test_internals.obj \ + ..\..\..\..\..\temp\csr\test_adx.obj \ + ..\..\..\..\..\temp\csr\test_bbands.obj \ + ..\..\..\..\..\temp\csr\test_ma.obj \ + ..\..\..\..\..\temp\csr\test_macd.obj \ + ..\..\..\..\..\temp\csr\test_minmax.obj \ + ..\..\..\..\..\temp\csr\test_mom.obj \ + ..\..\..\..\..\temp\csr\test_per_ema.obj \ + ..\..\..\..\..\temp\csr\test_per_hl.obj \ + ..\..\..\..\..\temp\csr\test_per_hlc.obj \ + ..\..\..\..\..\temp\csr\test_per_hlcv.obj \ + ..\..\..\..\..\temp\csr\test_per_ohlc.obj \ + ..\..\..\..\..\temp\csr\test_po.obj \ + ..\..\..\..\..\temp\csr\test_rsi.obj \ + ..\..\..\..\..\temp\csr\test_sar.obj \ + ..\..\..\..\..\temp\csr\test_stddev.obj \ + ..\..\..\..\..\temp\csr\test_stoch.obj \ + ..\..\..\..\..\temp\csr\test_trange.obj \ + ..\..\..\..\..\temp\csr\test_util.obj \ + ..\..\..\..\..\temp\csr\test_data.obj \ + ..\..\..\..\..\temp\csr\test_abstract.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\ta_regtest.exe + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cxx.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.cc.obj: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +.c.obj: + $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + $(LINK) $(LFLAGS) $(OBJECTS) $(OBJMOC), $(TARGET),, $(LIBS) + +moc: $(SRCMOC) + +tmake: ../csr/win32/symantec/ta_regtest/Makefile + +../csr/win32/symantec/ta_regtest/Makefile: ta_regtest/ta_regtest.pro + tmake ta_regtest/ta_regtest.pro -o ../csr/win32/symantec/ta_regtest/Makefile + +dist: + $(ZIP) ta_regtest/ta_regtest.zip ta_regtest/ta_regtest.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csr\ta_regtest.obj + -del ..\..\..\..\..\temp\csr\test_candlestick.obj + -del ..\..\..\..\..\temp\csr\test_1in_1out.obj + -del ..\..\..\..\..\temp\csr\test_1in_2out.obj + -del ..\..\..\..\..\temp\csr\test_internals.obj + -del ..\..\..\..\..\temp\csr\test_adx.obj + -del ..\..\..\..\..\temp\csr\test_bbands.obj + -del ..\..\..\..\..\temp\csr\test_ma.obj + -del ..\..\..\..\..\temp\csr\test_macd.obj + -del ..\..\..\..\..\temp\csr\test_minmax.obj + -del ..\..\..\..\..\temp\csr\test_mom.obj + -del ..\..\..\..\..\temp\csr\test_per_ema.obj + -del ..\..\..\..\..\temp\csr\test_per_hl.obj + -del ..\..\..\..\..\temp\csr\test_per_hlc.obj + -del ..\..\..\..\..\temp\csr\test_per_hlcv.obj + -del ..\..\..\..\..\temp\csr\test_per_ohlc.obj + -del ..\..\..\..\..\temp\csr\test_po.obj + -del ..\..\..\..\..\temp\csr\test_rsi.obj + -del ..\..\..\..\..\temp\csr\test_sar.obj + -del ..\..\..\..\..\temp\csr\test_stddev.obj + -del ..\..\..\..\..\temp\csr\test_stoch.obj + -del ..\..\..\..\..\temp\csr\test_trange.obj + -del ..\..\..\..\..\temp\csr\test_util.obj + -del ..\..\..\..\..\temp\csr\test_data.obj + -del ..\..\..\..\..\temp\csr\test_abstract.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csr/*.pch + -del ../../../../../temp/csr/*.idb + -del ../../../../../temp/csr/ta_regtest/*.pch + -del ../../../../../temp/csr/ta_regtest/*.idb + -del ../../../../../temp/csr/ta_regtest/*.obj + +####### Compile + +..\..\..\..\..\temp\csr\ta_regtest.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\ta_regtest.obj ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + +..\..\..\..\..\temp\csr\test_candlestick.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_candlestick.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + +..\..\..\..\..\temp\csr\test_1in_1out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_1in_1out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + +..\..\..\..\..\temp\csr\test_1in_2out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_1in_2out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + +..\..\..\..\..\temp\csr\test_internals.obj: ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_internals.obj ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + +..\..\..\..\..\temp\csr\test_adx.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_adx.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + +..\..\..\..\..\temp\csr\test_bbands.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_bbands.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + +..\..\..\..\..\temp\csr\test_ma.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_ma.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + +..\..\..\..\..\temp\csr\test_macd.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_macd.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + +..\..\..\..\..\temp\csr\test_minmax.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_minmax.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + +..\..\..\..\..\temp\csr\test_mom.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_mom.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + +..\..\..\..\..\temp\csr\test_per_ema.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_per_ema.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + +..\..\..\..\..\temp\csr\test_per_hl.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_per_hl.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + +..\..\..\..\..\temp\csr\test_per_hlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_per_hlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + +..\..\..\..\..\temp\csr\test_per_hlcv.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_per_hlcv.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + +..\..\..\..\..\temp\csr\test_per_ohlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_per_ohlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + +..\..\..\..\..\temp\csr\test_po.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_po.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + +..\..\..\..\..\temp\csr\test_rsi.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_rsi.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + +..\..\..\..\..\temp\csr\test_sar.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_sar.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + +..\..\..\..\..\temp\csr\test_stddev.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_stddev.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + +..\..\..\..\..\temp\csr\test_stoch.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_stoch.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + +..\..\..\..\..\temp\csr\test_trange.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_trange.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + +..\..\..\..\..\temp\csr\test_util.obj: ..\..\..\..\..\src\tools\ta_regtest\test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_util.obj ..\..\..\..\..\src\tools\ta_regtest\test_util.c + +..\..\..\..\..\temp\csr\test_data.obj: ..\..\..\..\..\src\tools\ta_regtest\test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_data.obj ..\..\..\..\..\src\tools\ta_regtest\test_data.c + +..\..\..\..\..\temp\csr\test_abstract.obj: ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -o..\..\..\..\..\temp\csr\test_abstract.obj ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + diff --git a/vendor/ta-lib/make/csr/win32/watcom/Makefile b/vendor/ta-lib/make/csr/win32/watcom/Makefile new file mode 100644 index 000000000..ac903e446 --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/watcom/Makefile @@ -0,0 +1,97 @@ +############################################################################# +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: rootmake +# Template: subdirs +############################################################################# + +MAKEFILE= Makefile +TMAKE = tmake + +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest + +all: $(SUBDIRS) + +ta_common: FORCE + cd ta_common + $(MAKE) + @cd .. + +ta_func: FORCE + cd ta_func + $(MAKE) + @cd .. + +ta_abstract: FORCE + cd ta_abstract + $(MAKE) + @cd .. + +ta_libc: FORCE + cd ta_libc + $(MAKE) + @cd .. + +gen_code: FORCE + cd gen_code + $(MAKE) + @cd .. + +ta_regtest: FORCE + cd ta_regtest + $(MAKE) + @cd .. + + +tmake: ../csr/win32/watcom/Makefile + +../csr/win32/watcom/Makefile: rootmake.pro + tmake rootmake.pro -o ../csr/win32/watcom/Makefile + +tmake_all: + cd ta_common + $(TMAKE) ta_common.pro -o $(MAKEFILE) + @cd .. + cd ta_func + $(TMAKE) ta_func.pro -o $(MAKEFILE) + @cd .. + cd ta_abstract + $(TMAKE) ta_abstract.pro -o $(MAKEFILE) + @cd .. + cd ta_libc + $(TMAKE) ta_libc.pro -o $(MAKEFILE) + @cd .. + cd gen_code + $(TMAKE) gen_code.pro -o $(MAKEFILE) + @cd .. + cd ta_regtest + $(TMAKE) ta_regtest.pro -o $(MAKEFILE) + @cd .. + + +clean: + cd ta_common + $(MAKE) clean + @cd .. + cd ta_func + $(MAKE) clean + @cd .. + cd ta_abstract + $(MAKE) clean + @cd .. + cd ta_libc + $(MAKE) clean + @cd .. + cd gen_code + $(MAKE) clean + @cd .. + cd ta_regtest + $(MAKE) clean + @cd .. + +FORCE: diff --git a/vendor/ta-lib/make/csr/win32/watcom/gen_code/Makefile b/vendor/ta-lib/make/csr/win32/watcom/gen_code/Makefile new file mode 100644 index 000000000..c51baf2c2 --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/watcom/gen_code/Makefile @@ -0,0 +1,243 @@ +############################################################################# +# Makefile for building gen_code +# Generated by tmake; +# Project: gen_code/gen_code +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = wcl386 +CXX = wcl386 +CFLAGS = -zq -w2 -ox -d=TA_GEN_CODE -d=TA_SINGLE_THREAD -d=WIN32 +CXXFLAGS= -zq -w2 -ox -d=TA_GEN_CODE -d=TA_SINGLE_THREAD -d=WIN32 +INCPATH = -i="..\..\..\..\..\include" -i="..\..\..\..\..\src\ta_common" -i="..\..\..\..\..\src\ta_abstract" -i="..\..\..\..\..\src\ta_abstract\tables" -i="..\..\..\..\..\src\ta_abstract\frames" +LINK = wlink +LFLAGS = op quiet op c sys nt +LIBS = ..\..\..\..\..\lib\ta_common_csr.lib +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\gen_code\gen_code.c & + ..\..\..\..\..\src\ta_abstract\ta_abstract.c & + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c & + ..\..\..\..\..\src\ta_abstract\tables\table_a.c & + ..\..\..\..\..\src\ta_abstract\tables\table_b.c & + ..\..\..\..\..\src\ta_abstract\tables\table_c.c & + ..\..\..\..\..\src\ta_abstract\tables\table_d.c & + ..\..\..\..\..\src\ta_abstract\tables\table_e.c & + ..\..\..\..\..\src\ta_abstract\tables\table_f.c & + ..\..\..\..\..\src\ta_abstract\tables\table_g.c & + ..\..\..\..\..\src\ta_abstract\tables\table_h.c & + ..\..\..\..\..\src\ta_abstract\tables\table_i.c & + ..\..\..\..\..\src\ta_abstract\tables\table_j.c & + ..\..\..\..\..\src\ta_abstract\tables\table_k.c & + ..\..\..\..\..\src\ta_abstract\tables\table_l.c & + ..\..\..\..\..\src\ta_abstract\tables\table_m.c & + ..\..\..\..\..\src\ta_abstract\tables\table_n.c & + ..\..\..\..\..\src\ta_abstract\tables\table_o.c & + ..\..\..\..\..\src\ta_abstract\tables\table_p.c & + ..\..\..\..\..\src\ta_abstract\tables\table_q.c & + ..\..\..\..\..\src\ta_abstract\tables\table_r.c & + ..\..\..\..\..\src\ta_abstract\tables\table_s.c & + ..\..\..\..\..\src\ta_abstract\tables\table_t.c & + ..\..\..\..\..\src\ta_abstract\tables\table_u.c & + ..\..\..\..\..\src\ta_abstract\tables\table_v.c & + ..\..\..\..\..\src\ta_abstract\tables\table_w.c & + ..\..\..\..\..\src\ta_abstract\tables\table_x.c & + ..\..\..\..\..\src\ta_abstract\tables\table_y.c & + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\csr\gen_code\gen_code.obj & + ..\..\..\..\..\temp\csr\gen_code\ta_abstract.obj & + ..\..\..\..\..\temp\csr\gen_code\ta_def_ui.obj & + ..\..\..\..\..\temp\csr\gen_code\table_a.obj & + ..\..\..\..\..\temp\csr\gen_code\table_b.obj & + ..\..\..\..\..\temp\csr\gen_code\table_c.obj & + ..\..\..\..\..\temp\csr\gen_code\table_d.obj & + ..\..\..\..\..\temp\csr\gen_code\table_e.obj & + ..\..\..\..\..\temp\csr\gen_code\table_f.obj & + ..\..\..\..\..\temp\csr\gen_code\table_g.obj & + ..\..\..\..\..\temp\csr\gen_code\table_h.obj & + ..\..\..\..\..\temp\csr\gen_code\table_i.obj & + ..\..\..\..\..\temp\csr\gen_code\table_j.obj & + ..\..\..\..\..\temp\csr\gen_code\table_k.obj & + ..\..\..\..\..\temp\csr\gen_code\table_l.obj & + ..\..\..\..\..\temp\csr\gen_code\table_m.obj & + ..\..\..\..\..\temp\csr\gen_code\table_n.obj & + ..\..\..\..\..\temp\csr\gen_code\table_o.obj & + ..\..\..\..\..\temp\csr\gen_code\table_p.obj & + ..\..\..\..\..\temp\csr\gen_code\table_q.obj & + ..\..\..\..\..\temp\csr\gen_code\table_r.obj & + ..\..\..\..\..\temp\csr\gen_code\table_s.obj & + ..\..\..\..\..\temp\csr\gen_code\table_t.obj & + ..\..\..\..\..\temp\csr\gen_code\table_u.obj & + ..\..\..\..\..\temp\csr\gen_code\table_v.obj & + ..\..\..\..\..\temp\csr\gen_code\table_w.obj & + ..\..\..\..\..\temp\csr\gen_code\table_x.obj & + ..\..\..\..\..\temp\csr\gen_code\table_y.obj & + ..\..\..\..\..\temp\csr\gen_code\table_z.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\gen_code.exe +TMPLIST = gen_code.lst + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + @%create $(TMPLIST) + @%append $(TMPLIST) NAME gen_code + @%append $(TMPLIST) FIL ..\..\..\..\..\temp\csr\gen_code\gen_code.obj,..\..\..\..\..\temp\csr\gen_code\ta_abstract.obj,..\..\..\..\..\temp\csr\gen_code\ta_def_ui.obj,..\..\..\..\..\temp\csr\gen_code\table_a.obj,..\..\..\..\..\temp\csr\gen_code\table_b.obj,..\..\..\..\..\temp\csr\gen_code\table_c.obj,..\..\..\..\..\temp\csr\gen_code\table_d.obj,..\..\..\..\..\temp\csr\gen_code\table_e.obj,..\..\..\..\..\temp\csr\gen_code\table_f.obj,..\..\..\..\..\temp\csr\gen_code\table_g.obj,..\..\..\..\..\temp\csr\gen_code\table_h.obj,..\..\..\..\..\temp\csr\gen_code\table_i.obj,..\..\..\..\..\temp\csr\gen_code\table_j.obj,..\..\..\..\..\temp\csr\gen_code\table_k.obj,..\..\..\..\..\temp\csr\gen_code\table_l.obj,..\..\..\..\..\temp\csr\gen_code\table_m.obj,..\..\..\..\..\temp\csr\gen_code\table_n.obj,..\..\..\..\..\temp\csr\gen_code\table_o.obj,..\..\..\..\..\temp\csr\gen_code\table_p.obj,..\..\..\..\..\temp\csr\gen_code\table_q.obj,..\..\..\..\..\temp\csr\gen_code\table_r.obj,..\..\..\..\..\temp\csr\gen_code\table_s.obj,..\..\..\..\..\temp\csr\gen_code\table_t.obj,..\..\..\..\..\temp\csr\gen_code\table_u.obj,..\..\..\..\..\temp\csr\gen_code\table_v.obj,..\..\..\..\..\temp\csr\gen_code\table_w.obj,..\..\..\..\..\temp\csr\gen_code\table_x.obj,..\..\..\..\..\temp\csr\gen_code\table_y.obj,..\..\..\..\..\temp\csr\gen_code\table_z.obj + @%append $(TMPLIST) LIBR ..\..\..\..\..\lib\ta_common_csr.lib + $(LINK) $(LFLAGS) @$(TMPLIST) + del $(TMPLIST) + +moc: $(SRCMOC) + +tmake: ../csr/win32/watcom/gen_code/Makefile + +../csr/win32/watcom/gen_code/Makefile: gen_code/gen_code.pro + tmake gen_code/gen_code.pro -o ../csr/win32/watcom/gen_code/Makefile + +dist: + $(ZIP) gen_code/gen_code.zip gen_code/gen_code.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csr\gen_code\gen_code.obj + -del ..\..\..\..\..\temp\csr\gen_code\ta_abstract.obj + -del ..\..\..\..\..\temp\csr\gen_code\ta_def_ui.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_a.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_b.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_c.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_d.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_e.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_f.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_g.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_h.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_i.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_j.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_k.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_l.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_m.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_n.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_o.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_p.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_q.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_r.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_s.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_t.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_u.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_v.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_w.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_x.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_y.obj + -del ..\..\..\..\..\temp\csr\gen_code\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csr/*.pch + -del ../../../../../temp/csr/*.idb + -del ../../../../../temp/csr/gen_code/*.pch + -del ../../../../../temp/csr/gen_code/*.idb + -del ../../../../../temp/csr/gen_code/*.obj + +####### Compile + +..\..\..\..\..\temp\csr\gen_code\gen_code.obj: ..\..\..\..\..\src\tools\gen_code\gen_code.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\gen_code.obj ..\..\..\..\..\src\tools\gen_code\gen_code.c + +..\..\..\..\..\temp\csr\gen_code\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\csr\gen_code\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\csr\gen_code\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\csr\gen_code\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\csr\gen_code\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\csr\gen_code\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\csr\gen_code\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\csr\gen_code\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\csr\gen_code\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\csr\gen_code\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\csr\gen_code\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\csr\gen_code\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\csr\gen_code\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\csr\gen_code\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\csr\gen_code\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\csr\gen_code\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\csr\gen_code\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\csr\gen_code\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\csr\gen_code\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\csr\gen_code\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\csr\gen_code\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\csr\gen_code\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\csr\gen_code\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\csr\gen_code\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\csr\gen_code\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\csr\gen_code\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\csr\gen_code\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\csr\gen_code\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\gen_code\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/csr/win32/watcom/ta_abstract/Makefile b/vendor/ta-lib/make/csr/win32/watcom/ta_abstract/Makefile new file mode 100644 index 000000000..5a595900a --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/watcom/ta_abstract/Makefile @@ -0,0 +1,251 @@ +############################################################################# +# Makefile for building ta_abstract_csr +# Generated by tmake; +# Project: ta_abstract/ta_abstract +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = wcl386 +CXX = wcl386 +CFLAGS = -zq -w2 -ox -d=TA_SINGLE_THREAD -d=WIN32 +CXXFLAGS= -zq -w2 -ox -d=TA_SINGLE_THREAD -d=WIN32 +INCPATH = -i="..\..\..\..\..\src\ta_common" -i="..\..\..\..\..\src\ta_abstract" -i="..\..\..\..\..\src\ta_abstract\tables" -i="..\..\..\..\..\src\ta_abstract\frames" -i="..\..\..\..\..\include" +LIB = wlib -b -c -n -q -p=512 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_abstract\ta_abstract.c & + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c & + ..\..\..\..\..\src\ta_abstract\ta_func_api.c & + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c & + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c & + ..\..\..\..\..\src\ta_abstract\tables\table_a.c & + ..\..\..\..\..\src\ta_abstract\tables\table_b.c & + ..\..\..\..\..\src\ta_abstract\tables\table_c.c & + ..\..\..\..\..\src\ta_abstract\tables\table_d.c & + ..\..\..\..\..\src\ta_abstract\tables\table_e.c & + ..\..\..\..\..\src\ta_abstract\tables\table_f.c & + ..\..\..\..\..\src\ta_abstract\tables\table_g.c & + ..\..\..\..\..\src\ta_abstract\tables\table_h.c & + ..\..\..\..\..\src\ta_abstract\tables\table_i.c & + ..\..\..\..\..\src\ta_abstract\tables\table_j.c & + ..\..\..\..\..\src\ta_abstract\tables\table_k.c & + ..\..\..\..\..\src\ta_abstract\tables\table_l.c & + ..\..\..\..\..\src\ta_abstract\tables\table_m.c & + ..\..\..\..\..\src\ta_abstract\tables\table_n.c & + ..\..\..\..\..\src\ta_abstract\tables\table_o.c & + ..\..\..\..\..\src\ta_abstract\tables\table_p.c & + ..\..\..\..\..\src\ta_abstract\tables\table_q.c & + ..\..\..\..\..\src\ta_abstract\tables\table_r.c & + ..\..\..\..\..\src\ta_abstract\tables\table_s.c & + ..\..\..\..\..\src\ta_abstract\tables\table_t.c & + ..\..\..\..\..\src\ta_abstract\tables\table_u.c & + ..\..\..\..\..\src\ta_abstract\tables\table_v.c & + ..\..\..\..\..\src\ta_abstract\tables\table_w.c & + ..\..\..\..\..\src\ta_abstract\tables\table_x.c & + ..\..\..\..\..\src\ta_abstract\tables\table_y.c & + ..\..\..\..\..\src\ta_abstract\tables\table_z.c +OBJECTS = ..\..\..\..\..\temp\csr\ta_abstract.obj & + ..\..\..\..\..\temp\csr\ta_def_ui.obj & + ..\..\..\..\..\temp\csr\ta_func_api.obj & + ..\..\..\..\..\temp\csr\ta_group_idx.obj & + ..\..\..\..\..\temp\csr\ta_frame.obj & + ..\..\..\..\..\temp\csr\table_a.obj & + ..\..\..\..\..\temp\csr\table_b.obj & + ..\..\..\..\..\temp\csr\table_c.obj & + ..\..\..\..\..\temp\csr\table_d.obj & + ..\..\..\..\..\temp\csr\table_e.obj & + ..\..\..\..\..\temp\csr\table_f.obj & + ..\..\..\..\..\temp\csr\table_g.obj & + ..\..\..\..\..\temp\csr\table_h.obj & + ..\..\..\..\..\temp\csr\table_i.obj & + ..\..\..\..\..\temp\csr\table_j.obj & + ..\..\..\..\..\temp\csr\table_k.obj & + ..\..\..\..\..\temp\csr\table_l.obj & + ..\..\..\..\..\temp\csr\table_m.obj & + ..\..\..\..\..\temp\csr\table_n.obj & + ..\..\..\..\..\temp\csr\table_o.obj & + ..\..\..\..\..\temp\csr\table_p.obj & + ..\..\..\..\..\temp\csr\table_q.obj & + ..\..\..\..\..\temp\csr\table_r.obj & + ..\..\..\..\..\temp\csr\table_s.obj & + ..\..\..\..\..\temp\csr\table_t.obj & + ..\..\..\..\..\temp\csr\table_u.obj & + ..\..\..\..\..\temp\csr\table_v.obj & + ..\..\..\..\..\temp\csr\table_w.obj & + ..\..\..\..\..\temp\csr\table_x.obj & + ..\..\..\..\..\temp\csr\table_y.obj & + ..\..\..\..\..\temp\csr\table_z.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_abstract_csr.lib +TMPLIST = ta_abstract_csr.lst + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + @%create $(TMPLIST) + @for %i in ( $(OBJECTS) $(OBJMOC) ) do @%append $(TMPLIST) +'%i' + $(LIB) $(TARGET) @$(TMPLIST) + del $(TMPLIST) + +moc: $(SRCMOC) + +tmake: ../csr/win32/watcom/ta_abstract/Makefile + +../csr/win32/watcom/ta_abstract/Makefile: ta_abstract/ta_abstract.pro + tmake ta_abstract/ta_abstract.pro -o ../csr/win32/watcom/ta_abstract/Makefile + +dist: + $(ZIP) ta_abstract/ta_abstract.zip ta_abstract/ta_abstract.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csr\ta_abstract.obj + -del ..\..\..\..\..\temp\csr\ta_def_ui.obj + -del ..\..\..\..\..\temp\csr\ta_func_api.obj + -del ..\..\..\..\..\temp\csr\ta_group_idx.obj + -del ..\..\..\..\..\temp\csr\ta_frame.obj + -del ..\..\..\..\..\temp\csr\table_a.obj + -del ..\..\..\..\..\temp\csr\table_b.obj + -del ..\..\..\..\..\temp\csr\table_c.obj + -del ..\..\..\..\..\temp\csr\table_d.obj + -del ..\..\..\..\..\temp\csr\table_e.obj + -del ..\..\..\..\..\temp\csr\table_f.obj + -del ..\..\..\..\..\temp\csr\table_g.obj + -del ..\..\..\..\..\temp\csr\table_h.obj + -del ..\..\..\..\..\temp\csr\table_i.obj + -del ..\..\..\..\..\temp\csr\table_j.obj + -del ..\..\..\..\..\temp\csr\table_k.obj + -del ..\..\..\..\..\temp\csr\table_l.obj + -del ..\..\..\..\..\temp\csr\table_m.obj + -del ..\..\..\..\..\temp\csr\table_n.obj + -del ..\..\..\..\..\temp\csr\table_o.obj + -del ..\..\..\..\..\temp\csr\table_p.obj + -del ..\..\..\..\..\temp\csr\table_q.obj + -del ..\..\..\..\..\temp\csr\table_r.obj + -del ..\..\..\..\..\temp\csr\table_s.obj + -del ..\..\..\..\..\temp\csr\table_t.obj + -del ..\..\..\..\..\temp\csr\table_u.obj + -del ..\..\..\..\..\temp\csr\table_v.obj + -del ..\..\..\..\..\temp\csr\table_w.obj + -del ..\..\..\..\..\temp\csr\table_x.obj + -del ..\..\..\..\..\temp\csr\table_y.obj + -del ..\..\..\..\..\temp\csr\table_z.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csr/*.pch + -del ../../../../../temp/csr/*.idb + -del ../../../../../temp/csr/ta_abstract/*.pch + -del ../../../../../temp/csr/ta_abstract/*.idb + -del ../../../../../temp/csr/ta_abstract/*.obj + +####### Compile + +..\..\..\..\..\temp\csr\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\csr\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\csr\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\csr\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\csr\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\csr\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\csr\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\csr\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\csr\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\csr\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\csr\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\csr\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\csr\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\csr\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\csr\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\csr\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\csr\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\csr\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\csr\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\csr\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\csr\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\csr\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\csr\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\csr\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\csr\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\csr\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\csr\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\csr\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\csr\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\csr\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\csr\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + diff --git a/vendor/ta-lib/make/csr/win32/watcom/ta_common/Makefile b/vendor/ta-lib/make/csr/win32/watcom/ta_common/Makefile new file mode 100644 index 000000000..18e767551 --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/watcom/ta_common/Makefile @@ -0,0 +1,83 @@ +############################################################################# +# Makefile for building ta_common_csr +# Generated by tmake; +# Project: ta_common/ta_common +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = wcl386 +CXX = wcl386 +CFLAGS = -zq -w2 -ox -d=TA_SINGLE_THREAD -d=WIN32 +CXXFLAGS= -zq -w2 -ox -d=TA_SINGLE_THREAD -d=WIN32 +INCPATH = -i="..\..\..\..\..\src\ta_common" -i="..\..\..\..\..\include" +LIB = wlib -b -c -n -q -p=512 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c & + ..\..\..\..\..\src\ta_common\ta_retcode.c & + ..\..\..\..\..\src\ta_common\ta_version.c +OBJECTS = ..\..\..\..\..\temp\csr\ta_global.obj & + ..\..\..\..\..\temp\csr\ta_retcode.obj & + ..\..\..\..\..\temp\csr\ta_version.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_common_csr.lib +TMPLIST = ta_common_csr.lst + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + @%create $(TMPLIST) + @for %i in ( $(OBJECTS) $(OBJMOC) ) do @%append $(TMPLIST) +'%i' + $(LIB) $(TARGET) @$(TMPLIST) + del $(TMPLIST) + +moc: $(SRCMOC) + +tmake: ../csr/win32/watcom/ta_common/Makefile + +../csr/win32/watcom/ta_common/Makefile: ta_common/ta_common.pro + tmake ta_common/ta_common.pro -o ../csr/win32/watcom/ta_common/Makefile + +dist: + $(ZIP) ta_common/ta_common.zip ta_common/ta_common.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csr\ta_global.obj + -del ..\..\..\..\..\temp\csr\ta_retcode.obj + -del ..\..\..\..\..\temp\csr\ta_version.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csr/*.pch + -del ../../../../../temp/csr/*.idb + -del ../../../../../temp/csr/ta_common_csr/*.pch + -del ../../../../../temp/csr/ta_common_csr/*.idb + -del ../../../../../temp/csr/ta_common_csr/*.obj + +####### Compile + +..\..\..\..\..\temp\csr\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\csr\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\csr\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + diff --git a/vendor/ta-lib/make/csr/win32/watcom/ta_func/Makefile b/vendor/ta-lib/make/csr/win32/watcom/ta_func/Makefile new file mode 100644 index 000000000..80892e70c --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/watcom/ta_func/Makefile @@ -0,0 +1,1019 @@ +############################################################################# +# Makefile for building ta_func_csr +# Generated by tmake; +# Project: ta_func/ta_func +# Template: lib +############################################################################# + +####### Compiler, tools and options + +CC = wcl386 +CXX = wcl386 +CFLAGS = -zq -w2 -ox -d=TA_SINGLE_THREAD -d=WIN32 +CXXFLAGS= -zq -w2 -ox -d=TA_SINGLE_THREAD -d=WIN32 +INCPATH = -i="..\..\..\..\..\src\ta_common" -i="\n" -i="..\..\..\..\..\include" +LIB = wlib -b -c -n -q -p=512 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_func\ta_utility.c & + ..\..\..\..\..\src\ta_func\ta_ACOS.c & + ..\..\..\..\..\src\ta_func\ta_AD.c & + ..\..\..\..\..\src\ta_func\ta_ADD.c & + ..\..\..\..\..\src\ta_func\ta_ADOSC.c & + ..\..\..\..\..\src\ta_func\ta_ADX.c & + ..\..\..\..\..\src\ta_func\ta_ADXR.c & + ..\..\..\..\..\src\ta_func\ta_APO.c & + ..\..\..\..\..\src\ta_func\ta_AROON.c & + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c & + ..\..\..\..\..\src\ta_func\ta_ASIN.c & + ..\..\..\..\..\src\ta_func\ta_ATAN.c & + ..\..\..\..\..\src\ta_func\ta_ATR.c & + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c & + ..\..\..\..\..\src\ta_func\ta_BBANDS.c & + ..\..\..\..\..\src\ta_func\ta_BETA.c & + ..\..\..\..\..\src\ta_func\ta_BOP.c & + ..\..\..\..\..\src\ta_func\ta_CCI.c & + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c & + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c & + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c & + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c & + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c & + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c & + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c & + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c & + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c & + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c & + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c & + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c & + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c & + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c & + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c & + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c & + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c & + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c & + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c & + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c & + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c & + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c & + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c & + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c & + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c & + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c & + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c & + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c & + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c & + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c & + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c & + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c & + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c & + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c & + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c & + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c & + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c & + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c & + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c & + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c & + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c & + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c & + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c & + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c & + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c & + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c & + ..\..\..\..\..\src\ta_func\ta_CEIL.c & + ..\..\..\..\..\src\ta_func\ta_CMO.c & + ..\..\..\..\..\src\ta_func\ta_CORREL.c & + ..\..\..\..\..\src\ta_func\ta_COS.c & + ..\..\..\..\..\src\ta_func\ta_COSH.c & + ..\..\..\..\..\src\ta_func\ta_DEMA.c & + ..\..\..\..\..\src\ta_func\ta_DIV.c & + ..\..\..\..\..\src\ta_func\ta_DX.c & + ..\..\..\..\..\src\ta_func\ta_EMA.c & + ..\..\..\..\..\src\ta_func\ta_EXP.c & + ..\..\..\..\..\src\ta_func\ta_FLOOR.c & + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c & + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c & + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c & + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c & + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c & + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c & + ..\..\..\..\..\src\ta_func\ta_KAMA.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c & + ..\..\..\..\..\src\ta_func\ta_LN.c & + ..\..\..\..\..\src\ta_func\ta_LOG10.c & + ..\..\..\..\..\src\ta_func\ta_MA.c & + ..\..\..\..\..\src\ta_func\ta_MACD.c & + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c & + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c & + ..\..\..\..\..\src\ta_func\ta_MAMA.c & + ..\..\..\..\..\src\ta_func\ta_MAVP.c & + ..\..\..\..\..\src\ta_func\ta_MAX.c & + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c & + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c & + ..\..\..\..\..\src\ta_func\ta_MFI.c & + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c & + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c & + ..\..\..\..\..\src\ta_func\ta_MIN.c & + ..\..\..\..\..\src\ta_func\ta_MININDEX.c & + ..\..\..\..\..\src\ta_func\ta_MINMAX.c & + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c & + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c & + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c & + ..\..\..\..\..\src\ta_func\ta_MOM.c & + ..\..\..\..\..\src\ta_func\ta_MULT.c & + ..\..\..\..\..\src\ta_func\ta_NATR.c & + ..\..\..\..\..\src\ta_func\ta_OBV.c & + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c & + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c & + ..\..\..\..\..\src\ta_func\ta_PPO.c & + ..\..\..\..\..\src\ta_func\ta_ROC.c & + ..\..\..\..\..\src\ta_func\ta_ROCP.c & + ..\..\..\..\..\src\ta_func\ta_ROCR.c & + ..\..\..\..\..\src\ta_func\ta_ROCR100.c & + ..\..\..\..\..\src\ta_func\ta_RSI.c & + ..\..\..\..\..\src\ta_func\ta_SAR.c & + ..\..\..\..\..\src\ta_func\ta_SAREXT.c & + ..\..\..\..\..\src\ta_func\ta_SIN.c & + ..\..\..\..\..\src\ta_func\ta_SINH.c & + ..\..\..\..\..\src\ta_func\ta_SMA.c & + ..\..\..\..\..\src\ta_func\ta_SQRT.c & + ..\..\..\..\..\src\ta_func\ta_STDDEV.c & + ..\..\..\..\..\src\ta_func\ta_STOCH.c & + ..\..\..\..\..\src\ta_func\ta_STOCHF.c & + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c & + ..\..\..\..\..\src\ta_func\ta_SUB.c & + ..\..\..\..\..\src\ta_func\ta_SUM.c & + ..\..\..\..\..\src\ta_func\ta_T3.c & + ..\..\..\..\..\src\ta_func\ta_TAN.c & + ..\..\..\..\..\src\ta_func\ta_TANH.c & + ..\..\..\..\..\src\ta_func\ta_TEMA.c & + ..\..\..\..\..\src\ta_func\ta_TRANGE.c & + ..\..\..\..\..\src\ta_func\ta_TRIMA.c & + ..\..\..\..\..\src\ta_func\ta_TRIX.c & + ..\..\..\..\..\src\ta_func\ta_TSF.c & + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c & + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c & + ..\..\..\..\..\src\ta_func\ta_VAR.c & + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c & + ..\..\..\..\..\src\ta_func\ta_WILLR.c & + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\csr\ta_utility.obj & + ..\..\..\..\..\temp\csr\ta_ACOS.obj & + ..\..\..\..\..\temp\csr\ta_AD.obj & + ..\..\..\..\..\temp\csr\ta_ADD.obj & + ..\..\..\..\..\temp\csr\ta_ADOSC.obj & + ..\..\..\..\..\temp\csr\ta_ADX.obj & + ..\..\..\..\..\temp\csr\ta_ADXR.obj & + ..\..\..\..\..\temp\csr\ta_APO.obj & + ..\..\..\..\..\temp\csr\ta_AROON.obj & + ..\..\..\..\..\temp\csr\ta_AROONOSC.obj & + ..\..\..\..\..\temp\csr\ta_ASIN.obj & + ..\..\..\..\..\temp\csr\ta_ATAN.obj & + ..\..\..\..\..\temp\csr\ta_ATR.obj & + ..\..\..\..\..\temp\csr\ta_AVGPRICE.obj & + ..\..\..\..\..\temp\csr\ta_BBANDS.obj & + ..\..\..\..\..\temp\csr\ta_BETA.obj & + ..\..\..\..\..\temp\csr\ta_BOP.obj & + ..\..\..\..\..\temp\csr\ta_CCI.obj & + ..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj & + ..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj & + ..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj & + ..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj & + ..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj & + ..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj & + ..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj & + ..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj & + ..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj & + ..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj & + ..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj & + ..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj & + ..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj & + ..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj & + ..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj & + ..\..\..\..\..\temp\csr\ta_CDLDOJI.obj & + ..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj & + ..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj & + ..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj & + ..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj & + ..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj & + ..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj & + ..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj & + ..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj & + ..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj & + ..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj & + ..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj & + ..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj & + ..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj & + ..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj & + ..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj & + ..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj & + ..\..\..\..\..\temp\csr\ta_CDLINNECK.obj & + ..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj & + ..\..\..\..\..\temp\csr\ta_CDLKICKING.obj & + ..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj & + ..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj & + ..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj & + ..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj & + ..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj & + ..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj & + ..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj & + ..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj & + ..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj & + ..\..\..\..\..\temp\csr\ta_CDLONNECK.obj & + ..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj & + ..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj & + ..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj & + ..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj & + ..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj & + ..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj & + ..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj & + ..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj & + ..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj & + ..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj & + ..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj & + ..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj & + ..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj & + ..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj & + ..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj & + ..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj & + ..\..\..\..\..\temp\csr\ta_CEIL.obj & + ..\..\..\..\..\temp\csr\ta_CMO.obj & + ..\..\..\..\..\temp\csr\ta_CORREL.obj & + ..\..\..\..\..\temp\csr\ta_COS.obj & + ..\..\..\..\..\temp\csr\ta_COSH.obj & + ..\..\..\..\..\temp\csr\ta_DEMA.obj & + ..\..\..\..\..\temp\csr\ta_DIV.obj & + ..\..\..\..\..\temp\csr\ta_DX.obj & + ..\..\..\..\..\temp\csr\ta_EMA.obj & + ..\..\..\..\..\temp\csr\ta_EXP.obj & + ..\..\..\..\..\temp\csr\ta_FLOOR.obj & + ..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj & + ..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj & + ..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj & + ..\..\..\..\..\temp\csr\ta_HT_SINE.obj & + ..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj & + ..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj & + ..\..\..\..\..\temp\csr\ta_KAMA.obj & + ..\..\..\..\..\temp\csr\ta_LINEARREG.obj & + ..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj & + ..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj & + ..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj & + ..\..\..\..\..\temp\csr\ta_LN.obj & + ..\..\..\..\..\temp\csr\ta_LOG10.obj & + ..\..\..\..\..\temp\csr\ta_MA.obj & + ..\..\..\..\..\temp\csr\ta_MACD.obj & + ..\..\..\..\..\temp\csr\ta_MACDEXT.obj & + ..\..\..\..\..\temp\csr\ta_MACDFIX.obj & + ..\..\..\..\..\temp\csr\ta_MAMA.obj & + ..\..\..\..\..\temp\csr\ta_MAVP.obj & + ..\..\..\..\..\temp\csr\ta_MAX.obj & + ..\..\..\..\..\temp\csr\ta_MAXINDEX.obj & + ..\..\..\..\..\temp\csr\ta_MEDPRICE.obj & + ..\..\..\..\..\temp\csr\ta_MFI.obj & + ..\..\..\..\..\temp\csr\ta_MIDPOINT.obj & + ..\..\..\..\..\temp\csr\ta_MIDPRICE.obj & + ..\..\..\..\..\temp\csr\ta_MIN.obj & + ..\..\..\..\..\temp\csr\ta_MININDEX.obj & + ..\..\..\..\..\temp\csr\ta_MINMAX.obj & + ..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj & + ..\..\..\..\..\temp\csr\ta_MINUS_DI.obj & + ..\..\..\..\..\temp\csr\ta_MINUS_DM.obj & + ..\..\..\..\..\temp\csr\ta_MOM.obj & + ..\..\..\..\..\temp\csr\ta_MULT.obj & + ..\..\..\..\..\temp\csr\ta_NATR.obj & + ..\..\..\..\..\temp\csr\ta_OBV.obj & + ..\..\..\..\..\temp\csr\ta_PLUS_DI.obj & + ..\..\..\..\..\temp\csr\ta_PLUS_DM.obj & + ..\..\..\..\..\temp\csr\ta_PPO.obj & + ..\..\..\..\..\temp\csr\ta_ROC.obj & + ..\..\..\..\..\temp\csr\ta_ROCP.obj & + ..\..\..\..\..\temp\csr\ta_ROCR.obj & + ..\..\..\..\..\temp\csr\ta_ROCR100.obj & + ..\..\..\..\..\temp\csr\ta_RSI.obj & + ..\..\..\..\..\temp\csr\ta_SAR.obj & + ..\..\..\..\..\temp\csr\ta_SAREXT.obj & + ..\..\..\..\..\temp\csr\ta_SIN.obj & + ..\..\..\..\..\temp\csr\ta_SINH.obj & + ..\..\..\..\..\temp\csr\ta_SMA.obj & + ..\..\..\..\..\temp\csr\ta_SQRT.obj & + ..\..\..\..\..\temp\csr\ta_STDDEV.obj & + ..\..\..\..\..\temp\csr\ta_STOCH.obj & + ..\..\..\..\..\temp\csr\ta_STOCHF.obj & + ..\..\..\..\..\temp\csr\ta_STOCHRSI.obj & + ..\..\..\..\..\temp\csr\ta_SUB.obj & + ..\..\..\..\..\temp\csr\ta_SUM.obj & + ..\..\..\..\..\temp\csr\ta_T3.obj & + ..\..\..\..\..\temp\csr\ta_TAN.obj & + ..\..\..\..\..\temp\csr\ta_TANH.obj & + ..\..\..\..\..\temp\csr\ta_TEMA.obj & + ..\..\..\..\..\temp\csr\ta_TRANGE.obj & + ..\..\..\..\..\temp\csr\ta_TRIMA.obj & + ..\..\..\..\..\temp\csr\ta_TRIX.obj & + ..\..\..\..\..\temp\csr\ta_TSF.obj & + ..\..\..\..\..\temp\csr\ta_TYPPRICE.obj & + ..\..\..\..\..\temp\csr\ta_ULTOSC.obj & + ..\..\..\..\..\temp\csr\ta_VAR.obj & + ..\..\..\..\..\temp\csr\ta_WCLPRICE.obj & + ..\..\..\..\..\temp\csr\ta_WILLR.obj & + ..\..\..\..\..\temp\csr\ta_WMA.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_func_csr.lib +TMPLIST = ta_func_csr.lst + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + @%create $(TMPLIST) + @for %i in ( $(OBJECTS) $(OBJMOC) ) do @%append $(TMPLIST) +'%i' + $(LIB) $(TARGET) @$(TMPLIST) + del $(TMPLIST) + +moc: $(SRCMOC) + +tmake: ../csr/win32/watcom/ta_func/Makefile + +../csr/win32/watcom/ta_func/Makefile: ta_func/ta_func.pro + tmake ta_func/ta_func.pro -o ../csr/win32/watcom/ta_func/Makefile + +dist: + $(ZIP) ta_func/ta_func.zip ta_func/ta_func.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csr\ta_utility.obj + -del ..\..\..\..\..\temp\csr\ta_ACOS.obj + -del ..\..\..\..\..\temp\csr\ta_AD.obj + -del ..\..\..\..\..\temp\csr\ta_ADD.obj + -del ..\..\..\..\..\temp\csr\ta_ADOSC.obj + -del ..\..\..\..\..\temp\csr\ta_ADX.obj + -del ..\..\..\..\..\temp\csr\ta_ADXR.obj + -del ..\..\..\..\..\temp\csr\ta_APO.obj + -del ..\..\..\..\..\temp\csr\ta_AROON.obj + -del ..\..\..\..\..\temp\csr\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\csr\ta_ASIN.obj + -del ..\..\..\..\..\temp\csr\ta_ATAN.obj + -del ..\..\..\..\..\temp\csr\ta_ATR.obj + -del ..\..\..\..\..\temp\csr\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_BBANDS.obj + -del ..\..\..\..\..\temp\csr\ta_BETA.obj + -del ..\..\..\..\..\temp\csr\ta_BOP.obj + -del ..\..\..\..\..\temp\csr\ta_CCI.obj + -del ..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\csr\ta_CEIL.obj + -del ..\..\..\..\..\temp\csr\ta_CMO.obj + -del ..\..\..\..\..\temp\csr\ta_CORREL.obj + -del ..\..\..\..\..\temp\csr\ta_COS.obj + -del ..\..\..\..\..\temp\csr\ta_COSH.obj + -del ..\..\..\..\..\temp\csr\ta_DEMA.obj + -del ..\..\..\..\..\temp\csr\ta_DIV.obj + -del ..\..\..\..\..\temp\csr\ta_DX.obj + -del ..\..\..\..\..\temp\csr\ta_EMA.obj + -del ..\..\..\..\..\temp\csr\ta_EXP.obj + -del ..\..\..\..\..\temp\csr\ta_FLOOR.obj + -del ..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\csr\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\csr\ta_KAMA.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\csr\ta_LN.obj + -del ..\..\..\..\..\temp\csr\ta_LOG10.obj + -del ..\..\..\..\..\temp\csr\ta_MA.obj + -del ..\..\..\..\..\temp\csr\ta_MACD.obj + -del ..\..\..\..\..\temp\csr\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\csr\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\csr\ta_MAMA.obj + -del ..\..\..\..\..\temp\csr\ta_MAVP.obj + -del ..\..\..\..\..\temp\csr\ta_MAX.obj + -del ..\..\..\..\..\temp\csr\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\csr\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_MFI.obj + -del ..\..\..\..\..\temp\csr\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\csr\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_MIN.obj + -del ..\..\..\..\..\temp\csr\ta_MININDEX.obj + -del ..\..\..\..\..\temp\csr\ta_MINMAX.obj + -del ..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\csr\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\csr\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\csr\ta_MOM.obj + -del ..\..\..\..\..\temp\csr\ta_MULT.obj + -del ..\..\..\..\..\temp\csr\ta_NATR.obj + -del ..\..\..\..\..\temp\csr\ta_OBV.obj + -del ..\..\..\..\..\temp\csr\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\csr\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\csr\ta_PPO.obj + -del ..\..\..\..\..\temp\csr\ta_ROC.obj + -del ..\..\..\..\..\temp\csr\ta_ROCP.obj + -del ..\..\..\..\..\temp\csr\ta_ROCR.obj + -del ..\..\..\..\..\temp\csr\ta_ROCR100.obj + -del ..\..\..\..\..\temp\csr\ta_RSI.obj + -del ..\..\..\..\..\temp\csr\ta_SAR.obj + -del ..\..\..\..\..\temp\csr\ta_SAREXT.obj + -del ..\..\..\..\..\temp\csr\ta_SIN.obj + -del ..\..\..\..\..\temp\csr\ta_SINH.obj + -del ..\..\..\..\..\temp\csr\ta_SMA.obj + -del ..\..\..\..\..\temp\csr\ta_SQRT.obj + -del ..\..\..\..\..\temp\csr\ta_STDDEV.obj + -del ..\..\..\..\..\temp\csr\ta_STOCH.obj + -del ..\..\..\..\..\temp\csr\ta_STOCHF.obj + -del ..\..\..\..\..\temp\csr\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\csr\ta_SUB.obj + -del ..\..\..\..\..\temp\csr\ta_SUM.obj + -del ..\..\..\..\..\temp\csr\ta_T3.obj + -del ..\..\..\..\..\temp\csr\ta_TAN.obj + -del ..\..\..\..\..\temp\csr\ta_TANH.obj + -del ..\..\..\..\..\temp\csr\ta_TEMA.obj + -del ..\..\..\..\..\temp\csr\ta_TRANGE.obj + -del ..\..\..\..\..\temp\csr\ta_TRIMA.obj + -del ..\..\..\..\..\temp\csr\ta_TRIX.obj + -del ..\..\..\..\..\temp\csr\ta_TSF.obj + -del ..\..\..\..\..\temp\csr\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\csr\ta_VAR.obj + -del ..\..\..\..\..\temp\csr\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_WILLR.obj + -del ..\..\..\..\..\temp\csr\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csr/*.pch + -del ../../../../../temp/csr/*.idb + -del ../../../../../temp/csr/ta_func/*.pch + -del ../../../../../temp/csr/ta_func/*.idb + -del ../../../../../temp/csr/ta_func/*.obj + +####### Compile + +..\..\..\..\..\temp\csr\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\csr\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\csr\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\csr\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\csr\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\csr\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\csr\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\csr\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\csr\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\csr\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\csr\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\csr\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\csr\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\csr\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\csr\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\csr\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\csr\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\csr\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\csr\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\csr\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\csr\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\csr\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\csr\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\csr\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\csr\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\csr\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\csr\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\csr\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\csr\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\csr\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\csr\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\csr\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\csr\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\csr\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\csr\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\csr\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\csr\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\csr\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\csr\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\csr\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\csr\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\csr\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\csr\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\csr\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\csr\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\csr\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\csr\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\csr\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\csr\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\csr\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\csr\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\csr\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\csr\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\csr\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\csr\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\csr\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\csr\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\csr\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\csr\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\csr\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\csr\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\csr\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\csr\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\csr\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\csr\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\csr\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\csr\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\csr\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\csr\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\csr\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\csr\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\csr\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\csr\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\csr\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\csr\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\csr\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\csr\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\csr\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\csr\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\csr\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\csr\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\csr\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\csr\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\csr\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\csr\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\csr\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\csr\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\csr\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\csr\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\csr\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\csr\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\csr\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\csr\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/csr/win32/watcom/ta_libc/Makefile b/vendor/ta-lib/make/csr/win32/watcom/ta_libc/Makefile new file mode 100644 index 000000000..83f65853a --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/watcom/ta_libc/Makefile @@ -0,0 +1,1219 @@ +############################################################################# +# Makefile for building ta_libc_csr +# Generated by tmake; +# Project: ta_libc/ta_libc +# Template: lib +############################################################################# + +####### Compiler, tools and options + +QTDIR = +CC = wcl386 +CXX = wcl386 +CFLAGS = -zq -w2 -ox -d=TA_SINGLE_THREAD -d=WIN32 -d=NO_DEBUG +CXXFLAGS= -zq -w2 -ox -d=TA_SINGLE_THREAD -d=WIN32 -d=NO_DEBUG +INCPATH = -i="..\..\..\..\..\src\ta_common" -i="..\..\..\..\..\include" -i="..\..\..\..\..\src\ta_abstract" -i="..\..\..\..\..\src\ta_abstract\tables" -i="..\..\..\..\..\src\ta_abstract\frames" -i="$(QTDIR)\include" +LIB = wlib -b -c -n -q -p=512 +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\ta_common\ta_global.c & + ..\..\..\..\..\src\ta_common\ta_retcode.c & + ..\..\..\..\..\src\ta_common\ta_version.c & + ..\..\..\..\..\src\ta_abstract\ta_abstract.c & + ..\..\..\..\..\src\ta_abstract\ta_def_ui.c & + ..\..\..\..\..\src\ta_abstract\ta_func_api.c & + ..\..\..\..\..\src\ta_abstract\ta_group_idx.c & + ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c & + ..\..\..\..\..\src\ta_abstract\tables\table_a.c & + ..\..\..\..\..\src\ta_abstract\tables\table_b.c & + ..\..\..\..\..\src\ta_abstract\tables\table_c.c & + ..\..\..\..\..\src\ta_abstract\tables\table_d.c & + ..\..\..\..\..\src\ta_abstract\tables\table_e.c & + ..\..\..\..\..\src\ta_abstract\tables\table_f.c & + ..\..\..\..\..\src\ta_abstract\tables\table_g.c & + ..\..\..\..\..\src\ta_abstract\tables\table_h.c & + ..\..\..\..\..\src\ta_abstract\tables\table_i.c & + ..\..\..\..\..\src\ta_abstract\tables\table_j.c & + ..\..\..\..\..\src\ta_abstract\tables\table_k.c & + ..\..\..\..\..\src\ta_abstract\tables\table_l.c & + ..\..\..\..\..\src\ta_abstract\tables\table_m.c & + ..\..\..\..\..\src\ta_abstract\tables\table_n.c & + ..\..\..\..\..\src\ta_abstract\tables\table_o.c & + ..\..\..\..\..\src\ta_abstract\tables\table_p.c & + ..\..\..\..\..\src\ta_abstract\tables\table_q.c & + ..\..\..\..\..\src\ta_abstract\tables\table_r.c & + ..\..\..\..\..\src\ta_abstract\tables\table_s.c & + ..\..\..\..\..\src\ta_abstract\tables\table_t.c & + ..\..\..\..\..\src\ta_abstract\tables\table_u.c & + ..\..\..\..\..\src\ta_abstract\tables\table_v.c & + ..\..\..\..\..\src\ta_abstract\tables\table_w.c & + ..\..\..\..\..\src\ta_abstract\tables\table_x.c & + ..\..\..\..\..\src\ta_abstract\tables\table_y.c & + ..\..\..\..\..\src\ta_abstract\tables\table_z.c & + ..\..\..\..\..\src\ta_func\ta_utility.c & + ..\..\..\..\..\src\ta_func\ta_ACOS.c & + ..\..\..\..\..\src\ta_func\ta_AD.c & + ..\..\..\..\..\src\ta_func\ta_ADD.c & + ..\..\..\..\..\src\ta_func\ta_ADOSC.c & + ..\..\..\..\..\src\ta_func\ta_ADX.c & + ..\..\..\..\..\src\ta_func\ta_ADXR.c & + ..\..\..\..\..\src\ta_func\ta_APO.c & + ..\..\..\..\..\src\ta_func\ta_AROON.c & + ..\..\..\..\..\src\ta_func\ta_AROONOSC.c & + ..\..\..\..\..\src\ta_func\ta_ASIN.c & + ..\..\..\..\..\src\ta_func\ta_ATAN.c & + ..\..\..\..\..\src\ta_func\ta_ATR.c & + ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c & + ..\..\..\..\..\src\ta_func\ta_BBANDS.c & + ..\..\..\..\..\src\ta_func\ta_BETA.c & + ..\..\..\..\..\src\ta_func\ta_BOP.c & + ..\..\..\..\..\src\ta_func\ta_CCI.c & + ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c & + ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c & + ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c & + ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c & + ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c & + ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c & + ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c & + ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c & + ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c & + ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c & + ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c & + ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c & + ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c & + ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c & + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c & + ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c & + ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c & + ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c & + ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c & + ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c & + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c & + ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c & + ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c & + ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c & + ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c & + ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c & + ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c & + ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c & + ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c & + ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c & + ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c & + ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c & + ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c & + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c & + ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c & + ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c & + ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c & + ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c & + ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c & + ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c & + ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c & + ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c & + ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c & + ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c & + ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c & + ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c & + ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c & + ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c & + ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c & + ..\..\..\..\..\src\ta_func\ta_CEIL.c & + ..\..\..\..\..\src\ta_func\ta_CMO.c & + ..\..\..\..\..\src\ta_func\ta_CORREL.c & + ..\..\..\..\..\src\ta_func\ta_COS.c & + ..\..\..\..\..\src\ta_func\ta_COSH.c & + ..\..\..\..\..\src\ta_func\ta_DEMA.c & + ..\..\..\..\..\src\ta_func\ta_DIV.c & + ..\..\..\..\..\src\ta_func\ta_DX.c & + ..\..\..\..\..\src\ta_func\ta_EMA.c & + ..\..\..\..\..\src\ta_func\ta_EXP.c & + ..\..\..\..\..\src\ta_func\ta_FLOOR.c & + ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c & + ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c & + ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c & + ..\..\..\..\..\src\ta_func\ta_HT_SINE.c & + ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c & + ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c & + ..\..\..\..\..\src\ta_func\ta_KAMA.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c & + ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c & + ..\..\..\..\..\src\ta_func\ta_LN.c & + ..\..\..\..\..\src\ta_func\ta_LOG10.c & + ..\..\..\..\..\src\ta_func\ta_MA.c & + ..\..\..\..\..\src\ta_func\ta_MACD.c & + ..\..\..\..\..\src\ta_func\ta_MACDEXT.c & + ..\..\..\..\..\src\ta_func\ta_MACDFIX.c & + ..\..\..\..\..\src\ta_func\ta_MAMA.c & + ..\..\..\..\..\src\ta_func\ta_MAVP.c & + ..\..\..\..\..\src\ta_func\ta_MAX.c & + ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c & + ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c & + ..\..\..\..\..\src\ta_func\ta_MFI.c & + ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c & + ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c & + ..\..\..\..\..\src\ta_func\ta_MIN.c & + ..\..\..\..\..\src\ta_func\ta_MININDEX.c & + ..\..\..\..\..\src\ta_func\ta_MINMAX.c & + ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c & + ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c & + ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c & + ..\..\..\..\..\src\ta_func\ta_MOM.c & + ..\..\..\..\..\src\ta_func\ta_MULT.c & + ..\..\..\..\..\src\ta_func\ta_NATR.c & + ..\..\..\..\..\src\ta_func\ta_OBV.c & + ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c & + ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c & + ..\..\..\..\..\src\ta_func\ta_PPO.c & + ..\..\..\..\..\src\ta_func\ta_ROC.c & + ..\..\..\..\..\src\ta_func\ta_ROCP.c & + ..\..\..\..\..\src\ta_func\ta_ROCR.c & + ..\..\..\..\..\src\ta_func\ta_ROCR100.c & + ..\..\..\..\..\src\ta_func\ta_RSI.c & + ..\..\..\..\..\src\ta_func\ta_SAR.c & + ..\..\..\..\..\src\ta_func\ta_SAREXT.c & + ..\..\..\..\..\src\ta_func\ta_SIN.c & + ..\..\..\..\..\src\ta_func\ta_SINH.c & + ..\..\..\..\..\src\ta_func\ta_SMA.c & + ..\..\..\..\..\src\ta_func\ta_SQRT.c & + ..\..\..\..\..\src\ta_func\ta_STDDEV.c & + ..\..\..\..\..\src\ta_func\ta_STOCH.c & + ..\..\..\..\..\src\ta_func\ta_STOCHF.c & + ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c & + ..\..\..\..\..\src\ta_func\ta_SUB.c & + ..\..\..\..\..\src\ta_func\ta_SUM.c & + ..\..\..\..\..\src\ta_func\ta_T3.c & + ..\..\..\..\..\src\ta_func\ta_TAN.c & + ..\..\..\..\..\src\ta_func\ta_TANH.c & + ..\..\..\..\..\src\ta_func\ta_TEMA.c & + ..\..\..\..\..\src\ta_func\ta_TRANGE.c & + ..\..\..\..\..\src\ta_func\ta_TRIMA.c & + ..\..\..\..\..\src\ta_func\ta_TRIX.c & + ..\..\..\..\..\src\ta_func\ta_TSF.c & + ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c & + ..\..\..\..\..\src\ta_func\ta_ULTOSC.c & + ..\..\..\..\..\src\ta_func\ta_VAR.c & + ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c & + ..\..\..\..\..\src\ta_func\ta_WILLR.c & + ..\..\..\..\..\src\ta_func\ta_WMA.c +OBJECTS = ..\..\..\..\..\temp\csr\ta_global.obj & + ..\..\..\..\..\temp\csr\ta_retcode.obj & + ..\..\..\..\..\temp\csr\ta_version.obj & + ..\..\..\..\..\temp\csr\ta_abstract.obj & + ..\..\..\..\..\temp\csr\ta_def_ui.obj & + ..\..\..\..\..\temp\csr\ta_func_api.obj & + ..\..\..\..\..\temp\csr\ta_group_idx.obj & + ..\..\..\..\..\temp\csr\ta_frame.obj & + ..\..\..\..\..\temp\csr\table_a.obj & + ..\..\..\..\..\temp\csr\table_b.obj & + ..\..\..\..\..\temp\csr\table_c.obj & + ..\..\..\..\..\temp\csr\table_d.obj & + ..\..\..\..\..\temp\csr\table_e.obj & + ..\..\..\..\..\temp\csr\table_f.obj & + ..\..\..\..\..\temp\csr\table_g.obj & + ..\..\..\..\..\temp\csr\table_h.obj & + ..\..\..\..\..\temp\csr\table_i.obj & + ..\..\..\..\..\temp\csr\table_j.obj & + ..\..\..\..\..\temp\csr\table_k.obj & + ..\..\..\..\..\temp\csr\table_l.obj & + ..\..\..\..\..\temp\csr\table_m.obj & + ..\..\..\..\..\temp\csr\table_n.obj & + ..\..\..\..\..\temp\csr\table_o.obj & + ..\..\..\..\..\temp\csr\table_p.obj & + ..\..\..\..\..\temp\csr\table_q.obj & + ..\..\..\..\..\temp\csr\table_r.obj & + ..\..\..\..\..\temp\csr\table_s.obj & + ..\..\..\..\..\temp\csr\table_t.obj & + ..\..\..\..\..\temp\csr\table_u.obj & + ..\..\..\..\..\temp\csr\table_v.obj & + ..\..\..\..\..\temp\csr\table_w.obj & + ..\..\..\..\..\temp\csr\table_x.obj & + ..\..\..\..\..\temp\csr\table_y.obj & + ..\..\..\..\..\temp\csr\table_z.obj & + ..\..\..\..\..\temp\csr\ta_utility.obj & + ..\..\..\..\..\temp\csr\ta_ACOS.obj & + ..\..\..\..\..\temp\csr\ta_AD.obj & + ..\..\..\..\..\temp\csr\ta_ADD.obj & + ..\..\..\..\..\temp\csr\ta_ADOSC.obj & + ..\..\..\..\..\temp\csr\ta_ADX.obj & + ..\..\..\..\..\temp\csr\ta_ADXR.obj & + ..\..\..\..\..\temp\csr\ta_APO.obj & + ..\..\..\..\..\temp\csr\ta_AROON.obj & + ..\..\..\..\..\temp\csr\ta_AROONOSC.obj & + ..\..\..\..\..\temp\csr\ta_ASIN.obj & + ..\..\..\..\..\temp\csr\ta_ATAN.obj & + ..\..\..\..\..\temp\csr\ta_ATR.obj & + ..\..\..\..\..\temp\csr\ta_AVGPRICE.obj & + ..\..\..\..\..\temp\csr\ta_BBANDS.obj & + ..\..\..\..\..\temp\csr\ta_BETA.obj & + ..\..\..\..\..\temp\csr\ta_BOP.obj & + ..\..\..\..\..\temp\csr\ta_CCI.obj & + ..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj & + ..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj & + ..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj & + ..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj & + ..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj & + ..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj & + ..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj & + ..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj & + ..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj & + ..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj & + ..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj & + ..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj & + ..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj & + ..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj & + ..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj & + ..\..\..\..\..\temp\csr\ta_CDLDOJI.obj & + ..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj & + ..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj & + ..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj & + ..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj & + ..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj & + ..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj & + ..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj & + ..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj & + ..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj & + ..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj & + ..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj & + ..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj & + ..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj & + ..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj & + ..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj & + ..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj & + ..\..\..\..\..\temp\csr\ta_CDLINNECK.obj & + ..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj & + ..\..\..\..\..\temp\csr\ta_CDLKICKING.obj & + ..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj & + ..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj & + ..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj & + ..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj & + ..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj & + ..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj & + ..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj & + ..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj & + ..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj & + ..\..\..\..\..\temp\csr\ta_CDLONNECK.obj & + ..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj & + ..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj & + ..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj & + ..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj & + ..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj & + ..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj & + ..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj & + ..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj & + ..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj & + ..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj & + ..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj & + ..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj & + ..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj & + ..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj & + ..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj & + ..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj & + ..\..\..\..\..\temp\csr\ta_CEIL.obj & + ..\..\..\..\..\temp\csr\ta_CMO.obj & + ..\..\..\..\..\temp\csr\ta_CORREL.obj & + ..\..\..\..\..\temp\csr\ta_COS.obj & + ..\..\..\..\..\temp\csr\ta_COSH.obj & + ..\..\..\..\..\temp\csr\ta_DEMA.obj & + ..\..\..\..\..\temp\csr\ta_DIV.obj & + ..\..\..\..\..\temp\csr\ta_DX.obj & + ..\..\..\..\..\temp\csr\ta_EMA.obj & + ..\..\..\..\..\temp\csr\ta_EXP.obj & + ..\..\..\..\..\temp\csr\ta_FLOOR.obj & + ..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj & + ..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj & + ..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj & + ..\..\..\..\..\temp\csr\ta_HT_SINE.obj & + ..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj & + ..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj & + ..\..\..\..\..\temp\csr\ta_KAMA.obj & + ..\..\..\..\..\temp\csr\ta_LINEARREG.obj & + ..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj & + ..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj & + ..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj & + ..\..\..\..\..\temp\csr\ta_LN.obj & + ..\..\..\..\..\temp\csr\ta_LOG10.obj & + ..\..\..\..\..\temp\csr\ta_MA.obj & + ..\..\..\..\..\temp\csr\ta_MACD.obj & + ..\..\..\..\..\temp\csr\ta_MACDEXT.obj & + ..\..\..\..\..\temp\csr\ta_MACDFIX.obj & + ..\..\..\..\..\temp\csr\ta_MAMA.obj & + ..\..\..\..\..\temp\csr\ta_MAVP.obj & + ..\..\..\..\..\temp\csr\ta_MAX.obj & + ..\..\..\..\..\temp\csr\ta_MAXINDEX.obj & + ..\..\..\..\..\temp\csr\ta_MEDPRICE.obj & + ..\..\..\..\..\temp\csr\ta_MFI.obj & + ..\..\..\..\..\temp\csr\ta_MIDPOINT.obj & + ..\..\..\..\..\temp\csr\ta_MIDPRICE.obj & + ..\..\..\..\..\temp\csr\ta_MIN.obj & + ..\..\..\..\..\temp\csr\ta_MININDEX.obj & + ..\..\..\..\..\temp\csr\ta_MINMAX.obj & + ..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj & + ..\..\..\..\..\temp\csr\ta_MINUS_DI.obj & + ..\..\..\..\..\temp\csr\ta_MINUS_DM.obj & + ..\..\..\..\..\temp\csr\ta_MOM.obj & + ..\..\..\..\..\temp\csr\ta_MULT.obj & + ..\..\..\..\..\temp\csr\ta_NATR.obj & + ..\..\..\..\..\temp\csr\ta_OBV.obj & + ..\..\..\..\..\temp\csr\ta_PLUS_DI.obj & + ..\..\..\..\..\temp\csr\ta_PLUS_DM.obj & + ..\..\..\..\..\temp\csr\ta_PPO.obj & + ..\..\..\..\..\temp\csr\ta_ROC.obj & + ..\..\..\..\..\temp\csr\ta_ROCP.obj & + ..\..\..\..\..\temp\csr\ta_ROCR.obj & + ..\..\..\..\..\temp\csr\ta_ROCR100.obj & + ..\..\..\..\..\temp\csr\ta_RSI.obj & + ..\..\..\..\..\temp\csr\ta_SAR.obj & + ..\..\..\..\..\temp\csr\ta_SAREXT.obj & + ..\..\..\..\..\temp\csr\ta_SIN.obj & + ..\..\..\..\..\temp\csr\ta_SINH.obj & + ..\..\..\..\..\temp\csr\ta_SMA.obj & + ..\..\..\..\..\temp\csr\ta_SQRT.obj & + ..\..\..\..\..\temp\csr\ta_STDDEV.obj & + ..\..\..\..\..\temp\csr\ta_STOCH.obj & + ..\..\..\..\..\temp\csr\ta_STOCHF.obj & + ..\..\..\..\..\temp\csr\ta_STOCHRSI.obj & + ..\..\..\..\..\temp\csr\ta_SUB.obj & + ..\..\..\..\..\temp\csr\ta_SUM.obj & + ..\..\..\..\..\temp\csr\ta_T3.obj & + ..\..\..\..\..\temp\csr\ta_TAN.obj & + ..\..\..\..\..\temp\csr\ta_TANH.obj & + ..\..\..\..\..\temp\csr\ta_TEMA.obj & + ..\..\..\..\..\temp\csr\ta_TRANGE.obj & + ..\..\..\..\..\temp\csr\ta_TRIMA.obj & + ..\..\..\..\..\temp\csr\ta_TRIX.obj & + ..\..\..\..\..\temp\csr\ta_TSF.obj & + ..\..\..\..\..\temp\csr\ta_TYPPRICE.obj & + ..\..\..\..\..\temp\csr\ta_ULTOSC.obj & + ..\..\..\..\..\temp\csr\ta_VAR.obj & + ..\..\..\..\..\temp\csr\ta_WCLPRICE.obj & + ..\..\..\..\..\temp\csr\ta_WILLR.obj & + ..\..\..\..\..\temp\csr\ta_WMA.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\lib\ta_libc_csr.lib +TMPLIST = ta_libc_csr.lst + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + @%create $(TMPLIST) + @for %i in ( $(OBJECTS) $(OBJMOC) ) do @%append $(TMPLIST) +'%i' + $(LIB) $(TARGET) @$(TMPLIST) + del $(TMPLIST) + +moc: $(SRCMOC) + +tmake: ../csr/win32/watcom/ta_libc/Makefile + +../csr/win32/watcom/ta_libc/Makefile: ta_libc/ta_libc.pro + tmake ta_libc/ta_libc.pro -o ../csr/win32/watcom/ta_libc/Makefile + +dist: + $(ZIP) ta_libc/ta_libc.zip ta_libc/ta_libc.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csr\ta_global.obj + -del ..\..\..\..\..\temp\csr\ta_retcode.obj + -del ..\..\..\..\..\temp\csr\ta_version.obj + -del ..\..\..\..\..\temp\csr\ta_abstract.obj + -del ..\..\..\..\..\temp\csr\ta_def_ui.obj + -del ..\..\..\..\..\temp\csr\ta_func_api.obj + -del ..\..\..\..\..\temp\csr\ta_group_idx.obj + -del ..\..\..\..\..\temp\csr\ta_frame.obj + -del ..\..\..\..\..\temp\csr\table_a.obj + -del ..\..\..\..\..\temp\csr\table_b.obj + -del ..\..\..\..\..\temp\csr\table_c.obj + -del ..\..\..\..\..\temp\csr\table_d.obj + -del ..\..\..\..\..\temp\csr\table_e.obj + -del ..\..\..\..\..\temp\csr\table_f.obj + -del ..\..\..\..\..\temp\csr\table_g.obj + -del ..\..\..\..\..\temp\csr\table_h.obj + -del ..\..\..\..\..\temp\csr\table_i.obj + -del ..\..\..\..\..\temp\csr\table_j.obj + -del ..\..\..\..\..\temp\csr\table_k.obj + -del ..\..\..\..\..\temp\csr\table_l.obj + -del ..\..\..\..\..\temp\csr\table_m.obj + -del ..\..\..\..\..\temp\csr\table_n.obj + -del ..\..\..\..\..\temp\csr\table_o.obj + -del ..\..\..\..\..\temp\csr\table_p.obj + -del ..\..\..\..\..\temp\csr\table_q.obj + -del ..\..\..\..\..\temp\csr\table_r.obj + -del ..\..\..\..\..\temp\csr\table_s.obj + -del ..\..\..\..\..\temp\csr\table_t.obj + -del ..\..\..\..\..\temp\csr\table_u.obj + -del ..\..\..\..\..\temp\csr\table_v.obj + -del ..\..\..\..\..\temp\csr\table_w.obj + -del ..\..\..\..\..\temp\csr\table_x.obj + -del ..\..\..\..\..\temp\csr\table_y.obj + -del ..\..\..\..\..\temp\csr\table_z.obj + -del ..\..\..\..\..\temp\csr\ta_utility.obj + -del ..\..\..\..\..\temp\csr\ta_ACOS.obj + -del ..\..\..\..\..\temp\csr\ta_AD.obj + -del ..\..\..\..\..\temp\csr\ta_ADD.obj + -del ..\..\..\..\..\temp\csr\ta_ADOSC.obj + -del ..\..\..\..\..\temp\csr\ta_ADX.obj + -del ..\..\..\..\..\temp\csr\ta_ADXR.obj + -del ..\..\..\..\..\temp\csr\ta_APO.obj + -del ..\..\..\..\..\temp\csr\ta_AROON.obj + -del ..\..\..\..\..\temp\csr\ta_AROONOSC.obj + -del ..\..\..\..\..\temp\csr\ta_ASIN.obj + -del ..\..\..\..\..\temp\csr\ta_ATAN.obj + -del ..\..\..\..\..\temp\csr\ta_ATR.obj + -del ..\..\..\..\..\temp\csr\ta_AVGPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_BBANDS.obj + -del ..\..\..\..\..\temp\csr\ta_BETA.obj + -del ..\..\..\..\..\temp\csr\ta_BOP.obj + -del ..\..\..\..\..\temp\csr\ta_CCI.obj + -del ..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj + -del ..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj + -del ..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj + -del ..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj + -del ..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj + -del ..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj + -del ..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj + -del ..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj + -del ..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLINNECK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLKICKING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj + -del ..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj + -del ..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLONNECK.obj + -del ..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj + -del ..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj + -del ..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj + -del ..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj + -del ..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj + -del ..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj + -del ..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj + -del ..\..\..\..\..\temp\csr\ta_CEIL.obj + -del ..\..\..\..\..\temp\csr\ta_CMO.obj + -del ..\..\..\..\..\temp\csr\ta_CORREL.obj + -del ..\..\..\..\..\temp\csr\ta_COS.obj + -del ..\..\..\..\..\temp\csr\ta_COSH.obj + -del ..\..\..\..\..\temp\csr\ta_DEMA.obj + -del ..\..\..\..\..\temp\csr\ta_DIV.obj + -del ..\..\..\..\..\temp\csr\ta_DX.obj + -del ..\..\..\..\..\temp\csr\ta_EMA.obj + -del ..\..\..\..\..\temp\csr\ta_EXP.obj + -del ..\..\..\..\..\temp\csr\ta_FLOOR.obj + -del ..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj + -del ..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj + -del ..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj + -del ..\..\..\..\..\temp\csr\ta_HT_SINE.obj + -del ..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj + -del ..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj + -del ..\..\..\..\..\temp\csr\ta_KAMA.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj + -del ..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj + -del ..\..\..\..\..\temp\csr\ta_LN.obj + -del ..\..\..\..\..\temp\csr\ta_LOG10.obj + -del ..\..\..\..\..\temp\csr\ta_MA.obj + -del ..\..\..\..\..\temp\csr\ta_MACD.obj + -del ..\..\..\..\..\temp\csr\ta_MACDEXT.obj + -del ..\..\..\..\..\temp\csr\ta_MACDFIX.obj + -del ..\..\..\..\..\temp\csr\ta_MAMA.obj + -del ..\..\..\..\..\temp\csr\ta_MAVP.obj + -del ..\..\..\..\..\temp\csr\ta_MAX.obj + -del ..\..\..\..\..\temp\csr\ta_MAXINDEX.obj + -del ..\..\..\..\..\temp\csr\ta_MEDPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_MFI.obj + -del ..\..\..\..\..\temp\csr\ta_MIDPOINT.obj + -del ..\..\..\..\..\temp\csr\ta_MIDPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_MIN.obj + -del ..\..\..\..\..\temp\csr\ta_MININDEX.obj + -del ..\..\..\..\..\temp\csr\ta_MINMAX.obj + -del ..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj + -del ..\..\..\..\..\temp\csr\ta_MINUS_DI.obj + -del ..\..\..\..\..\temp\csr\ta_MINUS_DM.obj + -del ..\..\..\..\..\temp\csr\ta_MOM.obj + -del ..\..\..\..\..\temp\csr\ta_MULT.obj + -del ..\..\..\..\..\temp\csr\ta_NATR.obj + -del ..\..\..\..\..\temp\csr\ta_OBV.obj + -del ..\..\..\..\..\temp\csr\ta_PLUS_DI.obj + -del ..\..\..\..\..\temp\csr\ta_PLUS_DM.obj + -del ..\..\..\..\..\temp\csr\ta_PPO.obj + -del ..\..\..\..\..\temp\csr\ta_ROC.obj + -del ..\..\..\..\..\temp\csr\ta_ROCP.obj + -del ..\..\..\..\..\temp\csr\ta_ROCR.obj + -del ..\..\..\..\..\temp\csr\ta_ROCR100.obj + -del ..\..\..\..\..\temp\csr\ta_RSI.obj + -del ..\..\..\..\..\temp\csr\ta_SAR.obj + -del ..\..\..\..\..\temp\csr\ta_SAREXT.obj + -del ..\..\..\..\..\temp\csr\ta_SIN.obj + -del ..\..\..\..\..\temp\csr\ta_SINH.obj + -del ..\..\..\..\..\temp\csr\ta_SMA.obj + -del ..\..\..\..\..\temp\csr\ta_SQRT.obj + -del ..\..\..\..\..\temp\csr\ta_STDDEV.obj + -del ..\..\..\..\..\temp\csr\ta_STOCH.obj + -del ..\..\..\..\..\temp\csr\ta_STOCHF.obj + -del ..\..\..\..\..\temp\csr\ta_STOCHRSI.obj + -del ..\..\..\..\..\temp\csr\ta_SUB.obj + -del ..\..\..\..\..\temp\csr\ta_SUM.obj + -del ..\..\..\..\..\temp\csr\ta_T3.obj + -del ..\..\..\..\..\temp\csr\ta_TAN.obj + -del ..\..\..\..\..\temp\csr\ta_TANH.obj + -del ..\..\..\..\..\temp\csr\ta_TEMA.obj + -del ..\..\..\..\..\temp\csr\ta_TRANGE.obj + -del ..\..\..\..\..\temp\csr\ta_TRIMA.obj + -del ..\..\..\..\..\temp\csr\ta_TRIX.obj + -del ..\..\..\..\..\temp\csr\ta_TSF.obj + -del ..\..\..\..\..\temp\csr\ta_TYPPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_ULTOSC.obj + -del ..\..\..\..\..\temp\csr\ta_VAR.obj + -del ..\..\..\..\..\temp\csr\ta_WCLPRICE.obj + -del ..\..\..\..\..\temp\csr\ta_WILLR.obj + -del ..\..\..\..\..\temp\csr\ta_WMA.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + +####### Compile + +..\..\..\..\..\temp\csr\ta_global.obj: ..\..\..\..\..\src\ta_common\ta_global.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_global.obj ..\..\..\..\..\src\ta_common\ta_global.c + +..\..\..\..\..\temp\csr\ta_retcode.obj: ..\..\..\..\..\src\ta_common\ta_retcode.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_retcode.obj ..\..\..\..\..\src\ta_common\ta_retcode.c + +..\..\..\..\..\temp\csr\ta_version.obj: ..\..\..\..\..\src\ta_common\ta_version.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_version.obj ..\..\..\..\..\src\ta_common\ta_version.c + +..\..\..\..\..\temp\csr\ta_abstract.obj: ..\..\..\..\..\src\ta_abstract\ta_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_abstract.obj ..\..\..\..\..\src\ta_abstract\ta_abstract.c + +..\..\..\..\..\temp\csr\ta_def_ui.obj: ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_def_ui.obj ..\..\..\..\..\src\ta_abstract\ta_def_ui.c + +..\..\..\..\..\temp\csr\ta_func_api.obj: ..\..\..\..\..\src\ta_abstract\ta_func_api.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_func_api.obj ..\..\..\..\..\src\ta_abstract\ta_func_api.c + +..\..\..\..\..\temp\csr\ta_group_idx.obj: ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_group_idx.obj ..\..\..\..\..\src\ta_abstract\ta_group_idx.c + +..\..\..\..\..\temp\csr\ta_frame.obj: ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_frame.obj ..\..\..\..\..\src\ta_abstract\frames\ta_frame.c + +..\..\..\..\..\temp\csr\table_a.obj: ..\..\..\..\..\src\ta_abstract\tables\table_a.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_a.obj ..\..\..\..\..\src\ta_abstract\tables\table_a.c + +..\..\..\..\..\temp\csr\table_b.obj: ..\..\..\..\..\src\ta_abstract\tables\table_b.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_b.obj ..\..\..\..\..\src\ta_abstract\tables\table_b.c + +..\..\..\..\..\temp\csr\table_c.obj: ..\..\..\..\..\src\ta_abstract\tables\table_c.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_c.obj ..\..\..\..\..\src\ta_abstract\tables\table_c.c + +..\..\..\..\..\temp\csr\table_d.obj: ..\..\..\..\..\src\ta_abstract\tables\table_d.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_d.obj ..\..\..\..\..\src\ta_abstract\tables\table_d.c + +..\..\..\..\..\temp\csr\table_e.obj: ..\..\..\..\..\src\ta_abstract\tables\table_e.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_e.obj ..\..\..\..\..\src\ta_abstract\tables\table_e.c + +..\..\..\..\..\temp\csr\table_f.obj: ..\..\..\..\..\src\ta_abstract\tables\table_f.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_f.obj ..\..\..\..\..\src\ta_abstract\tables\table_f.c + +..\..\..\..\..\temp\csr\table_g.obj: ..\..\..\..\..\src\ta_abstract\tables\table_g.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_g.obj ..\..\..\..\..\src\ta_abstract\tables\table_g.c + +..\..\..\..\..\temp\csr\table_h.obj: ..\..\..\..\..\src\ta_abstract\tables\table_h.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_h.obj ..\..\..\..\..\src\ta_abstract\tables\table_h.c + +..\..\..\..\..\temp\csr\table_i.obj: ..\..\..\..\..\src\ta_abstract\tables\table_i.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_i.obj ..\..\..\..\..\src\ta_abstract\tables\table_i.c + +..\..\..\..\..\temp\csr\table_j.obj: ..\..\..\..\..\src\ta_abstract\tables\table_j.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_j.obj ..\..\..\..\..\src\ta_abstract\tables\table_j.c + +..\..\..\..\..\temp\csr\table_k.obj: ..\..\..\..\..\src\ta_abstract\tables\table_k.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_k.obj ..\..\..\..\..\src\ta_abstract\tables\table_k.c + +..\..\..\..\..\temp\csr\table_l.obj: ..\..\..\..\..\src\ta_abstract\tables\table_l.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_l.obj ..\..\..\..\..\src\ta_abstract\tables\table_l.c + +..\..\..\..\..\temp\csr\table_m.obj: ..\..\..\..\..\src\ta_abstract\tables\table_m.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_m.obj ..\..\..\..\..\src\ta_abstract\tables\table_m.c + +..\..\..\..\..\temp\csr\table_n.obj: ..\..\..\..\..\src\ta_abstract\tables\table_n.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_n.obj ..\..\..\..\..\src\ta_abstract\tables\table_n.c + +..\..\..\..\..\temp\csr\table_o.obj: ..\..\..\..\..\src\ta_abstract\tables\table_o.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_o.obj ..\..\..\..\..\src\ta_abstract\tables\table_o.c + +..\..\..\..\..\temp\csr\table_p.obj: ..\..\..\..\..\src\ta_abstract\tables\table_p.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_p.obj ..\..\..\..\..\src\ta_abstract\tables\table_p.c + +..\..\..\..\..\temp\csr\table_q.obj: ..\..\..\..\..\src\ta_abstract\tables\table_q.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_q.obj ..\..\..\..\..\src\ta_abstract\tables\table_q.c + +..\..\..\..\..\temp\csr\table_r.obj: ..\..\..\..\..\src\ta_abstract\tables\table_r.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_r.obj ..\..\..\..\..\src\ta_abstract\tables\table_r.c + +..\..\..\..\..\temp\csr\table_s.obj: ..\..\..\..\..\src\ta_abstract\tables\table_s.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_s.obj ..\..\..\..\..\src\ta_abstract\tables\table_s.c + +..\..\..\..\..\temp\csr\table_t.obj: ..\..\..\..\..\src\ta_abstract\tables\table_t.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_t.obj ..\..\..\..\..\src\ta_abstract\tables\table_t.c + +..\..\..\..\..\temp\csr\table_u.obj: ..\..\..\..\..\src\ta_abstract\tables\table_u.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_u.obj ..\..\..\..\..\src\ta_abstract\tables\table_u.c + +..\..\..\..\..\temp\csr\table_v.obj: ..\..\..\..\..\src\ta_abstract\tables\table_v.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_v.obj ..\..\..\..\..\src\ta_abstract\tables\table_v.c + +..\..\..\..\..\temp\csr\table_w.obj: ..\..\..\..\..\src\ta_abstract\tables\table_w.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_w.obj ..\..\..\..\..\src\ta_abstract\tables\table_w.c + +..\..\..\..\..\temp\csr\table_x.obj: ..\..\..\..\..\src\ta_abstract\tables\table_x.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_x.obj ..\..\..\..\..\src\ta_abstract\tables\table_x.c + +..\..\..\..\..\temp\csr\table_y.obj: ..\..\..\..\..\src\ta_abstract\tables\table_y.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_y.obj ..\..\..\..\..\src\ta_abstract\tables\table_y.c + +..\..\..\..\..\temp\csr\table_z.obj: ..\..\..\..\..\src\ta_abstract\tables\table_z.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\table_z.obj ..\..\..\..\..\src\ta_abstract\tables\table_z.c + +..\..\..\..\..\temp\csr\ta_utility.obj: ..\..\..\..\..\src\ta_func\ta_utility.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_utility.obj ..\..\..\..\..\src\ta_func\ta_utility.c + +..\..\..\..\..\temp\csr\ta_ACOS.obj: ..\..\..\..\..\src\ta_func\ta_ACOS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_ACOS.obj ..\..\..\..\..\src\ta_func\ta_ACOS.c + +..\..\..\..\..\temp\csr\ta_AD.obj: ..\..\..\..\..\src\ta_func\ta_AD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_AD.obj ..\..\..\..\..\src\ta_func\ta_AD.c + +..\..\..\..\..\temp\csr\ta_ADD.obj: ..\..\..\..\..\src\ta_func\ta_ADD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_ADD.obj ..\..\..\..\..\src\ta_func\ta_ADD.c + +..\..\..\..\..\temp\csr\ta_ADOSC.obj: ..\..\..\..\..\src\ta_func\ta_ADOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_ADOSC.obj ..\..\..\..\..\src\ta_func\ta_ADOSC.c + +..\..\..\..\..\temp\csr\ta_ADX.obj: ..\..\..\..\..\src\ta_func\ta_ADX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_ADX.obj ..\..\..\..\..\src\ta_func\ta_ADX.c + +..\..\..\..\..\temp\csr\ta_ADXR.obj: ..\..\..\..\..\src\ta_func\ta_ADXR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_ADXR.obj ..\..\..\..\..\src\ta_func\ta_ADXR.c + +..\..\..\..\..\temp\csr\ta_APO.obj: ..\..\..\..\..\src\ta_func\ta_APO.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_APO.obj ..\..\..\..\..\src\ta_func\ta_APO.c + +..\..\..\..\..\temp\csr\ta_AROON.obj: ..\..\..\..\..\src\ta_func\ta_AROON.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_AROON.obj ..\..\..\..\..\src\ta_func\ta_AROON.c + +..\..\..\..\..\temp\csr\ta_AROONOSC.obj: ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_AROONOSC.obj ..\..\..\..\..\src\ta_func\ta_AROONOSC.c + +..\..\..\..\..\temp\csr\ta_ASIN.obj: ..\..\..\..\..\src\ta_func\ta_ASIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_ASIN.obj ..\..\..\..\..\src\ta_func\ta_ASIN.c + +..\..\..\..\..\temp\csr\ta_ATAN.obj: ..\..\..\..\..\src\ta_func\ta_ATAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_ATAN.obj ..\..\..\..\..\src\ta_func\ta_ATAN.c + +..\..\..\..\..\temp\csr\ta_ATR.obj: ..\..\..\..\..\src\ta_func\ta_ATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_ATR.obj ..\..\..\..\..\src\ta_func\ta_ATR.c + +..\..\..\..\..\temp\csr\ta_AVGPRICE.obj: ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_AVGPRICE.obj ..\..\..\..\..\src\ta_func\ta_AVGPRICE.c + +..\..\..\..\..\temp\csr\ta_BBANDS.obj: ..\..\..\..\..\src\ta_func\ta_BBANDS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_BBANDS.obj ..\..\..\..\..\src\ta_func\ta_BBANDS.c + +..\..\..\..\..\temp\csr\ta_BETA.obj: ..\..\..\..\..\src\ta_func\ta_BETA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_BETA.obj ..\..\..\..\..\src\ta_func\ta_BETA.c + +..\..\..\..\..\temp\csr\ta_BOP.obj: ..\..\..\..\..\src\ta_func\ta_BOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_BOP.obj ..\..\..\..\..\src\ta_func\ta_BOP.c + +..\..\..\..\..\temp\csr\ta_CCI.obj: ..\..\..\..\..\src\ta_func\ta_CCI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CCI.obj ..\..\..\..\..\src\ta_func\ta_CCI.c + +..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDL2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL2CROWS.c + +..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDL3BLACKCROWS.obj ..\..\..\..\..\src\ta_func\ta_CDL3BLACKCROWS.c + +..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDL3INSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3INSIDE.c + +..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDL3LINESTRIKE.obj ..\..\..\..\..\src\ta_func\ta_CDL3LINESTRIKE.c + +..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj: ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDL3OUTSIDE.obj ..\..\..\..\..\src\ta_func\ta_CDL3OUTSIDE.c + +..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj: ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDL3STARSINSOUTH.obj ..\..\..\..\..\src\ta_func\ta_CDL3STARSINSOUTH.c + +..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj: ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDL3WHITESOLDIERS.obj ..\..\..\..\..\src\ta_func\ta_CDL3WHITESOLDIERS.c + +..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj: ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLABANDONEDBABY.obj ..\..\..\..\..\src\ta_func\ta_CDLABANDONEDBABY.c + +..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj: ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLADVANCEBLOCK.obj ..\..\..\..\..\src\ta_func\ta_CDLADVANCEBLOCK.c + +..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLBELTHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLBELTHOLD.c + +..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj: ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLBREAKAWAY.obj ..\..\..\..\..\src\ta_func\ta_CDLBREAKAWAY.c + +..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLCLOSINGMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLCLOSINGMARUBOZU.c + +..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj: ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLCONCEALBABYSWALL.obj ..\..\..\..\..\src\ta_func\ta_CDLCONCEALBABYSWALL.c + +..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj: ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLCOUNTERATTACK.obj ..\..\..\..\..\src\ta_func\ta_CDLCOUNTERATTACK.c + +..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLDARKCLOUDCOVER.obj ..\..\..\..\..\src\ta_func\ta_CDLDARKCLOUDCOVER.c + +..\..\..\..\..\temp\csr\ta_CDLDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLDOJISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLDRAGONFLYDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLDRAGONFLYDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj: ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLENGULFING.obj ..\..\..\..\..\src\ta_func\ta_CDLENGULFING.c + +..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLEVENINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGDOJISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLEVENINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLEVENINGSTAR.c + +..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj: ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLGAPSIDESIDEWHITE.obj ..\..\..\..\..\src\ta_func\ta_CDLGAPSIDESIDEWHITE.c + +..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLGRAVESTONEDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLGRAVESTONEDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLHAMMER.c + +..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLHANGINGMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLHANGINGMAN.c + +..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLHARAMI.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMI.c + +..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj: ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLHARAMICROSS.obj ..\..\..\..\..\src\ta_func\ta_CDLHARAMICROSS.c + +..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLHIGHWAVE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIGHWAVE.c + +..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLHIKKAKE.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKE.c + +..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj: ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLHIKKAKEMOD.obj ..\..\..\..\..\src\ta_func\ta_CDLHIKKAKEMOD.c + +..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj: ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLHOMINGPIGEON.obj ..\..\..\..\..\src\ta_func\ta_CDLHOMINGPIGEON.c + +..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLIDENTICAL3CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLIDENTICAL3CROWS.c + +..\..\..\..\..\temp\csr\ta_CDLINNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLINNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLINNECK.c + +..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj: ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLINVERTEDHAMMER.obj ..\..\..\..\..\src\ta_func\ta_CDLINVERTEDHAMMER.c + +..\..\..\..\..\temp\csr\ta_CDLKICKING.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLKICKING.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKING.c + +..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj: ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLKICKINGBYLENGTH.obj ..\..\..\..\..\src\ta_func\ta_CDLKICKINGBYLENGTH.c + +..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj: ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLLADDERBOTTOM.obj ..\..\..\..\..\src\ta_func\ta_CDLLADDERBOTTOM.c + +..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLLONGLEGGEDDOJI.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLEGGEDDOJI.c + +..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLLONGLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLLONGLINE.c + +..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj: ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLMARUBOZU.obj ..\..\..\..\..\src\ta_func\ta_CDLMARUBOZU.c + +..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLMATCHINGLOW.obj ..\..\..\..\..\src\ta_func\ta_CDLMATCHINGLOW.c + +..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj: ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLMATHOLD.obj ..\..\..\..\..\src\ta_func\ta_CDLMATHOLD.c + +..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLMORNINGDOJISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGDOJISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLMORNINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLMORNINGSTAR.c + +..\..\..\..\..\temp\csr\ta_CDLONNECK.obj: ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLONNECK.obj ..\..\..\..\..\src\ta_func\ta_CDLONNECK.c + +..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj: ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLPIERCING.obj ..\..\..\..\..\src\ta_func\ta_CDLPIERCING.c + +..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj: ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLRICKSHAWMAN.obj ..\..\..\..\..\src\ta_func\ta_CDLRICKSHAWMAN.c + +..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLRISEFALL3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLRISEFALL3METHODS.c + +..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj: ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLSEPARATINGLINES.obj ..\..\..\..\..\src\ta_func\ta_CDLSEPARATINGLINES.c + +..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLSHOOTINGSTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLSHOOTINGSTAR.c + +..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj: ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLSHORTLINE.obj ..\..\..\..\..\src\ta_func\ta_CDLSHORTLINE.c + +..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj: ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLSPINNINGTOP.obj ..\..\..\..\..\src\ta_func\ta_CDLSPINNINGTOP.c + +..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLSTALLEDPATTERN.obj ..\..\..\..\..\src\ta_func\ta_CDLSTALLEDPATTERN.c + +..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj: ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLSTICKSANDWICH.obj ..\..\..\..\..\src\ta_func\ta_CDLSTICKSANDWICH.c + +..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj: ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLTAKURI.obj ..\..\..\..\..\src\ta_func\ta_CDLTAKURI.c + +..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj: ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLTASUKIGAP.obj ..\..\..\..\..\src\ta_func\ta_CDLTASUKIGAP.c + +..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj: ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLTHRUSTING.obj ..\..\..\..\..\src\ta_func\ta_CDLTHRUSTING.c + +..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj: ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLTRISTAR.obj ..\..\..\..\..\src\ta_func\ta_CDLTRISTAR.c + +..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj: ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLUNIQUE3RIVER.obj ..\..\..\..\..\src\ta_func\ta_CDLUNIQUE3RIVER.c + +..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj: ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLUPSIDEGAP2CROWS.obj ..\..\..\..\..\src\ta_func\ta_CDLUPSIDEGAP2CROWS.c + +..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj: ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CDLXSIDEGAP3METHODS.obj ..\..\..\..\..\src\ta_func\ta_CDLXSIDEGAP3METHODS.c + +..\..\..\..\..\temp\csr\ta_CEIL.obj: ..\..\..\..\..\src\ta_func\ta_CEIL.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CEIL.obj ..\..\..\..\..\src\ta_func\ta_CEIL.c + +..\..\..\..\..\temp\csr\ta_CMO.obj: ..\..\..\..\..\src\ta_func\ta_CMO.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CMO.obj ..\..\..\..\..\src\ta_func\ta_CMO.c + +..\..\..\..\..\temp\csr\ta_CORREL.obj: ..\..\..\..\..\src\ta_func\ta_CORREL.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_CORREL.obj ..\..\..\..\..\src\ta_func\ta_CORREL.c + +..\..\..\..\..\temp\csr\ta_COS.obj: ..\..\..\..\..\src\ta_func\ta_COS.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_COS.obj ..\..\..\..\..\src\ta_func\ta_COS.c + +..\..\..\..\..\temp\csr\ta_COSH.obj: ..\..\..\..\..\src\ta_func\ta_COSH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_COSH.obj ..\..\..\..\..\src\ta_func\ta_COSH.c + +..\..\..\..\..\temp\csr\ta_DEMA.obj: ..\..\..\..\..\src\ta_func\ta_DEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_DEMA.obj ..\..\..\..\..\src\ta_func\ta_DEMA.c + +..\..\..\..\..\temp\csr\ta_DIV.obj: ..\..\..\..\..\src\ta_func\ta_DIV.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_DIV.obj ..\..\..\..\..\src\ta_func\ta_DIV.c + +..\..\..\..\..\temp\csr\ta_DX.obj: ..\..\..\..\..\src\ta_func\ta_DX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_DX.obj ..\..\..\..\..\src\ta_func\ta_DX.c + +..\..\..\..\..\temp\csr\ta_EMA.obj: ..\..\..\..\..\src\ta_func\ta_EMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_EMA.obj ..\..\..\..\..\src\ta_func\ta_EMA.c + +..\..\..\..\..\temp\csr\ta_EXP.obj: ..\..\..\..\..\src\ta_func\ta_EXP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_EXP.obj ..\..\..\..\..\src\ta_func\ta_EXP.c + +..\..\..\..\..\temp\csr\ta_FLOOR.obj: ..\..\..\..\..\src\ta_func\ta_FLOOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_FLOOR.obj ..\..\..\..\..\src\ta_func\ta_FLOOR.c + +..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_HT_DCPERIOD.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPERIOD.c + +..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj: ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_HT_DCPHASE.obj ..\..\..\..\..\src\ta_func\ta_HT_DCPHASE.c + +..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj: ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_HT_PHASOR.obj ..\..\..\..\..\src\ta_func\ta_HT_PHASOR.c + +..\..\..\..\..\temp\csr\ta_HT_SINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_HT_SINE.obj ..\..\..\..\..\src\ta_func\ta_HT_SINE.c + +..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_HT_TRENDLINE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDLINE.c + +..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj: ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_HT_TRENDMODE.obj ..\..\..\..\..\src\ta_func\ta_HT_TRENDMODE.c + +..\..\..\..\..\temp\csr\ta_KAMA.obj: ..\..\..\..\..\src\ta_func\ta_KAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_KAMA.obj ..\..\..\..\..\src\ta_func\ta_KAMA.c + +..\..\..\..\..\temp\csr\ta_LINEARREG.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_LINEARREG.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG.c + +..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_LINEARREG_ANGLE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_ANGLE.c + +..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_LINEARREG_INTERCEPT.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_INTERCEPT.c + +..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj: ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_LINEARREG_SLOPE.obj ..\..\..\..\..\src\ta_func\ta_LINEARREG_SLOPE.c + +..\..\..\..\..\temp\csr\ta_LN.obj: ..\..\..\..\..\src\ta_func\ta_LN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_LN.obj ..\..\..\..\..\src\ta_func\ta_LN.c + +..\..\..\..\..\temp\csr\ta_LOG10.obj: ..\..\..\..\..\src\ta_func\ta_LOG10.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_LOG10.obj ..\..\..\..\..\src\ta_func\ta_LOG10.c + +..\..\..\..\..\temp\csr\ta_MA.obj: ..\..\..\..\..\src\ta_func\ta_MA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MA.obj ..\..\..\..\..\src\ta_func\ta_MA.c + +..\..\..\..\..\temp\csr\ta_MACD.obj: ..\..\..\..\..\src\ta_func\ta_MACD.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MACD.obj ..\..\..\..\..\src\ta_func\ta_MACD.c + +..\..\..\..\..\temp\csr\ta_MACDEXT.obj: ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MACDEXT.obj ..\..\..\..\..\src\ta_func\ta_MACDEXT.c + +..\..\..\..\..\temp\csr\ta_MACDFIX.obj: ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MACDFIX.obj ..\..\..\..\..\src\ta_func\ta_MACDFIX.c + +..\..\..\..\..\temp\csr\ta_MAMA.obj: ..\..\..\..\..\src\ta_func\ta_MAMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MAMA.obj ..\..\..\..\..\src\ta_func\ta_MAMA.c + +..\..\..\..\..\temp\csr\ta_MAVP.obj: ..\..\..\..\..\src\ta_func\ta_MAVP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MAVP.obj ..\..\..\..\..\src\ta_func\ta_MAVP.c + +..\..\..\..\..\temp\csr\ta_MAX.obj: ..\..\..\..\..\src\ta_func\ta_MAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MAX.obj ..\..\..\..\..\src\ta_func\ta_MAX.c + +..\..\..\..\..\temp\csr\ta_MAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MAXINDEX.c + +..\..\..\..\..\temp\csr\ta_MEDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MEDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MEDPRICE.c + +..\..\..\..\..\temp\csr\ta_MFI.obj: ..\..\..\..\..\src\ta_func\ta_MFI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MFI.obj ..\..\..\..\..\src\ta_func\ta_MFI.c + +..\..\..\..\..\temp\csr\ta_MIDPOINT.obj: ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MIDPOINT.obj ..\..\..\..\..\src\ta_func\ta_MIDPOINT.c + +..\..\..\..\..\temp\csr\ta_MIDPRICE.obj: ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MIDPRICE.obj ..\..\..\..\..\src\ta_func\ta_MIDPRICE.c + +..\..\..\..\..\temp\csr\ta_MIN.obj: ..\..\..\..\..\src\ta_func\ta_MIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MIN.obj ..\..\..\..\..\src\ta_func\ta_MIN.c + +..\..\..\..\..\temp\csr\ta_MININDEX.obj: ..\..\..\..\..\src\ta_func\ta_MININDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MININDEX.obj ..\..\..\..\..\src\ta_func\ta_MININDEX.c + +..\..\..\..\..\temp\csr\ta_MINMAX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MINMAX.obj ..\..\..\..\..\src\ta_func\ta_MINMAX.c + +..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj: ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MINMAXINDEX.obj ..\..\..\..\..\src\ta_func\ta_MINMAXINDEX.c + +..\..\..\..\..\temp\csr\ta_MINUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MINUS_DI.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DI.c + +..\..\..\..\..\temp\csr\ta_MINUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MINUS_DM.obj ..\..\..\..\..\src\ta_func\ta_MINUS_DM.c + +..\..\..\..\..\temp\csr\ta_MOM.obj: ..\..\..\..\..\src\ta_func\ta_MOM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MOM.obj ..\..\..\..\..\src\ta_func\ta_MOM.c + +..\..\..\..\..\temp\csr\ta_MULT.obj: ..\..\..\..\..\src\ta_func\ta_MULT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_MULT.obj ..\..\..\..\..\src\ta_func\ta_MULT.c + +..\..\..\..\..\temp\csr\ta_NATR.obj: ..\..\..\..\..\src\ta_func\ta_NATR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_NATR.obj ..\..\..\..\..\src\ta_func\ta_NATR.c + +..\..\..\..\..\temp\csr\ta_OBV.obj: ..\..\..\..\..\src\ta_func\ta_OBV.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_OBV.obj ..\..\..\..\..\src\ta_func\ta_OBV.c + +..\..\..\..\..\temp\csr\ta_PLUS_DI.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_PLUS_DI.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DI.c + +..\..\..\..\..\temp\csr\ta_PLUS_DM.obj: ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_PLUS_DM.obj ..\..\..\..\..\src\ta_func\ta_PLUS_DM.c + +..\..\..\..\..\temp\csr\ta_PPO.obj: ..\..\..\..\..\src\ta_func\ta_PPO.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_PPO.obj ..\..\..\..\..\src\ta_func\ta_PPO.c + +..\..\..\..\..\temp\csr\ta_ROC.obj: ..\..\..\..\..\src\ta_func\ta_ROC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_ROC.obj ..\..\..\..\..\src\ta_func\ta_ROC.c + +..\..\..\..\..\temp\csr\ta_ROCP.obj: ..\..\..\..\..\src\ta_func\ta_ROCP.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_ROCP.obj ..\..\..\..\..\src\ta_func\ta_ROCP.c + +..\..\..\..\..\temp\csr\ta_ROCR.obj: ..\..\..\..\..\src\ta_func\ta_ROCR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_ROCR.obj ..\..\..\..\..\src\ta_func\ta_ROCR.c + +..\..\..\..\..\temp\csr\ta_ROCR100.obj: ..\..\..\..\..\src\ta_func\ta_ROCR100.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_ROCR100.obj ..\..\..\..\..\src\ta_func\ta_ROCR100.c + +..\..\..\..\..\temp\csr\ta_RSI.obj: ..\..\..\..\..\src\ta_func\ta_RSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_RSI.obj ..\..\..\..\..\src\ta_func\ta_RSI.c + +..\..\..\..\..\temp\csr\ta_SAR.obj: ..\..\..\..\..\src\ta_func\ta_SAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_SAR.obj ..\..\..\..\..\src\ta_func\ta_SAR.c + +..\..\..\..\..\temp\csr\ta_SAREXT.obj: ..\..\..\..\..\src\ta_func\ta_SAREXT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_SAREXT.obj ..\..\..\..\..\src\ta_func\ta_SAREXT.c + +..\..\..\..\..\temp\csr\ta_SIN.obj: ..\..\..\..\..\src\ta_func\ta_SIN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_SIN.obj ..\..\..\..\..\src\ta_func\ta_SIN.c + +..\..\..\..\..\temp\csr\ta_SINH.obj: ..\..\..\..\..\src\ta_func\ta_SINH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_SINH.obj ..\..\..\..\..\src\ta_func\ta_SINH.c + +..\..\..\..\..\temp\csr\ta_SMA.obj: ..\..\..\..\..\src\ta_func\ta_SMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_SMA.obj ..\..\..\..\..\src\ta_func\ta_SMA.c + +..\..\..\..\..\temp\csr\ta_SQRT.obj: ..\..\..\..\..\src\ta_func\ta_SQRT.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_SQRT.obj ..\..\..\..\..\src\ta_func\ta_SQRT.c + +..\..\..\..\..\temp\csr\ta_STDDEV.obj: ..\..\..\..\..\src\ta_func\ta_STDDEV.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_STDDEV.obj ..\..\..\..\..\src\ta_func\ta_STDDEV.c + +..\..\..\..\..\temp\csr\ta_STOCH.obj: ..\..\..\..\..\src\ta_func\ta_STOCH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_STOCH.obj ..\..\..\..\..\src\ta_func\ta_STOCH.c + +..\..\..\..\..\temp\csr\ta_STOCHF.obj: ..\..\..\..\..\src\ta_func\ta_STOCHF.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_STOCHF.obj ..\..\..\..\..\src\ta_func\ta_STOCHF.c + +..\..\..\..\..\temp\csr\ta_STOCHRSI.obj: ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_STOCHRSI.obj ..\..\..\..\..\src\ta_func\ta_STOCHRSI.c + +..\..\..\..\..\temp\csr\ta_SUB.obj: ..\..\..\..\..\src\ta_func\ta_SUB.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_SUB.obj ..\..\..\..\..\src\ta_func\ta_SUB.c + +..\..\..\..\..\temp\csr\ta_SUM.obj: ..\..\..\..\..\src\ta_func\ta_SUM.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_SUM.obj ..\..\..\..\..\src\ta_func\ta_SUM.c + +..\..\..\..\..\temp\csr\ta_T3.obj: ..\..\..\..\..\src\ta_func\ta_T3.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_T3.obj ..\..\..\..\..\src\ta_func\ta_T3.c + +..\..\..\..\..\temp\csr\ta_TAN.obj: ..\..\..\..\..\src\ta_func\ta_TAN.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_TAN.obj ..\..\..\..\..\src\ta_func\ta_TAN.c + +..\..\..\..\..\temp\csr\ta_TANH.obj: ..\..\..\..\..\src\ta_func\ta_TANH.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_TANH.obj ..\..\..\..\..\src\ta_func\ta_TANH.c + +..\..\..\..\..\temp\csr\ta_TEMA.obj: ..\..\..\..\..\src\ta_func\ta_TEMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_TEMA.obj ..\..\..\..\..\src\ta_func\ta_TEMA.c + +..\..\..\..\..\temp\csr\ta_TRANGE.obj: ..\..\..\..\..\src\ta_func\ta_TRANGE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_TRANGE.obj ..\..\..\..\..\src\ta_func\ta_TRANGE.c + +..\..\..\..\..\temp\csr\ta_TRIMA.obj: ..\..\..\..\..\src\ta_func\ta_TRIMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_TRIMA.obj ..\..\..\..\..\src\ta_func\ta_TRIMA.c + +..\..\..\..\..\temp\csr\ta_TRIX.obj: ..\..\..\..\..\src\ta_func\ta_TRIX.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_TRIX.obj ..\..\..\..\..\src\ta_func\ta_TRIX.c + +..\..\..\..\..\temp\csr\ta_TSF.obj: ..\..\..\..\..\src\ta_func\ta_TSF.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_TSF.obj ..\..\..\..\..\src\ta_func\ta_TSF.c + +..\..\..\..\..\temp\csr\ta_TYPPRICE.obj: ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_TYPPRICE.obj ..\..\..\..\..\src\ta_func\ta_TYPPRICE.c + +..\..\..\..\..\temp\csr\ta_ULTOSC.obj: ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_ULTOSC.obj ..\..\..\..\..\src\ta_func\ta_ULTOSC.c + +..\..\..\..\..\temp\csr\ta_VAR.obj: ..\..\..\..\..\src\ta_func\ta_VAR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_VAR.obj ..\..\..\..\..\src\ta_func\ta_VAR.c + +..\..\..\..\..\temp\csr\ta_WCLPRICE.obj: ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_WCLPRICE.obj ..\..\..\..\..\src\ta_func\ta_WCLPRICE.c + +..\..\..\..\..\temp\csr\ta_WILLR.obj: ..\..\..\..\..\src\ta_func\ta_WILLR.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_WILLR.obj ..\..\..\..\..\src\ta_func\ta_WILLR.c + +..\..\..\..\..\temp\csr\ta_WMA.obj: ..\..\..\..\..\src\ta_func\ta_WMA.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_WMA.obj ..\..\..\..\..\src\ta_func\ta_WMA.c + diff --git a/vendor/ta-lib/make/csr/win32/watcom/ta_regtest/Makefile b/vendor/ta-lib/make/csr/win32/watcom/ta_regtest/Makefile new file mode 100644 index 000000000..7791c46e2 --- /dev/null +++ b/vendor/ta-lib/make/csr/win32/watcom/ta_regtest/Makefile @@ -0,0 +1,219 @@ +############################################################################# +# Makefile for building ta_regtest +# Generated by tmake; +# Project: ta_regtest/ta_regtest +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = wcl386 +CXX = wcl386 +CFLAGS = -zq -w2 -ox -d=TA_SINGLE_THREAD -d=WIN32 +CXXFLAGS= -zq -w2 -ox -d=TA_SINGLE_THREAD -d=WIN32 +INCPATH = -i="..\..\..\..\..\src\ta_common" -i="..\..\..\..\..\src\tools\ta_regtest" -i="..\..\..\..\..\src\ta_func" -i="..\..\..\..\..\include" +LINK = wlink +LFLAGS = op quiet op c sys nt +LIBS = ..\..\..\..\..\lib\ta_libc_csr.lib +MOC = moc + +ZIP = zip -r -9 + +####### Files + +HEADERS = +SOURCES = ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c & + ..\..\..\..\..\src\tools\ta_regtest\test_internals.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c & + ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c & + ..\..\..\..\..\src\tools\ta_regtest\test_util.c & + ..\..\..\..\..\src\tools\ta_regtest\test_data.c & + ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c +OBJECTS = ..\..\..\..\..\temp\csr\ta_regtest.obj & + ..\..\..\..\..\temp\csr\test_candlestick.obj & + ..\..\..\..\..\temp\csr\test_1in_1out.obj & + ..\..\..\..\..\temp\csr\test_1in_2out.obj & + ..\..\..\..\..\temp\csr\test_internals.obj & + ..\..\..\..\..\temp\csr\test_adx.obj & + ..\..\..\..\..\temp\csr\test_bbands.obj & + ..\..\..\..\..\temp\csr\test_ma.obj & + ..\..\..\..\..\temp\csr\test_macd.obj & + ..\..\..\..\..\temp\csr\test_minmax.obj & + ..\..\..\..\..\temp\csr\test_mom.obj & + ..\..\..\..\..\temp\csr\test_per_ema.obj & + ..\..\..\..\..\temp\csr\test_per_hl.obj & + ..\..\..\..\..\temp\csr\test_per_hlc.obj & + ..\..\..\..\..\temp\csr\test_per_hlcv.obj & + ..\..\..\..\..\temp\csr\test_per_ohlc.obj & + ..\..\..\..\..\temp\csr\test_po.obj & + ..\..\..\..\..\temp\csr\test_rsi.obj & + ..\..\..\..\..\temp\csr\test_sar.obj & + ..\..\..\..\..\temp\csr\test_stddev.obj & + ..\..\..\..\..\temp\csr\test_stoch.obj & + ..\..\..\..\..\temp\csr\test_trange.obj & + ..\..\..\..\..\temp\csr\test_util.obj & + ..\..\..\..\..\temp\csr\test_data.obj & + ..\..\..\..\..\temp\csr\test_abstract.obj +SRCMOC = +OBJMOC = +DIST = +TARGET = ..\..\..\..\..\bin\ta_regtest.exe +TMPLIST = ta_regtest.lst + +####### Build rules + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJMOC) + @%create $(TMPLIST) + @%append $(TMPLIST) NAME ta_regtest + @%append $(TMPLIST) FIL ..\..\..\..\..\temp\csr\ta_regtest.obj,..\..\..\..\..\temp\csr\test_candlestick.obj,..\..\..\..\..\temp\csr\test_1in_1out.obj,..\..\..\..\..\temp\csr\test_1in_2out.obj,..\..\..\..\..\temp\csr\test_internals.obj,..\..\..\..\..\temp\csr\test_adx.obj,..\..\..\..\..\temp\csr\test_bbands.obj,..\..\..\..\..\temp\csr\test_ma.obj,..\..\..\..\..\temp\csr\test_macd.obj,..\..\..\..\..\temp\csr\test_minmax.obj,..\..\..\..\..\temp\csr\test_mom.obj,..\..\..\..\..\temp\csr\test_per_ema.obj,..\..\..\..\..\temp\csr\test_per_hl.obj,..\..\..\..\..\temp\csr\test_per_hlc.obj,..\..\..\..\..\temp\csr\test_per_hlcv.obj,..\..\..\..\..\temp\csr\test_per_ohlc.obj,..\..\..\..\..\temp\csr\test_po.obj,..\..\..\..\..\temp\csr\test_rsi.obj,..\..\..\..\..\temp\csr\test_sar.obj,..\..\..\..\..\temp\csr\test_stddev.obj,..\..\..\..\..\temp\csr\test_stoch.obj,..\..\..\..\..\temp\csr\test_trange.obj,..\..\..\..\..\temp\csr\test_util.obj,..\..\..\..\..\temp\csr\test_data.obj,..\..\..\..\..\temp\csr\test_abstract.obj + @%append $(TMPLIST) LIBR ..\..\..\..\..\lib\ta_libc_csr.lib + $(LINK) $(LFLAGS) @$(TMPLIST) + del $(TMPLIST) + +moc: $(SRCMOC) + +tmake: ../csr/win32/watcom/ta_regtest/Makefile + +../csr/win32/watcom/ta_regtest/Makefile: ta_regtest/ta_regtest.pro + tmake ta_regtest/ta_regtest.pro -o ../csr/win32/watcom/ta_regtest/Makefile + +dist: + $(ZIP) ta_regtest/ta_regtest.zip ta_regtest/ta_regtest.pro $(SOURCES) $(HEADERS) $(DIST) + +clean: + -del ..\..\..\..\..\temp\csr\ta_regtest.obj + -del ..\..\..\..\..\temp\csr\test_candlestick.obj + -del ..\..\..\..\..\temp\csr\test_1in_1out.obj + -del ..\..\..\..\..\temp\csr\test_1in_2out.obj + -del ..\..\..\..\..\temp\csr\test_internals.obj + -del ..\..\..\..\..\temp\csr\test_adx.obj + -del ..\..\..\..\..\temp\csr\test_bbands.obj + -del ..\..\..\..\..\temp\csr\test_ma.obj + -del ..\..\..\..\..\temp\csr\test_macd.obj + -del ..\..\..\..\..\temp\csr\test_minmax.obj + -del ..\..\..\..\..\temp\csr\test_mom.obj + -del ..\..\..\..\..\temp\csr\test_per_ema.obj + -del ..\..\..\..\..\temp\csr\test_per_hl.obj + -del ..\..\..\..\..\temp\csr\test_per_hlc.obj + -del ..\..\..\..\..\temp\csr\test_per_hlcv.obj + -del ..\..\..\..\..\temp\csr\test_per_ohlc.obj + -del ..\..\..\..\..\temp\csr\test_po.obj + -del ..\..\..\..\..\temp\csr\test_rsi.obj + -del ..\..\..\..\..\temp\csr\test_sar.obj + -del ..\..\..\..\..\temp\csr\test_stddev.obj + -del ..\..\..\..\..\temp\csr\test_stoch.obj + -del ..\..\..\..\..\temp\csr\test_trange.obj + -del ..\..\..\..\..\temp\csr\test_util.obj + -del ..\..\..\..\..\temp\csr\test_data.obj + -del ..\..\..\..\..\temp\csr\test_abstract.obj + -del $(TARGET) + -del ../../../../../bin/*.map + -del ../../../../../bin/*._xe + -del ../../../../../bin/*.tds + -del ../../../../../bin/*.pdb + -del ../../../../../bin/*.pbo + -del ../../../../../bin/*.pbi + -del ../../../../../bin/*.pbt + -del ../../../../../temp/csr/*.pch + -del ../../../../../temp/csr/*.idb + -del ../../../../../temp/csr/ta_regtest/*.pch + -del ../../../../../temp/csr/ta_regtest/*.idb + -del ../../../../../temp/csr/ta_regtest/*.obj + +####### Compile + +..\..\..\..\..\temp\csr\ta_regtest.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\ta_regtest.obj ..\..\..\..\..\src\tools\ta_regtest\ta_regtest.c + +..\..\..\..\..\temp\csr\test_candlestick.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\test_candlestick.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_candlestick.c + +..\..\..\..\..\temp\csr\test_1in_1out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\test_1in_1out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_1out.c + +..\..\..\..\..\temp\csr\test_1in_2out.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\test_1in_2out.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_1in_2out.c + +..\..\..\..\..\temp\csr\test_internals.obj: ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\test_internals.obj ..\..\..\..\..\src\tools\ta_regtest\test_internals.c + +..\..\..\..\..\temp\csr\test_adx.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\test_adx.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_adx.c + +..\..\..\..\..\temp\csr\test_bbands.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\test_bbands.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_bbands.c + +..\..\..\..\..\temp\csr\test_ma.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\test_ma.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_ma.c + +..\..\..\..\..\temp\csr\test_macd.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\test_macd.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_macd.c + +..\..\..\..\..\temp\csr\test_minmax.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\test_minmax.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_minmax.c + +..\..\..\..\..\temp\csr\test_mom.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\test_mom.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_mom.c + +..\..\..\..\..\temp\csr\test_per_ema.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\test_per_ema.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ema.c + +..\..\..\..\..\temp\csr\test_per_hl.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\test_per_hl.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hl.c + +..\..\..\..\..\temp\csr\test_per_hlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\test_per_hlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlc.c + +..\..\..\..\..\temp\csr\test_per_hlcv.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\test_per_hlcv.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_hlcv.c + +..\..\..\..\..\temp\csr\test_per_ohlc.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\test_per_ohlc.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_per_ohlc.c + +..\..\..\..\..\temp\csr\test_po.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\test_po.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_po.c + +..\..\..\..\..\temp\csr\test_rsi.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\test_rsi.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_rsi.c + +..\..\..\..\..\temp\csr\test_sar.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\test_sar.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_sar.c + +..\..\..\..\..\temp\csr\test_stddev.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\test_stddev.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stddev.c + +..\..\..\..\..\temp\csr\test_stoch.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\test_stoch.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_stoch.c + +..\..\..\..\..\temp\csr\test_trange.obj: ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\test_trange.obj ..\..\..\..\..\src\tools\ta_regtest\ta_test_func\test_trange.c + +..\..\..\..\..\temp\csr\test_util.obj: ..\..\..\..\..\src\tools\ta_regtest\test_util.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\test_util.obj ..\..\..\..\..\src\tools\ta_regtest\test_util.c + +..\..\..\..\..\temp\csr\test_data.obj: ..\..\..\..\..\src\tools\ta_regtest\test_data.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\test_data.obj ..\..\..\..\..\src\tools\ta_regtest\test_data.c + +..\..\..\..\..\temp\csr\test_abstract.obj: ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + $(CC) -c $(CFLAGS) $(INCPATH) -fo=..\..\..\..\..\temp\csr\test_abstract.obj ..\..\..\..\..\src\tools\ta_regtest\test_abstract.c + diff --git a/vendor/ta-lib/make/gen_make/README.TXT b/vendor/ta-lib/make/gen_make/README.TXT new file mode 100644 index 000000000..70e375f95 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/README.TXT @@ -0,0 +1,40 @@ +================================ +How to regenerate the Makefiles? +================================ +All makefiles are re-generated by doing: + +c:\> perl ./gen_make.pl + +If you did add a TA function, you must first compile +and run gen_code. This will generate: + "ta-lib\ta_func_list.txt" + +This .txt file is used as an input to re-generate many +makefiles when gen_make.pl is executed. + +============== +What is tmake? +============== +The makefiles are generated by tmake. This utility +is not included in this package. This is freely +available from Trolltech (the maker of the QT +library). Just put the tmake in your path and +you are done (TA-lib comes with all the required +template). + +TMake version tested: V1.7 and V1.8 + +A bug in V1.9 and 1.10 prevents tmake to work. +For now, use an older tmake version. + +================================ +Porting to new Compiler/platform +================================ +If you can't find your platform-compiler +in the ta-lib/c/make/template, you may consider +to copy additional templates from the TMAKE +distribution. + +The gen_make.pl will create all the needed +directories and generates Makefiles for all +templates find in ta-lib/c/make/template. diff --git a/vendor/ta-lib/make/gen_make/gen_code/gen_code.pro b/vendor/ta-lib/make/gen_make/gen_code/gen_code.pro new file mode 100644 index 000000000..5b56cc24f --- /dev/null +++ b/vendor/ta-lib/make/gen_make/gen_code/gen_code.pro @@ -0,0 +1,151 @@ +TEMPLATE = app +CONFIG -= qt + +# Force this application to be a console application +CONFIG -= windows +CONFIG += console + +# Identify the temp dir +cmd:OBJECTS_DIR = ../../../../../temp/cmd/gen_code +cmr:OBJECTS_DIR = ../../../../../temp/cmr/gen_code +cmp:OBJECTS_DIR = ../../../../../temp/cmp/gen_code +csd:OBJECTS_DIR = ../../../../../temp/csd/gen_code +csr:OBJECTS_DIR = ../../../../../temp/csr/gen_code +csp:OBJECTS_DIR = ../../../../../temp/csp/gen_code +cdr:OBJECTS_DIR = ../../../../../temp/cdr/gen_code +cdd:OBJECTS_DIR = ../../../../../temp/cdd/gen_code + +# Output info +TARGET = gen_code +DESTDIR = ../../../../../bin + +# Files to process + +SOURCES = ../../../../../src/tools/gen_code/gen_code.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c + + +# Additional libraries +win32:TA_COMMON_CMD = ta_common_cmd.lib +win32:TA_COMMON_CMR = ta_common_cmr.lib +win32:TA_COMMON_CSD = ta_common_csd.lib +win32:TA_COMMON_CSR = ta_common_csr.lib +win32:TA_COMMON_CDR = ta_common_cdr.lib +win32:TA_COMMON_CDD = ta_common_cdd.lib + +unix:TA_COMMON_CMD = libta_common_cmd.a +unix:TA_COMMON_CMR = libta_common_cmr.a +unix:TA_COMMON_CMP = libta_common_cmp.a +unix:TA_COMMON_CSD = libta_common_csd.a +unix:TA_COMMON_CSR = libta_common_csr.a +unix:TA_COMMON_CSP = libta_common_csp.a +unix:TA_COMMON_CDR = libta_common_cdr.a +unix:TA_COMMON_CDD = libta_common_cdd.a + +cmd:LIBS += ../../../../../lib/$$TA_COMMON_CMD +cmr:LIBS += ../../../../../lib/$$TA_COMMON_CMR +cmp:LIBS += ../../../../../lib/$$TA_COMMON_CMP +csd:LIBS += ../../../../../lib/$$TA_COMMON_CSD +csr:LIBS += ../../../../../lib/$$TA_COMMON_CSR +csp:LIBS += ../../../../../lib/$$TA_COMMON_CSP +cdr:LIBS += ../../../../../lib/$$TA_COMMON_CDR +cdd:LIBS += ../../../../../lib/$$TA_COMMON_CDD + +unix:LIBS += -ldl + +# Compiler Options +INCLUDEPATH = ../../../../../include \ + ../../../../../src/ta_common \ + ../../../../../src/ta_abstract \ + ../../../../../src/ta_abstract/tables \ + ../../../../../src/ta_abstract/frames + +DEFINES *= TA_GEN_CODE + +# debug/release dependent options. +debug:DEFINES *= TA_DEBUG +debug:DEFINES *= _DEBUG +DEFINES += TA_SINGLE_THREAD +thread:DEFINES -= TA_SINGLE_THREAD + + +# Platform dependent options. +win32:DEFINES *= WIN32 +win32-msvc:DEFINES *= _MBCS _LIB +cygwin-g++:LIBS -= -ldl +freebsd-g++:LIBS -= -ldl +freebsd-g++:INCLUDEPATH += /usr/local/include + +cmd:TEMP_CLEAN_ALL = ../../../../../temp/cmd/*.pch +cmr:TEMP_CLEAN_ALL = ../../../../../temp/cmr/*.pch +cmp:TEMP_CLEAN_ALL = ../../../../../temp/cmp/*.pch +csd:TEMP_CLEAN_ALL = ../../../../../temp/csd/*.pch +csr:TEMP_CLEAN_ALL = ../../../../../temp/csr/*.pch +csp:TEMP_CLEAN_ALL = ../../../../../temp/csp/*.pch +cdr:TEMP_CLEAN_ALL = ../../../../../temp/cdr/*.pch +cdd:TEMP_CLEAN_ALL = ../../../../../temp/cdd/*.pch + +cmd:TEMP_CLEAN_ALL2 = ../../../../../temp/cmd/*.idb +cmr:TEMP_CLEAN_ALL2 = ../../../../../temp/cmr/*.idb +cmp:TEMP_CLEAN_ALL2 = ../../../../../temp/cmp/*.idb +csd:TEMP_CLEAN_ALL2 = ../../../../../temp/csd/*.idb +csr:TEMP_CLEAN_ALL2 = ../../../../../temp/csr/*.idb +csp:TEMP_CLEAN_ALL2 = ../../../../../temp/csp/*.idb +cdr:TEMP_CLEAN_ALL2 = ../../../../../temp/cdr/*.idb +cdd:TEMP_CLEAN_ALL2 = ../../../../../temp/cdd/*.idb + +cmd:TEMP_CLEAN_ALL3 = ../../../../../temp/cmd/$$TARGET/*.pch +cmr:TEMP_CLEAN_ALL3 = ../../../../../temp/cmr/$$TARGET/*.pch +cmp:TEMP_CLEAN_ALL3 = ../../../../../temp/cmp/$$TARGET/*.pch +csd:TEMP_CLEAN_ALL3 = ../../../../../temp/csd/$$TARGET/*.pch +csr:TEMP_CLEAN_ALL3 = ../../../../../temp/csr/$$TARGET/*.pch +csp:TEMP_CLEAN_ALL3 = ../../../../../temp/csp/$$TARGET/*.pch +cdr:TEMP_CLEAN_ALL3 = ../../../../../temp/cdr/$$TARGET/*.pch +cdd:TEMP_CLEAN_ALL3 = ../../../../../temp/cdd/$$TARGET/*.pch + +cmd:TEMP_CLEAN_ALL4 = ../../../../../temp/cmd/$$TARGET/*.idb +cmr:TEMP_CLEAN_ALL4 = ../../../../../temp/cmr/$$TARGET/*.idb +cmp:TEMP_CLEAN_ALL4 = ../../../../../temp/cmp/$$TARGET/*.idb +csd:TEMP_CLEAN_ALL4 = ../../../../../temp/csd/$$TARGET/*.idb +csr:TEMP_CLEAN_ALL4 = ../../../../../temp/csr/$$TARGET/*.idb +csp:TEMP_CLEAN_ALL4 = ../../../../../temp/csp/$$TARGET/*.idb +cdr:TEMP_CLEAN_ALL4 = ../../../../../temp/cdr/$$TARGET/*.idb +cdd:TEMP_CLEAN_ALL4 = ../../../../../temp/cdd/$$TARGET/*.idb + +cmd:TEMP_CLEAN_ALL5 = ../../../../../temp/cmd/$$TARGET/*.obj +cmr:TEMP_CLEAN_ALL5 = ../../../../../temp/cmr/$$TARGET/*.obj +cmp:TEMP_CLEAN_ALL5 = ../../../../../temp/cmp/$$TARGET/*.obj +csd:TEMP_CLEAN_ALL5 = ../../../../../temp/csd/$$TARGET/*.obj +csr:TEMP_CLEAN_ALL5 = ../../../../../temp/csr/$$TARGET/*.obj +csp:TEMP_CLEAN_ALL5 = ../../../../../temp/csp/$$TARGET/*.obj +cdr:TEMP_CLEAN_ALL5 = ../../../../../temp/cdr/$$TARGET/*.obj +cdd:TEMP_CLEAN_ALL5 = ../../../../../temp/cdd/$$TARGET/*.obj + +win32:CLEAN_FILES = ../../../../../bin/*.map ../../../../../bin/*._xe ../../../../../bin/*.tds ../../../../../bin/*.pdb ../../../../../bin/*.pbo ../../../../../bin/*.pbi ../../../../../bin/*.pbt $$TEMP_CLEAN_ALL $$TEMP_CLEAN_ALL2 $$TEMP_CLEAN_ALL3 $$TEMP_CLEAN_ALL4 $$TEMP_CLEAN_ALL5 diff --git a/vendor/ta-lib/make/gen_make/gen_make.pl b/vendor/ta-lib/make/gen_make/gen_make.pl new file mode 100644 index 000000000..a26d855b3 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/gen_make.pl @@ -0,0 +1,43 @@ +#!/usr/bin/perl + +# This perl script is the "mother of all" making +# all the operations for re-generating all the +# makefiles variant. + +if( $^O eq "MSWin32" ) +{ + $ENV{'TMAKEPATH'} = './template/win32-msvc'; + $MAKEPATH = './template/win32-msvc'; +} +else +{ + $ENV{'TMAKEPATH'} = './template/linux-g++'; + $MAKEPATH = './template/linux-g++'; +} + +print "Generating ta_func.pro template..."; +chdir "ta_func"; +system( "perl make_pro.pl >ta_func.pro" ); +chdir ".."; +print "done.\n"; + +print "Generating ta_abstract.pro template..."; +chdir "ta_abstract"; +system( "perl make_pro.pl >ta_abstract.pro" ); +chdir ".."; +print "done.\n"; + +print "Generating ta_libc.pro template..."; +chdir "ta_libc"; +system( "perl make_pro.pl >ta_libc.pro" ); +chdir ".."; +print "done.\n"; + +system( "perl ./make_make.pl cdr $MAKEPATH \"template/*\" all" ); +system( "perl ./make_make.pl cdd $MAKEPATH \"template/*\" all" ); +system( "perl ./make_make.pl cmd $MAKEPATH \"template/*\" all" ); +system( "perl ./make_make.pl cmr $MAKEPATH \"template/*\" all" ); +system( "perl ./make_make.pl cmp $MAKEPATH \"template/*\" all" ); +system( "perl ./make_make.pl csr $MAKEPATH \"template/*\" all" ); +system( "perl ./make_make.pl csd $MAKEPATH \"template/*\" all" ); +system( "perl ./make_make.pl csp $MAKEPATH \"template/*\" all" ); diff --git a/vendor/ta-lib/make/gen_make/make_make.pl b/vendor/ta-lib/make/gen_make/make_make.pl new file mode 100644 index 000000000..94748538f --- /dev/null +++ b/vendor/ta-lib/make/gen_make/make_make.pl @@ -0,0 +1,269 @@ +#!/usr/bin/perl + +# You should not have to call this script directly. Use instead +# the "gen_make.pl" who effectively do everything. + +# This script will create all the makefiles for all +# the plateform using the projects describe in the +# '/c/make/gen_make' directory. +# +# This script is called with a parameter defining the +# type of application with which the library is link: +# Example: +# 'perl make_make.pl cmr ...' creates the console/multithread/release makefiles. +# 'perl make_make.pl cmd ...' creates the console/multithread/debug makefiles. +# + +use File::Path; +use File::DosGlob 'glob'; +use Env; + +if( (scalar @ARGV) != 4 ) +{ + print( "Missing parameter\n" ); + print( "Usage: make_make TMAKEPATH destPath platform\n" ); + print( "\n" ); + print( " platform = {all|linux_only|msvc_only}\n" ); + die; +} + +if( @ARGV[0] eq "cmr" ) { + $makeConsole = 1; + $makeThread = 1; + $makeDebug = 0; + $makeDLL = 0; +} +elsif( @ARGV[0] eq "cmd" ) { + $makeConsole = 1; + $makeThread = 1; + $makeDebug = 1; + $makeDLL = 0; +} +elsif( @ARGV[0] eq "cmp" ) { + $makeConsole = 1; + $makeThread = 1; + $makeDebug = 2; + $makeDLL = 0; +} +elsif( @ARGV[0] eq "csr" ) { + $makeConsole = 1; + $makeThread = 0; + $makeDebug = 0; + $makeDLL = 0; +} +elsif( @ARGV[0] eq "csd" ) { + $makeConsole = 1; + $makeThread = 0; + $makeDebug = 1; + $makeDLL = 0; +} +elsif( @ARGV[0] eq "csp" ) { + $makeConsole = 1; + $makeThread = 0; + $makeDebug = 2; + $makeDLL = 0; +} +elsif( @ARGV[0] eq "cdr" ) { + $makeConsole = 1; + $makeThread = 1; + $makeDebug = 0; + $makeDLL = 1; +} +elsif( @ARGV[0] eq "cdd" ) { + $makeConsole = 1; + $makeThread = 1; + $makeDebug = 1; + $makeDLL = 1; +} +else +{ + print( "Bad parameter\n" ); + die; +} + +$origTMAKEPATH = @ARGV[1]; +$ENV{'TMAKEPATH'} = $origTMAKEPATH; + +# print "MAKEPATH[".$origTMAKEPATH."]\n"; + +$origTemplatePath = @ARGV[2]; +@platformCompilerPath = glob $origTemplatePath; + +# print "Template Path[$origTemplatePath]\n"; +# print "Platform-Compiler Path[@platformCompilerPath]\n"; +print "Generating (".@ARGV[0].") "; + +if( $makeConsole == 1 ) { + print "CONSOLE "; +} +else { + print "WINDOWS "; +} + +if( $makeThread == 1 ) { + print "MULTITHREAD "; +} +else { + print "SINGLE-THREAD "; +} + +if( $makeDLL == 1 ) +{ + print "DLL "; +} + +if( $makeDebug == 1 ) { + print "DEBUG "; +} +elsif ($makeDebug == 2){ + print "PROFILE "; +} +else { + print "RELEASE "; +} + +print "makefiles...\n"; + + +# Clean-up existing platform/compiler directory. + +# Note: +#foreach $z (@platformCompilerPath) { + # Get the last element of each path. This + # is the platformcompiler string. +# @splitPath = split( /[\\\/]/, $z ); +# $platformCompiler = @splitPath[$#splitPath]; + +# ($platform,$compiler) = split( /-/, $platformCompiler ); + + # Skip the cases causing trouble. +# next if( length($platform) == 0 ); +# next if( length($compiler) == 0 ); + + # Clean-up the directories +# rmtree( "../".@ARGV[0]."/".$platform ); +#} + +# For each platform/compiler pair, create the directory structure. +foreach $z (@platformCompilerPath) { + + # Get the last element of each path. This + # is the platformcompiler string. + @splitPath = split( /[\\\/]/, $z ); + $platformCompiler = @splitPath[$#splitPath]; + + ($platform,$compiler) = split( /-/, $platformCompiler ); + + # Skip the cases causing trouble. + next if length($platform) == 0; + next if length($compiler) == 0; + + # On non win32 platform, skip generating the win32 makefiles. + if( $^O ne "MSWin32" ) + { + next if ($platform eq "win32"); + } + + if( @ARGV[3] eq "linux_only" ) + { + next if($platform eq "win32"); + next if($platform eq "cygwin" ); + next if($platform eq "borland" ); + next if($platform eq "watcom" ); + next if($platform eq "symantec" ); + } + + if( @ARGV[3] eq "msvc_only" ) + { + next if($compiler ne "msvc"); + } + + # cdr and cdd are generated for msvc only + if( $compiler ne "msvc" ) + { + next if($makeDLL eq 1); + } + + # For now, csp and cmp are generated for g++ only + if( $compiler ne "g++" ) + { + next if($makeDebug eq 2); + } + + # Create the directories + $dirToProcess = "../".@ARGV[0]."/".$platform."/".$compiler; + print "Doing ".$platform."-".$compiler."... "; + mkpath( $dirToProcess ); + + # For each .pro file in the ta-lib/c/make/tmake, + # duplicate the same directory structure and + # execute tmake. + @proList = glob "*/*.pro"; + + foreach $y (@proList) { + ($proPath, $proFile) = split( /[\\\/]/, $y ); + + mkpath( $dirToProcess."/".$proPath ); + if ($platform ne "win32") + { + $toRun = "tmake -unix"; + } + else + { + $toRun = "tmake -win32"; + } + + if( $makeDebug == 1 ) { + $toRun = $toRun." "."\"CONFIG+=debug\""; + if( $makeDLL == 1 ) { + $toRun = $toRun." "."\"TMAKE_CFLAGS_MT_DBG=-MDd -Zi\""; + $toRun = $toRun." "."\"TMAKE_CXXFLAGS_MT_DBG=-MDd -Zi\""; + } + } + #Set the profiler options here --AK-- + elsif ( $makeDebug == 2 ) { + $toRun = $toRun." "."\"CONFIG+=debug\""; + if( $compiler eq "g++" ) { + $toRun = $toRun." "."\"TMAKE_CFLAGS_DEBUG+=-O\""; + $toRun = $toRun." "."\"TMAKE_CFLAGS_DEBUG+=-pg\""; + $toRun = $toRun." "."\"TMAKE_LFLAGS+=-pg\""; + } + } + else { + $toRun = $toRun." "."\"CONFIG+=release\""; + if( $makeDLL == 1 ) { + $toRun = $toRun." "."\"TMAKE_CFLAGS_MT=-MD\""; + $toRun = $toRun." "."\"TMAKE_CXXFLAGS_MT=-MD\""; + } + } + + if( $makeConsole == 1 ) { + $toRun = $toRun." "."\"CONFIG+=console\""; + } + else { + $toRun = $toRun." "."\"CONFIG+=windows\""; + } + + if( $makeThread == 1 ) { + $toRun = $toRun." "."\"CONFIG+=thread\""; + } + + $toRun = $toRun." "."\"CONFIG+=".@ARGV[0]."\""; + + $toRun = $toRun." ".$proPath."/".$proFile; + $toRun = $toRun." -o "."../".@ARGV[0]."/".$platform."/".$compiler."/".$proPath."/"."Makefile"; + $ENV{'TMAKEPATH'} = $origTMAKEPATH."\\..\\".$platformCompiler; + system $toRun; + } + + # Create the root Makefile. + $toRun = "tmake"; + $toRun = $toRun." "."\"TMAKEPATH=".$origTMAKEPATH."/../".$platformCompiler."\""; + $toRun = $toRun." rootmake.pro"; + $toRun = $toRun." -o "."../".@ARGV[0]."/".$platform."/".$compiler."/Makefile"; + # print "to run = $toRun\n"; + system $toRun; + + print "done."."\n"; +} + diff --git a/vendor/ta-lib/make/gen_make/rootmake.pro b/vendor/ta-lib/make/gen_make/rootmake.pro new file mode 100644 index 000000000..6f9411025 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/rootmake.pro @@ -0,0 +1,7 @@ +TEMPLATE = subdirs +SUBDIRS = ta_common \ + ta_func \ + ta_abstract \ + ta_libc \ + gen_code \ + ta_regtest diff --git a/vendor/ta-lib/make/gen_make/ta_abstract/make_pro.pl b/vendor/ta-lib/make/gen_make/ta_abstract/make_pro.pl new file mode 100644 index 000000000..f317b9837 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/ta_abstract/make_pro.pl @@ -0,0 +1,141 @@ +#! /usr/bin/perl + +# This file generates the "ta_abstract.pro" +# +# The output simply goes to stdout. + +print "# Do not modify this file. It is automatically\n"; +print "# generated by make_pro.pl\n"; +print "\n"; + +print "TEMPLATE = lib\n"; +print "CONFIG -= qt\n"; +print "CONFIG += staticlib\n"; +print "\n"; +print "# Identify the temp dir\n"; +print "cmd:OBJECTS_DIR = ../../../../../temp/cmd\n"; +print "cmr:OBJECTS_DIR = ../../../../../temp/cmr\n"; +print "cmp:OBJECTS_DIR = ../../../../../temp/cmp\n"; +print "csd:OBJECTS_DIR = ../../../../../temp/csd\n"; +print "csr:OBJECTS_DIR = ../../../../../temp/csr\n"; +print "csp:OBJECTS_DIR = ../../../../../temp/csp\n"; +print "cdr:OBJECTS_DIR = ../../../../../temp/cdr\n"; +print "cdd:OBJECTS_DIR = ../../../../../temp/cdd\n"; +print "\n"; +print "# Identify the target\n"; +print "LIBTARGET = ta_abstract\n"; +print "cmd:TARGET = ta_abstract_cmd\n"; +print "cmr:TARGET = ta_abstract_cmr\n"; +print "cmp:TARGET = ta_abstract_cmp\n"; +print "csd:TARGET = ta_abstract_csd\n"; +print "csr:TARGET = ta_abstract_csr\n"; +print "csp:TARGET = ta_abstract_csp\n"; +print "cdr:TARGET = ta_abstract_cdr\n"; +print "cdd:TARGET = ta_abstract_cdd\n"; +print "\n"; +print "# Output info\n"; +print "DESTDIR = ../../../../../lib\n"; +print "\n"; +print "# Files to process\n"; +print "SOURCES = ../../../../../src/ta_abstract/ta_abstract.c \\ \n"; +print " ../../../../../src/ta_abstract/ta_def_ui.c \\ \n"; +print " ../../../../../src/ta_abstract/ta_func_api.c \\ \n"; +print " ../../../../../src/ta_abstract/ta_group_idx.c \\ \n"; +print " ../../../../../src/ta_abstract/frames/ta_frame.c \\ \n"; +print " ../../../../../src/ta_abstract/tables/table_a.c \\ \n"; +print " ../../../../../src/ta_abstract/tables/table_b.c \\ \n"; +print " ../../../../../src/ta_abstract/tables/table_c.c \\ \n"; +print " ../../../../../src/ta_abstract/tables/table_d.c \\ \n"; +print " ../../../../../src/ta_abstract/tables/table_e.c \\ \n"; +print " ../../../../../src/ta_abstract/tables/table_f.c \\ \n"; +print " ../../../../../src/ta_abstract/tables/table_g.c \\ \n"; +print " ../../../../../src/ta_abstract/tables/table_h.c \\ \n"; +print " ../../../../../src/ta_abstract/tables/table_i.c \\ \n"; +print " ../../../../../src/ta_abstract/tables/table_j.c \\ \n"; +print " ../../../../../src/ta_abstract/tables/table_k.c \\ \n"; +print " ../../../../../src/ta_abstract/tables/table_l.c \\ \n"; +print " ../../../../../src/ta_abstract/tables/table_m.c \\ \n"; +print " ../../../../../src/ta_abstract/tables/table_n.c \\ \n"; +print " ../../../../../src/ta_abstract/tables/table_o.c \\ \n"; +print " ../../../../../src/ta_abstract/tables/table_p.c \\ \n"; +print " ../../../../../src/ta_abstract/tables/table_q.c \\ \n"; +print " ../../../../../src/ta_abstract/tables/table_r.c \\ \n"; +print " ../../../../../src/ta_abstract/tables/table_s.c \\ \n"; +print " ../../../../../src/ta_abstract/tables/table_t.c \\ \n"; +print " ../../../../../src/ta_abstract/tables/table_u.c \\ \n"; +print " ../../../../../src/ta_abstract/tables/table_v.c \\ \n"; +print " ../../../../../src/ta_abstract/tables/table_w.c \\ \n"; +print " ../../../../../src/ta_abstract/tables/table_x.c \\ \n"; +print " ../../../../../src/ta_abstract/tables/table_y.c \\ \n"; +print " ../../../../../src/ta_abstract/tables/table_z.c"; + +# Generate the list of functions. + +print " \n"; + +print "# Compiler Options\n"; +print "INCLUDEPATH = ../../../../../src/ta_common \\ \n"; +print " ../../../../../src/ta_abstract \\ \n"; +print " ../../../../../src/ta_abstract/tables \\ \n"; +print " ../../../../../src/ta_abstract/frames \\ \n"; +print " ../../../../../include\n"; +print "\n"; +print "# debug/release dependent options.\n"; +print "debug:DEFINES *= TA_DEBUG\n"; +print "debug:DEFINES *= _DEBUG\n"; +print "DEFINES += TA_SINGLE_THREAD\n"; +print "thread:DEFINES -= TA_SINGLE_THREAD\n"; +print "\n"; +print "# Platform dependent options.\n"; +print "win32:DEFINES *= WIN32\n"; +print "win32-msvc:DEFINES *= _MBCS _LIB\n"; +print "freebsd-g++:LIBS -= -ldl\n"; +print "freebsd-g++:INCLUDEPATH += /usr/local/include\n"; +print "\n"; +print "cmd:TEMP_CLEAN_ALL = ../../../../../temp/cmd/*.pch\n"; +print "cmr:TEMP_CLEAN_ALL = ../../../../../temp/cmr/*.pch\n"; +print "cmp:TEMP_CLEAN_ALL = ../../../../../temp/cmp/*.pch\n"; +print "csd:TEMP_CLEAN_ALL = ../../../../../temp/csd/*.pch\n"; +print "csr:TEMP_CLEAN_ALL = ../../../../../temp/csr/*.pch\n"; +print "csp:TEMP_CLEAN_ALL = ../../../../../temp/csp/*.pch\n"; +print "cdr:TEMP_CLEAN_ALL = ../../../../../temp/cdr/*.pch\n"; +print "cdd:TEMP_CLEAN_ALL = ../../../../../temp/cdd/*.pch\n"; +print "\n"; +print "cmd:TEMP_CLEAN_ALL2 = ../../../../../temp/cmd/*.idb\n"; +print "cmr:TEMP_CLEAN_ALL2 = ../../../../../temp/cmr/*.idb\n"; +print "cmp:TEMP_CLEAN_ALL2 = ../../../../../temp/cmp/*.idb\n"; +print "csd:TEMP_CLEAN_ALL2 = ../../../../../temp/csd/*.idb\n"; +print "csr:TEMP_CLEAN_ALL2 = ../../../../../temp/csr/*.idb\n"; +print "csp:TEMP_CLEAN_ALL2 = ../../../../../temp/csp/*.idb\n"; +print "cdr:TEMP_CLEAN_ALL2 = ../../../../../temp/cdr/*.idb\n"; +print "cdd:TEMP_CLEAN_ALL2 = ../../../../../temp/cdd/*.idb\n"; +print "\n"; +print "cmd:TEMP_CLEAN_ALL3 = ../../../../../temp/cmd/\$\$LIBTARGET/*.pch\n"; +print "cmr:TEMP_CLEAN_ALL3 = ../../../../../temp/cmr/\$\$LIBTARGET/*.pch\n"; +print "cmp:TEMP_CLEAN_ALL3 = ../../../../../temp/cmp/\$\$LIBTARGET/*.pch\n"; +print "csd:TEMP_CLEAN_ALL3 = ../../../../../temp/csd/\$\$LIBTARGET/*.pch\n"; +print "csr:TEMP_CLEAN_ALL3 = ../../../../../temp/csr/\$\$LIBTARGET/*.pch\n"; +print "csp:TEMP_CLEAN_ALL3 = ../../../../../temp/csp/\$\$LIBTARGET/*.pch\n"; +print "cdr:TEMP_CLEAN_ALL3 = ../../../../../temp/cdr/\$\$LIBTARGET/*.pch\n"; +print "cdd:TEMP_CLEAN_ALL3 = ../../../../../temp/cdd/\$\$LIBTARGET/*.pch\n"; +print "\n"; +print "cmd:TEMP_CLEAN_ALL4 = ../../../../../temp/cmd/\$\$LIBTARGET/*.idb\n"; +print "cmr:TEMP_CLEAN_ALL4 = ../../../../../temp/cmr/\$\$LIBTARGET/*.idb\n"; +print "cmp:TEMP_CLEAN_ALL4 = ../../../../../temp/cmp/\$\$LIBTARGET/*.idb\n"; +print "csd:TEMP_CLEAN_ALL4 = ../../../../../temp/csd/\$\$LIBTARGET/*.idb\n"; +print "csr:TEMP_CLEAN_ALL4 = ../../../../../temp/csr/\$\$LIBTARGET/*.idb\n"; +print "csp:TEMP_CLEAN_ALL4 = ../../../../../temp/csp/\$\$LIBTARGET/*.idb\n"; +print "cdr:TEMP_CLEAN_ALL4 = ../../../../../temp/cdr/\$\$LIBTARGET/*.idb\n"; +print "cdd:TEMP_CLEAN_ALL4 = ../../../../../temp/cdd/\$\$LIBTARGET/*.idb\n"; +print "\n"; +print "cmd:TEMP_CLEAN_ALL5 = ../../../../../temp/cmd/\$\$LIBTARGET/*.obj\n"; +print "cmr:TEMP_CLEAN_ALL5 = ../../../../../temp/cmr/\$\$LIBTARGET/*.obj\n"; +print "cmp:TEMP_CLEAN_ALL5 = ../../../../../temp/cmp/\$\$LIBTARGET/*.obj\n"; +print "csd:TEMP_CLEAN_ALL5 = ../../../../../temp/csd/\$\$LIBTARGET/*.obj\n"; +print "csr:TEMP_CLEAN_ALL5 = ../../../../../temp/csr/\$\$LIBTARGET/*.obj\n"; +print "csp:TEMP_CLEAN_ALL5 = ../../../../../temp/csp/\$\$LIBTARGET/*.obj\n"; +print "cdr:TEMP_CLEAN_ALL5 = ../../../../../temp/cdr/\$\$LIBTARGET/*.obj\n"; +print "cdd:TEMP_CLEAN_ALL5 = ../../../../../temp/cdd/\$\$LIBTARGET/*.obj\n"; +print "\n"; +print "win32:CLEAN_FILES = ../../../../../bin/*.map ../../../../../bin/*._xe ../../../../../bin/*.tds ../../../../../bin/*.pdb ../../../../../bin/*.pbo ../../../../../bin/*.pbi ../../../../../bin/*.pbt \$\$TEMP_CLEAN_ALL \$\$TEMP_CLEAN_ALL2 \$\$TEMP_CLEAN_ALL3 \$\$TEMP_CLEAN_ALL4 \$\$TEMP_CLEAN_ALL5\n"; + diff --git a/vendor/ta-lib/make/gen_make/ta_abstract/ta_abstract.pro b/vendor/ta-lib/make/gen_make/ta_abstract/ta_abstract.pro new file mode 100644 index 000000000..260c0f007 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/ta_abstract/ta_abstract.pro @@ -0,0 +1,128 @@ +# Do not modify this file. It is automatically +# generated by make_pro.pl + +TEMPLATE = lib +CONFIG -= qt +CONFIG += staticlib + +# Identify the temp dir +cmd:OBJECTS_DIR = ../../../../../temp/cmd +cmr:OBJECTS_DIR = ../../../../../temp/cmr +cmp:OBJECTS_DIR = ../../../../../temp/cmp +csd:OBJECTS_DIR = ../../../../../temp/csd +csr:OBJECTS_DIR = ../../../../../temp/csr +csp:OBJECTS_DIR = ../../../../../temp/csp +cdr:OBJECTS_DIR = ../../../../../temp/cdr +cdd:OBJECTS_DIR = ../../../../../temp/cdd + +# Identify the target +LIBTARGET = ta_abstract +cmd:TARGET = ta_abstract_cmd +cmr:TARGET = ta_abstract_cmr +cmp:TARGET = ta_abstract_cmp +csd:TARGET = ta_abstract_csd +csr:TARGET = ta_abstract_csr +csp:TARGET = ta_abstract_csp +cdr:TARGET = ta_abstract_cdr +cdd:TARGET = ta_abstract_cdd + +# Output info +DESTDIR = ../../../../../lib + +# Files to process +SOURCES = ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c +# Compiler Options +INCLUDEPATH = ../../../../../src/ta_common \ + ../../../../../src/ta_abstract \ + ../../../../../src/ta_abstract/tables \ + ../../../../../src/ta_abstract/frames \ + ../../../../../include + +# debug/release dependent options. +debug:DEFINES *= TA_DEBUG +debug:DEFINES *= _DEBUG +DEFINES += TA_SINGLE_THREAD +thread:DEFINES -= TA_SINGLE_THREAD + +# Platform dependent options. +win32:DEFINES *= WIN32 +win32-msvc:DEFINES *= _MBCS _LIB +freebsd-g++:LIBS -= -ldl +freebsd-g++:INCLUDEPATH += /usr/local/include + +cmd:TEMP_CLEAN_ALL = ../../../../../temp/cmd/*.pch +cmr:TEMP_CLEAN_ALL = ../../../../../temp/cmr/*.pch +cmp:TEMP_CLEAN_ALL = ../../../../../temp/cmp/*.pch +csd:TEMP_CLEAN_ALL = ../../../../../temp/csd/*.pch +csr:TEMP_CLEAN_ALL = ../../../../../temp/csr/*.pch +csp:TEMP_CLEAN_ALL = ../../../../../temp/csp/*.pch +cdr:TEMP_CLEAN_ALL = ../../../../../temp/cdr/*.pch +cdd:TEMP_CLEAN_ALL = ../../../../../temp/cdd/*.pch + +cmd:TEMP_CLEAN_ALL2 = ../../../../../temp/cmd/*.idb +cmr:TEMP_CLEAN_ALL2 = ../../../../../temp/cmr/*.idb +cmp:TEMP_CLEAN_ALL2 = ../../../../../temp/cmp/*.idb +csd:TEMP_CLEAN_ALL2 = ../../../../../temp/csd/*.idb +csr:TEMP_CLEAN_ALL2 = ../../../../../temp/csr/*.idb +csp:TEMP_CLEAN_ALL2 = ../../../../../temp/csp/*.idb +cdr:TEMP_CLEAN_ALL2 = ../../../../../temp/cdr/*.idb +cdd:TEMP_CLEAN_ALL2 = ../../../../../temp/cdd/*.idb + +cmd:TEMP_CLEAN_ALL3 = ../../../../../temp/cmd/$$LIBTARGET/*.pch +cmr:TEMP_CLEAN_ALL3 = ../../../../../temp/cmr/$$LIBTARGET/*.pch +cmp:TEMP_CLEAN_ALL3 = ../../../../../temp/cmp/$$LIBTARGET/*.pch +csd:TEMP_CLEAN_ALL3 = ../../../../../temp/csd/$$LIBTARGET/*.pch +csr:TEMP_CLEAN_ALL3 = ../../../../../temp/csr/$$LIBTARGET/*.pch +csp:TEMP_CLEAN_ALL3 = ../../../../../temp/csp/$$LIBTARGET/*.pch +cdr:TEMP_CLEAN_ALL3 = ../../../../../temp/cdr/$$LIBTARGET/*.pch +cdd:TEMP_CLEAN_ALL3 = ../../../../../temp/cdd/$$LIBTARGET/*.pch + +cmd:TEMP_CLEAN_ALL4 = ../../../../../temp/cmd/$$LIBTARGET/*.idb +cmr:TEMP_CLEAN_ALL4 = ../../../../../temp/cmr/$$LIBTARGET/*.idb +cmp:TEMP_CLEAN_ALL4 = ../../../../../temp/cmp/$$LIBTARGET/*.idb +csd:TEMP_CLEAN_ALL4 = ../../../../../temp/csd/$$LIBTARGET/*.idb +csr:TEMP_CLEAN_ALL4 = ../../../../../temp/csr/$$LIBTARGET/*.idb +csp:TEMP_CLEAN_ALL4 = ../../../../../temp/csp/$$LIBTARGET/*.idb +cdr:TEMP_CLEAN_ALL4 = ../../../../../temp/cdr/$$LIBTARGET/*.idb +cdd:TEMP_CLEAN_ALL4 = ../../../../../temp/cdd/$$LIBTARGET/*.idb + +cmd:TEMP_CLEAN_ALL5 = ../../../../../temp/cmd/$$LIBTARGET/*.obj +cmr:TEMP_CLEAN_ALL5 = ../../../../../temp/cmr/$$LIBTARGET/*.obj +cmp:TEMP_CLEAN_ALL5 = ../../../../../temp/cmp/$$LIBTARGET/*.obj +csd:TEMP_CLEAN_ALL5 = ../../../../../temp/csd/$$LIBTARGET/*.obj +csr:TEMP_CLEAN_ALL5 = ../../../../../temp/csr/$$LIBTARGET/*.obj +csp:TEMP_CLEAN_ALL5 = ../../../../../temp/csp/$$LIBTARGET/*.obj +cdr:TEMP_CLEAN_ALL5 = ../../../../../temp/cdr/$$LIBTARGET/*.obj +cdd:TEMP_CLEAN_ALL5 = ../../../../../temp/cdd/$$LIBTARGET/*.obj + +win32:CLEAN_FILES = ../../../../../bin/*.map ../../../../../bin/*._xe ../../../../../bin/*.tds ../../../../../bin/*.pdb ../../../../../bin/*.pbo ../../../../../bin/*.pbi ../../../../../bin/*.pbt $$TEMP_CLEAN_ALL $$TEMP_CLEAN_ALL2 $$TEMP_CLEAN_ALL3 $$TEMP_CLEAN_ALL4 $$TEMP_CLEAN_ALL5 diff --git a/vendor/ta-lib/make/gen_make/ta_common/ta_common.pro b/vendor/ta-lib/make/gen_make/ta_common/ta_common.pro new file mode 100644 index 000000000..1f57582be --- /dev/null +++ b/vendor/ta-lib/make/gen_make/ta_common/ta_common.pro @@ -0,0 +1,96 @@ +TEMPLATE = lib +CONFIG -= qt +CONFIG += staticlib + +# Identify the temp dir +cmd:OBJECTS_DIR = ../../../../../temp/cmd +cmr:OBJECTS_DIR = ../../../../../temp/cmr +cmp:OBJECTS_DIR = ../../../../../temp/cmp +csd:OBJECTS_DIR = ../../../../../temp/csd +csr:OBJECTS_DIR = ../../../../../temp/csr +csp:OBJECTS_DIR = ../../../../../temp/csp +cdr:OBJECTS_DIR = ../../../../../temp/cdr +cdd:OBJECTS_DIR = ../../../../../temp/cdd + +# Identify the target name +LIBTARGET = ta_common +cmd:TARGET = ta_common_cmd +cmr:TARGET = ta_common_cmr +cmp:TARGET = ta_common_cmp +csd:TARGET = ta_common_csd +csr:TARGET = ta_common_csr +csp:TARGET = ta_common_csp +cdr:TARGET = ta_common_cdr +cdd:TARGET = ta_common_cdd + +# Output info +DESTDIR = ../../../../../lib + +# Files to process +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c + + +# Compiler Options +INCLUDEPATH = ../../../../../src/ta_common \ + ../../../../../include + +# debug/release dependent options. +debug:DEFINES *= TA_DEBUG +debug:DEFINES *= _DEBUG +DEFINES += TA_SINGLE_THREAD +thread:DEFINES -= TA_SINGLE_THREAD + +# Platform dependent options. +win32:DEFINES *= WIN32 +win32-msvc:DEFINES *= _MBCS _LIB +freebsd-g++:LIBS -= -ldl +freebsd-g++:INCLUDEPATH += /usr/local/include + +cmd:TEMP_CLEAN_ALL = ../../../../../temp/cmd/*.pch +cmr:TEMP_CLEAN_ALL = ../../../../../temp/cmr/*.pch +cmp:TEMP_CLEAN_ALL = ../../../../../temp/cmp/*.pch +csd:TEMP_CLEAN_ALL = ../../../../../temp/csd/*.pch +csr:TEMP_CLEAN_ALL = ../../../../../temp/csr/*.pch +csp:TEMP_CLEAN_ALL = ../../../../../temp/csp/*.pch +cdr:TEMP_CLEAN_ALL = ../../../../../temp/cdr/*.pch +cdd:TEMP_CLEAN_ALL = ../../../../../temp/cdd/*.pch + +cmd:TEMP_CLEAN_ALL2 = ../../../../../temp/cmd/*.idb +cmr:TEMP_CLEAN_ALL2 = ../../../../../temp/cmr/*.idb +cmp:TEMP_CLEAN_ALL2 = ../../../../../temp/cmp/*.idb +csd:TEMP_CLEAN_ALL2 = ../../../../../temp/csd/*.idb +csr:TEMP_CLEAN_ALL2 = ../../../../../temp/csr/*.idb +csp:TEMP_CLEAN_ALL2 = ../../../../../temp/csp/*.idb +cdr:TEMP_CLEAN_ALL2 = ../../../../../temp/cdr/*.idb +cdd:TEMP_CLEAN_ALL2 = ../../../../../temp/cdd/*.idb + +cmd:TEMP_CLEAN_ALL3 = ../../../../../temp/cmd/$$TARGET/*.pch +cmr:TEMP_CLEAN_ALL3 = ../../../../../temp/cmr/$$TARGET/*.pch +cmp:TEMP_CLEAN_ALL3 = ../../../../../temp/cmp/$$TARGET/*.pch +csd:TEMP_CLEAN_ALL3 = ../../../../../temp/csd/$$TARGET/*.pch +csr:TEMP_CLEAN_ALL3 = ../../../../../temp/csr/$$TARGET/*.pch +csp:TEMP_CLEAN_ALL3 = ../../../../../temp/csp/$$TARGET/*.pch +cdr:TEMP_CLEAN_ALL3 = ../../../../../temp/cdr/$$TARGET/*.pch +cdd:TEMP_CLEAN_ALL3 = ../../../../../temp/cdd/$$TARGET/*.pch + +cmd:TEMP_CLEAN_ALL4 = ../../../../../temp/cmd/$$TARGET/*.idb +cmr:TEMP_CLEAN_ALL4 = ../../../../../temp/cmr/$$TARGET/*.idb +cmp:TEMP_CLEAN_ALL4 = ../../../../../temp/cmp/$$TARGET/*.idb +csd:TEMP_CLEAN_ALL4 = ../../../../../temp/csd/$$TARGET/*.idb +csr:TEMP_CLEAN_ALL4 = ../../../../../temp/csr/$$TARGET/*.idb +csp:TEMP_CLEAN_ALL4 = ../../../../../temp/csp/$$TARGET/*.idb +cdr:TEMP_CLEAN_ALL4 = ../../../../../temp/cdr/$$TARGET/*.idb +cdd:TEMP_CLEAN_ALL4 = ../../../../../temp/cdd/$$TARGET/*.idb + +cmd:TEMP_CLEAN_ALL5 = ../../../../../temp/cmd/$$TARGET/*.obj +cmr:TEMP_CLEAN_ALL5 = ../../../../../temp/cmr/$$TARGET/*.obj +cmp:TEMP_CLEAN_ALL5 = ../../../../../temp/cmp/$$TARGET/*.obj +csd:TEMP_CLEAN_ALL5 = ../../../../../temp/csd/$$TARGET/*.obj +csr:TEMP_CLEAN_ALL5 = ../../../../../temp/csr/$$TARGET/*.obj +csp:TEMP_CLEAN_ALL5 = ../../../../../temp/csp/$$TARGET/*.obj +cdr:TEMP_CLEAN_ALL5 = ../../../../../temp/cdr/$$TARGET/*.obj +cdd:TEMP_CLEAN_ALL5 = ../../../../../temp/cdd/$$TARGET/*.obj + +win32:CLEAN_FILES = ../../../../../bin/*.map ../../../../../bin/*._xe ../../../../../bin/*.tds ../../../../../bin/*.pdb ../../../../../bin/*.pbo ../../../../../bin/*.pbi ../../../../../bin/*.pbt $$TEMP_CLEAN_ALL $$TEMP_CLEAN_ALL2 $$TEMP_CLEAN_ALL3 $$TEMP_CLEAN_ALL4 $$TEMP_CLEAN_ALL5 diff --git a/vendor/ta-lib/make/gen_make/ta_func/make_pro.pl b/vendor/ta-lib/make/gen_make/ta_func/make_pro.pl new file mode 100644 index 000000000..4ec5375d0 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/ta_func/make_pro.pl @@ -0,0 +1,123 @@ +#! /usr/bin/perl + +# This file generates the "ta_func.pro" using the information +# provided by the "ta_func_list.txt" +# +# Reminder: ta_func.pro is then process by tmake for +# generating the multi-platform makefiles. +# +# The output simply goes to stdout. + +print "# Do not modify this file. It is automatically\n"; +print "# generated by make_pro.pl\n"; +print "\n"; + +print "TEMPLATE = lib\n"; +print "CONFIG -= qt\n"; +print "CONFIG += staticlib\n"; +print "\n"; +print "# Identify the temp dir\n"; +print "cmd:OBJECTS_DIR = ../../../../../temp/cmd\n"; +print "cmr:OBJECTS_DIR = ../../../../../temp/cmr\n"; +print "cmp:OBJECTS_DIR = ../../../../../temp/cmp\n"; +print "csd:OBJECTS_DIR = ../../../../../temp/csd\n"; +print "csr:OBJECTS_DIR = ../../../../../temp/csr\n"; +print "csp:OBJECTS_DIR = ../../../../../temp/csp\n"; +print "cdr:OBJECTS_DIR = ../../../../../temp/cdr\n"; +print "cdd:OBJECTS_DIR = ../../../../../temp/cdd\n"; +print "\n"; +print "# Identify the target\n"; +print "LIBTARGET = ta_func\n"; +print "cmd:TARGET = ta_func_cmd\n"; +print "cmr:TARGET = ta_func_cmr\n"; +print "cmp:TARGET = ta_func_cmp\n"; +print "csd:TARGET = ta_func_csd\n"; +print "csr:TARGET = ta_func_csr\n"; +print "csp:TARGET = ta_func_csp\n"; +print "cdr:TARGET = ta_func_cdr\n"; +print "cdd:TARGET = ta_func_cdd\n"; +print "\n"; +print "# Output info\n"; +print "DESTDIR = ../../../../../lib\n"; +print "\n"; +print "# Files to process\n"; +print "SOURCES = ../../../../../src/ta_func/ta_utility.c"; + +# Generate the list of functions. +open FUNCLIST_TXT, "<../../../../ta_func_list.txt" or die "Can't open ta_func_list.txt: $!"; +@funclist = ; +foreach $z (@funclist) { + if( length($z) > 2 ) + { + @words = split( / /, $z ); + print " \\ \n"; + print " ../../../../../src/ta_func/ta_",$words[0],".c"; + } +} +print " \n"; + +print "\n"; +print "# Compiler Options\n"; +print "INCLUDEPATH = ../../../../../src/ta_common \\n"; +print " ../../../../../include \n"; +print "\n"; +print "# debug/release dependent options.\n"; +print "debug:DEFINES *= TA_DEBUG\n"; +print "debug:DEFINES *= _DEBUG\n"; +print "DEFINES += TA_SINGLE_THREAD\n"; +print "thread:DEFINES -= TA_SINGLE_THREAD\n"; +print "\n"; +print "\n"; +print "# Platform dependent options.\n"; +print "win32:DEFINES *= WIN32\n"; +print "win32-msvc:DEFINES *= _MBCS _LIB\n"; +print "freebsd-g++:LIBS -= -ldl\n"; +print "freebsd-g++:INCLUDEPATH += /usr/local/include\n"; +print "\n"; +print "cmd:TEMP_CLEAN_ALL = ../../../../../temp/cmd/*.pch\n"; +print "cmr:TEMP_CLEAN_ALL = ../../../../../temp/cmr/*.pch\n"; +print "cmp:TEMP_CLEAN_ALL = ../../../../../temp/cmp/*.pch\n"; +print "csd:TEMP_CLEAN_ALL = ../../../../../temp/csd/*.pch\n"; +print "csr:TEMP_CLEAN_ALL = ../../../../../temp/csr/*.pch\n"; +print "csp:TEMP_CLEAN_ALL = ../../../../../temp/csp/*.pch\n"; +print "cdr:TEMP_CLEAN_ALL = ../../../../../temp/cdr/*.pch\n"; +print "cdd:TEMP_CLEAN_ALL = ../../../../../temp/cdd/*.pch\n"; +print "\n"; +print "cmd:TEMP_CLEAN_ALL2 = ../../../../../temp/cmd/*.idb\n"; +print "cmr:TEMP_CLEAN_ALL2 = ../../../../../temp/cmr/*.idb\n"; +print "cmp:TEMP_CLEAN_ALL2 = ../../../../../temp/cmp/*.idb\n"; +print "csd:TEMP_CLEAN_ALL2 = ../../../../../temp/csd/*.idb\n"; +print "csr:TEMP_CLEAN_ALL2 = ../../../../../temp/csr/*.idb\n"; +print "csp:TEMP_CLEAN_ALL2 = ../../../../../temp/csp/*.idb\n"; +print "cdr:TEMP_CLEAN_ALL2 = ../../../../../temp/cdr/*.idb\n"; +print "cdd:TEMP_CLEAN_ALL2 = ../../../../../temp/cdd/*.idb\n"; +print "\n"; +print "cmd:TEMP_CLEAN_ALL3 = ../../../../../temp/cmd/\$\$LIBTARGET/*.pch\n"; +print "cmr:TEMP_CLEAN_ALL3 = ../../../../../temp/cmr/\$\$LIBTARGET/*.pch\n"; +print "cmp:TEMP_CLEAN_ALL3 = ../../../../../temp/cmp/\$\$LIBTARGET/*.pch\n"; +print "csd:TEMP_CLEAN_ALL3 = ../../../../../temp/csd/\$\$LIBTARGET/*.pch\n"; +print "csr:TEMP_CLEAN_ALL3 = ../../../../../temp/csr/\$\$LIBTARGET/*.pch\n"; +print "csp:TEMP_CLEAN_ALL3 = ../../../../../temp/csp/\$\$LIBTARGET/*.pch\n"; +print "cdr:TEMP_CLEAN_ALL3 = ../../../../../temp/cdr/\$\$LIBTARGET/*.pch\n"; +print "cdd:TEMP_CLEAN_ALL3 = ../../../../../temp/cdd/\$\$LIBTARGET/*.pch\n"; +print "\n"; +print "cmd:TEMP_CLEAN_ALL4 = ../../../../../temp/cmd/\$\$LIBTARGET/*.idb\n"; +print "cmr:TEMP_CLEAN_ALL4 = ../../../../../temp/cmr/\$\$LIBTARGET/*.idb\n"; +print "cmp:TEMP_CLEAN_ALL4 = ../../../../../temp/cmp/\$\$LIBTARGET/*.idb\n"; +print "csd:TEMP_CLEAN_ALL4 = ../../../../../temp/csd/\$\$LIBTARGET/*.idb\n"; +print "csr:TEMP_CLEAN_ALL4 = ../../../../../temp/csr/\$\$LIBTARGET/*.idb\n"; +print "csp:TEMP_CLEAN_ALL4 = ../../../../../temp/csp/\$\$LIBTARGET/*.idb\n"; +print "cdr:TEMP_CLEAN_ALL4 = ../../../../../temp/cdr/\$\$LIBTARGET/*.idb\n"; +print "cdd:TEMP_CLEAN_ALL4 = ../../../../../temp/cdd/\$\$LIBTARGET/*.idb\n"; +print "\n"; +print "cmd:TEMP_CLEAN_ALL5 = ../../../../../temp/cmd/\$\$LIBTARGET/*.obj\n"; +print "cmr:TEMP_CLEAN_ALL5 = ../../../../../temp/cmr/\$\$LIBTARGET/*.obj\n"; +print "cmp:TEMP_CLEAN_ALL5 = ../../../../../temp/cmp/\$\$LIBTARGET/*.obj\n"; +print "csd:TEMP_CLEAN_ALL5 = ../../../../../temp/csd/\$\$LIBTARGET/*.obj\n"; +print "csr:TEMP_CLEAN_ALL5 = ../../../../../temp/csr/\$\$LIBTARGET/*.obj\n"; +print "csp:TEMP_CLEAN_ALL5 = ../../../../../temp/csp/\$\$LIBTARGET/*.obj\n"; +print "cdr:TEMP_CLEAN_ALL5 = ../../../../../temp/cdr/\$\$LIBTARGET/*.obj\n"; +print "cdd:TEMP_CLEAN_ALL5 = ../../../../../temp/cdd/\$\$LIBTARGET/*.obj\n"; +print "\n"; +print "win32:CLEAN_FILES = ../../../../../bin/*.map ../../../../../bin/*._xe ../../../../../bin/*.tds ../../../../../bin/*.pdb ../../../../../bin/*.pbo ../../../../../bin/*.pbi ../../../../../bin/*.pbt \$\$TEMP_CLEAN_ALL \$\$TEMP_CLEAN_ALL2 \$\$TEMP_CLEAN_ALL3 \$\$TEMP_CLEAN_ALL4 \$\$TEMP_CLEAN_ALL5\n"; + diff --git a/vendor/ta-lib/make/gen_make/ta_func/ta_func.pro b/vendor/ta-lib/make/gen_make/ta_func/ta_func.pro new file mode 100644 index 000000000..4080f43a5 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/ta_func/ta_func.pro @@ -0,0 +1,254 @@ +# Do not modify this file. It is automatically +# generated by make_pro.pl + +TEMPLATE = lib +CONFIG -= qt +CONFIG += staticlib + +# Identify the temp dir +cmd:OBJECTS_DIR = ../../../../../temp/cmd +cmr:OBJECTS_DIR = ../../../../../temp/cmr +cmp:OBJECTS_DIR = ../../../../../temp/cmp +csd:OBJECTS_DIR = ../../../../../temp/csd +csr:OBJECTS_DIR = ../../../../../temp/csr +csp:OBJECTS_DIR = ../../../../../temp/csp +cdr:OBJECTS_DIR = ../../../../../temp/cdr +cdd:OBJECTS_DIR = ../../../../../temp/cdd + +# Identify the target +LIBTARGET = ta_func +cmd:TARGET = ta_func_cmd +cmr:TARGET = ta_func_cmr +cmp:TARGET = ta_func_cmp +csd:TARGET = ta_func_csd +csr:TARGET = ta_func_csr +csp:TARGET = ta_func_csp +cdr:TARGET = ta_func_cdr +cdd:TARGET = ta_func_cdd + +# Output info +DESTDIR = ../../../../../lib + +# Files to process +SOURCES = ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c + +# Compiler Options +INCLUDEPATH = ../../../../../src/ta_common \n ../../../../../include + +# debug/release dependent options. +debug:DEFINES *= TA_DEBUG +debug:DEFINES *= _DEBUG +DEFINES += TA_SINGLE_THREAD +thread:DEFINES -= TA_SINGLE_THREAD + + +# Platform dependent options. +win32:DEFINES *= WIN32 +win32-msvc:DEFINES *= _MBCS _LIB +freebsd-g++:LIBS -= -ldl +freebsd-g++:INCLUDEPATH += /usr/local/include + +cmd:TEMP_CLEAN_ALL = ../../../../../temp/cmd/*.pch +cmr:TEMP_CLEAN_ALL = ../../../../../temp/cmr/*.pch +cmp:TEMP_CLEAN_ALL = ../../../../../temp/cmp/*.pch +csd:TEMP_CLEAN_ALL = ../../../../../temp/csd/*.pch +csr:TEMP_CLEAN_ALL = ../../../../../temp/csr/*.pch +csp:TEMP_CLEAN_ALL = ../../../../../temp/csp/*.pch +cdr:TEMP_CLEAN_ALL = ../../../../../temp/cdr/*.pch +cdd:TEMP_CLEAN_ALL = ../../../../../temp/cdd/*.pch + +cmd:TEMP_CLEAN_ALL2 = ../../../../../temp/cmd/*.idb +cmr:TEMP_CLEAN_ALL2 = ../../../../../temp/cmr/*.idb +cmp:TEMP_CLEAN_ALL2 = ../../../../../temp/cmp/*.idb +csd:TEMP_CLEAN_ALL2 = ../../../../../temp/csd/*.idb +csr:TEMP_CLEAN_ALL2 = ../../../../../temp/csr/*.idb +csp:TEMP_CLEAN_ALL2 = ../../../../../temp/csp/*.idb +cdr:TEMP_CLEAN_ALL2 = ../../../../../temp/cdr/*.idb +cdd:TEMP_CLEAN_ALL2 = ../../../../../temp/cdd/*.idb + +cmd:TEMP_CLEAN_ALL3 = ../../../../../temp/cmd/$$LIBTARGET/*.pch +cmr:TEMP_CLEAN_ALL3 = ../../../../../temp/cmr/$$LIBTARGET/*.pch +cmp:TEMP_CLEAN_ALL3 = ../../../../../temp/cmp/$$LIBTARGET/*.pch +csd:TEMP_CLEAN_ALL3 = ../../../../../temp/csd/$$LIBTARGET/*.pch +csr:TEMP_CLEAN_ALL3 = ../../../../../temp/csr/$$LIBTARGET/*.pch +csp:TEMP_CLEAN_ALL3 = ../../../../../temp/csp/$$LIBTARGET/*.pch +cdr:TEMP_CLEAN_ALL3 = ../../../../../temp/cdr/$$LIBTARGET/*.pch +cdd:TEMP_CLEAN_ALL3 = ../../../../../temp/cdd/$$LIBTARGET/*.pch + +cmd:TEMP_CLEAN_ALL4 = ../../../../../temp/cmd/$$LIBTARGET/*.idb +cmr:TEMP_CLEAN_ALL4 = ../../../../../temp/cmr/$$LIBTARGET/*.idb +cmp:TEMP_CLEAN_ALL4 = ../../../../../temp/cmp/$$LIBTARGET/*.idb +csd:TEMP_CLEAN_ALL4 = ../../../../../temp/csd/$$LIBTARGET/*.idb +csr:TEMP_CLEAN_ALL4 = ../../../../../temp/csr/$$LIBTARGET/*.idb +csp:TEMP_CLEAN_ALL4 = ../../../../../temp/csp/$$LIBTARGET/*.idb +cdr:TEMP_CLEAN_ALL4 = ../../../../../temp/cdr/$$LIBTARGET/*.idb +cdd:TEMP_CLEAN_ALL4 = ../../../../../temp/cdd/$$LIBTARGET/*.idb + +cmd:TEMP_CLEAN_ALL5 = ../../../../../temp/cmd/$$LIBTARGET/*.obj +cmr:TEMP_CLEAN_ALL5 = ../../../../../temp/cmr/$$LIBTARGET/*.obj +cmp:TEMP_CLEAN_ALL5 = ../../../../../temp/cmp/$$LIBTARGET/*.obj +csd:TEMP_CLEAN_ALL5 = ../../../../../temp/csd/$$LIBTARGET/*.obj +csr:TEMP_CLEAN_ALL5 = ../../../../../temp/csr/$$LIBTARGET/*.obj +csp:TEMP_CLEAN_ALL5 = ../../../../../temp/csp/$$LIBTARGET/*.obj +cdr:TEMP_CLEAN_ALL5 = ../../../../../temp/cdr/$$LIBTARGET/*.obj +cdd:TEMP_CLEAN_ALL5 = ../../../../../temp/cdd/$$LIBTARGET/*.obj + +win32:CLEAN_FILES = ../../../../../bin/*.map ../../../../../bin/*._xe ../../../../../bin/*.tds ../../../../../bin/*.pdb ../../../../../bin/*.pbo ../../../../../bin/*.pbi ../../../../../bin/*.pbt $$TEMP_CLEAN_ALL $$TEMP_CLEAN_ALL2 $$TEMP_CLEAN_ALL3 $$TEMP_CLEAN_ALL4 $$TEMP_CLEAN_ALL5 diff --git a/vendor/ta-lib/make/gen_make/ta_libc/make_pro.pl b/vendor/ta-lib/make/gen_make/ta_libc/make_pro.pl new file mode 100644 index 000000000..71e9e5c0f --- /dev/null +++ b/vendor/ta-lib/make/gen_make/ta_libc/make_pro.pl @@ -0,0 +1,177 @@ +#! /usr/bin/perl + +# This file generates the "ta_libc.pro" using the information +# from all the sub-library: +# ta_data, ta_abstract, ta_common, ta_func, ta_perf +# +# Reminder: ta_libc.pro is then process by tmake for +# generating the multi-platform makefiles. +# + +use Env; + +$origTMAKEPATH = $TMAKEPATH; + +# Un-comment the following lines if +# you wish to provide your own TMAKEPATH. +# use Env qw( TMAKEPATH ); + +$ENV{'TMAKEPATH'} = '../template/win32-msvc'; + +# Concatenate all the sources of all sub-library into '@source' +if( $^O eq "MSWin32" ) +{ + $b = `tmake ..\\ta_common\\ta_common.pro -e Expand("SOURCES")`; + $c = `tmake ..\\ta_abstract\\ta_abstract.pro -e Expand("SOURCES")`; + $d = `tmake ..\\ta_func\\ta_func.pro -e Expand("SOURCES")`; +} +else +{ + $b = `tmake ../ta_common/ta_common.pro -e "Expand("SOURCES")"`; + $c = `tmake ../ta_abstract/ta_abstract.pro -e "Expand("SOURCES")"`; + $d = `tmake ../ta_func/ta_func.pro -e "Expand("SOURCES")"`; +} + +chomp $b; +chomp $c; +chomp $d; + +@sources = (); +$nbsources = 0; +for $z (split / /, $b ) { @sources = (@sources, $z ); $nbSources += 1} +for $z (split / /, $c ) { @sources = (@sources, $z ); $nbSources += 1} +for $z (split / /, $d ) { @sources = (@sources, $z ); $nbSources += 1} + +# Concatenate all the include path of all sub-library into '@incpath' +if( $^O eq "MsWin32" ) +{ + $b = `tmake ..\\ta_common\\ta_common.pro -e Expand("INCLUDEPATH")`; + $c = `tmake ..\\ta_abstract\\ta_abstract.pro -e Expand("INCLUDEPATH")`; + $d = `tmake ..\\ta_func\\ta_func.pro -e Expand("INCLUDEPATH")`; +} +else +{ + $b = `tmake ../ta_common/ta_common.pro -e "Expand("INCLUDEPATH")"`; + $c = `tmake ../ta_abstract/ta_abstract.pro -e "Expand("INCLUDEPATH")"`; + $d = `tmake ../ta_func/ta_func.pro -e "Expand("INCLUDEPATH")"`; +} + +chomp $b; +chomp $c; +chomp $d; + +@incpath = (); +$nbincpath = 0; + +for $z (split / /, $b ) +{ + if( $z ne "\\n" ) { @incpath = (@incpath, $z ); $nbincpath += 1 } +} + +for $z (split / /, $c ) +{ + if( $z ne "\\n" ) { @incpath = (@incpath, $z ); $nbincpath += 1 } +} + +for $z (split / /, $d ) +{ + if( $z ne "\\n" ) { @incpath = (@incpath, $z ); $nbincpath += 1 } +} + +# Get the version from ta_common.pro +# +# Not used anymore. +# +# if( $^O eq "MsWin32" ) +# { +# $libversion = `tmake ..\\ta_common\\ta_common.pro -e Expand("VERSION")`; +# } +# else +# { +# $libversion = `tmake ../ta_common/ta_common.pro -e "Expand("VERSION")"`; +# } + +chomp( $libversion ); + +# Start to create the output from here + +# First the header +print "# Do not modify this file. It is automatically\n"; +print "# generated by make_pro.pl\n"; +print "\n"; +print "TEMPLATE = lib\n"; +print "CONFIG += staticlib\n"; +print( "\n" ); +print "# Identify the temp dir\n"; +print "cmd:OBJECTS_DIR = ../../../../../temp/cmd\n"; +print "cmr:OBJECTS_DIR = ../../../../../temp/cmr\n"; +print "cmp:OBJECTS_DIR = ../../../../../temp/cmp\n"; +print "csd:OBJECTS_DIR = ../../../../../temp/csd\n"; +print "csr:OBJECTS_DIR = ../../../../../temp/csr\n"; +print "csp:OBJECTS_DIR = ../../../../../temp/csp\n"; +print "cdr:OBJECTS_DIR = ../../../../../temp/cdr\n"; +print "cdd:OBJECTS_DIR = ../../../../../temp/cdd\n"; +print "\n"; +print "# Identify the target name\n"; +print "LIBTARGET = ta_libc\n"; +print "cmd:TARGET = ta_libc_cmd\n"; +print "cmr:TARGET = ta_libc_cmr\n"; +print "cmp:TARGET = ta_libc_cmp\n"; +print "csd:TARGET = ta_libc_csd\n"; +print "csr:TARGET = ta_libc_csr\n"; +print "csp:TARGET = ta_libc_csp\n"; +print "cdr:TARGET = ta_libc_cdr\n"; +print "cdd:TARGET = ta_libc_cdd\n"; +print "\n"; +print "\# Output info\n"; +print "DESTDIR = ../../../../../lib\n"; + +# Output the "SOURCES" variable. +print "\# File to process\n"; +$iter = 0; +$firstline = 1; +for $z (@sources) { + $iter += 1; + chomp($z); + + if( $firstline ) { + print "SOURCES = "; + $firstline = 0; + } + else { + print " "; + } + + if( $iter == $nbSources ) + { print $z; } + else + { print $z," \\", "\n"; } +} + +print "\n\# Compiler Options\n"; + +# Output the include path of all sub-library. +# We leave it to tmake to eliminate redundancy. +for $z (@incpath) +{ print "INCLUDEPATH *= $z\n"; } +print "\n"; + +# Output the rest of the .pro file + +print "\# debug/release dependent options.\n"; +print "debug:DEFINES *= TA_DEBUG\n"; +print "debug:DEFINES *= _DEBUG\n"; +print "DEFINES += TA_SINGLE_THREAD\n"; +print "thread:DEFINES -= TA_SINGLE_THREAD\n"; + +print "\# Platform dependent options.\n"; +print "win32:DEFINES *= WIN32\n"; +print "win32-msvc:DEFINES *= _MBCS _LIB\n"; +print "freebsd-g++:LIBS -= -ldl\n"; +print "freebsd-g++:INCLUDEPATH += /usr/local/include\n"; + + +print "win32:CLEAN_FILES = ../../../../../bin/*.map ../../../../../bin/*._xe ../../../../../bin/*.tds ../../../../../bin/*.pdb ../../../../../bin/*.pbo ../../../../../bin/*.pbi ../../../../../bin/*.pbt\n"; + +$TMAKEPATH = $origTMAKEPATH; + diff --git a/vendor/ta-lib/make/gen_make/ta_libc/ta_libc.pro b/vendor/ta-lib/make/gen_make/ta_libc/ta_libc.pro new file mode 100644 index 000000000..9eebaf81b --- /dev/null +++ b/vendor/ta-lib/make/gen_make/ta_libc/ta_libc.pro @@ -0,0 +1,245 @@ +# Do not modify this file. It is automatically +# generated by make_pro.pl + +TEMPLATE = lib +CONFIG += staticlib + +# Identify the temp dir +cmd:OBJECTS_DIR = ../../../../../temp/cmd +cmr:OBJECTS_DIR = ../../../../../temp/cmr +cmp:OBJECTS_DIR = ../../../../../temp/cmp +csd:OBJECTS_DIR = ../../../../../temp/csd +csr:OBJECTS_DIR = ../../../../../temp/csr +csp:OBJECTS_DIR = ../../../../../temp/csp +cdr:OBJECTS_DIR = ../../../../../temp/cdr +cdd:OBJECTS_DIR = ../../../../../temp/cdd + +# Identify the target name +LIBTARGET = ta_libc +cmd:TARGET = ta_libc_cmd +cmr:TARGET = ta_libc_cmr +cmp:TARGET = ta_libc_cmp +csd:TARGET = ta_libc_csd +csr:TARGET = ta_libc_csr +csp:TARGET = ta_libc_csp +cdr:TARGET = ta_libc_cdr +cdd:TARGET = ta_libc_cdd + +# Output info +DESTDIR = ../../../../../lib +# File to process +SOURCES = ../../../../../src/ta_common/ta_global.c \ + ../../../../../src/ta_common/ta_retcode.c \ + ../../../../../src/ta_common/ta_version.c \ + ../../../../../src/ta_abstract/ta_abstract.c \ + ../../../../../src/ta_abstract/ta_def_ui.c \ + ../../../../../src/ta_abstract/ta_func_api.c \ + ../../../../../src/ta_abstract/ta_group_idx.c \ + ../../../../../src/ta_abstract/frames/ta_frame.c \ + ../../../../../src/ta_abstract/tables/table_a.c \ + ../../../../../src/ta_abstract/tables/table_b.c \ + ../../../../../src/ta_abstract/tables/table_c.c \ + ../../../../../src/ta_abstract/tables/table_d.c \ + ../../../../../src/ta_abstract/tables/table_e.c \ + ../../../../../src/ta_abstract/tables/table_f.c \ + ../../../../../src/ta_abstract/tables/table_g.c \ + ../../../../../src/ta_abstract/tables/table_h.c \ + ../../../../../src/ta_abstract/tables/table_i.c \ + ../../../../../src/ta_abstract/tables/table_j.c \ + ../../../../../src/ta_abstract/tables/table_k.c \ + ../../../../../src/ta_abstract/tables/table_l.c \ + ../../../../../src/ta_abstract/tables/table_m.c \ + ../../../../../src/ta_abstract/tables/table_n.c \ + ../../../../../src/ta_abstract/tables/table_o.c \ + ../../../../../src/ta_abstract/tables/table_p.c \ + ../../../../../src/ta_abstract/tables/table_q.c \ + ../../../../../src/ta_abstract/tables/table_r.c \ + ../../../../../src/ta_abstract/tables/table_s.c \ + ../../../../../src/ta_abstract/tables/table_t.c \ + ../../../../../src/ta_abstract/tables/table_u.c \ + ../../../../../src/ta_abstract/tables/table_v.c \ + ../../../../../src/ta_abstract/tables/table_w.c \ + ../../../../../src/ta_abstract/tables/table_x.c \ + ../../../../../src/ta_abstract/tables/table_y.c \ + ../../../../../src/ta_abstract/tables/table_z.c \ + ../../../../../src/ta_func/ta_utility.c \ + ../../../../../src/ta_func/ta_ACOS.c \ + ../../../../../src/ta_func/ta_AD.c \ + ../../../../../src/ta_func/ta_ADD.c \ + ../../../../../src/ta_func/ta_ADOSC.c \ + ../../../../../src/ta_func/ta_ADX.c \ + ../../../../../src/ta_func/ta_ADXR.c \ + ../../../../../src/ta_func/ta_APO.c \ + ../../../../../src/ta_func/ta_AROON.c \ + ../../../../../src/ta_func/ta_AROONOSC.c \ + ../../../../../src/ta_func/ta_ASIN.c \ + ../../../../../src/ta_func/ta_ATAN.c \ + ../../../../../src/ta_func/ta_ATR.c \ + ../../../../../src/ta_func/ta_AVGPRICE.c \ + ../../../../../src/ta_func/ta_BBANDS.c \ + ../../../../../src/ta_func/ta_BETA.c \ + ../../../../../src/ta_func/ta_BOP.c \ + ../../../../../src/ta_func/ta_CCI.c \ + ../../../../../src/ta_func/ta_CDL2CROWS.c \ + ../../../../../src/ta_func/ta_CDL3BLACKCROWS.c \ + ../../../../../src/ta_func/ta_CDL3INSIDE.c \ + ../../../../../src/ta_func/ta_CDL3LINESTRIKE.c \ + ../../../../../src/ta_func/ta_CDL3OUTSIDE.c \ + ../../../../../src/ta_func/ta_CDL3STARSINSOUTH.c \ + ../../../../../src/ta_func/ta_CDL3WHITESOLDIERS.c \ + ../../../../../src/ta_func/ta_CDLABANDONEDBABY.c \ + ../../../../../src/ta_func/ta_CDLADVANCEBLOCK.c \ + ../../../../../src/ta_func/ta_CDLBELTHOLD.c \ + ../../../../../src/ta_func/ta_CDLBREAKAWAY.c \ + ../../../../../src/ta_func/ta_CDLCLOSINGMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLCONCEALBABYSWALL.c \ + ../../../../../src/ta_func/ta_CDLCOUNTERATTACK.c \ + ../../../../../src/ta_func/ta_CDLDARKCLOUDCOVER.c \ + ../../../../../src/ta_func/ta_CDLDOJI.c \ + ../../../../../src/ta_func/ta_CDLDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLDRAGONFLYDOJI.c \ + ../../../../../src/ta_func/ta_CDLENGULFING.c \ + ../../../../../src/ta_func/ta_CDLEVENINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLEVENINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLGAPSIDESIDEWHITE.c \ + ../../../../../src/ta_func/ta_CDLGRAVESTONEDOJI.c \ + ../../../../../src/ta_func/ta_CDLHAMMER.c \ + ../../../../../src/ta_func/ta_CDLHANGINGMAN.c \ + ../../../../../src/ta_func/ta_CDLHARAMI.c \ + ../../../../../src/ta_func/ta_CDLHARAMICROSS.c \ + ../../../../../src/ta_func/ta_CDLHIGHWAVE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKE.c \ + ../../../../../src/ta_func/ta_CDLHIKKAKEMOD.c \ + ../../../../../src/ta_func/ta_CDLHOMINGPIGEON.c \ + ../../../../../src/ta_func/ta_CDLIDENTICAL3CROWS.c \ + ../../../../../src/ta_func/ta_CDLINNECK.c \ + ../../../../../src/ta_func/ta_CDLINVERTEDHAMMER.c \ + ../../../../../src/ta_func/ta_CDLKICKING.c \ + ../../../../../src/ta_func/ta_CDLKICKINGBYLENGTH.c \ + ../../../../../src/ta_func/ta_CDLLADDERBOTTOM.c \ + ../../../../../src/ta_func/ta_CDLLONGLEGGEDDOJI.c \ + ../../../../../src/ta_func/ta_CDLLONGLINE.c \ + ../../../../../src/ta_func/ta_CDLMARUBOZU.c \ + ../../../../../src/ta_func/ta_CDLMATCHINGLOW.c \ + ../../../../../src/ta_func/ta_CDLMATHOLD.c \ + ../../../../../src/ta_func/ta_CDLMORNINGDOJISTAR.c \ + ../../../../../src/ta_func/ta_CDLMORNINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLONNECK.c \ + ../../../../../src/ta_func/ta_CDLPIERCING.c \ + ../../../../../src/ta_func/ta_CDLRICKSHAWMAN.c \ + ../../../../../src/ta_func/ta_CDLRISEFALL3METHODS.c \ + ../../../../../src/ta_func/ta_CDLSEPARATINGLINES.c \ + ../../../../../src/ta_func/ta_CDLSHOOTINGSTAR.c \ + ../../../../../src/ta_func/ta_CDLSHORTLINE.c \ + ../../../../../src/ta_func/ta_CDLSPINNINGTOP.c \ + ../../../../../src/ta_func/ta_CDLSTALLEDPATTERN.c \ + ../../../../../src/ta_func/ta_CDLSTICKSANDWICH.c \ + ../../../../../src/ta_func/ta_CDLTAKURI.c \ + ../../../../../src/ta_func/ta_CDLTASUKIGAP.c \ + ../../../../../src/ta_func/ta_CDLTHRUSTING.c \ + ../../../../../src/ta_func/ta_CDLTRISTAR.c \ + ../../../../../src/ta_func/ta_CDLUNIQUE3RIVER.c \ + ../../../../../src/ta_func/ta_CDLUPSIDEGAP2CROWS.c \ + ../../../../../src/ta_func/ta_CDLXSIDEGAP3METHODS.c \ + ../../../../../src/ta_func/ta_CEIL.c \ + ../../../../../src/ta_func/ta_CMO.c \ + ../../../../../src/ta_func/ta_CORREL.c \ + ../../../../../src/ta_func/ta_COS.c \ + ../../../../../src/ta_func/ta_COSH.c \ + ../../../../../src/ta_func/ta_DEMA.c \ + ../../../../../src/ta_func/ta_DIV.c \ + ../../../../../src/ta_func/ta_DX.c \ + ../../../../../src/ta_func/ta_EMA.c \ + ../../../../../src/ta_func/ta_EXP.c \ + ../../../../../src/ta_func/ta_FLOOR.c \ + ../../../../../src/ta_func/ta_HT_DCPERIOD.c \ + ../../../../../src/ta_func/ta_HT_DCPHASE.c \ + ../../../../../src/ta_func/ta_HT_PHASOR.c \ + ../../../../../src/ta_func/ta_HT_SINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDLINE.c \ + ../../../../../src/ta_func/ta_HT_TRENDMODE.c \ + ../../../../../src/ta_func/ta_KAMA.c \ + ../../../../../src/ta_func/ta_LINEARREG.c \ + ../../../../../src/ta_func/ta_LINEARREG_ANGLE.c \ + ../../../../../src/ta_func/ta_LINEARREG_INTERCEPT.c \ + ../../../../../src/ta_func/ta_LINEARREG_SLOPE.c \ + ../../../../../src/ta_func/ta_LN.c \ + ../../../../../src/ta_func/ta_LOG10.c \ + ../../../../../src/ta_func/ta_MA.c \ + ../../../../../src/ta_func/ta_MACD.c \ + ../../../../../src/ta_func/ta_MACDEXT.c \ + ../../../../../src/ta_func/ta_MACDFIX.c \ + ../../../../../src/ta_func/ta_MAMA.c \ + ../../../../../src/ta_func/ta_MAVP.c \ + ../../../../../src/ta_func/ta_MAX.c \ + ../../../../../src/ta_func/ta_MAXINDEX.c \ + ../../../../../src/ta_func/ta_MEDPRICE.c \ + ../../../../../src/ta_func/ta_MFI.c \ + ../../../../../src/ta_func/ta_MIDPOINT.c \ + ../../../../../src/ta_func/ta_MIDPRICE.c \ + ../../../../../src/ta_func/ta_MIN.c \ + ../../../../../src/ta_func/ta_MININDEX.c \ + ../../../../../src/ta_func/ta_MINMAX.c \ + ../../../../../src/ta_func/ta_MINMAXINDEX.c \ + ../../../../../src/ta_func/ta_MINUS_DI.c \ + ../../../../../src/ta_func/ta_MINUS_DM.c \ + ../../../../../src/ta_func/ta_MOM.c \ + ../../../../../src/ta_func/ta_MULT.c \ + ../../../../../src/ta_func/ta_NATR.c \ + ../../../../../src/ta_func/ta_OBV.c \ + ../../../../../src/ta_func/ta_PLUS_DI.c \ + ../../../../../src/ta_func/ta_PLUS_DM.c \ + ../../../../../src/ta_func/ta_PPO.c \ + ../../../../../src/ta_func/ta_ROC.c \ + ../../../../../src/ta_func/ta_ROCP.c \ + ../../../../../src/ta_func/ta_ROCR.c \ + ../../../../../src/ta_func/ta_ROCR100.c \ + ../../../../../src/ta_func/ta_RSI.c \ + ../../../../../src/ta_func/ta_SAR.c \ + ../../../../../src/ta_func/ta_SAREXT.c \ + ../../../../../src/ta_func/ta_SIN.c \ + ../../../../../src/ta_func/ta_SINH.c \ + ../../../../../src/ta_func/ta_SMA.c \ + ../../../../../src/ta_func/ta_SQRT.c \ + ../../../../../src/ta_func/ta_STDDEV.c \ + ../../../../../src/ta_func/ta_STOCH.c \ + ../../../../../src/ta_func/ta_STOCHF.c \ + ../../../../../src/ta_func/ta_STOCHRSI.c \ + ../../../../../src/ta_func/ta_SUB.c \ + ../../../../../src/ta_func/ta_SUM.c \ + ../../../../../src/ta_func/ta_T3.c \ + ../../../../../src/ta_func/ta_TAN.c \ + ../../../../../src/ta_func/ta_TANH.c \ + ../../../../../src/ta_func/ta_TEMA.c \ + ../../../../../src/ta_func/ta_TRANGE.c \ + ../../../../../src/ta_func/ta_TRIMA.c \ + ../../../../../src/ta_func/ta_TRIX.c \ + ../../../../../src/ta_func/ta_TSF.c \ + ../../../../../src/ta_func/ta_TYPPRICE.c \ + ../../../../../src/ta_func/ta_ULTOSC.c \ + ../../../../../src/ta_func/ta_VAR.c \ + ../../../../../src/ta_func/ta_WCLPRICE.c \ + ../../../../../src/ta_func/ta_WILLR.c \ + ../../../../../src/ta_func/ta_WMA.c +# Compiler Options +INCLUDEPATH *= ../../../../../src/ta_common +INCLUDEPATH *= ../../../../../include +INCLUDEPATH *= ../../../../../src/ta_common +INCLUDEPATH *= ../../../../../src/ta_abstract +INCLUDEPATH *= ../../../../../src/ta_abstract/tables +INCLUDEPATH *= ../../../../../src/ta_abstract/frames +INCLUDEPATH *= ../../../../../include +INCLUDEPATH *= ../../../../../src/ta_common +INCLUDEPATH *= ../../../../../include + +# debug/release dependent options. +debug:DEFINES *= TA_DEBUG +debug:DEFINES *= _DEBUG +DEFINES += TA_SINGLE_THREAD +thread:DEFINES -= TA_SINGLE_THREAD +# Platform dependent options. +win32:DEFINES *= WIN32 +win32-msvc:DEFINES *= _MBCS _LIB +freebsd-g++:LIBS -= -ldl +freebsd-g++:INCLUDEPATH += /usr/local/include +win32:CLEAN_FILES = ../../../../../bin/*.map ../../../../../bin/*._xe ../../../../../bin/*.tds ../../../../../bin/*.pdb ../../../../../bin/*.pbo ../../../../../bin/*.pbi ../../../../../bin/*.pbt diff --git a/vendor/ta-lib/make/gen_make/ta_regtest/ta_regtest.pro b/vendor/ta-lib/make/gen_make/ta_regtest/ta_regtest.pro new file mode 100644 index 000000000..bf7d8b11e --- /dev/null +++ b/vendor/ta-lib/make/gen_make/ta_regtest/ta_regtest.pro @@ -0,0 +1,142 @@ +TEMPLATE = app +CONFIG -= qt + +# Force this application to be a console application +CONFIG -= windows +CONFIG += console + +# Identify the temp dir +cmd:OBJECTS_DIR = ../../../../../temp/cmd +cmr:OBJECTS_DIR = ../../../../../temp/cmr +cmp:OBJECTS_DIR = ../../../../../temp/cmp +csd:OBJECTS_DIR = ../../../../../temp/csd +csr:OBJECTS_DIR = ../../../../../temp/csr +csp:OBJECTS_DIR = ../../../../../temp/csp +cdr:OBJECTS_DIR = ../../../../../temp/cdr +cdd:OBJECTS_DIR = ../../../../../temp/cdd + +# Output info +TARGET = ta_regtest +DESTDIR = ../../../../../bin + +# Files to process +SOURCES = ../../../../../src/tools/ta_regtest/ta_regtest.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_candlestick.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_1out.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_1in_2out.c \ + ../../../../../src/tools/ta_regtest/test_internals.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_adx.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_bbands.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_ma.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_macd.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_minmax.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_mom.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ema.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hl.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_hlcv.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_per_ohlc.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_po.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_rsi.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_sar.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stddev.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_stoch.c \ + ../../../../../src/tools/ta_regtest/ta_test_func/test_trange.c \ + ../../../../../src/tools/ta_regtest/test_util.c \ + ../../../../../src/tools/ta_regtest/test_data.c \ + ../../../../../src/tools/ta_regtest/test_abstract.c + +# Additional libraries +win32:TA_LIBC_CMD = ta_libc_cmd.lib +win32:TA_LIBC_CMR = ta_libc_cmr.lib +win32:TA_LIBC_CSD = ta_libc_csd.lib +win32:TA_LIBC_CSR = ta_libc_csr.lib +win32:TA_LIBC_CDR = ta_libc_cdr.lib +win32:TA_LIBC_CDD = ta_libc_cdd.lib + +unix:TA_LIBC_CMD = libta_libc_cmd.a +unix:TA_LIBC_CMR = libta_libc_cmr.a +unix:TA_LIBC_CMP = libta_libc_cmp.a +unix:TA_LIBC_CSD = libta_libc_csd.a +unix:TA_LIBC_CSR = libta_libc_csr.a +unix:TA_LIBC_CSP = libta_libc_csp.a +unix:TA_LIBC_CDR = libta_libc_cdr.a +unix:TA_LIBC_CDD = libta_libc_cdd.a + +cmd:LIBS += ../../../../../lib/$$TA_LIBC_CMD +cmr:LIBS += ../../../../../lib/$$TA_LIBC_CMR +cmp:LIBS += ../../../../../lib/$$TA_LIBC_CMP +csd:LIBS += ../../../../../lib/$$TA_LIBC_CSD +csr:LIBS += ../../../../../lib/$$TA_LIBC_CSR +csp:LIBS += ../../../../../lib/$$TA_LIBC_CSP +cdr:LIBS += ../../../../../lib/$$TA_LIBC_CDR +cdd:LIBS += ../../../../../lib/$$TA_LIBC_CDD + +unix:LIBS += -ldl + +# Compiler Options +INCLUDEPATH = ../../../../../src/ta_common \ + ../../../../../src/tools/ta_regtest \ + ../../../../../src/ta_func \ + ../../../../../include + +# debug/release dependent options. +debug:DEFINES *= TA_DEBUG +debug:DEFINES *= _DEBUG +DEFINES += TA_SINGLE_THREAD +thread:DEFINES -= TA_SINGLE_THREAD + + +# Platform dependent options. +win32:DEFINES *= WIN32 +win32-msvc:DEFINES *= _MBCS _LIB +cygwin-g++:LIBS -= -ldl +freebsd-g++:LIBS -= -ldl +freebsd-g++:INCLUDEPATH += /usr/local/include + +cmd:TEMP_CLEAN_ALL = ../../../../../temp/cmd/*.pch +cmr:TEMP_CLEAN_ALL = ../../../../../temp/cmr/*.pch +cmp:TEMP_CLEAN_ALL = ../../../../../temp/cmp/*.pch +csd:TEMP_CLEAN_ALL = ../../../../../temp/csd/*.pch +csr:TEMP_CLEAN_ALL = ../../../../../temp/csr/*.pch +csp:TEMP_CLEAN_ALL = ../../../../../temp/csp/*.pch +cdr:TEMP_CLEAN_ALL = ../../../../../temp/cdr/*.pch +cdd:TEMP_CLEAN_ALL = ../../../../../temp/cdd/*.pch + +cmd:TEMP_CLEAN_ALL2 = ../../../../../temp/cmd/*.idb +cmr:TEMP_CLEAN_ALL2 = ../../../../../temp/cmr/*.idb +cmp:TEMP_CLEAN_ALL2 = ../../../../../temp/cmp/*.idb +csd:TEMP_CLEAN_ALL2 = ../../../../../temp/csd/*.idb +csr:TEMP_CLEAN_ALL2 = ../../../../../temp/csr/*.idb +csp:TEMP_CLEAN_ALL2 = ../../../../../temp/csp/*.idb +cdr:TEMP_CLEAN_ALL2 = ../../../../../temp/cdr/*.idb +cdd:TEMP_CLEAN_ALL2 = ../../../../../temp/cdd/*.idb + +cmd:TEMP_CLEAN_ALL3 = ../../../../../temp/cmd/$$TARGET/*.pch +cmr:TEMP_CLEAN_ALL3 = ../../../../../temp/cmr/$$TARGET/*.pch +cmp:TEMP_CLEAN_ALL3 = ../../../../../temp/cmp/$$TARGET/*.pch +csd:TEMP_CLEAN_ALL3 = ../../../../../temp/csd/$$TARGET/*.pch +csr:TEMP_CLEAN_ALL3 = ../../../../../temp/csr/$$TARGET/*.pch +csp:TEMP_CLEAN_ALL3 = ../../../../../temp/csp/$$TARGET/*.pch +cdr:TEMP_CLEAN_ALL3 = ../../../../../temp/cdr/$$TARGET/*.pch +cdd:TEMP_CLEAN_ALL3 = ../../../../../temp/cdd/$$TARGET/*.pch + +cmd:TEMP_CLEAN_ALL4 = ../../../../../temp/cmd/$$TARGET/*.idb +cmr:TEMP_CLEAN_ALL4 = ../../../../../temp/cmr/$$TARGET/*.idb +cmp:TEMP_CLEAN_ALL4 = ../../../../../temp/cmp/$$TARGET/*.idb +csd:TEMP_CLEAN_ALL4 = ../../../../../temp/csd/$$TARGET/*.idb +csr:TEMP_CLEAN_ALL4 = ../../../../../temp/csr/$$TARGET/*.idb +csp:TEMP_CLEAN_ALL4 = ../../../../../temp/csp/$$TARGET/*.idb +cdr:TEMP_CLEAN_ALL4 = ../../../../../temp/cdr/$$TARGET/*.idb +cdd:TEMP_CLEAN_ALL4 = ../../../../../temp/cdd/$$TARGET/*.idb + +cmd:TEMP_CLEAN_ALL5 = ../../../../../temp/cmd/$$TARGET/*.obj +cmr:TEMP_CLEAN_ALL5 = ../../../../../temp/cmr/$$TARGET/*.obj +cmp:TEMP_CLEAN_ALL5 = ../../../../../temp/cmp/$$TARGET/*.obj +csd:TEMP_CLEAN_ALL5 = ../../../../../temp/csd/$$TARGET/*.obj +csr:TEMP_CLEAN_ALL5 = ../../../../../temp/csr/$$TARGET/*.obj +csp:TEMP_CLEAN_ALL5 = ../../../../../temp/csp/$$TARGET/*.obj +cdr:TEMP_CLEAN_ALL5 = ../../../../../temp/cdr/$$TARGET/*.obj +cdd:TEMP_CLEAN_ALL5 = ../../../../../temp/cdd/$$TARGET/*.obj + +win32:CLEAN_FILES = ../../../../../bin/*.map ../../../../../bin/*._xe ../../../../../bin/*.tds ../../../../../bin/*.pdb ../../../../../bin/*.pbo ../../../../../bin/*.pbi ../../../../../bin/*.pbt $$TEMP_CLEAN_ALL $$TEMP_CLEAN_ALL2 $$TEMP_CLEAN_ALL3 $$TEMP_CLEAN_ALL4 $$TEMP_CLEAN_ALL5 diff --git a/vendor/ta-lib/make/gen_make/template/cygwin-g++/app.t b/vendor/ta-lib/make/gen_make/template/cygwin-g++/app.t new file mode 100644 index 000000000..867725eaa --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/cygwin-g++/app.t @@ -0,0 +1,2 @@ +#! Use the common Unix template +#$ IncludeTemplate("../unix/app.t"); diff --git a/vendor/ta-lib/make/gen_make/template/cygwin-g++/lib.t b/vendor/ta-lib/make/gen_make/template/cygwin-g++/lib.t new file mode 100644 index 000000000..2523b2f85 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/cygwin-g++/lib.t @@ -0,0 +1,2 @@ +#! Use the common Unix template +#$ IncludeTemplate("../unix/lib.t"); diff --git a/vendor/ta-lib/make/gen_make/template/cygwin-g++/subdirs.t b/vendor/ta-lib/make/gen_make/template/cygwin-g++/subdirs.t new file mode 100644 index 000000000..5e888af05 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/cygwin-g++/subdirs.t @@ -0,0 +1,2 @@ +#! Use the common Unix template +#$ IncludeTemplate("../unix/subdirs.t"); diff --git a/vendor/ta-lib/make/gen_make/template/cygwin-g++/tmake.conf b/vendor/ta-lib/make/gen_make/template/cygwin-g++/tmake.conf new file mode 100644 index 000000000..857634755 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/cygwin-g++/tmake.conf @@ -0,0 +1,65 @@ +# +# $Id$ +# +# tmake configuration for linux-g++ +# + +MAKEFILE_GENERATOR = UNIX +TEMPLATE = app +CONFIG = qt warn_on release + +TMAKE_CC = gcc +TMAKE_CFLAGS = -pipe +TMAKE_CFLAGS_WARN_ON = -Wall -W +TMAKE_CFLAGS_WARN_OFF = +TMAKE_CFLAGS_RELEASE = -O2 -fno-strict-aliasing +TMAKE_CFLAGS_DEBUG = -g +TMAKE_CFLAGS_SHLIB = -fPIC +TMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses +TMAKE_CFLAGS_THREAD = -D_REENTRANT + +TMAKE_CXX = g++ +TMAKE_CXXFLAGS = $$TMAKE_CFLAGS +TMAKE_CXXFLAGS_WARN_ON = $$TMAKE_CFLAGS_WARN_ON +TMAKE_CXXFLAGS_WARN_OFF = $$TMAKE_CFLAGS_WARN_OFF +TMAKE_CXXFLAGS_RELEASE = $$TMAKE_CFLAGS_RELEASE +TMAKE_CXXFLAGS_DEBUG = $$TMAKE_CFLAGS_DEBUG +TMAKE_CXXFLAGS_SHLIB = $$TMAKE_CFLAGS_SHLIB +TMAKE_CXXFLAGS_YACC = $$TMAKE_CFLAGS_YACC +TMAKE_CXXFLAGS_THREAD = $$TMAKE_CFLAGS_THREAD + +TMAKE_INCDIR = +TMAKE_LIBDIR = +TMAKE_INCDIR_X11 = /usr/X11R6/include +TMAKE_LIBDIR_X11 = /usr/X11R6/lib +TMAKE_INCDIR_QT = $(QTDIR)/include +TMAKE_LIBDIR_QT = $(QTDIR)/lib +TMAKE_INCDIR_OPENGL = /usr/X11R6/include +TMAKE_LIBDIR_OPENGL = /usr/X11R6/lib + +TMAKE_LINK = g++ +TMAKE_LINK_SHLIB = g++ +TMAKE_LFLAGS = +TMAKE_LFLAGS_RELEASE = +TMAKE_LFLAGS_DEBUG = +TMAKE_LFLAGS_SHLIB = -shared +TMAKE_LFLAGS_SONAME = -Wl,-soname, +TMAKE_LFLAGS_THREAD = +TMAKE_RPATH = -Wl,-rpath, + +TMAKE_LIBS = +TMAKE_LIBS_X11 = -lXext -lX11 -lm +TMAKE_LIBS_X11SM = -lICE -lSM +TMAKE_LIBS_QT = -lqt +TMAKE_LIBS_QT_THREAD = -lqt-mt +TMAKE_LIBS_OPENGL = -lGLU -lGL -lXmu +TMAKE_LIBS_THREAD = -lpthread + +TMAKE_MOC = $(QTDIR)/bin/moc +TMAKE_UIC = $(QTDIR)/bin/uic + +TMAKE_AR = ar cqs +TMAKE_RANLIB = + +TMAKE_TAR = tar -cf +TMAKE_GZIP = gzip -9f diff --git a/vendor/ta-lib/make/gen_make/template/freebsd-g++/app.t b/vendor/ta-lib/make/gen_make/template/freebsd-g++/app.t new file mode 100644 index 000000000..f59c9f904 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/freebsd-g++/app.t @@ -0,0 +1,6 @@ +############################################################################# +#! +#! This is a tmake template for building Unix applications. +#! +#$ Project('TMAKE_APP_FLAG = 1'); +#$ IncludeTemplate("generic.t"); diff --git a/vendor/ta-lib/make/gen_make/template/freebsd-g++/generic.t b/vendor/ta-lib/make/gen_make/template/freebsd-g++/generic.t new file mode 100644 index 000000000..a4a697841 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/freebsd-g++/generic.t @@ -0,0 +1,395 @@ +#! +#! This is a tmake template for building UNIX applications or libraries. +#! +#${ + Project('TMAKE_LIBS += $$LIBS'); + if ( !Project("INTERFACE_DECL_PATH") ) { + Project('INTERFACE_DECL_PATH = .' ); + } + if ( Project("TMAKE_LIB_FLAG") && !Config("staticlib") ) { + Project('CONFIG *= dll'); + } elsif ( Project("TMAKE_APP_FLAG") || Config("dll") ) { + Project('CONFIG -= staticlib'); + } + if ( Config("warn_off") ) { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_WARN_OFF'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_WARN_OFF'); + } elsif ( Config("warn_on") ) { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_WARN_ON'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_WARN_ON'); + } + if ( Config("debug") ) { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_DEBUG'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_DEBUG'); + Project('TMAKE_LFLAGS += $$TMAKE_LFLAGS_DEBUG'); + } elsif ( Config("release") ) { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_RELEASE'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_RELEASE'); + Project('TMAKE_LFLAGS += $$TMAKE_LFLAGS_RELEASE'); + } + if ( Project("TMAKE_INCDIR") ) { + AddIncludePath(Project("TMAKE_INCDIR")); + } + if ( Project("TMAKE_LIBDIR") ) { + Project('TMAKE_LIBDIR_FLAGS *= -L$$TMAKE_LIBDIR'); + } + if ( Config("qt") || Config("opengl") ) { + Project('CONFIG *= x11lib'); + if ( Config("opengl") ) { + Project('CONFIG *= x11inc'); + } + } + if ( Config("x11") ) { + Project('CONFIG *= x11lib'); + Project('CONFIG *= x11inc'); + } + if ( Config("thread") ) { + Project('DEFINES += QT_THREAD_SUPPORT'); + Project("TMAKE_CFLAGS_THREAD") && + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_THREAD'); + Project("TMAKE_CXXFLAGS_THREAD") && + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_THREAD'); + AddIncludePath(Project("TMAKE_INCDIR_THREAD")); + Project('TMAKE_LIBS *= $$TMAKE_LIBS_THREAD'); + Project("TMAKE_LFLAGS_THREAD") && + Project('TMAKE_LFLAGS += $$TMAKE_LFLAGS_THREAD'); + } + if ( Config("qt") ) { + Project('CONFIG *= moc'); + AddIncludePath(Project("TMAKE_INCDIR_QT")); + if ( !Config("debug") ) { + Project('DEFINES += NO_DEBUG'); + } + if ( !(((Project("TARGET") eq "qt") || (Project("TARGET") eq "qt-mt") || + (Project("TARGET") eq "qte") || (Project("TARGET") eq "qte-mt")) && + Project("TMAKE_LIB_FLAG")) ) { + Project("TMAKE_LIBDIR_QT") && + Project('TMAKE_LIBDIR_FLAGS *= -L$$TMAKE_LIBDIR_QT'); + if (Config("thread") && Project("TMAKE_LIBS_QT_THREAD")) { + Project('TMAKE_LIBS *= $$TMAKE_LIBS_QT_THREAD'); + } else { + Project('TMAKE_LIBS *= $$TMAKE_LIBS_QT'); + } + } + } + if ( Config("opengl") ) { + AddIncludePath(Project("TMAKE_INCDIR_OPENGL")); + Project("TMAKE_LIBDIR_OPENGL") && + Project('TMAKE_LIBDIR_FLAGS *= -L$$TMAKE_LIBDIR_OPENGL'); + Project('TMAKE_LIBS *= $$TMAKE_LIBS_OPENGL'); + } + if ( Config("x11inc") ) { + AddIncludePath(Project("TMAKE_INCDIR_X11")); + } + if ( Config("x11lib") ) { + Project("TMAKE_LIBDIR_X11") && + Project('TMAKE_LIBDIR_FLAGS *= -L$$TMAKE_LIBDIR_X11'); + Project('TMAKE_LIBS *= $$TMAKE_LIBS_X11'); + } + if ( Config("moc") ) { + $moc_aware = 1; + } + if ( !Project("TMAKE_RUN_CC") ) { + Project('TMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src'); + } + if ( !Project("TMAKE_RUN_CC_IMP") ) { + Project('TMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<'); + } + if ( !Project("TMAKE_RUN_CXX") ) { + Project('TMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src'); + } + if ( !Project("TMAKE_RUN_CXX_IMP") ) { + Project('TMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<'); + } + Project('TMAKE_FILETAGS = HEADERS SOURCES TARGET DESTDIR $$FILETAGS'); + if ( Config("embedded") && Project("PRECOMPH") ) { + Project('SOURCES += allmoc.cpp'); + $project{'HEADERS_ORIG'} = Project('HEADERS'); + $project{'HEADERS'} = ""; + } + StdInit(); + $project{"VERSION"} || ($project{"VERSION"} = "1.0.0"); + ($project{"VER_MAJ"},$project{"VER_MIN"},$project{"VER_PAT"}) + = $project{"VERSION"} =~ /(\d+)\.(\d+)\.(\d+)/; + if ( !defined($project{"VER_PAT"}) ) { + ($project{"VER_MAJ"},$project{"VER_MIN"}) + = $project{"VERSION"} =~ /(\d+)\.(\d+)/; + $project{"VER_PAT"} = "0"; + } + if ( !defined($project{"VER_MIN"}) ) { + ($project{"VER_MAJ"}) + = $project{"VERSION"} =~ /(\d+)/; + $project{"VER_MIN"} = "0"; + $project{"VER_PAT"} = "0"; + } + Project('DESTDIR_TARGET = $(TARGET)'); + if ( Project("TMAKE_APP_FLAG") ) { + if ( Config("dll") ) { + Project('TARGET = $$TARGET.so'); + Project("TMAKE_LFLAGS_SHAPP") || + ($project{"TMAKE_LFLAGS_SHAPP"} = $project{"TMAKE_LFLAGS_SHLIB"}); + Project("TMAKE_LFLAGS_SONAME") && + ($project{"TMAKE_LFLAGS_SONAME"} .= $project{"TARGET"}); + } + $project{"TARGET"} = $project{"DESTDIR"} . $project{"TARGET"}; + } elsif ( Config("staticlib") ) { + $project{"TARGET"} = $project{"DESTDIR"} . "lib" . + $project{"TARGET"} . ".a"; + Project("TMAKE_AR_CMD") || + Project('TMAKE_AR_CMD = $(AR) $(TARGET) $(OBJECTS) $(OBJMOC)'); + } else { + $project{"TARGETA"} = $project{"DESTDIR"} . "lib" . + $project{"TARGET"} . ".a"; + if ( Project("TMAKE_AR_CMD") ) { + $project{"TMAKE_AR_CMD"} =~ s/\(TARGET\)/\(TARGETA\)/g; + } else { + Project('TMAKE_AR_CMD = $(AR) $(TARGETA) $(OBJECTS) $(OBJMOC)'); + } + if ( $project{"TMAKE_HPUX_SHLIB"} ) { + $project{"TARGET_"} = "lib" . $project{"TARGET"} . ".sl"; + $project{"TARGET_x"} = "lib" . $project{"TARGET"} . "." . + $project{"VER_MAJ"}; + $project{"TARGET"} = $project{"TARGET_x"}; + } elsif ( $project{"TMAKE_AIX_SHLIB"} ) { + $project{"TARGET_"} = "lib" . $project{"TARGET"} . ".a"; + $project{"TARGET_x"} = "lib" . $project{"TARGET"} . ".so." . + $project{"VER_MAJ"}; + $project{"TARGET_x.y"} = "lib" . $project{"TARGET"} . ".so." . + $project{"VER_MAJ"} . "." . + $project{"VER_MIN"}; + $project{"TARGET_x.y.z"} = "lib" . $project{"TARGET"} . ".so." . + $project{"VER_MAJ"} . "." . + $project{"VER_MIN"} . "." . + $project{"VER_PAT"}; + $project{"TARGET"} = $project{"TARGET_x.y.z"}; + } else { + $project{"TARGET_"} = "lib" . $project{"TARGET"} . ".so"; + $project{"TARGET_x"} = "lib" . $project{"TARGET"} . ".so." . + $project{"VER_MAJ"}; + $project{"TARGET_x.y"} = "lib" . $project{"TARGET"} . ".so." . + $project{"VER_MAJ"} . "." . + $project{"VER_MIN"}; + $project{"TARGET_x.y.z"} = "lib" . $project{"TARGET"} . ".so." . + $project{"VER_MAJ"} . "." . + $project{"VER_MIN"} . "." . + $project{"VER_PAT"}; + $project{"TARGET"} = $project{"TARGET_x.y.z"}; + } + $project{"TMAKE_LN_SHLIB"} = "-ln -s"; + if ( $project{"DESTDIR"} ) { + $project{"DESTDIR_TARGET"} = $project{"DESTDIR"} . + $project{"TARGET"}; + } + Project("TMAKE_LFLAGS_SONAME") && + ($project{"TMAKE_LFLAGS_SONAME"} .= $project{"TARGET_x"}); + $project{"TMAKE_LINK_SHLIB_CMD"} || + ($project{"TMAKE_LINK_SHLIB_CMD"} = + '$(LINK) $(LFLAGS) -o $(TARGETD) $(OBJECTS) $(OBJMOC) $(LIBS)'); + } + if ( Config("dll") ) { + Project('TMAKE_CFLAGS *= $$TMAKE_CFLAGS_SHLIB' ); + Project('TMAKE_CXXFLAGS *= $$TMAKE_CXXFLAGS_SHLIB' ); + if ( Project("TMAKE_APP_FLAG") ) { + Project('TMAKE_LFLAGS *= $$TMAKE_LFLAGS_SHAPP'); + } else { + Project('TMAKE_LFLAGS *= $$TMAKE_LFLAGS_SHLIB $$TMAKE_LFLAGS_SONAME'); + } + } +#$} +#! +# Makefile for building #$ Expand("TARGET") +# Generated by tmake; +# Project: #$ Expand("PROJECT"); +# Template: #$ Expand("TEMPLATE"); +############################################################################# + +####### Compiler, tools and options + +CC = #$ Expand("TMAKE_CC"); +CXX = #$ Expand("TMAKE_CXX"); +CFLAGS = #$ Expand("TMAKE_CFLAGS"); ExpandGlue("DEFINES","-D"," -D",""); +CXXFLAGS= #$ Expand("TMAKE_CXXFLAGS"); ExpandGlue("DEFINES","-D"," -D",""); +INCPATH = #$ ExpandPath("INCPATH","-I"," -I",""); +#$ Config("staticlib") && DisableOutput(); +LINK = #$ Expand("TMAKE_LINK"); +LFLAGS = #$ Expand("TMAKE_LFLAGS"); +LIBS = $(SUBLIBS) #$ Expand("TMAKE_LIBDIR_FLAGS"); Expand("TMAKE_LIBS"); +#$ Config("staticlib") && EnableOutput(); +#$ Project("TMAKE_LIB_FLAG") || DisableOutput(); +AR = #$ Expand("TMAKE_AR"); +RANLIB = #$ Expand("TMAKE_RANLIB"); +#$ Project("TMAKE_LIB_FLAG") || EnableOutput(); +MOC = #$ Expand("TMAKE_MOC"); +UIC = #$ Expand("TMAKE_UIC"); + +TAR = #$ Expand("TMAKE_TAR"); +GZIP = #$ Expand("TMAKE_GZIP"); + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = #$ ExpandList("HEADERS"); +SOURCES = #$ ExpandList("SOURCES"); +OBJECTS = #$ ExpandList("OBJECTS"); +INTERFACES = #$ ExpandList("INTERFACES"); +UICDECLS = #$ ExpandList("UICDECLS"); +UICIMPLS = #$ ExpandList("UICIMPLS"); +SRCMOC = #$ ExpandList("SRCMOC"); +OBJMOC = #$ ExpandList("OBJMOC"); +DIST = #$ ExpandList("DISTFILES"); +TARGET = #$ Expand("TARGET"); +#$ (Project("TMAKE_APP_FLAG") || Config("staticlib")) && DisableOutput(); +TARGETA = #$ Expand("TARGETA"); +#$ Project("TMAKE_HPUX_SHLIB") && DisableOutput(); +TARGETD = #$ Expand("TARGET_x.y.z"); +TARGET0 = #$ Expand("TARGET_"); +TARGET1 = #$ Expand("TARGET_x"); +TARGET2 = #$ Expand("TARGET_x.y"); +#$ Project("TMAKE_HPUX_SHLIB") && EnableOutput(); +#$ !Project("TMAKE_HPUX_SHLIB") && DisableOutput(); +TARGETD = #$ Expand("TARGET_x"); +TARGET0 = #$ Expand("TARGET_"); +#$ !Project("TMAKE_HPUX_SHLIB") && EnableOutput(); +#$ (Project("TMAKE_APP_FLAG") || Config("staticlib")) && EnableOutput(); +INTERFACE_DECL_PATH = #$ Expand("INTERFACE_DECL_PATH"); + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + #$ Expand("TMAKE_RUN_CXX_IMP"); + +.cxx.o: + #$ Expand("TMAKE_RUN_CXX_IMP"); + +.cc.o: + #$ Expand("TMAKE_RUN_CXX_IMP"); + +.C.o: + #$ Expand("TMAKE_RUN_CXX_IMP"); + +.c.o: + #$ Expand("TMAKE_RUN_CC_IMP"); + +####### Build rules + +#${ + if ( Project("SUBLIBS") ) { + $text = "SUBLIBS="; + for $m ( split / /, Project("SUBLIBS") ) { + $text .= "tmp/lib$m.a "; + } + $text .= "\n"; + } +#$} + +#$ Project("TMAKE_APP_FLAG") || DisableOutput(); +all: #$ ExpandGlue("ALL_DEPS",""," "," "); $text .= '$(TARGET)'; + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) +#$ Project("TMAKE_APP_FLAG") || EnableOutput(); +#$ (Config("staticlib") || Project("TMAKE_APP_FLAG")) && DisableOutput(); +all: #$ ExpandGlue("ALL_DEPS",""," ",""); Expand("DESTDIR_TARGET"); + +#$ Substitute('$$DESTDIR_TARGET: $(OBJECTS) $(OBJMOC) $(SUBLIBS) $$TARGETDEPS'); + #$ Project("TMAKE_HPUX_SHLIB") && DisableOutput(); + -rm -f $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2) + #$ Expand("TMAKE_LINK_SHLIB_CMD"); + #$ ExpandGlue("TMAKE_LN_SHLIB",""," "," \$(TARGET) \$(TARGET0)"); + #$ ExpandGlue("TMAKE_LN_SHLIB",""," "," \$(TARGET) \$(TARGET1)"); + #$ ExpandGlue("TMAKE_LN_SHLIB",""," "," \$(TARGET) \$(TARGET2)"); + #$ Project("TMAKE_HPUX_SHLIB") && EnableOutput(); + #$ !Project("TMAKE_HPUX_SHLIB") && DisableOutput(); + -rm -f $(TARGET) $(TARGET0) + #$ Expand("TMAKE_LINK_SHLIB_CMD"); + #$ ExpandGlue("TMAKE_LN_SHLIB",""," "," \$(TARGET) \$(TARGET0)"); + #$ !Project("TMAKE_HPUX_SHLIB") && EnableOutput(); + #${ + $d = Project("DESTDIR"); + if ( $d ) { + $d =~ s-([^/])$-$1/-; + if ( Project("TMAKE_HPUX_SHLIB") ) { + $text = "-rm -f $d\$(TARGET)\n\t" . + "-rm -f $d\$(TARGET0)\n\t" . + "-mv \$(TARGET) \$(TARGET0) $d"; + } else { + $text = "-rm -f $d\$(TARGET)\n\t" . + "-rm -f $d\$(TARGET0)\n\t" . + "-rm -f $d\$(TARGET1)\n\t" . + "-rm -f $d\$(TARGET2)\n\t" . + "-mv \$(TARGET) \$(TARGET0) \$(TARGET1) \$(TARGET2) $d"; + } + } + #$} + +staticlib: $(TARGETA) + +$(TARGETA): $(UICDECLS) $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); + -rm -f $(TARGETA) + #$ Expand("TMAKE_AR_CMD"); + #$ ExpandGlue("TMAKE_RANLIB",""," "," \$(TARGETA)"); +#$ (Config("staticlib") || Project("TMAKE_APP_FLAG")) && EnableOutput(); +#$ Config("staticlib") || DisableOutput(); +all: #$ ExpandGlue("ALL_DEPS",""," "," "); $text .= '$(TARGET)'; + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); + -rm -f $(TARGET) + #$ Expand("TMAKE_AR_CMD"); + #$ ExpandGlue("TMAKE_RANLIB",""," "," \$(TARGET)"); +#$ Config("staticlib") || EnableOutput(); + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) +#$ (Config("staticlib") || Project("TMAKE_APP_FLAG")) && DisableOutput(); + -rm -f $(TARGET0) $(TARGET1) $(TARGET2) $(TARGETA) +#$ (Config("staticlib") || Project("TMAKE_APP_FLAG")) && EnableOutput(); + #$ ExpandGlue("TMAKE_CLEAN","-rm -f "," ",""); + -rm -f *~ core + #$ ExpandGlue("CLEAN_FILES","-rm -f "," ",""); + +####### Sub-libraries + +#${ + if ( Project("SUBLIBS") ) { + for $m ( split / /, Project("SUBLIBS") ) { + $text .= "tmp/lib$m.a:\n\t"; + $text .= $project{"MAKELIB$m"}."\n"; + } + } +#$} + +###### Combined headers + +#${ + if ( Config("embedded") && Project("PRECOMPH") ) { + $t = "allmoc.cpp: ".Project("PRECOMPH")." ".$original_HEADERS; + ExpandList("HEADERS_ORIG"); + $t.= $text; + $t.= "\n\techo '#include \"".Project("PRECOMPH")."\"' >allmoc.cpp"; + $t.= "\n\t\$(CXX) -E -DQT_MOC_CPP \$(CXXFLAGS) \$(INCPATH) >allmoc.h allmoc.cpp"; + $t.= "\n\t\$(MOC) -o allmoc.cpp allmoc.h"; + $t.= "\n\tperl -pi -e 's{\"allmoc.h\"}{\"".Project("PRECOMPH")."\"}' allmoc.cpp"; + $t.= "\n\trm allmoc.h"; + $t.= "\n"; + $text = $t; + } +#$} + +####### Compile + +#$ BuildObj(Project("OBJECTS"),Project("SOURCES")); +#$ BuildUicSrc(Project("INTERFACES")); +#$ BuildObj(Project("UICOBJECTS"), Project("UICIMPLS")); +#$ BuildMocObj(Project("OBJMOC"),Project("SRCMOC")); +#$ BuildMocSrc(Project("HEADERS")); +#$ BuildMocSrc(Project("SOURCES")); +#$ BuildMocSrc( Project("UICDECLS")); diff --git a/vendor/ta-lib/make/gen_make/template/freebsd-g++/lib.t b/vendor/ta-lib/make/gen_make/template/freebsd-g++/lib.t new file mode 100644 index 000000000..2523b2f85 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/freebsd-g++/lib.t @@ -0,0 +1,2 @@ +#! Use the common Unix template +#$ IncludeTemplate("../unix/lib.t"); diff --git a/vendor/ta-lib/make/gen_make/template/freebsd-g++/subdirs.t b/vendor/ta-lib/make/gen_make/template/freebsd-g++/subdirs.t new file mode 100644 index 000000000..5e888af05 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/freebsd-g++/subdirs.t @@ -0,0 +1,2 @@ +#! Use the common Unix template +#$ IncludeTemplate("../unix/subdirs.t"); diff --git a/vendor/ta-lib/make/gen_make/template/freebsd-g++/tmake.conf b/vendor/ta-lib/make/gen_make/template/freebsd-g++/tmake.conf new file mode 100644 index 000000000..c9ff0f953 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/freebsd-g++/tmake.conf @@ -0,0 +1,65 @@ +# +# $Id$ +# +# tmake configuration for linux-g++ +# + +MAKEFILE_GENERATOR = UNIX +TEMPLATE = app +CONFIG = qt warn_on release + +TMAKE_CC = gcc +TMAKE_CFLAGS = -pipe +TMAKE_CFLAGS_WARN_ON = -Wall -W +TMAKE_CFLAGS_WARN_OFF = +TMAKE_CFLAGS_RELEASE = -O2 -fno-strict-aliasing +TMAKE_CFLAGS_DEBUG = -g +TMAKE_CFLAGS_SHLIB = -fPIC +TMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses +TMAKE_CFLAGS_THREAD = -D_REENTRANT + +TMAKE_CXX = g++ +TMAKE_CXXFLAGS = $$TMAKE_CFLAGS +TMAKE_CXXFLAGS_WARN_ON = $$TMAKE_CFLAGS_WARN_ON +TMAKE_CXXFLAGS_WARN_OFF = $$TMAKE_CFLAGS_WARN_OFF +TMAKE_CXXFLAGS_RELEASE = $$TMAKE_CFLAGS_RELEASE +TMAKE_CXXFLAGS_DEBUG = $$TMAKE_CFLAGS_DEBUG +TMAKE_CXXFLAGS_SHLIB = $$TMAKE_CFLAGS_SHLIB +TMAKE_CXXFLAGS_YACC = $$TMAKE_CFLAGS_YACC +TMAKE_CXXFLAGS_THREAD = $$TMAKE_CFLAGS_THREAD + +TMAKE_INCDIR = +TMAKE_LIBDIR = +TMAKE_INCDIR_X11 = /usr/X11R6/include +TMAKE_LIBDIR_X11 = /usr/X11R6/lib +TMAKE_INCDIR_QT = $(QTDIR)/include +TMAKE_LIBDIR_QT = $(QTDIR)/lib +TMAKE_INCDIR_OPENGL = /usr/X11R6/include +TMAKE_LIBDIR_OPENGL = /usr/X11R6/lib + +TMAKE_LINK = g++ +TMAKE_LINK_SHLIB = g++ +TMAKE_LFLAGS = -L/usr/local/lib +TMAKE_LFLAGS_RELEASE = +TMAKE_LFLAGS_DEBUG = +TMAKE_LFLAGS_SHLIB = -shared +TMAKE_LFLAGS_SONAME = -Wl,-soname, +TMAKE_LFLAGS_THREAD = +TMAKE_RPATH = -Wl,-rpath, + +TMAKE_LIBS = +TMAKE_LIBS_X11 = -lXext -lX11 -lm +TMAKE_LIBS_X11SM = -lICE -lSM +TMAKE_LIBS_QT = -lqt +TMAKE_LIBS_QT_THREAD = -lqt-mt +TMAKE_LIBS_OPENGL = -lGLU -lGL -lXmu +TMAKE_LIBS_THREAD = -pthread + +TMAKE_MOC = $(QTDIR)/bin/moc +TMAKE_UIC = $(QTDIR)/bin/uic + +TMAKE_AR = ar cqs +TMAKE_RANLIB = + +TMAKE_TAR = tar -cf +TMAKE_GZIP = gzip -9f diff --git a/vendor/ta-lib/make/gen_make/template/linux-g++/app.t b/vendor/ta-lib/make/gen_make/template/linux-g++/app.t new file mode 100644 index 000000000..867725eaa --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/linux-g++/app.t @@ -0,0 +1,2 @@ +#! Use the common Unix template +#$ IncludeTemplate("../unix/app.t"); diff --git a/vendor/ta-lib/make/gen_make/template/linux-g++/lib.t b/vendor/ta-lib/make/gen_make/template/linux-g++/lib.t new file mode 100644 index 000000000..2523b2f85 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/linux-g++/lib.t @@ -0,0 +1,2 @@ +#! Use the common Unix template +#$ IncludeTemplate("../unix/lib.t"); diff --git a/vendor/ta-lib/make/gen_make/template/linux-g++/subdirs.t b/vendor/ta-lib/make/gen_make/template/linux-g++/subdirs.t new file mode 100644 index 000000000..5e888af05 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/linux-g++/subdirs.t @@ -0,0 +1,2 @@ +#! Use the common Unix template +#$ IncludeTemplate("../unix/subdirs.t"); diff --git a/vendor/ta-lib/make/gen_make/template/linux-g++/tmake.conf b/vendor/ta-lib/make/gen_make/template/linux-g++/tmake.conf new file mode 100644 index 000000000..14b94b24c --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/linux-g++/tmake.conf @@ -0,0 +1,65 @@ +# +# $Id$ +# +# tmake configuration for linux-g++ +# + +MAKEFILE_GENERATOR = UNIX +TEMPLATE = app +CONFIG = qt warn_on release + +TMAKE_CC = gcc +TMAKE_CFLAGS = -pipe -fPIC +TMAKE_CFLAGS_WARN_ON = -Wall -W +TMAKE_CFLAGS_WARN_OFF = +TMAKE_CFLAGS_RELEASE = -O2 -fno-strict-aliasing +TMAKE_CFLAGS_DEBUG = -g +TMAKE_CFLAGS_SHLIB = -fPIC +TMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses +TMAKE_CFLAGS_THREAD = -D_REENTRANT + +TMAKE_CXX = g++ +TMAKE_CXXFLAGS = $$TMAKE_CFLAGS +TMAKE_CXXFLAGS_WARN_ON = $$TMAKE_CFLAGS_WARN_ON +TMAKE_CXXFLAGS_WARN_OFF = $$TMAKE_CFLAGS_WARN_OFF +TMAKE_CXXFLAGS_RELEASE = $$TMAKE_CFLAGS_RELEASE +TMAKE_CXXFLAGS_DEBUG = $$TMAKE_CFLAGS_DEBUG +TMAKE_CXXFLAGS_SHLIB = $$TMAKE_CFLAGS_SHLIB +TMAKE_CXXFLAGS_YACC = $$TMAKE_CFLAGS_YACC +TMAKE_CXXFLAGS_THREAD = $$TMAKE_CFLAGS_THREAD + +TMAKE_INCDIR = +TMAKE_LIBDIR = +TMAKE_INCDIR_X11 = /usr/X11R6/include +TMAKE_LIBDIR_X11 = /usr/X11R6/lib +TMAKE_INCDIR_QT = $(QTDIR)/include +TMAKE_LIBDIR_QT = $(QTDIR)/lib +TMAKE_INCDIR_OPENGL = /usr/X11R6/include +TMAKE_LIBDIR_OPENGL = /usr/X11R6/lib + +TMAKE_LINK = g++ +TMAKE_LINK_SHLIB = g++ +TMAKE_LFLAGS = +TMAKE_LFLAGS_RELEASE = +TMAKE_LFLAGS_DEBUG = +TMAKE_LFLAGS_SHLIB = -shared +TMAKE_LFLAGS_SONAME = -Wl,-soname, +TMAKE_LFLAGS_THREAD = +TMAKE_RPATH = -Wl,-rpath, + +TMAKE_LIBS = +TMAKE_LIBS_X11 = -lXext -lX11 -lm +TMAKE_LIBS_X11SM = -lICE -lSM +TMAKE_LIBS_QT = -lqt +TMAKE_LIBS_QT_THREAD = -lqt-mt +TMAKE_LIBS_OPENGL = -lGLU -lGL -lXmu +TMAKE_LIBS_THREAD = -lpthread + +TMAKE_MOC = $(QTDIR)/bin/moc +TMAKE_UIC = $(QTDIR)/bin/uic + +TMAKE_AR = ar cqs +TMAKE_RANLIB = + +TMAKE_TAR = tar -cf +TMAKE_GZIP = gzip -9f diff --git a/vendor/ta-lib/make/gen_make/template/unix/app.t b/vendor/ta-lib/make/gen_make/template/unix/app.t new file mode 100644 index 000000000..f59c9f904 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/unix/app.t @@ -0,0 +1,6 @@ +############################################################################# +#! +#! This is a tmake template for building Unix applications. +#! +#$ Project('TMAKE_APP_FLAG = 1'); +#$ IncludeTemplate("generic.t"); diff --git a/vendor/ta-lib/make/gen_make/template/unix/generic.t b/vendor/ta-lib/make/gen_make/template/unix/generic.t new file mode 100644 index 000000000..d44aae736 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/unix/generic.t @@ -0,0 +1,401 @@ +#! +#! This is a tmake template for building UNIX applications or libraries. +#! +#${ + Project('TMAKE_LIBS += $$LIBS'); + if ( !Project("INTERFACE_DECL_PATH") ) { + Project('INTERFACE_DECL_PATH = .' ); + } + if ( Project("TMAKE_LIB_FLAG") && !Config("staticlib") ) { + Project('CONFIG *= dll'); + } elsif ( Project("TMAKE_APP_FLAG") || Config("dll") ) { + Project('CONFIG -= staticlib'); + } + if ( Config("warn_off") ) { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_WARN_OFF'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_WARN_OFF'); + } elsif ( Config("warn_on") ) { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_WARN_ON'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_WARN_ON'); + } + if ( Config("debug") ) { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_DEBUG'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_DEBUG'); + Project('TMAKE_LFLAGS += $$TMAKE_LFLAGS_DEBUG'); + } elsif ( Config("release") ) { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_RELEASE'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_RELEASE'); + Project('TMAKE_LFLAGS += $$TMAKE_LFLAGS_RELEASE'); + } + if ( Project("TMAKE_INCDIR") ) { + AddIncludePath(Project("TMAKE_INCDIR")); + } + if ( Project("TMAKE_LIBDIR") ) { + Project('TMAKE_LIBDIR_FLAGS *= -L$$TMAKE_LIBDIR'); + } + if ( Config("qt") || Config("opengl") ) { + Project('CONFIG *= x11lib'); + if ( Config("opengl") ) { + Project('CONFIG *= x11inc'); + } + } + if ( Config("x11") ) { + Project('CONFIG *= x11lib'); + Project('CONFIG *= x11inc'); + } + if ( Config("thread") ) { + Project('DEFINES += QT_THREAD_SUPPORT'); + Project("TMAKE_CFLAGS_THREAD") && + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_THREAD'); + Project("TMAKE_CXXFLAGS_THREAD") && + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_THREAD'); + AddIncludePath(Project("TMAKE_INCDIR_THREAD")); + Project('TMAKE_LIBS *= $$TMAKE_LIBS_THREAD'); + Project("TMAKE_LFLAGS_THREAD") && + Project('TMAKE_LFLAGS += $$TMAKE_LFLAGS_THREAD'); + } + if ( Config("qt") ) { + Project('CONFIG *= moc'); + AddIncludePath(Project("TMAKE_INCDIR_QT")); + if ( !Config("debug") ) { + Project('DEFINES += NO_DEBUG'); + } + if ( !(((Project("TARGET") eq "qt") || (Project("TARGET") eq "qt-mt") || + (Project("TARGET") eq "qte") || (Project("TARGET") eq "qte-mt")) && + Project("TMAKE_LIB_FLAG")) ) { + Project("TMAKE_LIBDIR_QT") && + Project('TMAKE_LIBDIR_FLAGS *= -L$$TMAKE_LIBDIR_QT'); + if (Config("thread") && Project("TMAKE_LIBS_QT_THREAD")) { + Project('TMAKE_LIBS *= $$TMAKE_LIBS_QT_THREAD'); + } else { + Project('TMAKE_LIBS *= $$TMAKE_LIBS_QT'); + } + } + } + if ( Config("opengl") ) { + AddIncludePath(Project("TMAKE_INCDIR_OPENGL")); + Project("TMAKE_LIBDIR_OPENGL") && + Project('TMAKE_LIBDIR_FLAGS *= -L$$TMAKE_LIBDIR_OPENGL'); + Project('TMAKE_LIBS *= $$TMAKE_LIBS_OPENGL'); + } + if ( Config("x11inc") ) { + AddIncludePath(Project("TMAKE_INCDIR_X11")); + } + if ( Config("x11lib") ) { + Project("TMAKE_LIBDIR_X11") && + Project('TMAKE_LIBDIR_FLAGS *= -L$$TMAKE_LIBDIR_X11'); + Project('TMAKE_LIBS *= $$TMAKE_LIBS_X11'); + } + if ( Config("moc") ) { + $moc_aware = 1; + } + if ( !Project("TMAKE_RUN_CC") ) { + Project('TMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src'); + } + if ( !Project("TMAKE_RUN_CC_IMP") ) { + Project('TMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<'); + } + if ( !Project("TMAKE_RUN_CXX") ) { + Project('TMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src'); + } + if ( !Project("TMAKE_RUN_CXX_IMP") ) { + Project('TMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<'); + } + Project('TMAKE_FILETAGS = HEADERS SOURCES TARGET DESTDIR $$FILETAGS'); + if ( Config("embedded") && Project("PRECOMPH") ) { + Project('SOURCES += allmoc.cpp'); + $project{'HEADERS_ORIG'} = Project('HEADERS'); + $project{'HEADERS'} = ""; + } + StdInit(); + $project{"VERSION"} || ($project{"VERSION"} = "1.0.0"); + ($project{"VER_MAJ"},$project{"VER_MIN"},$project{"VER_PAT"}) + = $project{"VERSION"} =~ /(\d+)\.(\d+)\.(\d+)/; + if ( !defined($project{"VER_PAT"}) ) { + ($project{"VER_MAJ"},$project{"VER_MIN"}) + = $project{"VERSION"} =~ /(\d+)\.(\d+)/; + $project{"VER_PAT"} = "0"; + } + if ( !defined($project{"VER_MIN"}) ) { + ($project{"VER_MAJ"}) + = $project{"VERSION"} =~ /(\d+)/; + $project{"VER_MIN"} = "0"; + $project{"VER_PAT"} = "0"; + } + Project('DESTDIR_TARGET = $(TARGET)'); + if ( Project("TMAKE_APP_FLAG") ) { + if ( Config("dll") ) { + Project('TARGET = $$TARGET.so'); + Project("TMAKE_LFLAGS_SHAPP") || + ($project{"TMAKE_LFLAGS_SHAPP"} = $project{"TMAKE_LFLAGS_SHLIB"}); + Project("TMAKE_LFLAGS_SONAME") && + ($project{"TMAKE_LFLAGS_SONAME"} .= $project{"TARGET"}); + } + $project{"TARGET"} = $project{"DESTDIR"} . $project{"TARGET"}; + } elsif ( Config("staticlib") ) { + $project{"TARGET"} = $project{"DESTDIR"} . "lib" . + $project{"TARGET"} . ".a"; + Project("TMAKE_AR_CMD") || + Project('TMAKE_AR_CMD = $(AR) $(TARGET) $(OBJECTS) $(OBJMOC)'); + } else { + $project{"TARGETA"} = $project{"DESTDIR"} . "lib" . + $project{"TARGET"} . ".a"; + if ( Project("TMAKE_AR_CMD") ) { + $project{"TMAKE_AR_CMD"} =~ s/\(TARGET\)/\(TARGETA\)/g; + } else { + Project('TMAKE_AR_CMD = $(AR) $(TARGETA) $(OBJECTS) $(OBJMOC)'); + } + if ( $project{"TMAKE_HPUX_SHLIB"} ) { + $project{"TARGET_"} = "lib" . $project{"TARGET"} . ".sl"; + $project{"TARGET_x"} = "lib" . $project{"TARGET"} . "." . + $project{"VER_MAJ"}; + $project{"TARGET"} = $project{"TARGET_x"}; + } elsif ( $project{"TMAKE_AIX_SHLIB"} ) { + $project{"TARGET_"} = "lib" . $project{"TARGET"} . ".a"; + $project{"TARGET_x"} = "lib" . $project{"TARGET"} . ".so." . + $project{"VER_MAJ"}; + $project{"TARGET_x.y"} = "lib" . $project{"TARGET"} . ".so." . + $project{"VER_MAJ"} . "." . + $project{"VER_MIN"}; + $project{"TARGET_x.y.z"} = "lib" . $project{"TARGET"} . ".so." . + $project{"VER_MAJ"} . "." . + $project{"VER_MIN"} . "." . + $project{"VER_PAT"}; + $project{"TARGET"} = $project{"TARGET_x.y.z"}; + } else { + $project{"TARGET_"} = "lib" . $project{"TARGET"} . ".so"; + $project{"TARGET_x"} = "lib" . $project{"TARGET"} . ".so." . + $project{"VER_MAJ"}; + $project{"TARGET_x.y"} = "lib" . $project{"TARGET"} . ".so." . + $project{"VER_MAJ"} . "." . + $project{"VER_MIN"}; + $project{"TARGET_x.y.z"} = "lib" . $project{"TARGET"} . ".so." . + $project{"VER_MAJ"} . "." . + $project{"VER_MIN"} . "." . + $project{"VER_PAT"}; + $project{"TARGET"} = $project{"TARGET_x.y.z"}; + } + $project{"TMAKE_LN_SHLIB"} = "-ln -s"; + if ( $project{"DESTDIR"} ) { + $project{"DESTDIR_TARGET"} = $project{"DESTDIR"} . + $project{"TARGET"}; + } + Project("TMAKE_LFLAGS_SONAME") && + ($project{"TMAKE_LFLAGS_SONAME"} .= $project{"TARGET_x"}); + $project{"TMAKE_LINK_SHLIB_CMD"} || + ($project{"TMAKE_LINK_SHLIB_CMD"} = + '$(LINK) $(LFLAGS) -o $(TARGETD) $(OBJECTS) $(OBJMOC) $(LIBS)'); + } + if ( Config("dll") ) { + Project('TMAKE_CFLAGS *= $$TMAKE_CFLAGS_SHLIB' ); + Project('TMAKE_CXXFLAGS *= $$TMAKE_CXXFLAGS_SHLIB' ); + if ( Project("TMAKE_APP_FLAG") ) { + Project('TMAKE_LFLAGS *= $$TMAKE_LFLAGS_SHAPP'); + } else { + Project('TMAKE_LFLAGS *= $$TMAKE_LFLAGS_SHLIB $$TMAKE_LFLAGS_SONAME'); + } + } +#$} +#! +# Makefile for building #$ Expand("TARGET") +# Generated by tmake; +# Project: #$ Expand("PROJECT"); +# Template: #$ Expand("TEMPLATE"); +############################################################################# + +####### Compiler, tools and options + +CC = #$ Expand("TMAKE_CC"); +CXX = #$ Expand("TMAKE_CXX"); +CFLAGS = #$ Expand("TMAKE_CFLAGS"); ExpandGlue("DEFINES","-D"," -D",""); +CXXFLAGS= #$ Expand("TMAKE_CXXFLAGS"); ExpandGlue("DEFINES","-D"," -D",""); +INCPATH = #$ ExpandPath("INCPATH","-I"," -I",""); +#$ Config("staticlib") && DisableOutput(); +LINK = #$ Expand("TMAKE_LINK"); +LFLAGS = #$ Expand("TMAKE_LFLAGS"); +LIBS = $(SUBLIBS) #$ Expand("TMAKE_LIBDIR_FLAGS"); Expand("TMAKE_LIBS"); +#$ Config("staticlib") && EnableOutput(); +#$ Project("TMAKE_LIB_FLAG") || DisableOutput(); +AR = #$ Expand("TMAKE_AR"); +RANLIB = #$ Expand("TMAKE_RANLIB"); +#$ Project("TMAKE_LIB_FLAG") || EnableOutput(); +MOC = #$ Expand("TMAKE_MOC"); +UIC = #$ Expand("TMAKE_UIC"); + +TAR = #$ Expand("TMAKE_TAR"); +GZIP = #$ Expand("TMAKE_GZIP"); + +####### Support for 64-bit systems +ifeq ($(shell uname -m), x86_64) + CFLAGS += -march=x86-64 -m64 -D__64BIT__ + CXXFLAGS += -march=x86-64 -m64 -D__64BIT__ +endif + +####### Apply additional overruling user flags, if any +CFLAGS += $(CUSERFLAGS) +CXXFLAGS += $(CUSERFLAGS) + +####### Files + +HEADERS = #$ ExpandList("HEADERS"); +SOURCES = #$ ExpandList("SOURCES"); +OBJECTS = #$ ExpandList("OBJECTS"); +INTERFACES = #$ ExpandList("INTERFACES"); +UICDECLS = #$ ExpandList("UICDECLS"); +UICIMPLS = #$ ExpandList("UICIMPLS"); +SRCMOC = #$ ExpandList("SRCMOC"); +OBJMOC = #$ ExpandList("OBJMOC"); +DIST = #$ ExpandList("DISTFILES"); +TARGET = #$ Expand("TARGET"); +#$ (Project("TMAKE_APP_FLAG") || Config("staticlib")) && DisableOutput(); +TARGETA = #$ Expand("TARGETA"); +#$ Project("TMAKE_HPUX_SHLIB") && DisableOutput(); +TARGETD = #$ Expand("TARGET_x.y.z"); +TARGET0 = #$ Expand("TARGET_"); +TARGET1 = #$ Expand("TARGET_x"); +TARGET2 = #$ Expand("TARGET_x.y"); +#$ Project("TMAKE_HPUX_SHLIB") && EnableOutput(); +#$ !Project("TMAKE_HPUX_SHLIB") && DisableOutput(); +TARGETD = #$ Expand("TARGET_x"); +TARGET0 = #$ Expand("TARGET_"); +#$ !Project("TMAKE_HPUX_SHLIB") && EnableOutput(); +#$ (Project("TMAKE_APP_FLAG") || Config("staticlib")) && EnableOutput(); +INTERFACE_DECL_PATH = #$ Expand("INTERFACE_DECL_PATH"); + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .C .c + +.cpp.o: + #$ Expand("TMAKE_RUN_CXX_IMP"); + +.cxx.o: + #$ Expand("TMAKE_RUN_CXX_IMP"); + +.cc.o: + #$ Expand("TMAKE_RUN_CXX_IMP"); + +.C.o: + #$ Expand("TMAKE_RUN_CXX_IMP"); + +.c.o: + #$ Expand("TMAKE_RUN_CC_IMP"); + +####### Build rules + +#${ + if ( Project("SUBLIBS") ) { + $text = "SUBLIBS="; + for $m ( split / /, Project("SUBLIBS") ) { + $text .= "tmp/lib$m.a "; + } + $text .= "\n"; + } +#$} + +#$ Project("TMAKE_APP_FLAG") || DisableOutput(); +all: #$ ExpandGlue("ALL_DEPS",""," "," "); $text .= '$(TARGET)'; + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) +#$ Project("TMAKE_APP_FLAG") || EnableOutput(); +#$ (Config("staticlib") || Project("TMAKE_APP_FLAG")) && DisableOutput(); +all: #$ ExpandGlue("ALL_DEPS",""," ",""); Expand("DESTDIR_TARGET"); + +#$ Substitute('$$DESTDIR_TARGET: $(OBJECTS) $(OBJMOC) $(SUBLIBS) $$TARGETDEPS'); + #$ Project("TMAKE_HPUX_SHLIB") && DisableOutput(); + -rm -f $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2) + #$ Expand("TMAKE_LINK_SHLIB_CMD"); + #$ ExpandGlue("TMAKE_LN_SHLIB",""," "," \$(TARGET) \$(TARGET0)"); + #$ ExpandGlue("TMAKE_LN_SHLIB",""," "," \$(TARGET) \$(TARGET1)"); + #$ ExpandGlue("TMAKE_LN_SHLIB",""," "," \$(TARGET) \$(TARGET2)"); + #$ Project("TMAKE_HPUX_SHLIB") && EnableOutput(); + #$ !Project("TMAKE_HPUX_SHLIB") && DisableOutput(); + -rm -f $(TARGET) $(TARGET0) + #$ Expand("TMAKE_LINK_SHLIB_CMD"); + #$ ExpandGlue("TMAKE_LN_SHLIB",""," "," \$(TARGET) \$(TARGET0)"); + #$ !Project("TMAKE_HPUX_SHLIB") && EnableOutput(); + #${ + $d = Project("DESTDIR"); + if ( $d ) { + $d =~ s-([^/])$-$1/-; + if ( Project("TMAKE_HPUX_SHLIB") ) { + $text = "-rm -f $d\$(TARGET)\n\t" . + "-rm -f $d\$(TARGET0)\n\t" . + "-mv \$(TARGET) \$(TARGET0) $d"; + } else { + $text = "-rm -f $d\$(TARGET)\n\t" . + "-rm -f $d\$(TARGET0)\n\t" . + "-rm -f $d\$(TARGET1)\n\t" . + "-rm -f $d\$(TARGET2)\n\t" . + "-mv \$(TARGET) \$(TARGET0) \$(TARGET1) \$(TARGET2) $d"; + } + } + #$} + +staticlib: $(TARGETA) + +$(TARGETA): $(UICDECLS) $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); + -rm -f $(TARGETA) + #$ Expand("TMAKE_AR_CMD"); + #$ ExpandGlue("TMAKE_RANLIB",""," "," \$(TARGETA)"); +#$ (Config("staticlib") || Project("TMAKE_APP_FLAG")) && EnableOutput(); +#$ Config("staticlib") || DisableOutput(); +all: #$ ExpandGlue("ALL_DEPS",""," "," "); $text .= '$(TARGET)'; + +staticlib: $(TARGET) + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); + -rm -f $(TARGET) + #$ Expand("TMAKE_AR_CMD"); + #$ ExpandGlue("TMAKE_RANLIB",""," "," \$(TARGET)"); +#$ Config("staticlib") || EnableOutput(); + +moc: $(SRCMOC) + +clean: + -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) +#$ (Config("staticlib") || Project("TMAKE_APP_FLAG")) && DisableOutput(); + -rm -f $(TARGET0) $(TARGET1) $(TARGET2) $(TARGETA) +#$ (Config("staticlib") || Project("TMAKE_APP_FLAG")) && EnableOutput(); + #$ ExpandGlue("TMAKE_CLEAN","-rm -f "," ",""); + -rm -f *~ core + #$ ExpandGlue("CLEAN_FILES","-rm -f "," ",""); + +####### Sub-libraries + +#${ + if ( Project("SUBLIBS") ) { + for $m ( split / /, Project("SUBLIBS") ) { + $text .= "tmp/lib$m.a:\n\t"; + $text .= $project{"MAKELIB$m"}."\n"; + } + } +#$} + +###### Combined headers + +#${ + if ( Config("embedded") && Project("PRECOMPH") ) { + $t = "allmoc.cpp: ".Project("PRECOMPH")." ".$original_HEADERS; + ExpandList("HEADERS_ORIG"); + $t.= $text; + $t.= "\n\techo '#include \"".Project("PRECOMPH")."\"' >allmoc.cpp"; + $t.= "\n\t\$(CXX) -E -DQT_MOC_CPP \$(CXXFLAGS) \$(INCPATH) >allmoc.h allmoc.cpp"; + $t.= "\n\t\$(MOC) -o allmoc.cpp allmoc.h"; + $t.= "\n\tperl -pi -e 's{\"allmoc.h\"}{\"".Project("PRECOMPH")."\"}' allmoc.cpp"; + $t.= "\n\trm allmoc.h"; + $t.= "\n"; + $text = $t; + } +#$} + +####### Compile + +#$ BuildObj(Project("OBJECTS"),Project("SOURCES")); +#$ BuildUicSrc(Project("INTERFACES")); +#$ BuildObj(Project("UICOBJECTS"), Project("UICIMPLS")); +#$ BuildMocObj(Project("OBJMOC"),Project("SRCMOC")); +#$ BuildMocSrc(Project("HEADERS")); +#$ BuildMocSrc(Project("SOURCES")); +#$ BuildMocSrc( Project("UICDECLS")); diff --git a/vendor/ta-lib/make/gen_make/template/unix/lib.t b/vendor/ta-lib/make/gen_make/template/unix/lib.t new file mode 100644 index 000000000..dd24c63c1 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/unix/lib.t @@ -0,0 +1,6 @@ +############################################################################# +#! +#! This is a tmake template for building Unix libraries. +#! +#$ Project('TMAKE_LIB_FLAG = 1'); +#$ IncludeTemplate("generic.t"); diff --git a/vendor/ta-lib/make/gen_make/template/unix/subdirs.t b/vendor/ta-lib/make/gen_make/template/unix/subdirs.t new file mode 100644 index 000000000..4f947a04d --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/unix/subdirs.t @@ -0,0 +1,40 @@ +############################################################################# +#! +#! This is a tmake template for creating a makefile that invokes make in +#! sub directories - for Unix. +#! +#${ + StdInit(); + Project('MAKEFILE') || Project('MAKEFILE = Makefile'); + Project('TMAKE') || Project('TMAKE = tmake'); +#$} +#! +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: #$ Expand("PROJECT"); +# Template: #$ Expand("TEMPLATE"); +############################################################################# + +MAKEFILE= #$ Expand("MAKEFILE"); +TMAKE = #$ Expand("TMAKE"); + +SUBDIRS = #$ ExpandList("SUBDIRS"); + +all: $(SUBDIRS) + +$(SUBDIRS): FORCE + cd $@; $(MAKE) + +#$ TmakeSelf(); + +tmake_all: +#${ + $text = "\t" . 'for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done'; +#$} + +#### $text = "\t" . 'for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; pro=`basename $$i`.pro ; $(TMAKE) $$pro -o $(MAKEFILE); grep "TEMPLATE.*subdirs" $$pro 2>/dev/null >/dev/null && $(MAKE) -f $(MAKEFILE) tmake_all || true; fi; ) ; done'; + +clean release debug: + for i in $(SUBDIRS); do ( if [ -d $$i ]; then cd $$i ; $(MAKE) $@; fi; ) ; done + +FORCE: diff --git a/vendor/ta-lib/make/gen_make/template/win32-borland/app.t b/vendor/ta-lib/make/gen_make/template/win32-borland/app.t new file mode 100644 index 000000000..fc4dc2c79 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32-borland/app.t @@ -0,0 +1,6 @@ +############################################################################# +#! +#! This is a tmake template for building Win32 applications. +#! +#$ Project('TMAKE_APP_FLAG = 1'); +#$ IncludeTemplate("generic.t"); diff --git a/vendor/ta-lib/make/gen_make/template/win32-borland/generic.t b/vendor/ta-lib/make/gen_make/template/win32-borland/generic.t new file mode 100644 index 000000000..788f3bbf6 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32-borland/generic.t @@ -0,0 +1,270 @@ +#! +#! This is a tmake template for building Win32 applications or libraries. +#! +#${ + Project('CONFIG += qt') if Config("qt_dll"); + if ( !Project("INTERFACE_DECL_PATH") ) { + Project('INTERFACE_DECL_PATH = .' ); + } + if ( Config("qt") ) { + if ( !(Project("DEFINES") =~ /QT_NODLL/) && + ((Project("DEFINES") =~ /QT_(?:MAKE)?DLL/) || Config("qt_dll") || + ($ENV{"QT_DLL"} && !$ENV{"QT_NODLL"})) ) { + Project('TMAKE_QT_DLL = 1'); + if ( (Project("TARGET") eq "qt") && Project("TMAKE_LIB_FLAG") ) { + Project('CONFIG += dll'); + } + } + } + if ( Config("dll") || Project("TMAKE_APP_FLAG") ) { + Project('CONFIG -= staticlib'); + Project('TMAKE_APP_OR_DLL = 1'); + } else { + Project('CONFIG += staticlib'); + } + if ( Config("warn_off") ) { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_WARN_OFF'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_WARN_OFF'); + } elsif ( Config("warn_on") ) { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_WARN_ON'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_WARN_ON'); + } + if ( Config("thread") ) { + Project('DEFINES += QT_THREAD_SUPPORT'); + + } + if ( Config("debug") ) { + if ( Config("thread") ) { + if ( Config("dll") ) { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_MT_DLLDBG'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_MT_DLLDBG'); + } else { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_MT_DBG'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_MT_DBG'); + } + } else { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_DEBUG'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_DEBUG'); + } + Project('TMAKE_LFLAGS += $$TMAKE_LFLAGS_DEBUG'); + } elsif ( Config("release") ) { + if ( Config("thread") ) { + if ( Config("dll") ) { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_MT_DLL'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_MT_DLL'); + } else { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_MT'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_MT'); + } + } + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_RELEASE'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_RELEASE'); + Project('TMAKE_LFLAGS += $$TMAKE_LFLAGS_RELEASE'); + } + + if ( Project("TMAKE_INCDIR") ) { + AddIncludePath(Project("TMAKE_INCDIR")); + } + if ( Config("qt") || Config("opengl") ) { + Project('CONFIG += windows' ); + } + if ( Config("qt") ) { + Project('CONFIG *= moc'); + AddIncludePath(Project("TMAKE_INCDIR_QT")); + if ( !Config("debug") ) { + Project('DEFINES += NO_DEBUG'); + } + if ( (Project("TARGET") eq "qt") && Project("TMAKE_LIB_FLAG") ) { + if ( Project("TMAKE_QT_DLL") ) { + Project('DEFINES *= QT_MAKEDLL'); + Project('TMAKE_LFLAGS += $$TMAKE_LFLAGS_QT_DLL'); + } + } else { + Project('TMAKE_LIBS *= $$TMAKE_LIBS_QT'); + if ( Project("TMAKE_QT_DLL") ) { + my $qtver =FindHighestLibVersion($ENV{"QTDIR"} . "/lib", "qt"); + Project("TMAKE_LIBS /= s/qt.lib/qt${qtver}.lib/"); + if ( !Config("dll") ) { + Project('TMAKE_LIBS *= $$TMAKE_LIBS_QT_DLL'); + } + } + } + } + if ( Config("opengl") ) { + Project('TMAKE_LIBS *= $$TMAKE_LIBS_OPENGL'); + } + if ( Config("dll") ) { + Project('TMAKE_LFLAGS_CONSOLE_ANY = $$TMAKE_LFLAGS_CONSOLE_DLL'); + Project('TMAKE_LFLAGS_WINDOWS_ANY = $$TMAKE_LFLAGS_WINDOWS_DLL'); + if ( Project("TMAKE_LIB_FLAG") ) { + my $ver = Project("VERSION"); + $ver =~ s/\.//g; + $project{"TARGET_EXT"} = "${ver}.dll"; + } else { + $project{"TARGET_EXT"} = ".dll"; + } + } else { + Project('TMAKE_LFLAGS_CONSOLE_ANY = $$TMAKE_LFLAGS_CONSOLE'); + Project('TMAKE_LFLAGS_WINDOWS_ANY = $$TMAKE_LFLAGS_WINDOWS'); + if ( Project("TMAKE_APP_FLAG") ) { + $project{"TARGET_EXT"} = ".exe"; + } else { + $project{"TARGET_EXT"} = ".lib"; + } + } + if ( Config("windows") ) { + if ( Config("console") ) { + Project('TMAKE_LFLAGS *= $$TMAKE_LFLAGS_CONSOLE_ANY'); + Project('TMAKE_LIBS *= $$TMAKE_LIBS_CONSOLE'); + } else { + Project('TMAKE_LFLAGS *= $$TMAKE_LFLAGS_WINDOWS_ANY'); + } + Project('TMAKE_LIBS *= $$TMAKE_LIBS_WINDOWS'); + } else { + Project('TMAKE_LFLAGS *= $$TMAKE_LFLAGS_CONSOLE_ANY'); + Project('TMAKE_LIBS *= $$TMAKE_LIBS_CONSOLE'); + } + if ( Config("thread") ) { + Project('TMAKE_LIBS *= $$TMAKE_LIBS_RTMT'); + } else { + Project('TMAKE_LIBS *= $$TMAKE_LIBS_RT'); + } + if ( Config("moc") ) { + $moc_aware = 1; + } + Project('TMAKE_LIBS += $$LIBS'); + Project('TMAKE_FILETAGS = HEADERS SOURCES DEF_FILE RC_FILE TARGET TMAKE_LIBS DESTDIR DLLDESTDIR $$FILETAGS'); + foreach ( split(/\s/,Project("TMAKE_FILETAGS")) ) { + $project{$_} =~ s-[/\\]+-\\-g; + } + if ( Project("RC_FILE") ) { + if ( Project("RES_FILE") ) { + tmake_error("Both .rc and .res file specified.\n" . + "Please specify one of them, not both."); + } + $project{"RES_FILE"} = $project{"RC_FILE"}; + $project{"RES_FILE"} =~ s/\.rc$/.res/i; + Project('TARGETDEPS += $$RES_FILE'); + } + StdInit(); + if ( Project("VERSION") ) { + $project{"VER_MAJ"} = $project{"VERSION"}; + $project{"VER_MAJ"} =~ s/\.\d+$//; + $project{"VER_MIN"} = $project{"VERSION"}; + $project{"VER_MIN"} =~ s/^\d+\.//; + } + Project('TMAKE_CLEAN += $$TARGET.tds'); +#$} +#! +# Makefile for building #$ Expand("TARGET") +# Generated by tmake; +# Project: #$ Expand("PROJECT"); +# Template: #$ Expand("TEMPLATE"); +############################################################################# + +!if !$d(BCB) +BCB = $(MAKEDIR)\.. +!endif + +####### Compiler, tools and options + +CC = #$ Expand("TMAKE_CC"); +CXX = #$ Expand("TMAKE_CXX"); +CFLAGS = #$ Expand("TMAKE_CFLAGS"); ExpandGlue("DEFINES","-D"," -D",""); +CXXFLAGS= #$ Expand("TMAKE_CXXFLAGS"); ExpandGlue("DEFINES","-D"," -D",""); +INCPATH = #$ ExpandPath("INCPATH",'-I',' -I',''); +#$ !Project("TMAKE_APP_OR_DLL") && DisableOutput(); +LINK = #$ Expand("TMAKE_LINK"); +LFLAGS = #$ Expand("TMAKE_LFLAGS"); +LIBS = #$ Expand("TMAKE_LIBS"); +#$ !Project("TMAKE_APP_OR_DLL") && EnableOutput(); +#$ Project("TMAKE_APP_OR_DLL") && DisableOutput(); +LIB = #$ Expand("TMAKE_LIB"); +#$ Project("TMAKE_APP_OR_DLL") && EnableOutput(); +MOC = #$ Expand("TMAKE_MOC"); +UIC = #$ Expand("TMAKE_UIC"); + +ZIP = #$ Expand("TMAKE_ZIP"); +DEF_FILE = #$ ExpandList("DEF_FILE"); +RES_FILE = #$ ExpandList("RES_FILE"); + +####### Files + +HEADERS = #$ ExpandList("HEADERS"); +SOURCES = #$ ExpandList("SOURCES"); +OBJECTS = #$ ExpandList("OBJECTS"); +INTERFACES = #$ ExpandList("INTERFACES"); +UICDECLS = #$ ExpandList("UICDECLS"); +UICIMPLS = #$ ExpandList("UICIMPLS"); +SRCMOC = #$ ExpandList("SRCMOC"); +OBJMOC = #$ ExpandList("OBJMOC"); +DIST = #$ ExpandList("DISTFILES"); +TARGET = #$ ExpandGlue("TARGET",$project{"DESTDIR"},"",$project{"TARGET_EXT"}); +INTERFACE_DECL_PATH = #$ Expand("INTERFACE_DECL_PATH"); + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + #$ Expand("TMAKE_RUN_CXX_IMP"); + +.cxx.obj: + #$ Expand("TMAKE_RUN_CXX_IMP"); + +.cc.obj: + #$ Expand("TMAKE_RUN_CXX_IMP"); + +.c.obj: + #$ Expand("TMAKE_RUN_CC_IMP"); + +####### Build rules + +all: #$ ExpandGlue("ALL_DEPS",""," "," "); $text .= '$(TARGET)'; + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); +#$ Project("TMAKE_APP_OR_DLL") || DisableOutput(); + $(LINK) @&&| + $(LFLAGS) $(OBJECTS) $(OBJMOC),$(TARGET),,$(LIBS),$(DEF_FILE),$(RES_FILE) +#$ Project("TMAKE_APP_OR_DLL") || EnableOutput(); +#$ Project("TMAKE_APP_OR_DLL") && DisableOutput(); + -del $(TARGET) + $(LIB) $(TARGET) @&&| +#${ +# $text = "+" . join(" \\\n+",split(/\s+/,$project{"OBJECTS"})) . " \\\n+" +# . join(" \\\n+",split(/\s+/,$project{"OBJMOC"})); +#$} +#$ Project("TMAKE_APP_OR_DLL") && EnableOutput(); +| +#$ (Config("dll") && Project("DLLDESTDIR")) || DisableOutput(); + -copy $(TARGET) #$ Expand("DLLDESTDIR"); +#$ (Config("dll") && Project("DLLDESTDIR")) || EnableOutput(); +#$ Project("RC_FILE") || DisableOutput(); + +#$ Substitute("\$\$RES_FILE: \$\$RC_FILE\n\t\$\$TMAKE_RC \$\$RC_FILE"); +#$ Project("RC_FILE") || EnableOutput(); + +moc: $(SRCMOC) + +#$ TmakeSelf(); + +dist: + #$ Substitute('$(ZIP) $$PROJECT.zip $$PROJECT.pro $(SOURCES) $(HEADERS) $(DIST)'); + +clean: + #$ ExpandGlue("OBJECTS","-del ","\n\t-del ",""); + #$ ExpandGlue("SRCMOC" ,"-del ","\n\t-del ",""); + #$ ExpandGlue("OBJMOC" ,"-del ","\n\t-del ",""); + -del $(TARGET) + #$ ExpandGlue("TMAKE_CLEAN","-del ","\n\t-del ",""); + #$ ExpandGlue("CLEAN_FILES","-del ","\n\t-del ",""); + +####### Compile + +#$ BuildObj(Project("OBJECTS"),Project("SOURCES")); +#$ BuildUicSrc(Project("INTERFACES")); +#$ BuildObj(Project("UICOBJECTS"), Project("UICIMPLS")); +#$ BuildMocObj(Project("OBJMOC"),Project("SRCMOC")); +#$ BuildMocSrc(Project("HEADERS")); +#$ BuildMocSrc(Project("SOURCES")); +#$ BuildMocSrc(Project("UICDECLS")); diff --git a/vendor/ta-lib/make/gen_make/template/win32-borland/lib.t b/vendor/ta-lib/make/gen_make/template/win32-borland/lib.t new file mode 100644 index 000000000..d8ac6c7a7 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32-borland/lib.t @@ -0,0 +1,6 @@ +############################################################################# +#! +#! This is a tmake template for building Win32 libraries. +#! +#$ Project('TMAKE_LIB_FLAG = 1'); +#$ IncludeTemplate("generic.t"); diff --git a/vendor/ta-lib/make/gen_make/template/win32-borland/subdirs.t b/vendor/ta-lib/make/gen_make/template/win32-borland/subdirs.t new file mode 100644 index 000000000..f08e41f76 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32-borland/subdirs.t @@ -0,0 +1,3 @@ +#! Use the common Win32 template +#$ Project("TMAKE_NOFORCE = 1"); +#$ IncludeTemplate("../win32/subdirs.t"); diff --git a/vendor/ta-lib/make/gen_make/template/win32-borland/tmake.conf b/vendor/ta-lib/make/gen_make/template/win32-borland/tmake.conf new file mode 100644 index 000000000..90ac2414f --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32-borland/tmake.conf @@ -0,0 +1,69 @@ +# +# $Id$ +# +# tmake configuration for Win32/Borland C++ +# + +MAKEFILE_GENERATOR = BMAKE +TEMPLATE = app +CONFIG = qt warn_on release + +TMAKE_CC = bcc32 +TMAKE_CFLAGS = -x- -RT- -tWR +#TMAKE_CFLAGS_WARN_ON = -w -w-8004 -w-8071 -w-8066 -w-8008 -w-8080 -w-8057 +TMAKE_CFLAGS_WARN_ON = -w -w-8004 -w-8071 -w-8057 -w-8080 +TMAKE_CFLAGS_WARN_OFF = -w- +TMAKE_CFLAGS_RELEASE = -O2 +TMAKE_CFLAGS_DEBUG = -v +TMAKE_CFLAGS_MT = -tWM +TMAKE_CFLAGS_MT_DBG = -tWM +TMAKE_CFLAGS_MT_DLL = -tWM +TMAKE_CFLAGS_MT_DLLDBG = -tWM +TMAKE_CFLAGS_YACC = + +TMAKE_CXX = $$TMAKE_CC +TMAKE_CXXFLAGS = $$TMAKE_CFLAGS +TMAKE_CXXFLAGS_WARN_ON = $$TMAKE_CFLAGS_WARN_ON +TMAKE_CXXFLAGS_WARN_OFF = $$TMAKE_CFLAGS_WARN_OFF +TMAKE_CXXFLAGS_RELEASE = $$TMAKE_CFLAGS_RELEASE +TMAKE_CXXFLAGS_DEBUG = $$TMAKE_CFLAGS_DEBUG +TMAKE_CXXFLAGS_MT = $$TMAKE_CFLAGS_MT +TMAKE_CXXFLAGS_MT_DBG = $$TMAKE_CFLAGS_MT_DBG +TMAKE_CXXFLAGS_MT_DLL = $$TMAKE_CFLAGS_MT_DLL +TMAKE_CXXFLAGS_MT_DLLDBG= $$TMAKE_CFLAGS_MT_DLLDBG +TMAKE_CXXFLAGS_YACC = $$TMAKE_CFLAGS_YACC + +TMAKE_INCDIR = +TMAKE_INCDIR_QT = $(QTDIR)\include + +TMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -o$obj $src +TMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< +TMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$obj $src +TMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +TMAKE_LINK = ilink32 +TMAKE_LFLAGS = -L$(BCB)\lib -L$(BCB)\lib\PSDK -c -x -Gn +TMAKE_LFLAGS_RELEASE = +TMAKE_LFLAGS_DEBUG = -v +TMAKE_LFLAGS_CONSOLE = -ap -Tpe c0x32.obj +TMAKE_LFLAGS_WINDOWS = -aa -Tpe c0w32.obj +TMAKE_LFLAGS_CONSOLE_DLL= -Gi -ap -Tpd c0d32.obj +TMAKE_LFLAGS_WINDOWS_DLL= -Gi -aa -Tpd c0d32.obj + +TMAKE_LIBS = import32.lib +TMAKE_LIBS_RT = cw32i.lib +TMAKE_LIBS_RTMT = cw32mti.lib +TMAKE_LIBS_CONSOLE = +TMAKE_LIBS_WINDOWS = +TMAKE_LIBS_QT = $(QTDIR)\lib\qt.lib +TMAKE_LIBS_QT_DLL = $(QTDIR)\lib\qtmain.lib + +TMAKE_LIBS_OPENGL = + +TMAKE_MOC = moc +TMAKE_UIC = uic + +TMAKE_LIB = tlib /C /P256 +TMAKE_RC = brc32 + +TMAKE_ZIP = zip -r -9 diff --git a/vendor/ta-lib/make/gen_make/template/win32-msvc/app.t b/vendor/ta-lib/make/gen_make/template/win32-msvc/app.t new file mode 100644 index 000000000..fc4dc2c79 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32-msvc/app.t @@ -0,0 +1,6 @@ +############################################################################# +#! +#! This is a tmake template for building Win32 applications. +#! +#$ Project('TMAKE_APP_FLAG = 1'); +#$ IncludeTemplate("generic.t"); diff --git a/vendor/ta-lib/make/gen_make/template/win32-msvc/generic.t b/vendor/ta-lib/make/gen_make/template/win32-msvc/generic.t new file mode 100644 index 000000000..1d6a6f424 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32-msvc/generic.t @@ -0,0 +1,261 @@ +#! +#! This is a tmake template for building Win32 applications or libraries. +#! +#${ + Project('CONFIG += qt') if Config("qt_dll"); + if ( !Project("INTERFACE_DECL_PATH") ) { + Project('INTERFACE_DECL_PATH = .' ); + } + if ( Config("qt") ) { + if ( !(Project("DEFINES") =~ /QT_NODLL/) && + ((Project("DEFINES") =~ /QT_(?:MAKE)?DLL/) || Config("qt_dll") || + ($ENV{"QT_DLL"} && !$ENV{"QT_NODLL"})) ) { + Project('TMAKE_QT_DLL = 1'); + if ( (Project("TARGET") eq "qt") && Project("TMAKE_LIB_FLAG") ) { + Project('CONFIG += dll'); + } + } + } + if ( Config("dll") || Project("TMAKE_APP_FLAG") ) { + Project('CONFIG -= staticlib'); + Project('TMAKE_APP_OR_DLL = 1'); + } else { + Project('CONFIG += staticlib'); + } + if ( Config("warn_off") ) { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_WARN_OFF'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_WARN_OFF'); + } elsif ( Config("warn_on") ) { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_WARN_ON'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_WARN_ON'); + } + if ( Config("thread") ) { + Project('DEFINES += QT_THREAD_SUPPORT'); + } + if ( Config("debug") ) { + if ( Config("thread") ) { + if ( Config("dll") ) { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_MT_DLLDBG'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_MT_DLLDBG'); + } else { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_MT_DBG'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_MT_DBG'); + } + } else { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_DEBUG'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_DEBUG'); + } + Project('TMAKE_LFLAGS += $$TMAKE_LFLAGS_DEBUG'); + } elsif ( Config("release") ) { + if ( Config("thread") ) { + if ( Config("dll") ) { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_MT_DLL'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_MT_DLL'); + } else { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_MT'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_MT'); + } + } + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_RELEASE'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_RELEASE'); + Project('TMAKE_LFLAGS += $$TMAKE_LFLAGS_RELEASE'); + } + + if ( Project("TMAKE_INCDIR") ) { + AddIncludePath(Project("TMAKE_INCDIR")); + } + if ( Config("qt") || Config("opengl") ) { + Project('CONFIG += windows' ); + } + if ( Config("qt") ) { + Project('CONFIG *= moc'); + AddIncludePath(Project("TMAKE_INCDIR_QT")); + if ( !Config("debug") ) { + Project('DEFINES += NO_DEBUG'); + } + if ( (Project("TARGET") eq "qt") && Project("TMAKE_LIB_FLAG") ) { + if ( Project("TMAKE_QT_DLL") ) { + Project('DEFINES *= QT_MAKEDLL'); + Project('TMAKE_LFLAGS += $$TMAKE_LFLAGS_QT_DLL'); + } + } else { + Project('TMAKE_LIBS *= $$TMAKE_LIBS_QT'); + if ( Project("TMAKE_QT_DLL") ) { + my $qtver =FindHighestLibVersion($ENV{"QTDIR"} . "/lib", "qt"); + Project("TMAKE_LIBS /= s/qt.lib/qt${qtver}.lib/"); + if ( !Config("dll") ) { + Project('TMAKE_LIBS *= $$TMAKE_LIBS_QT_DLL'); + } + } + } + } + if ( Config("opengl") ) { + Project('TMAKE_LIBS *= $$TMAKE_LIBS_OPENGL'); + } + if ( Config("dll") ) { + Project('TMAKE_LFLAGS_CONSOLE_ANY = $$TMAKE_LFLAGS_CONSOLE_DLL'); + Project('TMAKE_LFLAGS_WINDOWS_ANY = $$TMAKE_LFLAGS_WINDOWS_DLL'); + if ( Project("TMAKE_LIB_FLAG") ) { + my $ver = Project("VERSION"); + $ver =~ s/\.//g; + $project{"TARGET_EXT"} = "${ver}.dll"; + } else { + $project{"TARGET_EXT"} = ".dll"; + } + } else { + Project('TMAKE_LFLAGS_CONSOLE_ANY = $$TMAKE_LFLAGS_CONSOLE'); + Project('TMAKE_LFLAGS_WINDOWS_ANY = $$TMAKE_LFLAGS_WINDOWS'); + if ( Project("TMAKE_APP_FLAG") ) { + $project{"TARGET_EXT"} = ".exe"; + } else { + $project{"TARGET_EXT"} = ".lib"; + } + } + if ( Config("windows") ) { + if ( Config("console") ) { + Project('TMAKE_LFLAGS *= $$TMAKE_LFLAGS_CONSOLE_ANY'); + Project('TMAKE_LIBS *= $$TMAKE_LIBS_CONSOLE'); + } else { + Project('TMAKE_LFLAGS *= $$TMAKE_LFLAGS_WINDOWS_ANY'); + } + Project('TMAKE_LIBS *= $$TMAKE_LIBS_WINDOWS'); + } else { + Project('TMAKE_LFLAGS *= $$TMAKE_LFLAGS_CONSOLE_ANY'); + Project('TMAKE_LIBS *= $$TMAKE_LIBS_CONSOLE'); + } + if ( Config("moc") ) { + $moc_aware = 1; + } + Project('TMAKE_LIBS += $$LIBS'); + Project('TMAKE_FILETAGS = HEADERS SOURCES DEF_FILE RC_FILE TARGET TMAKE_LIBS DESTDIR DLLDESTDIR $$FILETAGS'); + foreach ( split(/\s/,Project("TMAKE_FILETAGS")) ) { + $project{$_} =~ s-[/\\]+-\\-g; + } + if ( Project("DEF_FILE") ) { + Project('TMAKE_LFLAGS *= /DEF:$$DEF_FILE'); + } + if ( Project("RC_FILE") ) { + if ( Project("RES_FILE") ) { + tmake_error("Both .rc and .res file specified.\n" . + "Please specify one of them, not both."); + } + $project{"RES_FILE"} = $project{"RC_FILE"}; + $project{"RES_FILE"} =~ s/\.rc$/.res/i; + Project('TARGETDEPS += $$RES_FILE'); + } + if ( Project("RES_FILE") ) { + Project('TMAKE_LIBS *= $$RES_FILE'); + } + StdInit(); + if ( Project("VERSION") ) { + $project{"VER_MAJ"} = $project{"VERSION"}; + $project{"VER_MAJ"} =~ s/\.\d+$//; + $project{"VER_MIN"} = $project{"VERSION"}; + $project{"VER_MIN"} =~ s/^\d+\.//; + } + Project('dll:TMAKE_CLEAN += $$TARGET.lib $$TARGET.exp'); + Project('debug:TMAKE_CLEAN += $$TARGET.pdb vc*.pdb $$TARGET.ilk'); +#$} +#! +# Makefile for building #$ Expand("TARGET") +# Generated by tmake; +# Project: #$ Expand("PROJECT"); +# Template: #$ Expand("TEMPLATE"); +############################################################################# + +####### Compiler, tools and options + +CC = #$ Expand("TMAKE_CC"); +CXX = #$ Expand("TMAKE_CXX"); +CFLAGS = #$ Expand("TMAKE_CFLAGS"); ExpandGlue("DEFINES","-D"," -D",""); +CXXFLAGS= #$ Expand("TMAKE_CXXFLAGS"); ExpandGlue("DEFINES","-D"," -D",""); +INCPATH = #$ ExpandPath("INCPATH",'-I',' -I',''); +#$ !Project("TMAKE_APP_OR_DLL") && DisableOutput(); +LINK = #$ Expand("TMAKE_LINK"); +LFLAGS = #$ Expand("TMAKE_LFLAGS"); +LIBS = #$ Expand("TMAKE_LIBS"); +#$ !Project("TMAKE_APP_OR_DLL") && EnableOutput(); +#$ Project("TMAKE_APP_OR_DLL") && DisableOutput(); +LIB = #$ Expand("TMAKE_LIB"); +#$ Project("TMAKE_APP_OR_DLL") && EnableOutput(); +MOC = #$ Expand("TMAKE_MOC"); +UIC = #$ Expand("TMAKE_UIC"); + +ZIP = #$ Expand("TMAKE_ZIP"); + +####### Files + +HEADERS = #$ ExpandList("HEADERS"); +SOURCES = #$ ExpandList("SOURCES"); +OBJECTS = #$ ExpandList("OBJECTS"); +INTERFACES = #$ ExpandList("INTERFACES"); +UICDECLS = #$ ExpandList("UICDECLS"); +UICIMPLS = #$ ExpandList("UICIMPLS"); +SRCMOC = #$ ExpandList("SRCMOC"); +OBJMOC = #$ ExpandList("OBJMOC"); +DIST = #$ ExpandList("DISTFILES"); +TARGET = #$ ExpandGlue("TARGET",$project{"DESTDIR"},"",$project{"TARGET_EXT"}); +INTERFACE_DECL_PATH = #$ Expand("INTERFACE_DECL_PATH"); + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + #$ Expand("TMAKE_RUN_CXX_IMP"); + +.cxx.obj: + #$ Expand("TMAKE_RUN_CXX_IMP"); + +.cc.obj: + #$ Expand("TMAKE_RUN_CXX_IMP"); + +.c.obj: + #$ Expand("TMAKE_RUN_CC_IMP"); + +####### Build rules + +all: #$ ExpandGlue("ALL_DEPS",""," "," "); $text .= '$(TARGET)'; + +$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); +#$ Project("TMAKE_APP_OR_DLL") || DisableOutput(); + $(LINK) $(LFLAGS) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) $(LIBS) +#$ Project("TMAKE_APP_OR_DLL") || EnableOutput(); +#$ Project("TMAKE_APP_OR_DLL") && DisableOutput(); + $(LIB) /OUT:$(TARGET) @<< + $(OBJECTS) $(OBJMOC) +#$ Project("TMAKE_APP_OR_DLL") && EnableOutput(); +<< +#$ (Config("dll") && Project("DLLDESTDIR")) || DisableOutput(); + -copy $(TARGET) #$ Expand("DLLDESTDIR"); +#$ (Config("dll") && Project("DLLDESTDIR")) || EnableOutput(); +#$ Project("RC_FILE") || DisableOutput(); + +#$ Substitute("\$\$RES_FILE: \$\$RC_FILE\n\t\$\$TMAKE_RC \$\$RC_FILE"); +#$ Project("RC_FILE") || EnableOutput(); + +moc: $(SRCMOC) + +#$ TmakeSelf(); + +dist: + #$ Substitute('$(ZIP) $$PROJECT.zip $$PROJECT.pro $(SOURCES) $(HEADERS) $(DIST) $(INTERFACES)'); + +clean: + #$ ExpandGlue("OBJECTS","-del ","\n\t-del ",""); + #$ ExpandGlue("SRCMOC" ,"-del ","\n\t-del ",""); + #$ ExpandGlue("OBJMOC" ,"-del ","\n\t-del ",""); + -del $(TARGET) + #$ ExpandGlue("CLEAN_FILES","-del ","\n\t-del ",""); + #$ ExpandGlue("TMAKE_CLEAN","-del ","\n\t-del ",""); + +####### Compile + +#$ BuildObj(Project("OBJECTS"),Project("SOURCES")); +#$ BuildUicSrc(Project("INTERFACES")); +#$ BuildObj(Project("UICOBJECTS"), Project("UICIMPLS")); +#$ BuildMocObj(Project("OBJMOC"),Project("SRCMOC")); +#$ BuildMocSrc(Project("HEADERS")); +#$ BuildMocSrc(Project("SOURCES")); +#$ BuildMocSrc( Project("UICDECLS")); diff --git a/vendor/ta-lib/make/gen_make/template/win32-msvc/lib.t b/vendor/ta-lib/make/gen_make/template/win32-msvc/lib.t new file mode 100644 index 000000000..d8ac6c7a7 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32-msvc/lib.t @@ -0,0 +1,6 @@ +############################################################################# +#! +#! This is a tmake template for building Win32 libraries. +#! +#$ Project('TMAKE_LIB_FLAG = 1'); +#$ IncludeTemplate("generic.t"); diff --git a/vendor/ta-lib/make/gen_make/template/win32-msvc/subdirs.t b/vendor/ta-lib/make/gen_make/template/win32-msvc/subdirs.t new file mode 100644 index 000000000..247fb4bfc --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32-msvc/subdirs.t @@ -0,0 +1,54 @@ +############################################################################# +#! +#! This is a tmake template for creating a makefile that invokes make in +#! sub directories - for Win32. +#! +#${ + StdInit(); + $m = ""; + foreach ( split(/\s+/,$project{"SUBDIRS"}) ) { + $m = $m . "\tcd $_\n\tDOMAKE\n\t\@cd ..\n"; + } + $project{"SUBMAKE"} = $m; + Project('MAKEFILE') || Project('MAKEFILE = Makefile'); + Project('TMAKE') || Project('TMAKE = tmake'); +#$} +#! +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: #$ Expand("PROJECT"); +# Template: #$ Expand("TEMPLATE"); +############################################################################# + +MAKEFILE= #$ Expand("MAKEFILE"); +TMAKE = #$ Expand("TMAKE"); + +SUBDIRS = #$ ExpandList("SUBDIRS"); + +all: $(SUBDIRS) + +#${ + foreach ( split(/\s+/,$project{"SUBDIRS"}) ) { + if ( Project("TMAKE_NOFORCE") ) { + $text = $text . $_ . ":\n\t" . + "cd $_\n\t\$(MAKE\) /nologo\n\t\@cd ..\n\n"; + } else { + $text = $text . $_ . ": FORCE\n\t" . + "cd $_\n\t\$(MAKE\) /nologo\n\t\@cd ..\n\n"; + } + } +#$} +#$ TmakeSelf(); + +tmake_all: +#${ + foreach ( split(/\s+/,$project{"SUBDIRS"}) ) { + $text .= "\tcd $_\n\t\$(TMAKE\) $_.pro -o \$(MAKEFILE)\n\t\@cd ..\n"; + } +#$} + +clean: +#$ $text = $project{"SUBMAKE"}; $text =~ s/DOMAKE/\$(MAKE\) clean/g; +#$ Project("TMAKE_NOFORCE") && DisableOutput(); +FORCE: +#$ Project("TMAKE_NOFORCE") && EnableOutput(); diff --git a/vendor/ta-lib/make/gen_make/template/win32-msvc/tmake.conf b/vendor/ta-lib/make/gen_make/template/win32-msvc/tmake.conf new file mode 100644 index 000000000..552f0cea0 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32-msvc/tmake.conf @@ -0,0 +1,67 @@ +# +# $Id$ +# +# tmake configuration for Win32/Microsoft C++ +# + +MAKEFILE_GENERATOR = DSP +TEMPLATE = app +CONFIG = qt warn_on release + +TMAKE_CC = cl +TMAKE_CFLAGS = -nologo +TMAKE_CFLAGS_WARN_ON = -W3 +TMAKE_CFLAGS_WARN_OFF = -W0 +TMAKE_CFLAGS_RELEASE = -O2 +TMAKE_CFLAGS_DEBUG = -Zi +TMAKE_CFLAGS_MT = -MT +TMAKE_CFLAGS_MT_DBG = -MTd -Zi +TMAKE_CFLAGS_MT_DLL = -MD +TMAKE_CFLAGS_MT_DLLDBG = -MDd -Zi +TMAKE_CFLAGS_YACC = + +TMAKE_CXX = $$TMAKE_CC +TMAKE_CXXFLAGS = $$TMAKE_CFLAGS +TMAKE_CXXFLAGS_WARN_ON = $$TMAKE_CFLAGS_WARN_ON +TMAKE_CXXFLAGS_WARN_OFF = $$TMAKE_CFLAGS_WARN_OFF +TMAKE_CXXFLAGS_RELEASE = $$TMAKE_CFLAGS_RELEASE +TMAKE_CXXFLAGS_DEBUG = $$TMAKE_CFLAGS_DEBUG +TMAKE_CXXFLAGS_MT = $$TMAKE_CFLAGS_MT +TMAKE_CXXFLAGS_MT_DBG = $$TMAKE_CFLAGS_MT_DBG +TMAKE_CXXFLAGS_MT_DLL = $$TMAKE_CFLAGS_MT_DLL +TMAKE_CXXFLAGS_MT_DLLDBG= $$TMAKE_CFLAGS_MT_DLLDBG +TMAKE_CXXFLAGS_YACC = $$TMAKE_CFLAGS_YACC + +TMAKE_INCDIR = +TMAKE_INCDIR_QT = $(QTDIR)\include + +TMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$obj $src +TMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< +TMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$obj $src +TMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< + +TMAKE_LINK = link +TMAKE_LFLAGS = /NOLOGO +TMAKE_LFLAGS_RELEASE = +TMAKE_LFLAGS_DEBUG = /DEBUG +TMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:console +TMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:windows +TMAKE_LFLAGS_CONSOLE_DLL= /SUBSYSTEM:console /DLL +TMAKE_LFLAGS_WINDOWS_DLL= /SUBSYSTEM:windows /DLL +TMAKE_LFLAGS_QT_DLL = /BASE:0x39D00000 + +TMAKE_LIBS = +TMAKE_LIBS_CONSOLE = +TMAKE_LIBS_WINDOWS = kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib imm32.lib winmm.lib wsock32.lib +TMAKE_LIBS_QT = $(QTDIR)\lib\qt.lib +TMAKE_LIBS_QT_DLL = $(QTDIR)\lib\qtmain.lib + +TMAKE_LIBS_OPENGL = opengl32.lib glu32.lib + +TMAKE_MOC = moc +TMAKE_UIC = uic + +TMAKE_LIB = lib /NOLOGO +TMAKE_RC = rc + +TMAKE_ZIP = zip -r -9 diff --git a/vendor/ta-lib/make/gen_make/template/win32-msvc/vcapp.t b/vendor/ta-lib/make/gen_make/template/win32-msvc/vcapp.t new file mode 100644 index 000000000..4bfdcaf9c --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32-msvc/vcapp.t @@ -0,0 +1,12 @@ +#! +#! This is a tmake template for building Win32 application project files. +#! +#! Sets a flag to indicate that we want to build an application and then +#! invoke the common vcgeneric.t template. +#! +#! The win32app.dsp file is used as a template for building applications. +#! You may specify your own .dsp template by setting the project variable +#! DSP_TEMPLATE. +#! +#$ Project('TMAKE_APP_FLAG = 1'); +#$ IncludeTemplate("vcgeneric.t"); diff --git a/vendor/ta-lib/make/gen_make/template/win32-msvc/vcgeneric.t b/vendor/ta-lib/make/gen_make/template/win32-msvc/vcgeneric.t new file mode 100644 index 000000000..ea0819b42 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32-msvc/vcgeneric.t @@ -0,0 +1,268 @@ +#! +#! This is a tmake template for building MSVC++ project files (.dsp) +#! +#${ + if ( Config("qt") ) { + if ( !(Project("DEFINES") =~ /QT_NODLL/) && + ((Project("DEFINES") =~ /QT_(?:MAKE)?DLL/) || + ($ENV{"QT_DLL"} && !$ENV{"QT_NODLL"})) ) { + Project('TMAKE_QT_DLL = 1'); + if ( (Project("TARGET") eq "qt" || Project("TARGET") eq "qt-mt" ) && Project("TMAKE_LIB_FLAG") ) { + Project('CONFIG += dll'); + } + } + } + if ( Config("dll") || Project("TMAKE_APP_FLAG") ) { + Project('CONFIG -= staticlib'); + Project('TMAKE_APP_OR_DLL = 1'); + } else { + Project('CONFIG += staticlib'); + } + if ( Config("qt") || Config("opengl") ) { + Project('CONFIG += windows' ); + } + if ( Config("qt") ) { + Project('CONFIG *= moc'); + Project('DEFINES *= UNICODE' ); + AddIncludePath(Project("TMAKE_INCDIR_QT")); + Project('TMAKE_LIBS *= imm32.lib wsock32.lib winmm.lib'); + if ( Config("opengl") ) { + Project('TMAKE_LIBS *= $$TMAKE_LIBS_QT_OPENGL'); + } + if ( (Project("TARGET") eq "qt" || Project("TARGET") eq "qt-mt") && Project("TMAKE_LIB_FLAG") ) { + if ( Project("TMAKE_QT_DLL") ) { + Project('DEFINES *= QT_MAKEDLL'); + Project('MSVCDSP_DLLBASE = /base:"0x39D00000"'); + } + } else { + Project('TMAKE_LIBS *= $$TMAKE_LIBS_QT'); + if ( Project("TMAKE_QT_DLL") ) { + my $qtver =FindHighestLibVersion($ENV{"QTDIR"} . "/lib", "qt"); + Project("TMAKE_LIBS /= s/qt.lib/qt${qtver}.lib/"); + if ( !Config("dll") ) { + Project('TMAKE_LIBS *= $$TMAKE_LIBS_QT_DLL'); + } + } + } + } + if ( Config("opengl") ) { + Project('TMAKE_LIBS *= $$TMAKE_LIBS_OPENGL'); + } + Project( 'DEFINES *= QT_THREAD_SUPPORT' ); + if ( Config("debug") ) { + $project{"MSVCDSP_MTDEF"} = "-MDd"; + } else { + $project{"MSVCDSP_MTDEF"} = "-MD"; + } + if ( Config("dll") ) { + if ( Project("TMAKE_LIB_FLAG") ) { + my $ver = Project("VERSION"); + $ver =~ s/\.//g; + $project{"TARGET_EXT"} = "${ver}.dll"; + } else { + $project{"TARGET_EXT"} = ".dll"; + } + } else { + if ( Project("TMAKE_APP_FLAG") ) { + $project{"TARGET_EXT"} = ".exe"; + } else { + $project{"TARGET_EXT"} = ".lib"; + } + } + $project{"TARGET"} .= $project{"TARGET_EXT"}; + if ( Config("moc") ) { + $moc_aware = 1; + } + Project('TMAKE_LIBS += $$LIBS'); + Project('TMAKE_FILETAGS = HEADERS SOURCES DEF_FILE RC_FILE TARGET TMAKE_LIBS DESTDIR DLLDESTDIR $$FILETAGS'); + foreach ( split(/\s/,Project("TMAKE_FILETAGS")) ) { + $project{$_} =~ s-[/\\]+-\\-g; + } + StdInit(); + if ( check_unix() ) { + $is_msvc5 = 0; + } else { + tmake_use_win32_registry(); + $HKEY_CURRENT_USER->Open("Software\\Microsoft\\DevStudio\\5.0",$is_msvc5); + } + if ( $is_msvc5 ) { + $project{"MSVCDSP_VER"} = "5.00"; + $project{"MSVCDSP_DEBUG_OPT"} = "/Zi"; + } else { + $project{"MSVCDSP_VER"} = "6.00"; + $project{"MSVCDSP_DEBUG_OPT"} = "/GZ /ZI"; + } + $project{"MSVCDSP_PROJECT"} = $project{"OUTFILE"}; + $project{"MSVCDSP_PROJECT"} =~ s/\.[a-zA-Z0-9_]*$//; + + if ( Project("TMAKE_APP_FLAG") ) { + $project{"MSVCDSP_TEMPLATE"} = "win32app.dsp"; + if ( Config("console") ) { + $project{"MSVCDSP_CONSOLE"} = "Console"; + $project{"MSVCDSP_WINCONDEF"} = "_CONSOLE"; + $project{"MSVCDSP_DSPTYPE"} = "0x0103"; + $project{"MSVCDSP_SUBSYSTEM"} = "console"; + } else { + $project{"MSVCDSP_CONSOLE"} = ""; + $project{"MSVCDSP_WINCONDEF"} = "_WINDOWS"; + $project{"MSVCDSP_DSPTYPE"} = "0x0101"; + $project{"MSVCDSP_SUBSYSTEM"} = "windows"; + } + } else { + if ( Config("dll") ) { + $project{"MSVCDSP_TEMPLATE"} = "win32dll.dsp"; + } else { + $project{"MSVCDSP_TEMPLATE"} = "win32lib.dsp"; + } + } + $project{"MSVCDSP_LIBS"} = $project{"TMAKE_LIBS"}; + ExpandGlue("DEFINES",'/D "','" /D "','"'); + $project{"MSVCDSP_DEFINES"} = $text; $text = ""; + ExpandPath("INCPATH",'/I ',' /I ',''); + $project{"MSVCDSP_INCPATH"} = $text; $text = ""; + if ( Config("qt") ) { + $project{"MSVCDSP_RELDEFS"} = '/D "NO_DEBUG"'; + } else { + $project{"MSVCDSP_RELDEFS"} = ''; + } + if ( defined($project{"DESTDIR"}) ) { + $project{"TARGET"} = $project{"DESTDIR"} . "\\" . $project{"TARGET"}; + $project{"TARGET"} =~ s/\\+/\\/g; + $project{"MSVCDSP_TARGET"} = '/out:"' . $project{"TARGET"} . '"'; + if ( Config("dll") ) { + my $t = $project{"TARGET"}; + $t =~ s/\.dll/.lib/; + $project{"MSVCDSP_TARGET"} .= " /implib:\"$t\""; + } + } + if ( Config("dll") && Project("DLLDESTDIR") ) { + $project{"MSVCDSP_COPY_DLL"} = + "# Begin Special Build Tool\n" . + "TargetPath=" . $project{"TARGET"} . "\n" . + "SOURCE=\$(InputPath)\n" . + "PostBuild_Desc=Copy DLL to " . $project{"DLLDESTDIR"} . "\n" . + "PostBuild_Cmds=copy \$(TargetPath) \"" . $project{"DLLDESTDIR"} . "\"\n" . + "# End Special Build Tool"; + } + if ( Project("DSP_TEMPLATE") ) { + $dspfile = Project("DSP_TEMPLATE"); + } else { + $dspfile = Project("MSVCDSP_TEMPLATE"); + } + $dsppath= &fix_path( &find_template($dspfile) ); + if ( !open(DSP,$dsppath) ) { + &tmake_error("Cannot open dsp template $dspfile at $dsppath"); + } + if ( Config("moc") ) { + $project{"SOURCES"} .= " " . $project{"SRCMOC"}; + } + if ( $project{"SOURCES"} || $project{"RC_FILE"} ) { + $project{"SOURCES"} .= " " . $project{"RC_FILE"}; + @files = split(/\s+/,$project{"SOURCES"}); $text = ""; + foreach ( @files ) { + $file = $_; + $text .= "# Begin Source File\n\nSOURCE=.\\$file\n"; + if ( Config("moc") && ($file =~ /\.moc$/) ) { + $build = "\n\n# Begin Custom Build - Moc'ing $moc_input{$file}...\n" . + "InputPath=.\\$file\n\n" . + '"' . $file . + '" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"' . "\n" . + "\t%QTDIR%\\bin\\moc.exe " . $moc_input{$file} . " -o $file\n\n" . + "# End Custom Build\n\n"; + $base = $file; + $base =~ s/\..*//; + $base =~ tr/a-z/A-Z/; + $base =~ s/[^A-Z]/_/g; + $text .= "USERDEP_$base=" . '"' . $moc_input{$file} . '"' . + "\n\n" . '!IF "$(CFG)" == "' . + $project{"MSVCDSP_PROJECT"} . ' - Win32 Release"' . + $build . '!ELSEIF "$(CFG)" == "' . + $project{"MSVCDSP_PROJECT"} . ' - Win32 Debug"' . + $build . "!ENDIF \n\n"; + } + $text .= "# End Source File\n"; + } + $project{"MSVCDSP_SOURCES"} = $text; $text = ""; + } + if ( $project{"HEADERS"} ) { + @files = split(/\s+/,$project{"HEADERS"}); $text = ""; + foreach ( @files ) { + $file = $_; + $text .= "# Begin Source File\n\nSOURCE=.\\$file\n"; + if ( Config("moc") && $moc_output{$file} ) { + $build = "\n\n# Begin Custom Build - Moc'ing $file...\n" . + "InputPath=.\\$file\n\n" . + '"' . $moc_output{$file} . + '" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"' . "\n" . + "\t%QTDIR%\\bin\\moc.exe $file -o " . $moc_output{$file} . "\n\n" . + "# End Custom Build\n\n"; + $text .= "\n" . '!IF "$(CFG)" == "' . + $project{"MSVCDSP_PROJECT"} . ' - Win32 Release"' . + $build . '!ELSEIF "$(CFG)" == "' . + $project{"MSVCDSP_PROJECT"} . ' - Win32 Debug"' . + $build . "!ENDIF \n\n"; + } + $text .= "# End Source File\n"; + } + $project{"MSVCDSP_HEADERS"} = $text; $text = ""; + } + if ($project{"INTERFACES"} ) { + $uicpath = Expand("TMAKE_UIC"); + $uicpath =~ s/[.]exe//g; + $uicpath .= " "; + @files = split(/\s+/,$project{"INTERFACES"}); $text = ""; $headtext = ""; $sourcetext = ""; + foreach ( @files ) { + $file = $_; + $filename = $file; + $filename =~ s/[.]ui//g; + $text .= "# Begin Source File\n\nSOURCE=.\\$file\n"; + + $build = "\n\n# Begin Custom Build - Uic'ing $file...\n" . + "InputPath=.\\$file\n\n" . + "BuildCmds= " . $uicpath . $file . + " -o " . $filename . ".h\\\n" . + "\t" . $uicpath . $file . + " -i " . $filename . ".h -o " . $filename . ".cpp\\\n" . + "\t%QTDIR%\\bin\\moc " . $filename . ".h -o " . $project{"MOC_DIR"} . "moc_" . $filename . ".cpp \\\n\n" . + '"' . $filename . '.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"' . "\n" . + "\t\$(BuildCmds)\n\n" . + '"' . $filename . '.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"' . "\n" . + "\t\$(BuildCmds)\n\n" . + '"' . $project{"MOC_DIR"} . 'moc_' . $filename . '.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"' . "\n" . + "\t\$(BuildCmds)\n\n" . + "# End Custom Build\n\n"; + + $text .= '!IF "$(CFG)" == "' . + $project{"MSVCDSP_PROJECT"} . ' - Win32 Release"' . $build . + '!ELSEIF "$(CFG)" == "' . + $project{"MSVCDSP_PROJECT"} . ' - Win32 Debug"' . $build . + "!ENDIF \n\n"; + + $text .= "# End Source File\n"; + + $sourcetext .= "# Begin Source File\n\nSOURCE=.\\" . $filename . ".cpp\n# End Source File\n"; + $headtext .= "# Begin Source File\n\nSOURCE=.\\" . $filename . ".h\n# End Source File\n"; + + } + $project{"MSVCDSP_INTERFACES"} = $text; $text = ""; + $project{"MSVCDSP_INTERFACESOURCES"} = $sourcetext; $sourcetext = ""; + $project{"MSVCDSP_INTERFACEHEADERS"} = $headtext; $headtext = ""; + } + while ( ) { + $line = $_; + while ( $line =~ s/((\s*)\$\$([a-zA-Z0-9_]+))/__MSVCDSP_SUBST__/ ) { + if ( defined($project{$3}) && ($project{$3} ne "")) { + $subst = $project{$3}; + $space = $2; + $line =~ s/__MSVCDSP_SUBST__/${space}${subst}/; + if ( $line =~ /^\s*$/ ) { + $line = ""; + } + } else { + $line =~ s/__MSVCDSP_SUBST__//; + } + } + $text .= $line; + } + close(DSP); +#$} diff --git a/vendor/ta-lib/make/gen_make/template/win32-msvc/vclib.t b/vendor/ta-lib/make/gen_make/template/win32-msvc/vclib.t new file mode 100644 index 000000000..6ce04c9eb --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32-msvc/vclib.t @@ -0,0 +1,14 @@ +#! +#! This is a tmake template for building Win32 library project files. +#! +#! Sets a flag to indicate that we want to build a library (either +#! a static library or a DLL) and then invoke the common vcgeneric.t +#! template. +#! +#! The win32lib.dsp file is used as a template for building static +#! libraries and win32dll.dsp is used as a template for building DLLs. +#! You may specify your own .dsp template by setting the project variable +#! DSP_TEMPLATE. +#! +#$ Project('TMAKE_LIB_FLAG = 1'); +#$ IncludeTemplate("vcgeneric.t"); diff --git a/vendor/ta-lib/make/gen_make/template/win32-msvc/win32app.dsp b/vendor/ta-lib/make/gen_make/template/win32-msvc/win32app.dsp new file mode 100644 index 000000000..d2f2cd1f8 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32-msvc/win32app.dsp @@ -0,0 +1,109 @@ +# Microsoft Developer Studio Project File - Name="$$MSVCDSP_PROJECT" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version $$MSVCDSP_VER +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) $$MSVCDSP_CONSOLE Application" $$MSVCDSP_DSPTYPE + +CFG=$$MSVCDSP_PROJECT - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "$$MSVCDSP_PROJECT.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "$$MSVCDSP_PROJECT.mak" CFG="$$MSVCDSP_PROJECT - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "$$MSVCDSP_PROJECT - Win32 Release" (based on "Win32 (x86) Application") +!MESSAGE "$$MSVCDSP_PROJECT - Win32 Debug" (based on "Win32 (x86) Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "$$MSVCDSP_PROJECT - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo $$MSVCDSP_MTDEF /W3 /O1 /D "WIN32" /D "NDEBUG" /D "$$MSVCDSP_WINCONDEF" /D "_MBCS" /FD /c +# ADD CPP /nologo $$MSVCDSP_MTDEF /W3 /O1 $$MSVCDSP_INCPATH /D "WIN32" /D "NDEBUG" /D "$$MSVCDSP_WINCONDEF" /D "_MBCS" $$MSVCDSP_DEFINES $$MSVCDSP_RELDEFS /FD /c +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib imm32.lib winmm.lib wsock32.lib /nologo /subsystem:$$MSVCDSP_SUBSYSTEM /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib imm32.lib winmm.lib wsock32.lib $$MSVCDSP_LIBS /nologo /subsystem:$$MSVCDSP_SUBSYSTEM /machine:I386 $$MSVCDSP_TARGET + +!ELSEIF "$(CFG)" == "$$MSVCDSP_PROJECT - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo $$MSVCDSP_MTDEF /W3 /Gm $$MSVCDSP_DEBUG_OPT /Od /D "WIN32" /D "_DEBUG" /D "$$MSVCDSP_WINCONDEF" /D "_MBCS" /FD /c +# ADD CPP /nologo $$MSVCDSP_MTDEF /W3 /Gm $$MSVCDSP_DEBUG_OPT /Od $$MSVCDSP_INCPATH /D "WIN32" /D "_DEBUG" /D "$$MSVCDSP_WINCONDEF" /D "_MBCS" $$MSVCDSP_DEFINES /FD /c +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib imm32.lib winmm.lib wsock32.lib /nologo /subsystem:$$MSVCDSP_SUBSYSTEM /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib imm32.lib winmm.lib wsock32.lib $$MSVCDSP_LIBS /nologo /subsystem:$$MSVCDSP_SUBSYSTEM /debug /machine:I386 $$MSVCDSP_TARGET /nodefaultlib:"libc" /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "$$MSVCDSP_PROJECT - Win32 Release" +# Name "$$MSVCDSP_PROJECT - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +$$MSVCDSP_SOURCES +$$MSVCDSP_INTERFACESOURCES +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +$$MSVCDSP_HEADERS +$$MSVCDSP_INTERFACEHEADERS +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# Begin Group "Interfaces" +$$MSVCDSP_INTERFACES +# Prop Default_Filter "ui" +# End Group +# End Target +# End Project diff --git a/vendor/ta-lib/make/gen_make/template/win32-msvc/win32dll.dsp b/vendor/ta-lib/make/gen_make/template/win32-msvc/win32dll.dsp new file mode 100644 index 000000000..87f390b86 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32-msvc/win32dll.dsp @@ -0,0 +1,112 @@ +# Microsoft Developer Studio Project File - Name="$$MSVCDSP_PROJECT" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version $$MSVCDSP_VER +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=$$MSVCDSP_PROJECT - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "$$MSVCDSP_PROJECT.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "$$MSVCDSP_PROJECT.mak" CFG="$$MSVCDSP_PROJECT - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "$$MSVCDSP_PROJECT - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "$$MSVCDSP_PROJECT - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "$$MSVCDSP_PROJECT - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo $$MSVCDSP_MTDEF /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /FD /c +# ADD CPP /nologo $$MSVCDSP_MTDEF /W3 /O1 $$MSVCDSP_INCPATH /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" $$MSVCDSP_DEFINES $$MSVCDSP_RELDEFS /FD /c +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib $$MSVCDSP_LIBS /nologo $$MSVCDSP_DLLBASE /dll /machine:I386 $$MSVCDSP_TARGET +$$MSVCDSP_COPY_DLL + +!ELSEIF "$(CFG)" == "$$MSVCDSP_PROJECT - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo $$MSVCDSP_MTDEF /W3 /Gm $$MSVCDSP_DEBUG_OPT /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /FD /c +# ADD CPP /nologo $$MSVCDSP_MTDEF /W3 /Gm $$MSVCDSP_DEBUG_OPT /Od $$MSVCDSP_INCPATH /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" $$MSVCDSP_DEFINES /FD /c +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib $$MSVCDSP_LIBS /nologo $$MSVCDSP_DLLBASE /dll /debug /machine:I386 $$MSVCDSP_TARGET /pdbtype:sept +$$MSVCDSP_COPY_DLL + +!ENDIF + +# Begin Target + +# Name "$$MSVCDSP_PROJECT - Win32 Release" +# Name "$$MSVCDSP_PROJECT - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +$$MSVCDSP_SOURCES +$$MSVCDSP_INTERFACESOURCES +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +$$MSVCDSP_HEADERS +$$MSVCDSP_INTERFACEHEADERS +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# Begin Group "Interfaces" +$$MSVCDSP_INTERFACES + +# Prop Default_Filter "ui" +# End Group +# End Target +# End Project diff --git a/vendor/ta-lib/make/gen_make/template/win32-msvc/win32lib.dsp b/vendor/ta-lib/make/gen_make/template/win32-msvc/win32lib.dsp new file mode 100644 index 000000000..a97617dfe --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32-msvc/win32lib.dsp @@ -0,0 +1,105 @@ +# Microsoft Developer Studio Project File - Name="$$MSVCDSP_PROJECT" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version $$MSVCDSP_VER +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=$$MSVCDSP_PROJECT - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "$$MSVCDSP_PROJECT.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "$$MSVCDSP_PROJECT.mak" CFG="$$MSVCDSP_PROJECT - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "$$MSVCDSP_PROJECT - Win32 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "$$MSVCDSP_PROJECT - Win32 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "$$MSVCDSP_PROJECT - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo $$MSVCDSP_MTDEF /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /FD /c +# ADD CPP /nologo $$MSVCDSP_MTDEF /W3 /O1 $$MSVCDSP_INCPATH /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" $$MSVCDSP_DEFINES /FD /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo $$MSVCDSP_TARGET + +!ELSEIF "$(CFG)" == "$$MSVCDSP_PROJECT - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo $$MSVCDSP_MTDEF /W3 /Gm $$MSVCDSP_DEBUG_OPT /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /FD /c +# ADD CPP /nologo $$MSVCDSP_MTDEF /W3 /Gm $$MSVCDSP_DEBUG_OPT /Od $$MSVCDSP_INCPATH /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" $$MSVCDSP_DEFINES /FD /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo $$MSVCDSP_TARGET + +!ENDIF + +# Begin Target + +# Name "$$MSVCDSP_PROJECT - Win32 Release" +# Name "$$MSVCDSP_PROJECT - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +$$MSVCDSP_SOURCES +$$MSVCDSP_INTERFACESOURCES +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +$$MSVCDSP_HEADERS +$$MSVCDSP_INTERFACEHEADERS +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# Begin Group "Interfaces" +$$MSVCDSP_INTERFACES + +# Prop Default_Filter "ui" +# End Group +# End Target +# End Project diff --git a/vendor/ta-lib/make/gen_make/template/win32-symantec/app.t b/vendor/ta-lib/make/gen_make/template/win32-symantec/app.t new file mode 100644 index 000000000..fc4dc2c79 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32-symantec/app.t @@ -0,0 +1,6 @@ +############################################################################# +#! +#! This is a tmake template for building Win32 applications. +#! +#$ Project('TMAKE_APP_FLAG = 1'); +#$ IncludeTemplate("generic.t"); diff --git a/vendor/ta-lib/make/gen_make/template/win32-symantec/generic.t b/vendor/ta-lib/make/gen_make/template/win32-symantec/generic.t new file mode 100644 index 000000000..318047303 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32-symantec/generic.t @@ -0,0 +1,227 @@ +#! +#! This is a tmake template for building Win32 applications or libraries. +#! +#${ + Project('CONFIG += qt') if Config("qt_dll"); + if ( Config("qt") ) { + if ( !(Project("DEFINES") =~ /QT_NODLL/) && + ((Project("DEFINES") =~ /QT_(?:MAKE)?DLL/) || Config("qt_dll") || + ($ENV{"QT_DLL"} && !$ENV{"QT_NODLL"})) ) { + Project('TMAKE_QT_DLL = 1'); + if ( (Project("TARGET") eq "qt") && Project("TMAKE_LIB_FLAG") ) { + Project('CONFIG += dll'); + } + } + } + if ( Config("dll") || Project("TMAKE_APP_FLAG") ) { + Project('CONFIG -= staticlib'); + Project('TMAKE_APP_OR_DLL = 1'); + } else { + Project('CONFIG += staticlib'); + } + if ( Config("warn_off") ) { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_WARN_OFF'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_WARN_OFF'); + } elsif ( Config("warn_on") ) { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_WARN_ON'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_WARN_ON'); + } + if ( Config("debug") ) { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_DEBUG'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_DEBUG'); + Project('TMAKE_LFLAGS += $$TMAKE_LFLAGS_DEBUG'); + } elsif ( Config("release") ) { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_RELEASE'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_RELEASE'); + Project('TMAKE_LFLAGS += $$TMAKE_LFLAGS_RELEASE'); + } + if ( Project("TMAKE_INCDIR") ) { + AddIncludePath(Project("TMAKE_INCDIR")); + } + if ( Config("qt") || Config("opengl") ) { + Project('CONFIG += windows' ); + } + if ( Config("qt") ) { + Project('CONFIG *= moc'); + AddIncludePath(Project("TMAKE_INCDIR_QT")); + if ( !Config("debug") ) { + Project('DEFINES += NO_DEBUG'); + } + if ( (Project("TARGET") eq "qt") && Project("TMAKE_LIB_FLAG") ) { + if ( Project("TMAKE_QT_DLL") ) { + Project('DEFINES *= QT_MAKEDLL'); + Project('TMAKE_LFLAGS += $$TMAKE_LFLAGS_QT_DLL'); + } + } else { + Project('TMAKE_LIBS *= $$TMAKE_LIBS_QT'); + if ( Project("TMAKE_QT_DLL") ) { + my $qtver =FindHighestLibVersion($ENV{"QTDIR"} . "/lib", "qt"); + Project("TMAKE_LIBS /= s/qt.lib/qt${qtver}.lib/"); + if ( !Config("dll") ) { + Project('TMAKE_LIBS *= $$TMAKE_LIBS_QT_DLL'); + } + } + } + } + if ( Config("opengl") ) { + Project('TMAKE_LIBS *= $$TMAKE_LIBS_OPENGL'); + } + if ( Config("dll") ) { + Project('TMAKE_LFLAGS_CONSOLE_ANY = $$TMAKE_LFLAGS_CONSOLE_DLL'); + Project('TMAKE_LFLAGS_WINDOWS_ANY = $$TMAKE_LFLAGS_WINDOWS_DLL'); + if ( Project("TMAKE_LIB_FLAG") ) { + my $ver = Project("VERSION"); + $ver =~ s/\.//g; + $project{"TARGET_EXT"} = "${ver}.dll"; + } else { + $project{"TARGET_EXT"} = ".dll"; + } + } else { + Project('TMAKE_LFLAGS_CONSOLE_ANY = $$TMAKE_LFLAGS_CONSOLE'); + Project('TMAKE_LFLAGS_WINDOWS_ANY = $$TMAKE_LFLAGS_WINDOWS'); + if ( Project("TMAKE_APP_FLAG") ) { + $project{"TARGET_EXT"} = ".exe"; + } else { + $project{"TARGET_EXT"} = ".lib"; + } + } + if ( Config("windows") ) { + if ( Config("console") ) { + Project('TMAKE_LFLAGS *= $$TMAKE_LFLAGS_CONSOLE_ANY'); + Project('TMAKE_LIBS *= $$TMAKE_LIBS_CONSOLE'); + } else { + Project('TMAKE_LFLAGS *= $$TMAKE_LFLAGS_WINDOWS_ANY'); + } + Project('TMAKE_LIBS *= $$TMAKE_LIBS_WINDOWS'); + } else { + Project('TMAKE_LFLAGS *= $$TMAKE_LFLAGS_CONSOLE_ANY'); + Project('TMAKE_LIBS *= $$TMAKE_LIBS_CONSOLE'); + } + if ( Config("moc") ) { + $moc_aware = 1; + } + Project('TMAKE_LIBS += $$LIBS'); + Project('TMAKE_FILETAGS = HEADERS SOURCES DEF_FILE RC_FILE TARGET TMAKE_LIBS DESTDIR DLLDESTDIR $$FILETAGS'); + foreach ( split(/\s/,Project("TMAKE_FILETAGS")) ) { + $project{$_} =~ s-[/\\]+-\\-g; + } + if ( Project("DEF_FILE") ) { + Project('TMAKE_LFLAGS *= /DEF:$$DEF_FILE'); + } + if ( Project("RC_FILE") ) { + if ( Project("RES_FILE") ) { + tmake_error("Both .rc and .res file specified.\n" . + "Please specify one of them, not both."); + } + $project{"RES_FILE"} = $project{"RC_FILE"}; + $project{"RES_FILE"} =~ s/\.rc$/.res/i; + Project('TARGETDEPS += $$RES_FILE'); + } + if ( Project("RES_FILE") ) { + Project('TMAKE_LIBS *= $$RES_FILE'); + } + StdInit(); + if ( Project("VERSION") ) { + $project{"VER_MAJ"} = $project{"VERSION"}; + $project{"VER_MAJ"} =~ s/\.\d+$//; + $project{"VER_MIN"} = $project{"VERSION"}; + $project{"VER_MIN"} =~ s/^\d+\.//; + } +#$} +#! +# Makefile for building #$ Expand("TARGET") +# Generated by tmake; +# Project: #$ Expand("PROJECT"); +# Template: #$ Expand("TEMPLATE"); +############################################################################# + +####### Compiler, tools and options + +CC = #$ Expand("TMAKE_CC"); +CXX = #$ Expand("TMAKE_CXX"); +CFLAGS = #$ Expand("TMAKE_CFLAGS"); ExpandGlue("DEFINES","-D"," -D",""); +CXXFLAGS= #$ Expand("TMAKE_CXXFLAGS"); ExpandGlue("DEFINES","-D"," -D",""); +INCPATH = #$ ExpandPath("INCPATH",'-I',' -I',''); +#$ !Project("TMAKE_APP_OR_DLL") && DisableOutput(); +LINK = #$ Expand("TMAKE_LINK"); +LFLAGS = #$ Expand("TMAKE_LFLAGS"); +LIBS = #$ Expand("TMAKE_LIBS"); +#$ !Project("TMAKE_APP_OR_DLL") && EnableOutput(); +#$ Project("TMAKE_APP_OR_DLL") && DisableOutput(); +LIB = #$ Expand("TMAKE_LIB"); +#$ Project("TMAKE_APP_OR_DLL") && EnableOutput(); +MOC = #$ Expand("TMAKE_MOC"); + +ZIP = #$ Expand("TMAKE_ZIP"); + +####### Files + +HEADERS = #$ ExpandList("HEADERS"); +SOURCES = #$ ExpandList("SOURCES"); +OBJECTS = #$ ExpandList("OBJECTS"); +SRCMOC = #$ ExpandList("SRCMOC"); +OBJMOC = #$ ExpandList("OBJMOC"); +DIST = #$ ExpandList("DISTFILES"); +TARGET = #$ ExpandGlue("TARGET",$project{"DESTDIR"},"",$project{"TARGET_EXT"}); + +####### Implicit rules + +.SUFFIXES: .cpp .cxx .cc .c + +.cpp.obj: + #$ Expand("TMAKE_RUN_CXX_IMP"); + +.cxx.obj: + #$ Expand("TMAKE_RUN_CXX_IMP"); + +.cc.obj: + #$ Expand("TMAKE_RUN_CXX_IMP"); + +.c.obj: + #$ Expand("TMAKE_RUN_CC_IMP"); + +####### Build rules + +all: #$ ExpandGlue("ALL_DEPS",""," "," "); $text .= '$(TARGET)'; + +$(TARGET): $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); +#$ Project("TMAKE_APP_OR_DLL") || DisableOutput(); + $(LINK) $(LFLAGS) $(OBJECTS) $(OBJMOC), $(TARGET),, $(LIBS) +#$ Project("TMAKE_APP_OR_DLL") || EnableOutput(); +#$ Project("TMAKE_APP_OR_DLL") && DisableOutput(); + -del $(TARGET) +#${ +# $text = "\t\$(LIB) \$(TARGET) " +# . join(" \\\n+",split(/\s+/,$project{"OBJECTS"})) . " \\\n+" +# . join(" \\\n+",split(/\s+/,$project{"OBJMOC"})) . ",;"; +#$} +#$ Project("TMAKE_APP_OR_DLL") && EnableOutput(); +#$ (Config("dll") && Project("DLLDESTDIR")) || DisableOutput(); + -copy $(TARGET) #$ Expand("DLLDESTDIR"); +#$ (Config("dll") && Project("DLLDESTDIR")) || EnableOutput(); +#$ Project("RC_FILE") || DisableOutput(); + +#$ Substitute("\$\$RES_FILE: \$\$RC_FILE\n\t\$\$TMAKE_RC \$\$RC_FILE"); +#$ Project("RC_FILE") || EnableOutput(); + +moc: $(SRCMOC) + +#$ TmakeSelf(); + +dist: + #$ Substitute('$(ZIP) $$PROJECT.zip $$PROJECT.pro $(SOURCES) $(HEADERS) $(DIST)'); + +clean: + #$ ExpandGlue("OBJECTS","-del ","\n\t-del ",""); + #$ ExpandGlue("SRCMOC" ,"-del ","\n\t-del ",""); + #$ ExpandGlue("OBJMOC" ,"-del ","\n\t-del ",""); + -del $(TARGET) + #$ ExpandGlue("TMAKE_CLEAN","-del ","\n\t-del ",""); + #$ ExpandGlue("CLEAN_FILES","-del ","\n\t-del ",""); + +####### Compile + +#$ BuildObj(Project("OBJECTS"),Project("SOURCES")); +#$ BuildMocObj(Project("OBJMOC"),Project("SRCMOC")); +#$ BuildMocSrc(Project("HEADERS")); +#$ BuildMocSrc(Project("SOURCES")); diff --git a/vendor/ta-lib/make/gen_make/template/win32-symantec/lib.t b/vendor/ta-lib/make/gen_make/template/win32-symantec/lib.t new file mode 100644 index 000000000..d8ac6c7a7 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32-symantec/lib.t @@ -0,0 +1,6 @@ +############################################################################# +#! +#! This is a tmake template for building Win32 libraries. +#! +#$ Project('TMAKE_LIB_FLAG = 1'); +#$ IncludeTemplate("generic.t"); diff --git a/vendor/ta-lib/make/gen_make/template/win32-symantec/subdirs.t b/vendor/ta-lib/make/gen_make/template/win32-symantec/subdirs.t new file mode 100644 index 000000000..8b881ab55 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32-symantec/subdirs.t @@ -0,0 +1,2 @@ +#! Use the common Win32 template +#$ IncludeTemplate("../win32/subdirs.t"); diff --git a/vendor/ta-lib/make/gen_make/template/win32-symantec/tmake.conf b/vendor/ta-lib/make/gen_make/template/win32-symantec/tmake.conf new file mode 100644 index 000000000..656a8561a --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32-symantec/tmake.conf @@ -0,0 +1,56 @@ +# +# $Id$ +# +# tmake configuration for Win32/Symantec C++ +# + +TEMPLATE = app +CONFIG = qt warn_on release + +TMAKE_CC = sc +TMAKE_CFLAGS = -mn -w2 +TMAKE_CFLAGS_WARN_ON = +TMAKE_CFLAGS_WARN_OFF = -w +TMAKE_CFLAGS_RELEASE = -o +TMAKE_CFLAGS_DEBUG = -g +TMAKE_CFLAGS_YACC = + +TMAKE_CXX = $$TMAKE_CC +TMAKE_CXXFLAGS = $$TMAKE_CFLAGS +TMAKE_CXXFLAGS_WARN_ON = $$TMAKE_CFLAGS_WARN_ON +TMAKE_CXXFLAGS_WARN_OFF = $$TMAKE_CFLAGS_WARN_OFF +TMAKE_CXXFLAGS_RELEASE = $$TMAKE_CFLAGS_RELEASE +TMAKE_CXXFLAGS_DEBUG = $$TMAKE_CFLAGS_DEBUG +TMAKE_CXXFLAGS_YACC = $$TMAKE_CFLAGS_YACC + +TMAKE_INCDIR = +TMAKE_INCDIR_QT = $(QTDIR)\include + +TMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -o$obj $src +TMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $< +TMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$obj $src +TMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $< + +TMAKE_LINK = link +TMAKE_LFLAGS = /NOLOGO /NOI +TMAKE_LFLAGS_RELEASE = +TMAKE_LFLAGS_DEBUG = /DEBUG +TMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:console +TMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:windows +TMAKE_LFLAGS_CONSOLE_DLL= /SUBSYSTEM:console /DLL +TMAKE_LFLAGS_WINDOWS_DLL= /SUBSYSTEM:windows /DLL + +TMAKE_LIBS = +TMAKE_LIBS_CONSOLE = +TMAKE_LIBS_WINDOWS = user32.lib gdi32.lib comdlg32.lib imm32.lib winmm.lib ole32.lib uuid.lib wsock32.lib +TMAKE_LIBS_QT = $(QTDIR)\lib\qt.lib +TMAKE_LIBS_QT_DLL = $(QTDIR)\lib\qtmain.lib + +TMAKE_LIBS_OPENGL = opengl32.lib + +TMAKE_MOC = moc + +TMAKE_LIB = lib /C /N /NOI /P:32 +TMAKE_RC = rc + +TMAKE_ZIP = zip -r -9 diff --git a/vendor/ta-lib/make/gen_make/template/win32-watcom/app.t b/vendor/ta-lib/make/gen_make/template/win32-watcom/app.t new file mode 100644 index 000000000..fc4dc2c79 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32-watcom/app.t @@ -0,0 +1,6 @@ +############################################################################# +#! +#! This is a tmake template for building Win32 applications. +#! +#$ Project('TMAKE_APP_FLAG = 1'); +#$ IncludeTemplate("generic.t"); diff --git a/vendor/ta-lib/make/gen_make/template/win32-watcom/generic.t b/vendor/ta-lib/make/gen_make/template/win32-watcom/generic.t new file mode 100644 index 000000000..ca622ee94 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32-watcom/generic.t @@ -0,0 +1,218 @@ +#! +#! This is a tmake template for building Win32 applications or libraries. +#! +#${ + Project('CONFIG += qt') if Config("qt_dll"); + if ( Config("qt") ) { + if ( !(Project("DEFINES") =~ /QT_NODLL/) && + ((Project("DEFINES") =~ /QT_(?:MAKE)?DLL/) || Config("qt_dll") || + ($ENV{"QT_DLL"} && !$ENV{"QT_NODLL"})) ) { + Project('TMAKE_QT_DLL = 1'); + if ( (Project("TARGET") eq "qt") && Project("TMAKE_LIB_FLAG") ) { + Project('CONFIG += dll'); + } + } + } + if ( Config("dll") || Project("TMAKE_APP_FLAG") ) { + Project('CONFIG -= staticlib'); + Project('TMAKE_APP_OR_DLL = 1'); + } else { + Project('CONFIG += staticlib'); + } + if ( Config("warn_off") ) { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_WARN_OFF'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_WARN_OFF'); + } elsif ( Config("warn_on") ) { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_WARN_ON'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_WARN_ON'); + } + if ( Config("debug") ) { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_DEBUG'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_DEBUG'); + Project('TMAKE_LFLAGS += $$TMAKE_LFLAGS_DEBUG'); + } elsif ( Config("release") ) { + Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_RELEASE'); + Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_RELEASE'); + Project('TMAKE_LFLAGS += $$TMAKE_LFLAGS_RELEASE'); + } + if ( Project("TMAKE_INCDIR") ) { + AddIncludePath(Project("TMAKE_INCDIR")); + } + if ( Config("qt") || Config("opengl") ) { + Project('CONFIG += windows' ); + } + if ( Config("qt") ) { + Project('CONFIG *= moc'); + AddIncludePath(Project("TMAKE_INCDIR_QT")); + if ( !Config("debug") ) { + Project('DEFINES += NO_DEBUG'); + } + if ( (Project("TARGET") eq "qt") && Project("TMAKE_LIB_FLAG") ) { + if ( Project("TMAKE_QT_DLL") ) { + Project('DEFINES *= QT_MAKEDLL'); + Project('TMAKE_LFLAGS += $$TMAKE_LFLAGS_QT_DLL'); + } + } else { + Project('TMAKE_LIBS *= $$TMAKE_LIBS_QT'); + if ( Project("TMAKE_QT_DLL") ) { + my $qtver =FindHighestLibVersion($ENV{"QTDIR"} . "/lib", "qt"); + Project("TMAKE_LIBS /= s/qt.lib/qt${qtver}.lib/"); + if ( !Config("dll") ) { + Project('TMAKE_LIBS *= $$TMAKE_LIBS_QT_DLL'); + } + } + } + } + if ( Config("opengl") ) { + Project('TMAKE_LIBS *= $$TMAKE_LIBS_OPENGL'); + } + if ( Config("dll") ) { + Project('TMAKE_LFLAGS_CONSOLE_ANY = $$TMAKE_LFLAGS_CONSOLE_DLL'); + Project('TMAKE_LFLAGS_WINDOWS_ANY = $$TMAKE_LFLAGS_WINDOWS_DLL'); + if ( Project("TMAKE_LIB_FLAG") ) { + my $ver = Project("VERSION"); + $ver =~ s/\.//g; + $project{"TARGET_EXT"} = "${ver}.dll"; + } else { + $project{"TARGET_EXT"} = ".dll"; + } + } else { + Project('TMAKE_LFLAGS_CONSOLE_ANY = $$TMAKE_LFLAGS_CONSOLE'); + Project('TMAKE_LFLAGS_WINDOWS_ANY = $$TMAKE_LFLAGS_WINDOWS'); + if ( Project("TMAKE_APP_FLAG") ) { + $project{"TARGET_EXT"} = ".exe"; + } else { + $project{"TARGET_EXT"} = ".lib"; + } + } + if ( Config("windows") ) { + if ( Config("console") ) { + Project('TMAKE_LFLAGS *= $$TMAKE_LFLAGS_CONSOLE_ANY'); + Project('TMAKE_LIBS *= $$TMAKE_LIBS_CONSOLE'); + } else { + Project('TMAKE_LFLAGS *= $$TMAKE_LFLAGS_WINDOWS_ANY'); + } + Project('TMAKE_LIBS *= $$TMAKE_LIBS_WINDOWS'); + } else { + Project('TMAKE_LFLAGS *= $$TMAKE_LFLAGS_CONSOLE_ANY'); + Project('TMAKE_LIBS *= $$TMAKE_LIBS_CONSOLE'); + } + if ( Config("moc") ) { + $moc_aware = 1; + } + Project('TMAKE_LIBS += $$LIBS'); + Project('TMAKE_FILETAGS = HEADERS SOURCES DEF_FILE RC_FILE TARGET TMAKE_LIBS DESTDIR DLLDESTDIR $$FILETAGS'); + foreach ( split(/\s/,Project("TMAKE_FILETAGS")) ) { + $project{$_} =~ s-[/\\]+-\\-g; + } + if ( Project("DEF_FILE") ) { + Project('TMAKE_LFLAGS *= /DEF:$$DEF_FILE'); + } + if ( Project("RC_FILE") ) { + if ( Project("RES_FILE") ) { + tmake_error("Both .rc and .res file specified.\n" . + "Please specify one of them, not both."); + } + $project{"RES_FILE"} = $project{"RC_FILE"}; + $project{"RES_FILE"} =~ s/\.rc$/.res/i; + Project('TARGETDEPS += $$RES_FILE'); + } + if ( Project("RES_FILE") ) { + Project('TMAKE_LIBS *= $$RES_FILE'); + } + $linebreak = '&'; + StdInit(); + if ( Project("VERSION") ) { + $project{"VER_MAJ"} = $project{"VERSION"}; + $project{"VER_MAJ"} =~ s/\.\d+$//; + $project{"VER_MIN"} = $project{"VERSION"}; + $project{"VER_MIN"} =~ s/^\d+\.//; + } +#$} +#! +# Makefile for building #$ Expand("TARGET") +# Generated by tmake; +# Project: #$ Expand("PROJECT"); +# Template: #$ Expand("TEMPLATE"); +############################################################################# + +####### Compiler, tools and options + +#$ Config("qt") || DisableOutput(); +QTDIR = #$ $text = $ENV{"QTDIR"}; +#$ Config("qt") || EnableOutput(); +CC = #$ Expand("TMAKE_CC"); +CXX = #$ Expand("TMAKE_CXX"); +CFLAGS = #$ Expand("TMAKE_CFLAGS"); ExpandGlue("DEFINES","-d="," -d=",""); +CXXFLAGS= #$ Expand("TMAKE_CXXFLAGS"); ExpandGlue("DEFINES","-d="," -d=",""); +INCPATH = #$ ExpandPath("INCPATH",'-i=',' -i=',''); +#$ !Project("TMAKE_APP_OR_DLL") && DisableOutput(); +LINK = #$ Expand("TMAKE_LINK"); +LFLAGS = #$ Expand("TMAKE_LFLAGS"); +LIBS = #$ Expand("TMAKE_LIBS"); +#$ !Project("TMAKE_APP_OR_DLL") && EnableOutput(); +#$ Project("TMAKE_APP_OR_DLL") && DisableOutput(); +LIB = #$ Expand("TMAKE_LIB"); +#$ Project("TMAKE_APP_OR_DLL") && EnableOutput(); +MOC = #$ Expand("TMAKE_MOC"); + +ZIP = #$ Expand("TMAKE_ZIP"); + +####### Files + +HEADERS = #$ ExpandList("HEADERS"); +SOURCES = #$ ExpandList("SOURCES"); +OBJECTS = #$ ExpandList("OBJECTS"); +SRCMOC = #$ ExpandList("SRCMOC"); +OBJMOC = #$ ExpandList("OBJMOC"); +DIST = #$ ExpandList("DISTFILES"); +TARGET = #$ ExpandGlue("TARGET",$project{"DESTDIR"},"",$project{"TARGET_EXT"}); +TMPLIST = #$ ExpandGlue("TARGET","","",".lst"); + +####### Build rules + +all: #$ ExpandGlue("ALL_DEPS",""," "," "); $text .= '$(TARGET)'; + +$(TARGET): $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); + @%create $(TMPLIST) +#$ Project("TMAKE_APP_OR_DLL") || DisableOutput(); + @%append $(TMPLIST) NAME #$ Expand("TARGET"); + #$ ExpandGlue("OBJECTS",'@%append $(TMPLIST) FIL ',",",""); + #$ ExpandGlue("OBJMOC" ,'@%append $(TMPLIST) FIL ',",",""); + #$ ExpandGlue("TMAKE_LIBS" ,'@%append $(TMPLIST) LIBR ',",",""); + $(LINK) $(LFLAGS) @$(TMPLIST) +#$ Project("TMAKE_APP_OR_DLL") || EnableOutput(); +#$ Project("TMAKE_APP_OR_DLL") && DisableOutput(); + @for %i in ( $(OBJECTS) $(OBJMOC) ) do @%append $(TMPLIST) +'%i' + $(LIB) $(TARGET) @$(TMPLIST) +#$ Project("TMAKE_APP_OR_DLL") && EnableOutput(); + del $(TMPLIST) +#$ (Config("dll") && Project("DLLDESTDIR")) || DisableOutput(); + -copy $(TARGET) #$ Expand("DLLDESTDIR"); +#$ (Config("dll") && Project("DLLDESTDIR")) || EnableOutput(); +#$ Project("RC_FILE") || DisableOutput(); + +#$ Substitute("\$\$RES_FILE: \$\$RC_FILE\n\t\$\$TMAKE_RC \$\$RC_FILE"); +#$ Project("RC_FILE") || EnableOutput(); + +moc: $(SRCMOC) + +#$ TmakeSelf(); + +dist: + #$ Substitute('$(ZIP) $$PROJECT.zip $$PROJECT.pro $(SOURCES) $(HEADERS) $(DIST)'); + +clean: + #$ ExpandGlue("OBJECTS","-del ","\n\t-del ",""); + #$ ExpandGlue("SRCMOC" ,"-del ","\n\t-del ",""); + #$ ExpandGlue("OBJMOC" ,"-del ","\n\t-del ",""); + -del $(TARGET) + #$ ExpandGlue("TMAKE_CLEAN","-del ","\n\t-del ",""); + #$ ExpandGlue("CLEAN_FILES","-del ","\n\t-del ",""); + +####### Compile + +#$ BuildObj(Project("OBJECTS"),Project("SOURCES")); +#$ BuildMocObj(Project("OBJMOC"),Project("SRCMOC")); +#$ BuildMocSrc(Project("HEADERS")); +#$ BuildMocSrc(Project("SOURCES")); diff --git a/vendor/ta-lib/make/gen_make/template/win32-watcom/lib.t b/vendor/ta-lib/make/gen_make/template/win32-watcom/lib.t new file mode 100644 index 000000000..d8ac6c7a7 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32-watcom/lib.t @@ -0,0 +1,6 @@ +############################################################################# +#! +#! This is a tmake template for building Win32 libraries. +#! +#$ Project('TMAKE_LIB_FLAG = 1'); +#$ IncludeTemplate("generic.t"); diff --git a/vendor/ta-lib/make/gen_make/template/win32-watcom/subdirs.t b/vendor/ta-lib/make/gen_make/template/win32-watcom/subdirs.t new file mode 100644 index 000000000..8b881ab55 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32-watcom/subdirs.t @@ -0,0 +1,2 @@ +#! Use the common Win32 template +#$ IncludeTemplate("../win32/subdirs.t"); diff --git a/vendor/ta-lib/make/gen_make/template/win32-watcom/tmake.conf b/vendor/ta-lib/make/gen_make/template/win32-watcom/tmake.conf new file mode 100644 index 000000000..9c8c6c9a3 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32-watcom/tmake.conf @@ -0,0 +1,54 @@ +# +# $Id$ +# +# tmake configuration for Win32/Watcom C++ +# + +TEMPLATE = app +CONFIG = qt warn_on release + +TMAKE_CC = wcl386 +TMAKE_CFLAGS = -zq +TMAKE_CFLAGS_WARN_ON = -w2 +TMAKE_CFLAGS_WARN_OFF = -w0 +TMAKE_CFLAGS_RELEASE = -ox +TMAKE_CFLAGS_DEBUG = -d2 +TMAKE_CFLAGS_YACC = + +TMAKE_CXX = $$TMAKE_CC +TMAKE_CXXFLAGS = $$TMAKE_CFLAGS +TMAKE_CXXFLAGS_WARN_ON = $$TMAKE_CFLAGS_WARN_ON +TMAKE_CXXFLAGS_WARN_OFF = $$TMAKE_CFLAGS_WARN_OFF +TMAKE_CXXFLAGS_RELEASE = $$TMAKE_CFLAGS_RELEASE +TMAKE_CXXFLAGS_DEBUG = $$TMAKE_CFLAGS_DEBUG +TMAKE_CXXFLAGS_YACC = $$TMAKE_CFLAGS_YACC + +TMAKE_INCDIR = +TMAKE_INCDIR_QT = $(QTDIR)\include + +TMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -fo=$obj $src +TMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -fo=$obj $src + +TMAKE_LINK = wlink +TMAKE_LFLAGS = op quiet op c +TMAKE_LFLAGS_RELEASE = +TMAKE_LFLAGS_DEBUG = d all +TMAKE_LFLAGS_CONSOLE = sys nt +TMAKE_LFLAGS_WINDOWS = sys nt_win +TMAKE_LFLAGS_CONSOLE_DLL= sys nt +TMAKE_LFLAGS_WINDOWS_DLL= sys nt_win + +TMAKE_LIBS = +TMAKE_LIBS_CONSOLE = +TMAKE_LIBS_WINDOWS = +TMAKE_LIBS_QT = %QTDIR%\lib\qt.lib +TMAKE_LIBS_QT_DLL = %QTDIR%\lib\qtmain.lib + +TMAKE_LIBS_OPENGL = opengl32.lib + +TMAKE_MOC = moc + +TMAKE_LIB = wlib -b -c -n -q -p=512 +TMAKE_RC = rc + +TMAKE_ZIP = zip -r -9 diff --git a/vendor/ta-lib/make/gen_make/template/win32/subdirs.t b/vendor/ta-lib/make/gen_make/template/win32/subdirs.t new file mode 100644 index 000000000..2141b6037 --- /dev/null +++ b/vendor/ta-lib/make/gen_make/template/win32/subdirs.t @@ -0,0 +1,54 @@ +############################################################################# +#! +#! This is a tmake template for creating a makefile that invokes make in +#! sub directories - for Win32. +#! +#${ + StdInit(); + $m = ""; + foreach ( split(/\s+/,$project{"SUBDIRS"}) ) { + $m = $m . "\tcd $_\n\tDOMAKE\n\t\@cd ..\n"; + } + $project{"SUBMAKE"} = $m; + Project('MAKEFILE') || Project('MAKEFILE = Makefile'); + Project('TMAKE') || Project('TMAKE = tmake'); +#$} +#! +# Makefile for building targets in sub directories. +# Generated by tmake; +# Project: #$ Expand("PROJECT"); +# Template: #$ Expand("TEMPLATE"); +############################################################################# + +MAKEFILE= #$ Expand("MAKEFILE"); +TMAKE = #$ Expand("TMAKE"); + +SUBDIRS = #$ ExpandList("SUBDIRS"); + +all: $(SUBDIRS) + +#${ + foreach ( split(/\s+/,$project{"SUBDIRS"}) ) { + if ( Project("TMAKE_NOFORCE") ) { + $text = $text . $_ . ":\n\t" . + "cd $_\n\t\$(MAKE\)\n\t\@cd ..\n\n"; + } else { + $text = $text . $_ . ": FORCE\n\t" . + "cd $_\n\t\$(MAKE\)\n\t\@cd ..\n\n"; + } + } +#$} +#$ TmakeSelf(); + +tmake_all: +#${ + foreach ( split(/\s+/,$project{"SUBDIRS"}) ) { + $text .= "\tcd $_\n\t\$(TMAKE\) $_.pro -o \$(MAKEFILE)\n\t\@cd ..\n"; + } +#$} + +clean: +#$ $text = $project{"SUBMAKE"}; $text =~ s/DOMAKE/\$(MAKE\) clean/g; +#$ Project("TMAKE_NOFORCE") && DisableOutput(); +FORCE: +#$ Project("TMAKE_NOFORCE") && EnableOutput(); diff --git a/vendor/ta-lib/src/Makefile.am b/vendor/ta-lib/src/Makefile.am new file mode 100644 index 000000000..12bc5b63a --- /dev/null +++ b/vendor/ta-lib/src/Makefile.am @@ -0,0 +1,14 @@ +AUTOMAKE_OPTIONS = foreign 1.4 +SUBDIRS = ta_abstract ta_common ta_func + +lib_LTLIBRARIES = libta_lib.la + +libta_lib_la_SOURCES = + +libta_lib_la_LIBADD = \ + ta_abstract/libta_abstract.la \ + ta_func/libta_func.la \ + ta_common/libta_common.la + +libta_lib_la_LDFLAGS = -version-info $(TALIB_LIBRARY_VERSION) + diff --git a/vendor/ta-lib/src/ta_abstract/Makefile.am b/vendor/ta-lib/src/ta_abstract/Makefile.am new file mode 100644 index 000000000..cba69bbc3 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/Makefile.am @@ -0,0 +1,49 @@ + +noinst_LTLIBRARIES = libta_abstract.la libta_abstract_gc.la + +libta_abstract_la_SOURCES = ta_group_idx.c \ + ta_def_ui.c \ + ta_abstract.c \ + ta_func_api.c \ + frames/ta_frame.c \ + tables/table_a.c \ + tables/table_b.c \ + tables/table_c.c \ + tables/table_d.c \ + tables/table_e.c \ + tables/table_f.c \ + tables/table_g.c \ + tables/table_h.c \ + tables/table_i.c \ + tables/table_j.c \ + tables/table_k.c \ + tables/table_l.c \ + tables/table_m.c \ + tables/table_n.c \ + tables/table_o.c \ + tables/table_p.c \ + tables/table_q.c \ + tables/table_r.c \ + tables/table_s.c \ + tables/table_t.c \ + tables/table_u.c \ + tables/table_v.c \ + tables/table_w.c \ + tables/table_x.c \ + tables/table_y.c \ + tables/table_z.c + +libta_abstract_gc_la_SOURCES = $(libta_abstract_la_SOURCES) + +libta_abstract_la_LDFLAGS = -version-info $(TALIB_LIBRARY_VERSION) +libta_abstract_gc_la_LDFLAGS = $(libta_abstract_la_LDFLAGS) + +libta_abstract_la_CPPFLAGS = -I../ta_common/ -Iframes/ + +# The 'gc' version is a minimal version used to just to compile gen_code +libta_abstract_gc_la_CPPFLAGS = -DTA_GEN_CODE $(libta_abstract_la_CPPFLAGS) + +libta_abstractdir=$(includedir)/ta-lib/ +libta_abstract_HEADERS = ../../include/ta_defs.h \ + ../../include/ta_libc.h \ + ../../include/ta_abstract.h diff --git a/vendor/ta-lib/src/ta_abstract/excel_glue.c b/vendor/ta-lib/src/ta_abstract/excel_glue.c new file mode 100644 index 000000000..043ed2662 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/excel_glue.c @@ -0,0 +1,202 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* DO NOT MODIFY this file. + * This file is automatically generated by gen_code. + * + * If you are not re-building the excel library (which is most + * likely the case), just ignore this file. + */ + +EXCEL_GLUE_CODE_WITH_1_PARAM(ACOS) +EXCEL_GLUE_CODE_WITH_4_PARAM(AD) +EXCEL_GLUE_CODE_WITH_2_PARAM(ADD) +EXCEL_GLUE_CODE_WITH_6_PARAM(ADOSC) +EXCEL_GLUE_CODE_WITH_4_PARAM(ADX) +EXCEL_GLUE_CODE_WITH_4_PARAM(ADXR) +EXCEL_GLUE_CODE_WITH_4_PARAM(APO) +EXCEL_GLUE_CODE_WITH_3_PARAM(AROON) +EXCEL_GLUE_CODE_WITH_3_PARAM(AROONOSC) +EXCEL_GLUE_CODE_WITH_1_PARAM(ASIN) +EXCEL_GLUE_CODE_WITH_1_PARAM(ATAN) +EXCEL_GLUE_CODE_WITH_4_PARAM(ATR) +EXCEL_GLUE_CODE_WITH_4_PARAM(AVGPRICE) +EXCEL_GLUE_CODE_WITH_5_PARAM(BBANDS) +EXCEL_GLUE_CODE_WITH_3_PARAM(BETA) +EXCEL_GLUE_CODE_WITH_4_PARAM(BOP) +EXCEL_GLUE_CODE_WITH_4_PARAM(CCI) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDL2CROWS) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDL3BLACKCROWS) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDL3INSIDE) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDL3LINESTRIKE) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDL3OUTSIDE) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDL3STARSINSOUTH) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDL3WHITESOLDIERS) +EXCEL_GLUE_CODE_WITH_5_PARAM(CDLABANDONEDBABY) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLADVANCEBLOCK) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLBELTHOLD) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLBREAKAWAY) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLCLOSINGMARUBOZU) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLCONCEALBABYSWALL) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLCOUNTERATTACK) +EXCEL_GLUE_CODE_WITH_5_PARAM(CDLDARKCLOUDCOVER) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLDOJI) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLDOJISTAR) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLDRAGONFLYDOJI) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLENGULFING) +EXCEL_GLUE_CODE_WITH_5_PARAM(CDLEVENINGDOJISTAR) +EXCEL_GLUE_CODE_WITH_5_PARAM(CDLEVENINGSTAR) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLGAPSIDESIDEWHITE) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLGRAVESTONEDOJI) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLHAMMER) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLHANGINGMAN) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLHARAMI) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLHARAMICROSS) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLHIGHWAVE) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLHIKKAKE) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLHIKKAKEMOD) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLHOMINGPIGEON) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLIDENTICAL3CROWS) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLINNECK) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLINVERTEDHAMMER) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLKICKING) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLKICKINGBYLENGTH) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLLADDERBOTTOM) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLLONGLEGGEDDOJI) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLLONGLINE) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLMARUBOZU) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLMATCHINGLOW) +EXCEL_GLUE_CODE_WITH_5_PARAM(CDLMATHOLD) +EXCEL_GLUE_CODE_WITH_5_PARAM(CDLMORNINGDOJISTAR) +EXCEL_GLUE_CODE_WITH_5_PARAM(CDLMORNINGSTAR) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLONNECK) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLPIERCING) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLRICKSHAWMAN) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLRISEFALL3METHODS) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLSEPARATINGLINES) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLSHOOTINGSTAR) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLSHORTLINE) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLSPINNINGTOP) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLSTALLEDPATTERN) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLSTICKSANDWICH) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLTAKURI) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLTASUKIGAP) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLTHRUSTING) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLTRISTAR) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLUNIQUE3RIVER) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLUPSIDEGAP2CROWS) +EXCEL_GLUE_CODE_WITH_4_PARAM(CDLXSIDEGAP3METHODS) +EXCEL_GLUE_CODE_WITH_1_PARAM(CEIL) +EXCEL_GLUE_CODE_WITH_2_PARAM(CMO) +EXCEL_GLUE_CODE_WITH_3_PARAM(CORREL) +EXCEL_GLUE_CODE_WITH_1_PARAM(COS) +EXCEL_GLUE_CODE_WITH_1_PARAM(COSH) +EXCEL_GLUE_CODE_WITH_2_PARAM(DEMA) +EXCEL_GLUE_CODE_WITH_2_PARAM(DIV) +EXCEL_GLUE_CODE_WITH_4_PARAM(DX) +EXCEL_GLUE_CODE_WITH_2_PARAM(EMA) +EXCEL_GLUE_CODE_WITH_1_PARAM(EXP) +EXCEL_GLUE_CODE_WITH_1_PARAM(FLOOR) +EXCEL_GLUE_CODE_WITH_1_PARAM(HT_DCPERIOD) +EXCEL_GLUE_CODE_WITH_1_PARAM(HT_DCPHASE) +EXCEL_GLUE_CODE_WITH_1_PARAM(HT_PHASOR) +EXCEL_GLUE_CODE_WITH_1_PARAM(HT_SINE) +EXCEL_GLUE_CODE_WITH_1_PARAM(HT_TRENDLINE) +EXCEL_GLUE_CODE_WITH_1_PARAM(HT_TRENDMODE) +EXCEL_GLUE_CODE_WITH_2_PARAM(KAMA) +EXCEL_GLUE_CODE_WITH_2_PARAM(LINEARREG) +EXCEL_GLUE_CODE_WITH_2_PARAM(LINEARREG_ANGLE) +EXCEL_GLUE_CODE_WITH_2_PARAM(LINEARREG_INTERCEPT) +EXCEL_GLUE_CODE_WITH_2_PARAM(LINEARREG_SLOPE) +EXCEL_GLUE_CODE_WITH_1_PARAM(LN) +EXCEL_GLUE_CODE_WITH_1_PARAM(LOG10) +EXCEL_GLUE_CODE_WITH_3_PARAM(MA) +EXCEL_GLUE_CODE_WITH_4_PARAM(MACD) +EXCEL_GLUE_CODE_WITH_7_PARAM(MACDEXT) +EXCEL_GLUE_CODE_WITH_2_PARAM(MACDFIX) +EXCEL_GLUE_CODE_WITH_3_PARAM(MAMA) +EXCEL_GLUE_CODE_WITH_5_PARAM(MAVP) +EXCEL_GLUE_CODE_WITH_2_PARAM(MAX) +EXCEL_GLUE_CODE_WITH_2_PARAM(MAXINDEX) +EXCEL_GLUE_CODE_WITH_2_PARAM(MEDPRICE) +EXCEL_GLUE_CODE_WITH_5_PARAM(MFI) +EXCEL_GLUE_CODE_WITH_2_PARAM(MIDPOINT) +EXCEL_GLUE_CODE_WITH_3_PARAM(MIDPRICE) +EXCEL_GLUE_CODE_WITH_2_PARAM(MIN) +EXCEL_GLUE_CODE_WITH_2_PARAM(MININDEX) +EXCEL_GLUE_CODE_WITH_2_PARAM(MINMAX) +EXCEL_GLUE_CODE_WITH_2_PARAM(MINMAXINDEX) +EXCEL_GLUE_CODE_WITH_4_PARAM(MINUS_DI) +EXCEL_GLUE_CODE_WITH_3_PARAM(MINUS_DM) +EXCEL_GLUE_CODE_WITH_2_PARAM(MOM) +EXCEL_GLUE_CODE_WITH_2_PARAM(MULT) +EXCEL_GLUE_CODE_WITH_4_PARAM(NATR) +EXCEL_GLUE_CODE_WITH_2_PARAM(OBV) +EXCEL_GLUE_CODE_WITH_4_PARAM(PLUS_DI) +EXCEL_GLUE_CODE_WITH_3_PARAM(PLUS_DM) +EXCEL_GLUE_CODE_WITH_4_PARAM(PPO) +EXCEL_GLUE_CODE_WITH_2_PARAM(ROC) +EXCEL_GLUE_CODE_WITH_2_PARAM(ROCP) +EXCEL_GLUE_CODE_WITH_2_PARAM(ROCR) +EXCEL_GLUE_CODE_WITH_2_PARAM(ROCR100) +EXCEL_GLUE_CODE_WITH_2_PARAM(RSI) +EXCEL_GLUE_CODE_WITH_4_PARAM(SAR) +EXCEL_GLUE_CODE_WITH_10_PARAM(SAREXT) +EXCEL_GLUE_CODE_WITH_1_PARAM(SIN) +EXCEL_GLUE_CODE_WITH_1_PARAM(SINH) +EXCEL_GLUE_CODE_WITH_2_PARAM(SMA) +EXCEL_GLUE_CODE_WITH_1_PARAM(SQRT) +EXCEL_GLUE_CODE_WITH_3_PARAM(STDDEV) +EXCEL_GLUE_CODE_WITH_8_PARAM(STOCH) +EXCEL_GLUE_CODE_WITH_6_PARAM(STOCHF) +EXCEL_GLUE_CODE_WITH_5_PARAM(STOCHRSI) +EXCEL_GLUE_CODE_WITH_2_PARAM(SUB) +EXCEL_GLUE_CODE_WITH_2_PARAM(SUM) +EXCEL_GLUE_CODE_WITH_3_PARAM(T3) +EXCEL_GLUE_CODE_WITH_1_PARAM(TAN) +EXCEL_GLUE_CODE_WITH_1_PARAM(TANH) +EXCEL_GLUE_CODE_WITH_2_PARAM(TEMA) +EXCEL_GLUE_CODE_WITH_3_PARAM(TRANGE) +EXCEL_GLUE_CODE_WITH_2_PARAM(TRIMA) +EXCEL_GLUE_CODE_WITH_2_PARAM(TRIX) +EXCEL_GLUE_CODE_WITH_2_PARAM(TSF) +EXCEL_GLUE_CODE_WITH_3_PARAM(TYPPRICE) +EXCEL_GLUE_CODE_WITH_6_PARAM(ULTOSC) +EXCEL_GLUE_CODE_WITH_3_PARAM(VAR) +EXCEL_GLUE_CODE_WITH_3_PARAM(WCLPRICE) +EXCEL_GLUE_CODE_WITH_4_PARAM(WILLR) +EXCEL_GLUE_CODE_WITH_2_PARAM(WMA) + +/*************** + * End of File * + ***************/ diff --git a/vendor/ta-lib/src/ta_abstract/frames/ta_frame.c b/vendor/ta-lib/src/ta_abstract/frames/ta_frame.c new file mode 100644 index 000000000..83fba3582 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/frames/ta_frame.c @@ -0,0 +1,3407 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* Note: This file is generated by gencode, do not + * modify directly. + */ + +/* The function define in this file allows to have a consistent + * framework for calling all the TA function through + * the TA_CallFunc mechanism. + * + * See "ta_abstract.h" + */ + +#ifndef TA_FUNC_H + #include "ta_func.h" +#endif + +#ifndef TA_FRAME_PRIV_H + #include "ta_frame_priv.h" +#endif + +#ifndef TA_FRAME_H + #include "ta_frame.h" +#endif + +/* NEVER CALL directly these functions! Use TA_CallFunc. */ + +/* Generated */ TA_RetCode TA_ACOS_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_ACOS( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_ACOS_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_ACOS_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_AD_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_AD( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ params->in[0].data.inPrice.volume, /* inVolume */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_AD_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_AD_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_ADD_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_ADD( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal0 */ +/* Generated */ params->in[1].data.inReal, /* inReal1 */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_ADD_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_ADD_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_ADOSC_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_ADOSC( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ params->in[0].data.inPrice.volume, /* inVolume */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInFastPeriod*/ +/* Generated */ params->optIn[1].data.optInInteger, /* optInSlowPeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_ADOSC_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_ADOSC_Lookback(params->optIn[0].data.optInInteger, /* optInFastPeriod*/ +/* Generated */ params->optIn[1].data.optInInteger /* optInSlowPeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_ADX_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_ADX( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_ADX_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_ADX_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_ADXR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_ADXR( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_ADXR_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_ADXR_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_APO_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_APO( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInFastPeriod*/ +/* Generated */ params->optIn[1].data.optInInteger, /* optInSlowPeriod*/ +/* Generated */ (TA_MAType)params->optIn[2].data.optInInteger, /* optInMAType*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_APO_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_APO_Lookback(params->optIn[0].data.optInInteger, /* optInFastPeriod*/ +/* Generated */ params->optIn[1].data.optInInteger, /* optInSlowPeriod*/ +/* Generated */ (TA_MAType)params->optIn[2].data.optInInteger /* optInMAType*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_AROON_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_AROON( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal, /* outAroonDown */ +/* Generated */ params->out[1].data.outReal /* outAroonUp */ ); +/* Generated */ } +/* Generated */ unsigned int TA_AROON_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_AROON_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_AROONOSC_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_AROONOSC( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_AROONOSC_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_AROONOSC_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_ASIN_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_ASIN( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_ASIN_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_ASIN_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_ATAN_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_ATAN( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_ATAN_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_ATAN_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_ATR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_ATR( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_ATR_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_ATR_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_AVGPRICE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_AVGPRICE( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_AVGPRICE_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_AVGPRICE_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_BBANDS_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_BBANDS( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ params->optIn[1].data.optInReal, /* optInNbDevUp*/ +/* Generated */ params->optIn[2].data.optInReal, /* optInNbDevDn*/ +/* Generated */ (TA_MAType)params->optIn[3].data.optInInteger, /* optInMAType*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal, /* outRealUpperBand */ +/* Generated */ params->out[1].data.outReal, /* outRealMiddleBand */ +/* Generated */ params->out[2].data.outReal /* outRealLowerBand */ ); +/* Generated */ } +/* Generated */ unsigned int TA_BBANDS_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_BBANDS_Lookback(params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ params->optIn[1].data.optInReal, /* optInNbDevUp*/ +/* Generated */ params->optIn[2].data.optInReal, /* optInNbDevDn*/ +/* Generated */ (TA_MAType)params->optIn[3].data.optInInteger /* optInMAType*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_BETA_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_BETA( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal0 */ +/* Generated */ params->in[1].data.inReal, /* inReal1 */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_BETA_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_BETA_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_BOP_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_BOP( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_BOP_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_BOP_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CCI_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CCI( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CCI_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_CCI_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDL2CROWS_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDL2CROWS( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDL2CROWS_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDL2CROWS_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDL3BLACKCROWS_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDL3BLACKCROWS( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDL3BLACKCROWS_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDL3BLACKCROWS_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDL3INSIDE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDL3INSIDE( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDL3INSIDE_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDL3INSIDE_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDL3LINESTRIKE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDL3LINESTRIKE( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDL3LINESTRIKE_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDL3LINESTRIKE_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDL3OUTSIDE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDL3OUTSIDE( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDL3OUTSIDE_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDL3OUTSIDE_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDL3STARSINSOUTH_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDL3STARSINSOUTH( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDL3STARSINSOUTH_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDL3STARSINSOUTH_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDL3WHITESOLDIERS_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDL3WHITESOLDIERS( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDL3WHITESOLDIERS_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDL3WHITESOLDIERS_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLABANDONEDBABY_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLABANDONEDBABY( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ params->optIn[0].data.optInReal, /* optInPenetration*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLABANDONEDBABY_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_CDLABANDONEDBABY_Lookback(params->optIn[0].data.optInReal /* optInPenetration*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLADVANCEBLOCK_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLADVANCEBLOCK( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLADVANCEBLOCK_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLADVANCEBLOCK_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLBELTHOLD_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLBELTHOLD( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLBELTHOLD_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLBELTHOLD_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLBREAKAWAY_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLBREAKAWAY( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLBREAKAWAY_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLBREAKAWAY_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLCLOSINGMARUBOZU_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLCLOSINGMARUBOZU( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLCLOSINGMARUBOZU_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLCLOSINGMARUBOZU_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLCONCEALBABYSWALL_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLCONCEALBABYSWALL( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLCONCEALBABYSWALL_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLCONCEALBABYSWALL_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLCOUNTERATTACK_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLCOUNTERATTACK( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLCOUNTERATTACK_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLCOUNTERATTACK_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLDARKCLOUDCOVER_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLDARKCLOUDCOVER( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ params->optIn[0].data.optInReal, /* optInPenetration*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLDARKCLOUDCOVER_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_CDLDARKCLOUDCOVER_Lookback(params->optIn[0].data.optInReal /* optInPenetration*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLDOJI_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLDOJI( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLDOJI_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLDOJI_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLDOJISTAR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLDOJISTAR( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLDOJISTAR_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLDOJISTAR_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLDRAGONFLYDOJI_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLDRAGONFLYDOJI( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLDRAGONFLYDOJI_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLDRAGONFLYDOJI_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLENGULFING_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLENGULFING( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLENGULFING_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLENGULFING_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLEVENINGDOJISTAR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLEVENINGDOJISTAR( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ params->optIn[0].data.optInReal, /* optInPenetration*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLEVENINGDOJISTAR_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_CDLEVENINGDOJISTAR_Lookback(params->optIn[0].data.optInReal /* optInPenetration*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLEVENINGSTAR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLEVENINGSTAR( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ params->optIn[0].data.optInReal, /* optInPenetration*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLEVENINGSTAR_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_CDLEVENINGSTAR_Lookback(params->optIn[0].data.optInReal /* optInPenetration*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLGAPSIDESIDEWHITE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLGAPSIDESIDEWHITE( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLGAPSIDESIDEWHITE_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLGAPSIDESIDEWHITE_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLGRAVESTONEDOJI_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLGRAVESTONEDOJI( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLGRAVESTONEDOJI_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLGRAVESTONEDOJI_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLHAMMER_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLHAMMER( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLHAMMER_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLHAMMER_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLHANGINGMAN_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLHANGINGMAN( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLHANGINGMAN_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLHANGINGMAN_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLHARAMI_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLHARAMI( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLHARAMI_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLHARAMI_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLHARAMICROSS_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLHARAMICROSS( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLHARAMICROSS_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLHARAMICROSS_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLHIGHWAVE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLHIGHWAVE( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLHIGHWAVE_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLHIGHWAVE_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLHIKKAKE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLHIKKAKE( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLHIKKAKE_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLHIKKAKE_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLHIKKAKEMOD_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLHIKKAKEMOD( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLHIKKAKEMOD_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLHIKKAKEMOD_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLHOMINGPIGEON_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLHOMINGPIGEON( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLHOMINGPIGEON_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLHOMINGPIGEON_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLIDENTICAL3CROWS_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLIDENTICAL3CROWS( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLIDENTICAL3CROWS_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLIDENTICAL3CROWS_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLINNECK_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLINNECK( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLINNECK_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLINNECK_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLINVERTEDHAMMER_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLINVERTEDHAMMER( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLINVERTEDHAMMER_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLINVERTEDHAMMER_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLKICKING_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLKICKING( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLKICKING_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLKICKING_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLKICKINGBYLENGTH_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLKICKINGBYLENGTH( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLKICKINGBYLENGTH_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLKICKINGBYLENGTH_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLLADDERBOTTOM_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLLADDERBOTTOM( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLLADDERBOTTOM_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLLADDERBOTTOM_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLLONGLEGGEDDOJI_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLLONGLEGGEDDOJI( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLLONGLEGGEDDOJI_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLLONGLEGGEDDOJI_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLLONGLINE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLLONGLINE( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLLONGLINE_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLLONGLINE_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLMARUBOZU_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLMARUBOZU( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLMARUBOZU_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLMARUBOZU_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLMATCHINGLOW_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLMATCHINGLOW( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLMATCHINGLOW_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLMATCHINGLOW_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLMATHOLD_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLMATHOLD( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ params->optIn[0].data.optInReal, /* optInPenetration*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLMATHOLD_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_CDLMATHOLD_Lookback(params->optIn[0].data.optInReal /* optInPenetration*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLMORNINGDOJISTAR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLMORNINGDOJISTAR( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ params->optIn[0].data.optInReal, /* optInPenetration*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLMORNINGDOJISTAR_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_CDLMORNINGDOJISTAR_Lookback(params->optIn[0].data.optInReal /* optInPenetration*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLMORNINGSTAR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLMORNINGSTAR( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ params->optIn[0].data.optInReal, /* optInPenetration*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLMORNINGSTAR_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_CDLMORNINGSTAR_Lookback(params->optIn[0].data.optInReal /* optInPenetration*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLONNECK_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLONNECK( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLONNECK_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLONNECK_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLPIERCING_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLPIERCING( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLPIERCING_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLPIERCING_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLRICKSHAWMAN_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLRICKSHAWMAN( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLRICKSHAWMAN_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLRICKSHAWMAN_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLRISEFALL3METHODS_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLRISEFALL3METHODS( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLRISEFALL3METHODS_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLRISEFALL3METHODS_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLSEPARATINGLINES_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLSEPARATINGLINES( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLSEPARATINGLINES_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLSEPARATINGLINES_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLSHOOTINGSTAR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLSHOOTINGSTAR( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLSHOOTINGSTAR_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLSHOOTINGSTAR_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLSHORTLINE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLSHORTLINE( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLSHORTLINE_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLSHORTLINE_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLSPINNINGTOP_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLSPINNINGTOP( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLSPINNINGTOP_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLSPINNINGTOP_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLSTALLEDPATTERN_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLSTALLEDPATTERN( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLSTALLEDPATTERN_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLSTALLEDPATTERN_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLSTICKSANDWICH_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLSTICKSANDWICH( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLSTICKSANDWICH_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLSTICKSANDWICH_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLTAKURI_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLTAKURI( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLTAKURI_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLTAKURI_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLTASUKIGAP_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLTASUKIGAP( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLTASUKIGAP_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLTASUKIGAP_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLTHRUSTING_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLTHRUSTING( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLTHRUSTING_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLTHRUSTING_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLTRISTAR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLTRISTAR( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLTRISTAR_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLTRISTAR_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLUNIQUE3RIVER_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLUNIQUE3RIVER( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLUNIQUE3RIVER_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLUNIQUE3RIVER_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLUPSIDEGAP2CROWS_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLUPSIDEGAP2CROWS( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLUPSIDEGAP2CROWS_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLUPSIDEGAP2CROWS_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CDLXSIDEGAP3METHODS_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CDLXSIDEGAP3METHODS( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.open, /* inOpen */ +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CDLXSIDEGAP3METHODS_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CDLXSIDEGAP3METHODS_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CEIL_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CEIL( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CEIL_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_CEIL_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CMO_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CMO( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CMO_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_CMO_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_CORREL_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_CORREL( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal0 */ +/* Generated */ params->in[1].data.inReal, /* inReal1 */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_CORREL_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_CORREL_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_COS_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_COS( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_COS_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_COS_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_COSH_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_COSH( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_COSH_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_COSH_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_DEMA_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_DEMA( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_DEMA_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_DEMA_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_DIV_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_DIV( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal0 */ +/* Generated */ params->in[1].data.inReal, /* inReal1 */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_DIV_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_DIV_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_DX_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_DX( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_DX_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_DX_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_EMA_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_EMA( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_EMA_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_EMA_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_EXP_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_EXP( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_EXP_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_EXP_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_FLOOR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_FLOOR( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_FLOOR_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_FLOOR_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_HT_DCPERIOD_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_HT_DCPERIOD( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_HT_DCPERIOD_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_HT_DCPERIOD_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_HT_DCPHASE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_HT_DCPHASE( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_HT_DCPHASE_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_HT_DCPHASE_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_HT_PHASOR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_HT_PHASOR( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal, /* outInPhase */ +/* Generated */ params->out[1].data.outReal /* outQuadrature */ ); +/* Generated */ } +/* Generated */ unsigned int TA_HT_PHASOR_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_HT_PHASOR_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_HT_SINE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_HT_SINE( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal, /* outSine */ +/* Generated */ params->out[1].data.outReal /* outLeadSine */ ); +/* Generated */ } +/* Generated */ unsigned int TA_HT_SINE_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_HT_SINE_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_HT_TRENDLINE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_HT_TRENDLINE( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_HT_TRENDLINE_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_HT_TRENDLINE_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_HT_TRENDMODE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_HT_TRENDMODE( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_HT_TRENDMODE_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_HT_TRENDMODE_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_KAMA_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_KAMA( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_KAMA_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_KAMA_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_LINEARREG_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_LINEARREG( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_LINEARREG_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_LINEARREG_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_LINEARREG_ANGLE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_LINEARREG_ANGLE( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_LINEARREG_ANGLE_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_LINEARREG_ANGLE_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_LINEARREG_INTERCEPT_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_LINEARREG_INTERCEPT( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_LINEARREG_INTERCEPT_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_LINEARREG_INTERCEPT_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_LINEARREG_SLOPE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_LINEARREG_SLOPE( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_LINEARREG_SLOPE_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_LINEARREG_SLOPE_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_LN_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_LN( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_LN_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_LN_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_LOG10_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_LOG10( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_LOG10_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_LOG10_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_MA_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_MA( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ (TA_MAType)params->optIn[1].data.optInInteger, /* optInMAType*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_MA_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_MA_Lookback(params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ (TA_MAType)params->optIn[1].data.optInInteger /* optInMAType*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_MACD_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_MACD( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInFastPeriod*/ +/* Generated */ params->optIn[1].data.optInInteger, /* optInSlowPeriod*/ +/* Generated */ params->optIn[2].data.optInInteger, /* optInSignalPeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal, /* outMACD */ +/* Generated */ params->out[1].data.outReal, /* outMACDSignal */ +/* Generated */ params->out[2].data.outReal /* outMACDHist */ ); +/* Generated */ } +/* Generated */ unsigned int TA_MACD_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_MACD_Lookback(params->optIn[0].data.optInInteger, /* optInFastPeriod*/ +/* Generated */ params->optIn[1].data.optInInteger, /* optInSlowPeriod*/ +/* Generated */ params->optIn[2].data.optInInteger /* optInSignalPeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_MACDEXT_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_MACDEXT( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInFastPeriod*/ +/* Generated */ (TA_MAType)params->optIn[1].data.optInInteger, /* optInFastMAType*/ +/* Generated */ params->optIn[2].data.optInInteger, /* optInSlowPeriod*/ +/* Generated */ (TA_MAType)params->optIn[3].data.optInInteger, /* optInSlowMAType*/ +/* Generated */ params->optIn[4].data.optInInteger, /* optInSignalPeriod*/ +/* Generated */ (TA_MAType)params->optIn[5].data.optInInteger, /* optInSignalMAType*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal, /* outMACD */ +/* Generated */ params->out[1].data.outReal, /* outMACDSignal */ +/* Generated */ params->out[2].data.outReal /* outMACDHist */ ); +/* Generated */ } +/* Generated */ unsigned int TA_MACDEXT_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_MACDEXT_Lookback(params->optIn[0].data.optInInteger, /* optInFastPeriod*/ +/* Generated */ (TA_MAType)params->optIn[1].data.optInInteger, /* optInFastMAType*/ +/* Generated */ params->optIn[2].data.optInInteger, /* optInSlowPeriod*/ +/* Generated */ (TA_MAType)params->optIn[3].data.optInInteger, /* optInSlowMAType*/ +/* Generated */ params->optIn[4].data.optInInteger, /* optInSignalPeriod*/ +/* Generated */ (TA_MAType)params->optIn[5].data.optInInteger /* optInSignalMAType*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_MACDFIX_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_MACDFIX( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInSignalPeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal, /* outMACD */ +/* Generated */ params->out[1].data.outReal, /* outMACDSignal */ +/* Generated */ params->out[2].data.outReal /* outMACDHist */ ); +/* Generated */ } +/* Generated */ unsigned int TA_MACDFIX_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_MACDFIX_Lookback(params->optIn[0].data.optInInteger /* optInSignalPeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_MAMA_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_MAMA( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInReal, /* optInFastLimit*/ +/* Generated */ params->optIn[1].data.optInReal, /* optInSlowLimit*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal, /* outMAMA */ +/* Generated */ params->out[1].data.outReal /* outFAMA */ ); +/* Generated */ } +/* Generated */ unsigned int TA_MAMA_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_MAMA_Lookback(params->optIn[0].data.optInReal, /* optInFastLimit*/ +/* Generated */ params->optIn[1].data.optInReal /* optInSlowLimit*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_MAVP_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_MAVP( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->in[1].data.inReal, /* inPeriods */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInMinPeriod*/ +/* Generated */ params->optIn[1].data.optInInteger, /* optInMaxPeriod*/ +/* Generated */ (TA_MAType)params->optIn[2].data.optInInteger, /* optInMAType*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_MAVP_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_MAVP_Lookback(params->optIn[0].data.optInInteger, /* optInMinPeriod*/ +/* Generated */ params->optIn[1].data.optInInteger, /* optInMaxPeriod*/ +/* Generated */ (TA_MAType)params->optIn[2].data.optInInteger /* optInMAType*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_MAX_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_MAX( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_MAX_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_MAX_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_MAXINDEX_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_MAXINDEX( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_MAXINDEX_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_MAXINDEX_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_MEDPRICE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_MEDPRICE( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_MEDPRICE_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_MEDPRICE_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_MFI_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_MFI( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ params->in[0].data.inPrice.volume, /* inVolume */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_MFI_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_MFI_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_MIDPOINT_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_MIDPOINT( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_MIDPOINT_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_MIDPOINT_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_MIDPRICE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_MIDPRICE( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_MIDPRICE_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_MIDPRICE_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_MIN_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_MIN( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_MIN_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_MIN_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_MININDEX_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_MININDEX( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger /* outInteger */ ); +/* Generated */ } +/* Generated */ unsigned int TA_MININDEX_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_MININDEX_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_MINMAX_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_MINMAX( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal, /* outMin */ +/* Generated */ params->out[1].data.outReal /* outMax */ ); +/* Generated */ } +/* Generated */ unsigned int TA_MINMAX_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_MINMAX_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_MINMAXINDEX_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_MINMAXINDEX( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outInteger, /* outMinIdx */ +/* Generated */ params->out[1].data.outInteger /* outMaxIdx */ ); +/* Generated */ } +/* Generated */ unsigned int TA_MINMAXINDEX_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_MINMAXINDEX_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_MINUS_DI_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_MINUS_DI( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_MINUS_DI_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_MINUS_DI_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_MINUS_DM_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_MINUS_DM( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_MINUS_DM_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_MINUS_DM_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_MOM_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_MOM( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_MOM_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_MOM_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_MULT_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_MULT( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal0 */ +/* Generated */ params->in[1].data.inReal, /* inReal1 */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_MULT_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_MULT_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_NATR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_NATR( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_NATR_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_NATR_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_OBV_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_OBV( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->in[1].data.inPrice.volume, /* inVolume */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_OBV_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_OBV_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_PLUS_DI_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_PLUS_DI( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_PLUS_DI_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_PLUS_DI_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_PLUS_DM_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_PLUS_DM( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_PLUS_DM_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_PLUS_DM_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_PPO_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_PPO( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInFastPeriod*/ +/* Generated */ params->optIn[1].data.optInInteger, /* optInSlowPeriod*/ +/* Generated */ (TA_MAType)params->optIn[2].data.optInInteger, /* optInMAType*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_PPO_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_PPO_Lookback(params->optIn[0].data.optInInteger, /* optInFastPeriod*/ +/* Generated */ params->optIn[1].data.optInInteger, /* optInSlowPeriod*/ +/* Generated */ (TA_MAType)params->optIn[2].data.optInInteger /* optInMAType*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_ROC_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_ROC( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_ROC_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_ROC_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_ROCP_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_ROCP( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_ROCP_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_ROCP_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_ROCR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_ROCR( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_ROCR_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_ROCR_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_ROCR100_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_ROCR100( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_ROCR100_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_ROCR100_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_RSI_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_RSI( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_RSI_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_RSI_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_SAR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_SAR( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->optIn[0].data.optInReal, /* optInAcceleration*/ +/* Generated */ params->optIn[1].data.optInReal, /* optInMaximum*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_SAR_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_SAR_Lookback(params->optIn[0].data.optInReal, /* optInAcceleration*/ +/* Generated */ params->optIn[1].data.optInReal /* optInMaximum*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_SAREXT_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_SAREXT( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->optIn[0].data.optInReal, /* optInStartValue*/ +/* Generated */ params->optIn[1].data.optInReal, /* optInOffsetOnReverse*/ +/* Generated */ params->optIn[2].data.optInReal, /* optInAccelerationInitLong*/ +/* Generated */ params->optIn[3].data.optInReal, /* optInAccelerationLong*/ +/* Generated */ params->optIn[4].data.optInReal, /* optInAccelerationMaxLong*/ +/* Generated */ params->optIn[5].data.optInReal, /* optInAccelerationInitShort*/ +/* Generated */ params->optIn[6].data.optInReal, /* optInAccelerationShort*/ +/* Generated */ params->optIn[7].data.optInReal, /* optInAccelerationMaxShort*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_SAREXT_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_SAREXT_Lookback(params->optIn[0].data.optInReal, /* optInStartValue*/ +/* Generated */ params->optIn[1].data.optInReal, /* optInOffsetOnReverse*/ +/* Generated */ params->optIn[2].data.optInReal, /* optInAccelerationInitLong*/ +/* Generated */ params->optIn[3].data.optInReal, /* optInAccelerationLong*/ +/* Generated */ params->optIn[4].data.optInReal, /* optInAccelerationMaxLong*/ +/* Generated */ params->optIn[5].data.optInReal, /* optInAccelerationInitShort*/ +/* Generated */ params->optIn[6].data.optInReal, /* optInAccelerationShort*/ +/* Generated */ params->optIn[7].data.optInReal /* optInAccelerationMaxShort*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_SIN_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_SIN( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_SIN_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_SIN_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_SINH_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_SINH( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_SINH_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_SINH_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_SMA_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_SMA( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_SMA_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_SMA_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_SQRT_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_SQRT( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_SQRT_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_SQRT_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_STDDEV_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_STDDEV( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ params->optIn[1].data.optInReal, /* optInNbDev*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_STDDEV_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_STDDEV_Lookback(params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ params->optIn[1].data.optInReal /* optInNbDev*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_STOCH_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_STOCH( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInFastK_Period*/ +/* Generated */ params->optIn[1].data.optInInteger, /* optInSlowK_Period*/ +/* Generated */ (TA_MAType)params->optIn[2].data.optInInteger, /* optInSlowK_MAType*/ +/* Generated */ params->optIn[3].data.optInInteger, /* optInSlowD_Period*/ +/* Generated */ (TA_MAType)params->optIn[4].data.optInInteger, /* optInSlowD_MAType*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal, /* outSlowK */ +/* Generated */ params->out[1].data.outReal /* outSlowD */ ); +/* Generated */ } +/* Generated */ unsigned int TA_STOCH_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_STOCH_Lookback(params->optIn[0].data.optInInteger, /* optInFastK_Period*/ +/* Generated */ params->optIn[1].data.optInInteger, /* optInSlowK_Period*/ +/* Generated */ (TA_MAType)params->optIn[2].data.optInInteger, /* optInSlowK_MAType*/ +/* Generated */ params->optIn[3].data.optInInteger, /* optInSlowD_Period*/ +/* Generated */ (TA_MAType)params->optIn[4].data.optInInteger /* optInSlowD_MAType*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_STOCHF_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_STOCHF( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInFastK_Period*/ +/* Generated */ params->optIn[1].data.optInInteger, /* optInFastD_Period*/ +/* Generated */ (TA_MAType)params->optIn[2].data.optInInteger, /* optInFastD_MAType*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal, /* outFastK */ +/* Generated */ params->out[1].data.outReal /* outFastD */ ); +/* Generated */ } +/* Generated */ unsigned int TA_STOCHF_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_STOCHF_Lookback(params->optIn[0].data.optInInteger, /* optInFastK_Period*/ +/* Generated */ params->optIn[1].data.optInInteger, /* optInFastD_Period*/ +/* Generated */ (TA_MAType)params->optIn[2].data.optInInteger /* optInFastD_MAType*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_STOCHRSI_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_STOCHRSI( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ params->optIn[1].data.optInInteger, /* optInFastK_Period*/ +/* Generated */ params->optIn[2].data.optInInteger, /* optInFastD_Period*/ +/* Generated */ (TA_MAType)params->optIn[3].data.optInInteger, /* optInFastD_MAType*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal, /* outFastK */ +/* Generated */ params->out[1].data.outReal /* outFastD */ ); +/* Generated */ } +/* Generated */ unsigned int TA_STOCHRSI_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_STOCHRSI_Lookback(params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ params->optIn[1].data.optInInteger, /* optInFastK_Period*/ +/* Generated */ params->optIn[2].data.optInInteger, /* optInFastD_Period*/ +/* Generated */ (TA_MAType)params->optIn[3].data.optInInteger /* optInFastD_MAType*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_SUB_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_SUB( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal0 */ +/* Generated */ params->in[1].data.inReal, /* inReal1 */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_SUB_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_SUB_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_SUM_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_SUM( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_SUM_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_SUM_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_T3_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_T3( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ params->optIn[1].data.optInReal, /* optInVFactor*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_T3_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_T3_Lookback(params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ params->optIn[1].data.optInReal /* optInVFactor*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_TAN_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_TAN( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_TAN_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_TAN_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_TANH_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_TANH( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_TANH_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_TANH_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_TEMA_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_TEMA( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_TEMA_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_TEMA_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_TRANGE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_TRANGE( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_TRANGE_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_TRANGE_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_TRIMA_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_TRIMA( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_TRIMA_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_TRIMA_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_TRIX_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_TRIX( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_TRIX_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_TRIX_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_TSF_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_TSF( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_TSF_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_TSF_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_TYPPRICE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_TYPPRICE( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_TYPPRICE_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_TYPPRICE_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_ULTOSC_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_ULTOSC( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod1*/ +/* Generated */ params->optIn[1].data.optInInteger, /* optInTimePeriod2*/ +/* Generated */ params->optIn[2].data.optInInteger, /* optInTimePeriod3*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_ULTOSC_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_ULTOSC_Lookback(params->optIn[0].data.optInInteger, /* optInTimePeriod1*/ +/* Generated */ params->optIn[1].data.optInInteger, /* optInTimePeriod2*/ +/* Generated */ params->optIn[2].data.optInInteger /* optInTimePeriod3*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_VAR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_VAR( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ params->optIn[1].data.optInReal, /* optInNbDev*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_VAR_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_VAR_Lookback(params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ params->optIn[1].data.optInReal /* optInNbDev*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_WCLPRICE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_WCLPRICE( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_WCLPRICE_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ (void)params; +/* Generated */ return TA_WCLPRICE_Lookback( ); +/* Generated */ } +/* Generated */ TA_RetCode TA_WILLR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_WILLR( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inPrice.high, /* inHigh */ +/* Generated */ params->in[0].data.inPrice.low, /* inLow */ +/* Generated */ params->in[0].data.inPrice.close, /* inClose */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_WILLR_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_WILLR_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } +/* Generated */ TA_RetCode TA_WMA_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +/* Generated */ { +/* Generated */ return TA_WMA( +/* Generated */ startIdx, +/* Generated */ endIdx, +/* Generated */ params->in[0].data.inReal, /* inReal */ +/* Generated */ params->optIn[0].data.optInInteger, /* optInTimePeriod*/ +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ params->out[0].data.outReal /* outReal */ ); +/* Generated */ } +/* Generated */ unsigned int TA_WMA_FramePPLB( const TA_ParamHolderPriv *params ) +/* Generated */ { +/* Generated */ return TA_WMA_Lookback(params->optIn[0].data.optInInteger /* optInTimePeriod*/ ); +/* Generated */ } + +/***************/ +/* End of File */ +/***************/ diff --git a/vendor/ta-lib/src/ta_abstract/frames/ta_frame.h b/vendor/ta-lib/src/ta_abstract/frames/ta_frame.h new file mode 100644 index 000000000..e75a8c3c0 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/frames/ta_frame.h @@ -0,0 +1,1481 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef TA_FRAME_H +#define TA_FRAME_H + +/* Note: This file is generated by gencode, do not + * modify directly. + */ + +/* The function define in this file allows to call a TA + * function through the TA_CallFunc mechanism. + */ + +#ifndef TA_COMMON_H + #include "ta_common.h" +#endif + +#ifndef TA_FRAME_PRIV_H + #include "ta_frame_priv.h" +#endif + + +/* Generated */ TA_RetCode TA_ACOS_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_ACOS_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_AD_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_AD_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_ADD_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_ADD_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_ADOSC_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_ADOSC_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_ADX_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_ADX_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_ADXR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_ADXR_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_APO_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_APO_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_AROON_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_AROON_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_AROONOSC_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_AROONOSC_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_ASIN_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_ASIN_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_ATAN_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_ATAN_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_ATR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_ATR_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_AVGPRICE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_AVGPRICE_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_BBANDS_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_BBANDS_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_BETA_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_BETA_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_BOP_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_BOP_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CCI_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CCI_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDL2CROWS_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDL2CROWS_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDL3BLACKCROWS_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDL3BLACKCROWS_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDL3INSIDE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDL3INSIDE_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDL3LINESTRIKE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDL3LINESTRIKE_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDL3OUTSIDE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDL3OUTSIDE_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDL3STARSINSOUTH_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDL3STARSINSOUTH_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDL3WHITESOLDIERS_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDL3WHITESOLDIERS_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLABANDONEDBABY_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLABANDONEDBABY_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLADVANCEBLOCK_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLADVANCEBLOCK_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLBELTHOLD_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLBELTHOLD_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLBREAKAWAY_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLBREAKAWAY_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLCLOSINGMARUBOZU_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLCLOSINGMARUBOZU_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLCONCEALBABYSWALL_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLCONCEALBABYSWALL_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLCOUNTERATTACK_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLCOUNTERATTACK_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLDARKCLOUDCOVER_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLDARKCLOUDCOVER_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLDOJI_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLDOJI_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLDOJISTAR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLDOJISTAR_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLDRAGONFLYDOJI_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLDRAGONFLYDOJI_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLENGULFING_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLENGULFING_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLEVENINGDOJISTAR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLEVENINGDOJISTAR_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLEVENINGSTAR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLEVENINGSTAR_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLGAPSIDESIDEWHITE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLGAPSIDESIDEWHITE_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLGRAVESTONEDOJI_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLGRAVESTONEDOJI_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLHAMMER_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLHAMMER_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLHANGINGMAN_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLHANGINGMAN_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLHARAMI_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLHARAMI_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLHARAMICROSS_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLHARAMICROSS_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLHIGHWAVE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLHIGHWAVE_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLHIKKAKE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLHIKKAKE_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLHIKKAKEMOD_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLHIKKAKEMOD_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLHOMINGPIGEON_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLHOMINGPIGEON_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLIDENTICAL3CROWS_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLIDENTICAL3CROWS_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLINNECK_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLINNECK_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLINVERTEDHAMMER_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLINVERTEDHAMMER_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLKICKING_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLKICKING_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLKICKINGBYLENGTH_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLKICKINGBYLENGTH_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLLADDERBOTTOM_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLLADDERBOTTOM_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLLONGLEGGEDDOJI_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLLONGLEGGEDDOJI_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLLONGLINE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLLONGLINE_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLMARUBOZU_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLMARUBOZU_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLMATCHINGLOW_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLMATCHINGLOW_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLMATHOLD_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLMATHOLD_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLMORNINGDOJISTAR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLMORNINGDOJISTAR_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLMORNINGSTAR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLMORNINGSTAR_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLONNECK_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLONNECK_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLPIERCING_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLPIERCING_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLRICKSHAWMAN_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLRICKSHAWMAN_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLRISEFALL3METHODS_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLRISEFALL3METHODS_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLSEPARATINGLINES_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLSEPARATINGLINES_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLSHOOTINGSTAR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLSHOOTINGSTAR_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLSHORTLINE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLSHORTLINE_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLSPINNINGTOP_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLSPINNINGTOP_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLSTALLEDPATTERN_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLSTALLEDPATTERN_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLSTICKSANDWICH_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLSTICKSANDWICH_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLTAKURI_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLTAKURI_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLTASUKIGAP_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLTASUKIGAP_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLTHRUSTING_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLTHRUSTING_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLTRISTAR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLTRISTAR_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLUNIQUE3RIVER_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLUNIQUE3RIVER_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLUPSIDEGAP2CROWS_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLUPSIDEGAP2CROWS_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CDLXSIDEGAP3METHODS_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CDLXSIDEGAP3METHODS_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CEIL_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CEIL_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CMO_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CMO_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_CORREL_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_CORREL_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_COS_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_COS_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_COSH_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_COSH_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_DEMA_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_DEMA_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_DIV_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_DIV_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_DX_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_DX_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_EMA_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_EMA_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_EXP_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_EXP_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_FLOOR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_FLOOR_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_HT_DCPERIOD_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_HT_DCPERIOD_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_HT_DCPHASE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_HT_DCPHASE_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_HT_PHASOR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_HT_PHASOR_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_HT_SINE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_HT_SINE_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_HT_TRENDLINE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_HT_TRENDLINE_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_HT_TRENDMODE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_HT_TRENDMODE_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_KAMA_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_KAMA_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_LINEARREG_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_LINEARREG_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_LINEARREG_ANGLE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_LINEARREG_ANGLE_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_LINEARREG_INTERCEPT_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_LINEARREG_INTERCEPT_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_LINEARREG_SLOPE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_LINEARREG_SLOPE_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_LN_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_LN_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_LOG10_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_LOG10_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_MA_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_MA_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_MACD_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_MACD_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_MACDEXT_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_MACDEXT_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_MACDFIX_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_MACDFIX_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_MAMA_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_MAMA_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_MAVP_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_MAVP_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_MAX_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_MAX_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_MAXINDEX_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_MAXINDEX_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_MEDPRICE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_MEDPRICE_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_MFI_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_MFI_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_MIDPOINT_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_MIDPOINT_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_MIDPRICE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_MIDPRICE_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_MIN_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_MIN_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_MININDEX_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_MININDEX_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_MINMAX_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_MINMAX_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_MINMAXINDEX_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_MINMAXINDEX_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_MINUS_DI_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_MINUS_DI_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_MINUS_DM_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_MINUS_DM_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_MOM_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_MOM_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_MULT_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_MULT_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_NATR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_NATR_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_OBV_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_OBV_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_PLUS_DI_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_PLUS_DI_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_PLUS_DM_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_PLUS_DM_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_PPO_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_PPO_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_ROC_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_ROC_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_ROCP_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_ROCP_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_ROCR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_ROCR_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_ROCR100_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_ROCR100_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_RSI_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_RSI_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_SAR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_SAR_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_SAREXT_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_SAREXT_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_SIN_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_SIN_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_SINH_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_SINH_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_SMA_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_SMA_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_SQRT_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_SQRT_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_STDDEV_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_STDDEV_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_STOCH_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_STOCH_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_STOCHF_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_STOCHF_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_STOCHRSI_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_STOCHRSI_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_SUB_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_SUB_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_SUM_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_SUM_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_T3_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_T3_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_TAN_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_TAN_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_TANH_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_TANH_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_TEMA_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_TEMA_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_TRANGE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_TRANGE_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_TRIMA_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_TRIMA_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_TRIX_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_TRIX_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_TSF_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_TSF_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_TYPPRICE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_TYPPRICE_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_ULTOSC_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_ULTOSC_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_VAR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_VAR_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_WCLPRICE_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_WCLPRICE_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_WILLR_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_WILLR_FramePPLB( const TA_ParamHolderPriv *params ) +; + +/* Generated */ TA_RetCode TA_WMA_FramePP( const TA_ParamHolderPriv *params, +/* Generated */ int startIdx, +/* Generated */ int endIdx, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement ) +; +/* Generated */ unsigned int TA_WMA_FramePPLB( const TA_ParamHolderPriv *params ) +; + + +#endif + +/***************/ +/* End of File */ +/***************/ diff --git a/vendor/ta-lib/src/ta_abstract/ta_abstract.c b/vendor/ta-lib/src/ta_abstract/ta_abstract.c new file mode 100644 index 000000000..8c03e34a8 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/ta_abstract.c @@ -0,0 +1,1313 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 020101 MF First version. + * 110302 MF Re-design the interface related to TA_CallFunc for being + * faster and use less memory allocation. + * 022904 MF Add TA_GetLookback + * 031404 MF Some function renaming for consistency and better + * Perl integration. + * 110206 AC Change volume and open interest to double + */ + +/* Description: + * Provide a way to abstract the call of the TA functions. + */ + +/**** Headers ****/ +#include +#include +#include +#include "ta_common.h" +#include "ta_memory.h" +#include "ta_abstract.h" +#include "ta_def_ui.h" +#include "ta_frame_priv.h" + +#include + +/**** External functions declarations. ****/ +/* None */ + +/**** External variables declarations. ****/ + +/* The interface definition of all functions are accessible + * through one of the following 26 tables. + */ +extern const TA_FuncDef *TA_DEF_TableA, *TA_DEF_TableB, *TA_DEF_TableC, + *TA_DEF_TableD, *TA_DEF_TableE, *TA_DEF_TableF, + *TA_DEF_TableG, *TA_DEF_TableH, *TA_DEF_TableI, + *TA_DEF_TableJ, *TA_DEF_TableK, *TA_DEF_TableL, + *TA_DEF_TableM, *TA_DEF_TableN, *TA_DEF_TableO, + *TA_DEF_TableP, *TA_DEF_TableQ, *TA_DEF_TableR, + *TA_DEF_TableS, *TA_DEF_TableT, *TA_DEF_TableU, + *TA_DEF_TableV, *TA_DEF_TableW, *TA_DEF_TableX, + *TA_DEF_TableY, *TA_DEF_TableZ; + +extern const unsigned int TA_DEF_TableASize, TA_DEF_TableBSize, + TA_DEF_TableCSize, TA_DEF_TableDSize, + TA_DEF_TableESize, TA_DEF_TableFSize, + TA_DEF_TableGSize, TA_DEF_TableHSize, + TA_DEF_TableISize, TA_DEF_TableJSize, + TA_DEF_TableKSize, TA_DEF_TableLSize, + TA_DEF_TableMSize, TA_DEF_TableNSize, + TA_DEF_TableOSize, TA_DEF_TablePSize, + TA_DEF_TableQSize, TA_DEF_TableRSize, + TA_DEF_TableSSize, TA_DEF_TableTSize, + TA_DEF_TableUSize, TA_DEF_TableVSize, + TA_DEF_TableWSize, TA_DEF_TableXSize, + TA_DEF_TableYSize, TA_DEF_TableZSize; + +#ifndef TA_GEN_CODE + /* In gen_code, these value does not exist (they are generated by + * gen_code itself!) + * Consequently, the code, when being used to make the gen_code + * executable, must provide the same functionality without using + * these shortcuts. + */ + extern const TA_FuncDef **TA_PerGroupFuncDef[]; + extern const unsigned int TA_PerGroupSize[]; +#endif + +/**** Global variables definitions. ****/ +/* None */ + +/**** Local declarations. ****/ +#ifndef min + #define min(a, b) (((a) < (b)) ? (a) : (b)) +#endif + +typedef struct +{ + unsigned int magicNumber; +} TA_StringTablePriv; + + +/**** Local functions declarations. ****/ + + +#ifdef TA_GEN_CODE + static TA_RetCode getGroupId( const char *groupString, unsigned int *groupId ); + static TA_RetCode getGroupSize( TA_GroupId groupId, unsigned int *groupSize ); + static TA_RetCode getFuncNameByIdx( TA_GroupId groupId, + unsigned int idx, + const char **stringPtr ); +#else + static TA_RetCode getGroupId( const char *groupString, unsigned int *groupId ); + static TA_RetCode getGroupSize( TA_GroupId groupId, unsigned int *groupSize ); + static TA_RetCode getFuncNameByIdx( TA_GroupId groupId, + unsigned int idx, + const char **stringPtr ); +#endif + +/**** Local variables definitions. ****/ + +static const TA_FuncDef **TA_DEF_Tables[26] = +{ + &TA_DEF_TableA, &TA_DEF_TableB, &TA_DEF_TableC, &TA_DEF_TableD, &TA_DEF_TableE, + &TA_DEF_TableF, &TA_DEF_TableG, &TA_DEF_TableH, &TA_DEF_TableI, &TA_DEF_TableJ, + &TA_DEF_TableK, &TA_DEF_TableL, &TA_DEF_TableM, &TA_DEF_TableN, &TA_DEF_TableO, + &TA_DEF_TableP, &TA_DEF_TableQ, &TA_DEF_TableR, &TA_DEF_TableS, &TA_DEF_TableT, + &TA_DEF_TableU, &TA_DEF_TableV, &TA_DEF_TableW, &TA_DEF_TableX, &TA_DEF_TableY, + &TA_DEF_TableZ +}; + +static const unsigned int *TA_DEF_TablesSize[26] = +{ + &TA_DEF_TableASize, &TA_DEF_TableBSize, &TA_DEF_TableCSize, + &TA_DEF_TableDSize, &TA_DEF_TableESize, &TA_DEF_TableFSize, + &TA_DEF_TableGSize, &TA_DEF_TableHSize, &TA_DEF_TableISize, + &TA_DEF_TableJSize, &TA_DEF_TableKSize, &TA_DEF_TableLSize, + &TA_DEF_TableMSize, &TA_DEF_TableNSize, &TA_DEF_TableOSize, + &TA_DEF_TablePSize, &TA_DEF_TableQSize, &TA_DEF_TableRSize, + &TA_DEF_TableSSize, &TA_DEF_TableTSize, &TA_DEF_TableUSize, + &TA_DEF_TableVSize, &TA_DEF_TableWSize, &TA_DEF_TableXSize, + &TA_DEF_TableYSize, &TA_DEF_TableZSize +}; + +/**** Global functions definitions. ****/ +TA_RetCode TA_GroupTableAlloc( TA_StringTable **table ) +{ + TA_StringTable *stringTable; + TA_StringTablePriv *stringTablePriv; + + if( table == NULL ) + { + return TA_BAD_PARAM; + } + + stringTable = (TA_StringTable *)TA_Malloc( sizeof(TA_StringTable) + sizeof(TA_StringTablePriv) ); + if( !stringTable ) + { + *table = NULL; + return TA_ALLOC_ERR; + } + + memset( stringTable, 0, sizeof(TA_StringTable) + sizeof(TA_StringTablePriv) ); + stringTablePriv = (TA_StringTablePriv *)(((char *)stringTable)+sizeof(TA_StringTable)); + stringTablePriv->magicNumber = TA_STRING_TABLE_GROUP_MAGIC_NB; + + stringTable->size = TA_NB_GROUP_ID; + stringTable->string = &TA_GroupString[0]; + stringTable->hiddenData = stringTablePriv; + + /* From this point, TA_FuncTableFree can be safely called. */ + + /* Success. Return the table to the caller. */ + *table = stringTable; + + return TA_SUCCESS; +} + +TA_RetCode TA_GroupTableFree( TA_StringTable *table ) +{ + TA_StringTablePriv *stringTablePriv; + + if( table ) + { + stringTablePriv = (TA_StringTablePriv *)table->hiddenData; + if( !stringTablePriv ) + { + return TA_INTERNAL_ERROR(1); + } + + if( stringTablePriv->magicNumber != TA_STRING_TABLE_GROUP_MAGIC_NB ) + { + return TA_BAD_OBJECT; + } + + TA_Free( table ); + } + + return TA_SUCCESS; +} + +/* Iterate in alphabetical order */ +TA_RetCode TA_ForEachFunc( TA_CallForEachFunc functionToCall, void *opaqueData ) +{ + const TA_FuncDef **funcDefTable; + const TA_FuncDef *funcDef; + const TA_FuncInfo *funcInfo; + unsigned int i, j, funcDefTableSize; + + if( functionToCall == NULL ) + { + return TA_BAD_PARAM; + } + + /* Iterate the tables (each table is for one letter) */ + for( i=0; i < 26; i++ ) + { + funcDefTable = TA_DEF_Tables[i]; + + /* Identify the table size. */ + funcDefTableSize = *TA_DEF_TablesSize[i]; + for( j=0; j < funcDefTableSize; j++ ) + { + funcDef = funcDefTable[j]; + if( !funcDef || !funcDef->funcInfo ) + return TA_INTERNAL_ERROR(3); + + funcInfo = funcDef->funcInfo; + if( !funcInfo ) + return TA_INTERNAL_ERROR(4); + (*functionToCall)( funcInfo, opaqueData ); + } + } + + return TA_SUCCESS; +} + +TA_RetCode TA_FuncTableAlloc( const char *group, TA_StringTable **table ) +{ + TA_RetCode retCode; + unsigned int i; + TA_StringTable *stringTable; + unsigned int groupId; /* TA_GroupId */ + unsigned int groupSize; + const char *stringPtr; + TA_StringTablePriv *stringTablePriv; + + if( (group == NULL) || (table == NULL ) ) + { + return TA_BAD_PARAM; + } + + *table = NULL; + stringPtr = NULL; + + /* Get information on the group. */ + retCode = getGroupId( group, &groupId ); + if( retCode != TA_SUCCESS ) + { + return retCode; + } + + retCode = getGroupSize( (TA_GroupId)groupId, &groupSize ); + if( retCode != TA_SUCCESS ) + { + return retCode; + } + + /* Allocate the table. */ + + stringTable = (TA_StringTable *)TA_Malloc( sizeof(TA_StringTable) + sizeof(TA_StringTablePriv) ); + if( !stringTable ) + { + *table = NULL; + return TA_ALLOC_ERR; + } + + memset( stringTable, 0, sizeof(TA_StringTable) + sizeof(TA_StringTablePriv) ); + stringTablePriv = (TA_StringTablePriv *)(((char *)stringTable)+sizeof(TA_StringTable)); + stringTablePriv->magicNumber = TA_STRING_TABLE_FUNC_MAGIC_NB; + stringTable->hiddenData = stringTablePriv; + + /* From this point, TA_FuncTableFree can be safely called. */ + stringTable->size = groupSize; + if( groupSize != 0 ) + { + stringTable->string = (const char **)TA_Malloc( (stringTable->size) * + sizeof(const char *) ); + + if( stringTable->string == NULL ) + { + *table = NULL; + TA_FuncTableFree( stringTable ); + return TA_ALLOC_ERR; + } + + memset( (void *)stringTable->string, 0, + (stringTable->size) * sizeof(const char *) ); + + for( i=0; i < stringTable->size; i++ ) + { + retCode = getFuncNameByIdx( (TA_GroupId)groupId, i, &stringPtr ); + + if( retCode != TA_SUCCESS ) + { + *table = NULL; + TA_FuncTableFree( stringTable ); + return TA_ALLOC_ERR; + } + + (stringTable->string)[i] = stringPtr; + } + } + + /* Return the table to the caller. */ + *table = stringTable; + + return TA_SUCCESS; +} + +TA_RetCode TA_FuncTableFree( TA_StringTable *table ) +{ + TA_StringTablePriv *stringTablePriv; + + if( table ) + { + stringTablePriv = (TA_StringTablePriv *)table->hiddenData; + if( !stringTablePriv ) + { + return TA_INTERNAL_ERROR(3); + } + + if( stringTablePriv->magicNumber != TA_STRING_TABLE_FUNC_MAGIC_NB ) + { + return TA_BAD_OBJECT; + } + + if( table->string ) + TA_Free( (void *)table->string ); + + TA_Free( table ); + } + + return TA_SUCCESS; +} + +TA_RetCode TA_GetFuncHandle( const char *name, const TA_FuncHandle **handle ) +{ + char firstChar, tmp; + const TA_FuncDef **funcDefTable; + const TA_FuncDef *funcDef; + const TA_FuncInfo *funcInfo; + unsigned int i, funcDefTableSize; + + /* A TA_FuncHandle is internally a TA_FuncDef. Let's find it + * by using the alphabetical tables. + */ + if( (name == NULL) || (handle == NULL) ) + { + return TA_BAD_PARAM; + } + + *handle = NULL; + + firstChar = name[0]; + + if( firstChar == '\0' ) + { + return TA_BAD_PARAM; + } + + tmp = (char)tolower( firstChar ); + + if( (tmp < 'a') || (tmp > 'z') ) + { + return TA_FUNC_NOT_FOUND; + } + + /* Identify the table. */ + tmp -= (char)'a'; + funcDefTable = TA_DEF_Tables[(int)tmp]; + + /* Identify the table size. */ + funcDefTableSize = *TA_DEF_TablesSize[(int)tmp]; + if( funcDefTableSize < 1 ) + { + return TA_FUNC_NOT_FOUND; + } + + /* Iterate all entries of the table and return as soon as found. */ + for( i=0; i < funcDefTableSize; i++ ) + { + funcDef = funcDefTable[i]; + if( !funcDef || !funcDef->funcInfo ) + return TA_INTERNAL_ERROR(3); + + funcInfo = funcDef->funcInfo; + if( !funcInfo ) + return TA_INTERNAL_ERROR(4); + + if( strcmp( funcInfo->name, name ) == 0 ) + { + *handle = (TA_FuncHandle *)funcDef; + return TA_SUCCESS; + } + } + + return TA_FUNC_NOT_FOUND; +} + +TA_RetCode TA_GetFuncInfo( const TA_FuncHandle *handle, + const TA_FuncInfo **funcInfo ) +{ + const TA_FuncDef *funcDef; + + if( !funcInfo || !handle ) + { + return TA_BAD_PARAM; + } + + /* Validate that this is a valid funcHandle. */ + funcDef = (const TA_FuncDef *)handle; + if( funcDef->magicNumber != TA_FUNC_DEF_MAGIC_NB ) + { + return TA_INVALID_HANDLE; + } + + *funcInfo = funcDef->funcInfo; + if( !funcDef->funcInfo ) + return TA_INVALID_HANDLE; + + return TA_SUCCESS; +} + +TA_RetCode TA_GetInputParameterInfo( const TA_FuncHandle *handle, + unsigned int paramIndex, + const TA_InputParameterInfo **info ) +{ + const TA_FuncDef *funcDef; + const TA_FuncInfo *funcInfo; + const TA_InputParameterInfo **inputTable; + + if( (handle == NULL) || (info == NULL) ) + { + return TA_BAD_PARAM; + } + + *info = NULL; + + /* Validate that this is a valid funcHandle. */ + funcDef = (const TA_FuncDef *)handle; + if( funcDef->magicNumber != TA_FUNC_DEF_MAGIC_NB ) + { + return TA_INVALID_HANDLE; + } + funcInfo = funcDef->funcInfo; + + if( !funcInfo ) return TA_INVALID_HANDLE; + + if( paramIndex >= funcInfo->nbInput ) + { + return TA_BAD_PARAM; + } + + inputTable = (const TA_InputParameterInfo **)funcDef->input; + + if( !inputTable ) + return TA_INTERNAL_ERROR(2); + + *info = inputTable[paramIndex]; + + if( !(*info) ) + return TA_INTERNAL_ERROR(3); + + return TA_SUCCESS; +} + +TA_RetCode TA_GetOptInputParameterInfo( const TA_FuncHandle *handle, + unsigned int paramIndex, + const TA_OptInputParameterInfo **info ) +{ + const TA_FuncDef *funcDef; + const TA_FuncInfo *funcInfo; + const TA_OptInputParameterInfo **inputTable; + + if( (handle == NULL) || (info == NULL) ) + { + return TA_BAD_PARAM; + } + + *info = NULL; + + /* Validate that this is a valid funcHandle. */ + funcDef = (const TA_FuncDef *)handle; + if( funcDef->magicNumber != TA_FUNC_DEF_MAGIC_NB ) + { + return TA_INVALID_HANDLE; + } + + funcInfo = funcDef->funcInfo; + + if( !funcInfo ) + return TA_INVALID_HANDLE; + + if( paramIndex >= funcInfo->nbOptInput ) + { + return TA_BAD_PARAM; + } + + inputTable = (const TA_OptInputParameterInfo **)funcDef->optInput; + + if( !inputTable ) + return TA_INTERNAL_ERROR(3); + + *info = inputTable[paramIndex]; + + if( !(*info) ) + return TA_INTERNAL_ERROR(4); + + return TA_SUCCESS; +} + +TA_RetCode TA_GetOutputParameterInfo( const TA_FuncHandle *handle, + unsigned int paramIndex, + const TA_OutputParameterInfo **info ) +{ + + const TA_FuncDef *funcDef; + const TA_FuncInfo *funcInfo; + const TA_OutputParameterInfo **outputTable; + + if( (handle == NULL) || (info == NULL) ) + { + return TA_BAD_PARAM; + } + + *info = NULL; + + /* Validate that this is a valid funcHandle. */ + funcDef = (const TA_FuncDef *)handle; + if( funcDef->magicNumber != TA_FUNC_DEF_MAGIC_NB ) + { + return TA_INVALID_HANDLE; + } + + funcInfo = funcDef->funcInfo; + + if( !funcInfo ) + { + return TA_INVALID_HANDLE; + } + + if( paramIndex >= funcInfo->nbOutput ) + { + return TA_BAD_PARAM; + } + + outputTable = (const TA_OutputParameterInfo **)funcDef->output; + + if( !outputTable ) + { + return TA_INTERNAL_ERROR(4); + } + + *info = outputTable[paramIndex]; + + if( !(*info) ) + { + return TA_INTERNAL_ERROR(5); + } + + return TA_SUCCESS; +} + +TA_RetCode TA_ParamHolderAlloc( const TA_FuncHandle *handle, + TA_ParamHolder **allocatedParams ) +{ + + TA_FuncDef *funcDef; + unsigned int allocSize, i; + TA_ParamHolderInput *input; + TA_ParamHolderOptInput *optInput; + TA_ParamHolderOutput *output; + + const TA_FuncInfo *funcInfo; + TA_ParamHolder *newParams; + TA_ParamHolderPriv *newParamsPriv; + + const TA_InputParameterInfo **inputInfo; + const TA_OptInputParameterInfo **optInputInfo; + const TA_OutputParameterInfo **outputInfo; + + /* Validate the parameters. */ + if( !handle || !allocatedParams) + { + return TA_BAD_PARAM; + } + + /* Validate that this is a valid funcHandle. */ + funcDef = (TA_FuncDef *)handle; + if( funcDef->magicNumber != TA_FUNC_DEF_MAGIC_NB ) + { + *allocatedParams = NULL; + return TA_INVALID_HANDLE; + } + + /* Get the TA_FuncInfo. */ + funcInfo = funcDef->funcInfo; + if( !funcInfo ) return TA_INVALID_HANDLE; + + /* Allocate the TA_ParamHolder. */ + newParams = (TA_ParamHolder *)TA_Malloc( sizeof(TA_ParamHolder) + sizeof(TA_ParamHolderPriv)); + if( !newParams ) + { + *allocatedParams = NULL; + return TA_ALLOC_ERR; + } + + memset( newParams, 0, sizeof(TA_ParamHolder) + sizeof(TA_ParamHolderPriv) ); + newParamsPriv = (TA_ParamHolderPriv *)(((char *)newParams)+sizeof(TA_ParamHolder)); + newParamsPriv->magicNumber = TA_PARAM_HOLDER_PRIV_MAGIC_NB; + newParams->hiddenData = newParamsPriv; + + /* From this point, TA_ParamHolderFree can be safely called. */ + + /* Allocate the array of structure holding the info + * for each parameter. + */ + if( funcInfo->nbInput == 0 ) return TA_INTERNAL_ERROR(2); + + allocSize = (funcInfo->nbInput) * sizeof(TA_ParamHolderInput); + input = (TA_ParamHolderInput *)TA_Malloc( allocSize ); + + if( !input ) + { + TA_ParamHolderFree( newParams ); + *allocatedParams = NULL; + return TA_ALLOC_ERR; + } + memset( input, 0, allocSize ); + newParamsPriv->in = input; + + if( funcInfo->nbOptInput == 0 ) + optInput = NULL; + else + { + allocSize = (funcInfo->nbOptInput) * sizeof(TA_ParamHolderOptInput); + optInput = (TA_ParamHolderOptInput *)TA_Malloc( allocSize ); + + if( !optInput ) + { + TA_ParamHolderFree( newParams ); + *allocatedParams = NULL; + return TA_ALLOC_ERR; + } + memset( optInput, 0, allocSize ); + } + newParamsPriv->optIn = optInput; + + allocSize = (funcInfo->nbOutput) * sizeof(TA_ParamHolderOutput); + output = (TA_ParamHolderOutput *)TA_Malloc( allocSize ); + if( !output ) + { + TA_ParamHolderFree( newParams ); + *allocatedParams = NULL; + return TA_ALLOC_ERR; + } + memset( output, 0, allocSize ); + newParamsPriv->out = output; + + newParamsPriv->funcInfo = funcInfo; + + inputInfo = (const TA_InputParameterInfo **)funcDef->input; + optInputInfo = (const TA_OptInputParameterInfo **)funcDef->optInput; + outputInfo = (const TA_OutputParameterInfo **)funcDef->output; + + for( i=0; i < funcInfo->nbInput; i++ ) + { + input[i].inputInfo = inputInfo[i]; + newParamsPriv->inBitmap <<= 1; + newParamsPriv->inBitmap |= 1; + } + + for( i=0; i < funcInfo->nbOptInput; i++ ) + { + optInput[i].optInputInfo = optInputInfo[i]; + if( optInput[i].optInputInfo->type == TA_OptInput_RealRange ) + optInput[i].data.optInReal = optInputInfo[i]->defaultValue; + else + optInput[i].data.optInInteger = (TA_Integer)optInputInfo[i]->defaultValue; + } + + for( i=0; i < funcInfo->nbOutput; i++ ) + { + output[i].outputInfo = outputInfo[i]; + newParamsPriv->outBitmap <<= 1; + newParamsPriv->outBitmap |= 1; + } + + /* Succcess, return the result to the caller. */ + *allocatedParams = newParams; + + return TA_SUCCESS; +} + +TA_RetCode TA_ParamHolderFree( TA_ParamHolder *paramsToFree ) +{ + TA_ParamHolderPriv *paramPriv; + + TA_ParamHolderInput *input; + TA_ParamHolderOptInput *optInput; + TA_ParamHolderOutput *output; + + if( !paramsToFree ) + { + return TA_SUCCESS; + } + + paramPriv = paramsToFree->hiddenData; + + if( !paramPriv ) + { + return TA_INVALID_PARAM_HOLDER; + } + + if( paramPriv->magicNumber != TA_PARAM_HOLDER_PRIV_MAGIC_NB ) + { + return TA_INVALID_PARAM_HOLDER; + } + + optInput = paramPriv->optIn; + if( optInput ) + TA_Free( optInput ); + + input = paramPriv->in; + if( input ) + TA_Free( input ); + + output = paramPriv->out; + if( output ) + TA_Free( output ); + + TA_Free( paramsToFree ); + + return TA_SUCCESS; +} + + +TA_RetCode TA_SetInputParamIntegerPtr( TA_ParamHolder *param, + unsigned int paramIndex, + const TA_Integer *value ) +{ + + TA_ParamHolderPriv *paramHolderPriv; + const TA_InputParameterInfo *paramInfo; + const TA_FuncInfo *funcInfo; + + if( (param == NULL) || (value == NULL) ) + { + return TA_BAD_PARAM; + } + + paramHolderPriv = (TA_ParamHolderPriv *)(param->hiddenData); + if( paramHolderPriv->magicNumber != TA_PARAM_HOLDER_PRIV_MAGIC_NB ) + { + return TA_INVALID_PARAM_HOLDER; + } + + /* Make sure this index really exist. */ + funcInfo = paramHolderPriv->funcInfo; + if( !funcInfo ) return TA_INVALID_HANDLE; + + if( paramIndex >= funcInfo->nbInput ) + { + return TA_BAD_PARAM; + } + + /* Verify the type of the parameter. */ + paramInfo = paramHolderPriv->in[paramIndex].inputInfo; + if( !paramInfo ) return TA_INTERNAL_ERROR(2); + if( paramInfo->type != TA_Input_Integer ) + { + return TA_INVALID_PARAM_HOLDER_TYPE; + } + + /* keep a copy of the provided parameter. */ + paramHolderPriv->in[paramIndex].data.inInteger = value; + + /* This parameter is now initialized, clear the corresponding bit. */ + paramHolderPriv->inBitmap &= ~(1<hiddenData); + if( paramHolderPriv->magicNumber != TA_PARAM_HOLDER_PRIV_MAGIC_NB ) + { + return TA_INVALID_PARAM_HOLDER; + } + + /* Make sure this index really exist. */ + funcInfo = paramHolderPriv->funcInfo; + if( !funcInfo ) return TA_INVALID_HANDLE; + + if( paramIndex >= funcInfo->nbInput ) + { + return TA_BAD_PARAM; + } + + /* Verify the type of the parameter. */ + paramInfo = paramHolderPriv->in[paramIndex].inputInfo; + if( !paramInfo ) return TA_INTERNAL_ERROR(2); + if( paramInfo->type != TA_Input_Real ) + { + return TA_INVALID_PARAM_HOLDER_TYPE; + } + + /* keep a copy of the provided parameter. */ + paramHolderPriv->in[paramIndex].data.inReal = value; + + /* This parameter is now initialized, clear the corresponding bit. */ + paramHolderPriv->inBitmap &= ~(1<hiddenData); + if( paramHolderPriv->magicNumber != TA_PARAM_HOLDER_PRIV_MAGIC_NB ) + { + return TA_INVALID_PARAM_HOLDER; + } + + /* Make sure this index really exist. */ + funcInfo = paramHolderPriv->funcInfo; + if( !funcInfo ) return TA_INVALID_HANDLE; + if( paramIndex >= funcInfo->nbInput ) + { + return TA_BAD_PARAM; + } + + /* Verify the type of the parameter. */ + paramInfo = paramHolderPriv->in[paramIndex].inputInfo; + if( !paramInfo ) return TA_INTERNAL_ERROR(2); + if( paramInfo->type != TA_Input_Price ) + { + return TA_INVALID_PARAM_HOLDER_TYPE; + } + + /* keep a copy of the provided parameter. */ + #define SET_PARAM_INFO(lowerParam,upperParam) \ + { \ + if( paramInfo->flags & TA_IN_PRICE_##upperParam ) \ + { \ + if( lowerParam == NULL ) \ + { \ + return TA_BAD_PARAM; \ + } \ + paramHolderPriv->in[paramIndex].data.inPrice.lowerParam = lowerParam; \ + } \ + } + + SET_PARAM_INFO(open, OPEN ); + SET_PARAM_INFO(high, HIGH ); + SET_PARAM_INFO(low, LOW ); + SET_PARAM_INFO(close, CLOSE ); + SET_PARAM_INFO(volume, VOLUME ); + SET_PARAM_INFO(openInterest, OPENINTEREST ); + + #undef SET_PARAM_INFO + + /* This parameter is now initialized, clear the corresponding bit. */ + paramHolderPriv->inBitmap &= ~(1<hiddenData); + if( paramHolderPriv->magicNumber != TA_PARAM_HOLDER_PRIV_MAGIC_NB ) + { + return TA_INVALID_PARAM_HOLDER; + } + + /* Make sure this index really exist. */ + funcInfo = paramHolderPriv->funcInfo; + if( !funcInfo ) return TA_INVALID_HANDLE; + if( paramIndex >= funcInfo->nbOptInput ) + { + return TA_BAD_PARAM; + } + + /* Verify the type of the parameter. */ + paramInfo = paramHolderPriv->optIn[paramIndex].optInputInfo; + if( !paramInfo ) return TA_INTERNAL_ERROR(2); + if( (paramInfo->type != TA_OptInput_IntegerRange) && + (paramInfo->type != TA_OptInput_IntegerList) ) + { + return TA_INVALID_PARAM_HOLDER_TYPE; + } + + /* keep a copy of the provided parameter. */ + paramHolderPriv->optIn[paramIndex].data.optInInteger = value; + + return TA_SUCCESS; +} + +TA_RetCode TA_SetOptInputParamReal( TA_ParamHolder *param, + unsigned int paramIndex, + TA_Real value ) +{ + TA_ParamHolderPriv *paramHolderPriv; + const TA_OptInputParameterInfo *paramInfo; + const TA_FuncInfo *funcInfo; + + if( param == NULL ) + { + return TA_BAD_PARAM; + } + + paramHolderPriv = (TA_ParamHolderPriv *)(param->hiddenData); + if( paramHolderPriv->magicNumber != TA_PARAM_HOLDER_PRIV_MAGIC_NB ) + { + return TA_INVALID_PARAM_HOLDER; + } + + /* Make sure this index really exist. */ + funcInfo = paramHolderPriv->funcInfo; + if( !funcInfo ) return TA_INVALID_HANDLE; + + if( paramIndex >= funcInfo->nbOptInput ) + { + return TA_BAD_PARAM; + } + + /* Verify the type of the parameter. */ + paramInfo = paramHolderPriv->optIn[paramIndex].optInputInfo; + if( !paramInfo ) return TA_INTERNAL_ERROR(2); + if( (paramInfo->type != TA_OptInput_RealRange) && + (paramInfo->type != TA_OptInput_RealList) ) + { + return TA_INVALID_PARAM_HOLDER_TYPE; + } + + /* keep a copy of the provided parameter. */ + paramHolderPriv->optIn[paramIndex].data.optInReal = value; + + return TA_SUCCESS; +} + + +/* Setup the parameters indicating where to store the output. */ +TA_RetCode TA_SetOutputParamIntegerPtr( TA_ParamHolder *param, + unsigned int paramIndex, + TA_Integer *out ) +{ + TA_ParamHolderPriv *paramHolderPriv; + const TA_OutputParameterInfo *paramInfo; + const TA_FuncInfo *funcInfo; + + if( (param == NULL) || (out == NULL) ) + { + return TA_BAD_PARAM; + } + + paramHolderPriv = (TA_ParamHolderPriv *)(param->hiddenData); + if( paramHolderPriv->magicNumber != TA_PARAM_HOLDER_PRIV_MAGIC_NB ) + { + return TA_INVALID_PARAM_HOLDER; + } + + /* Make sure this index really exist. */ + funcInfo = paramHolderPriv->funcInfo; + if( !funcInfo ) return TA_INVALID_HANDLE; + + if( paramIndex >= funcInfo->nbOutput ) + { + return TA_BAD_PARAM; + } + + /* Verify the type of the parameter. */ + paramInfo = paramHolderPriv->out[paramIndex].outputInfo; + if( !paramInfo ) return TA_INTERNAL_ERROR(2); + if( paramInfo->type != TA_Output_Integer ) + { + return TA_INVALID_PARAM_HOLDER_TYPE; + } + + /* keep a copy of the provided parameter. */ + paramHolderPriv->out[paramIndex].data.outInteger = out; + + /* This parameter is now initialized, clear the corresponding bit. */ + paramHolderPriv->outBitmap &= ~(1<hiddenData); + if( paramHolderPriv->magicNumber != TA_PARAM_HOLDER_PRIV_MAGIC_NB ) + { + return TA_INVALID_PARAM_HOLDER; + } + + /* Make sure this index really exist. */ + funcInfo = paramHolderPriv->funcInfo; + if( !funcInfo ) return TA_INVALID_HANDLE; + + if( paramIndex >= funcInfo->nbOutput ) + { + return TA_BAD_PARAM; + } + + /* Verify the type of the parameter. */ + paramInfo = paramHolderPriv->out[paramIndex].outputInfo; + if( !paramInfo ) return TA_INTERNAL_ERROR(2); + if( paramInfo->type != TA_Output_Real ) + { + return TA_INVALID_PARAM_HOLDER_TYPE; + } + + /* keep a copy of the provided parameter. */ + paramHolderPriv->out[paramIndex].data.outReal = out; + + /* This parameter is now initialized, clear the corresponding bit. */ + paramHolderPriv->outBitmap &= ~(1<hiddenData); + if( paramHolderPriv->magicNumber != TA_PARAM_HOLDER_PRIV_MAGIC_NB ) + { + return TA_INVALID_PARAM_HOLDER; + } + + /* Get the pointer on the lookback function. */ + funcInfo = paramHolderPriv->funcInfo; + if( !funcInfo ) return TA_INVALID_HANDLE; + + funcDef = (const TA_FuncDef *)funcInfo->handle; + if( !funcDef ) return TA_INTERNAL_ERROR(2); + lookbackFunction = funcDef->lookback; + if( !lookbackFunction ) return TA_INTERNAL_ERROR(2); + + /* Perform the function call. */ + *lookback = (*lookbackFunction)( paramHolderPriv ); + + return TA_SUCCESS; +} + +/* Finally, call a TA function with the parameters. */ +TA_RetCode TA_CallFunc( const TA_ParamHolder *param, + TA_Integer startIdx, + TA_Integer endIdx, + TA_Integer *outBegIdx, + TA_Integer *outNbElement ) +{ + TA_RetCode retCode; + const TA_ParamHolderPriv *paramHolderPriv; + + const TA_FuncDef *funcDef; + const TA_FuncInfo *funcInfo; + TA_FrameFunction function; + + if( (param == NULL) || + (outBegIdx == NULL) || + (outNbElement == NULL) ) + { + return TA_BAD_PARAM; + } + + paramHolderPriv = (TA_ParamHolderPriv *)(param->hiddenData); + if( paramHolderPriv->magicNumber != TA_PARAM_HOLDER_PRIV_MAGIC_NB ) + { + return TA_INVALID_PARAM_HOLDER; + } + + /* Check that all parameters are initialize (except the optInput). */ + if( paramHolderPriv->inBitmap != 0 ) + { + return TA_INPUT_NOT_ALL_INITIALIZE; + } + + if( paramHolderPriv->outBitmap != 0 ) + { + return TA_OUTPUT_NOT_ALL_INITIALIZE; + } + + /* Get the pointer on the function */ + funcInfo = paramHolderPriv->funcInfo; + if( !funcInfo ) return TA_INVALID_HANDLE; + funcDef = (const TA_FuncDef *)funcInfo->handle; + if( !funcDef ) return TA_INTERNAL_ERROR(2); + function = funcDef->function; + if( !function ) return TA_INTERNAL_ERROR(2); + + /* Perform the function call. */ + retCode = (*function)( paramHolderPriv, startIdx, endIdx, + outBegIdx, outNbElement ); + return retCode; +} + +/**** Local functions definitions. ****/ +static TA_RetCode getGroupId( const char *groupString, unsigned int *groupId ) +{ + unsigned int i; + + for( i=0; i < TA_NB_GROUP_ID; i++ ) + { + if( strcmp( TA_GroupString[i], groupString ) == 0 ) + { + *groupId = i; + return TA_SUCCESS; + } + } + + return TA_GROUP_NOT_FOUND; +} + +static TA_RetCode getGroupSize( TA_GroupId groupId, unsigned int *groupSize ) +{ + #ifdef TA_GEN_CODE + /* Code used only when compiled with gen_code. */ + + unsigned int i, j; + const TA_FuncDef **funcDefTable; + const TA_FuncDef *funcDef; + unsigned int tableSize; + unsigned int nbFuncFound; + + if( groupId >= TA_NB_GROUP_ID ) return TA_INTERNAL_ERROR(2); + if( !groupSize ) return TA_INTERNAL_ERROR(2); + + nbFuncFound = 0; + for( i=0; i < 26; i++ ) + { + funcDefTable = TA_DEF_Tables[i]; + tableSize = *(TA_DEF_TablesSize[i]); + + for( j=0; j < tableSize; j++ ) + { + funcDef = funcDefTable[j]; + if( funcDef && (funcDef->groupId == groupId) ) + nbFuncFound++; + } + } + + *groupSize = nbFuncFound; + + return TA_SUCCESS; + #else + /* Optimized code in the final library. */ + *groupSize = TA_PerGroupSize[groupId]; + + return TA_SUCCESS; + #endif +} + +#ifdef TA_GEN_CODE + static TA_RetCode getFuncNameByIdx( TA_GroupId groupId, + unsigned int idx, + const char **stringPtr ) +#else + static TA_RetCode getFuncNameByIdx( TA_GroupId groupId, + unsigned int idx, + const char **stringPtr ) +#endif +{ + #ifdef TA_GEN_CODE + /* Code used only when compiled with gen_code. */ + + unsigned int curIdx; + unsigned int i, j, found; + const TA_FuncDef **funcDefTable; + unsigned int tableSize; + const TA_FuncInfo *funcInfo; + + if( !stringPtr ) return TA_INTERNAL_ERROR(2); + + curIdx = 0; + found = 0; + for( i=0; (i < 26) && !found; i++ ) + { + funcDefTable = TA_DEF_Tables[i]; + tableSize = *(TA_DEF_TablesSize[i]); + + for( j=0; (j < tableSize) && !found; j++ ) + { + if( funcDefTable[j]->groupId == groupId ) + { + if( idx == curIdx ) + { + funcInfo = funcDefTable[j]->funcInfo; + if( !funcInfo ) return TA_INTERNAL_ERROR(2); + *stringPtr = funcInfo->name; + found = 1; + } + curIdx++; + } + } + } + + if( found != 1 ) return TA_INTERNAL_ERROR(2); + if( !(*stringPtr) ) return TA_INTERNAL_ERROR(2); + + return TA_SUCCESS; + #else + /* Optimized code in the final library. */ + const TA_FuncDef **funcDefTable; + const TA_FuncInfo *funcInfo; + + funcDefTable = TA_PerGroupFuncDef[groupId]; + funcInfo = funcDefTable[idx]->funcInfo; + *stringPtr = funcInfo->name; + + return TA_SUCCESS; + #endif +} diff --git a/vendor/ta-lib/src/ta_abstract/ta_def_ui.c b/vendor/ta-lib/src/ta_abstract/ta_def_ui.c new file mode 100644 index 000000000..49d8adbcf --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/ta_def_ui.c @@ -0,0 +1,554 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 130101 MF First version. + * 111503 MF Add TA_DEF_UI_Input_Price_CV + */ + +/* Description: + * Defines const structures representing how data can be + * input/output from the TA functions. + * These structure are mainly used to build the tables\table.c files. + */ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +const char TA_GroupId_MathOperatorsString[] = "Math Operators"; +const char TA_GroupId_MathTransformString[] = "Math Transform"; +const char TA_GroupId_OverlapStudiesString[] = "Overlap Studies"; +const char TA_GroupId_VolatilityIndicatorsString[] = "Volatility Indicators"; +const char TA_GroupId_MomentumIndicatorsString[] = "Momentum Indicators"; +const char TA_GroupId_CycleIndicatorsString[] = "Cycle Indicators"; +const char TA_GroupId_VolumeIndicatorsString[] = "Volume Indicators"; +const char TA_GroupId_PatternRecognitionString[] = "Pattern Recognition"; +const char TA_GroupId_StatisticString[] = "Statistic Functions"; +const char TA_GroupId_PriceTransformString[] = "Price Transform"; + +const char *TA_GroupString[TA_NB_GROUP_ID] = +{ + &TA_GroupId_MathOperatorsString[0], + &TA_GroupId_MathTransformString[0], + &TA_GroupId_OverlapStudiesString[0], + &TA_GroupId_VolatilityIndicatorsString[0], + &TA_GroupId_MomentumIndicatorsString[0], + &TA_GroupId_CycleIndicatorsString[0], + &TA_GroupId_VolumeIndicatorsString[0], + &TA_GroupId_PatternRecognitionString[0], + &TA_GroupId_StatisticString[0], + &TA_GroupId_PriceTransformString[0] +}; + +/************************************************************* + * Define from here the TA_InputParameterInfo + * These shall be sufficient for all possible TA functions. + *************************************************************/ +const TA_InputParameterInfo TA_DEF_UI_Input_Price_OHLCV = + { TA_Input_Price, "inPriceOHLCV", + TA_IN_PRICE_OPEN | + TA_IN_PRICE_HIGH | + TA_IN_PRICE_LOW | + TA_IN_PRICE_CLOSE | + TA_IN_PRICE_VOLUME }; + +const TA_InputParameterInfo TA_DEF_UI_Input_Price_HLCV = + { TA_Input_Price, "inPriceHLCV", + TA_IN_PRICE_HIGH | + TA_IN_PRICE_LOW | + TA_IN_PRICE_CLOSE | + TA_IN_PRICE_VOLUME }; + +const TA_InputParameterInfo TA_DEF_UI_Input_Price_OHLC = + { TA_Input_Price, "inPriceOHLC", + TA_IN_PRICE_OPEN | + TA_IN_PRICE_HIGH | + TA_IN_PRICE_LOW | + TA_IN_PRICE_CLOSE }; + +const TA_InputParameterInfo TA_DEF_UI_Input_Price_HLC = + { TA_Input_Price, "inPriceHLC", + TA_IN_PRICE_HIGH | + TA_IN_PRICE_LOW | + TA_IN_PRICE_CLOSE }; + +const TA_InputParameterInfo TA_DEF_UI_Input_Price_HL = + { TA_Input_Price, "inPriceHL", + TA_IN_PRICE_HIGH | + TA_IN_PRICE_LOW }; + +const TA_InputParameterInfo TA_DEF_UI_Input_Price_CV = + { TA_Input_Price, "inPriceCV", + TA_IN_PRICE_CLOSE | + TA_IN_PRICE_VOLUME }; + +const TA_InputParameterInfo TA_DEF_UI_Input_Price_V = + { TA_Input_Price, "inPriceV", + TA_IN_PRICE_VOLUME }; + +const TA_InputParameterInfo TA_DEF_UI_Input_Real = + { TA_Input_Real, "inReal", 0 }; + +const TA_InputParameterInfo TA_DEF_UI_Input_Periods = + { TA_Input_Real, "inPeriods", 0 }; + +const TA_InputParameterInfo TA_DEF_UI_Input_Real0 = + { TA_Input_Real, "inReal0", 0 }; + +const TA_InputParameterInfo TA_DEF_UI_Input_Real1 = + { TA_Input_Real, "inReal1", 0 }; + +const TA_InputParameterInfo TA_DEF_UI_Input_Integer = + { TA_Input_Integer, "inInteger", 0 }; + + +/************************************************************* + * Define from here the TA_OutputParameterInfo + * These shall be sufficient for most of the TA functions. + *************************************************************/ +const TA_OutputParameterInfo TA_DEF_UI_Output_Real = + { TA_Output_Real, "outReal", TA_OUT_LINE }; + +const TA_OutputParameterInfo TA_DEF_UI_Output_Integer = + { TA_Output_Integer, "outInteger", TA_OUT_LINE }; + +/***************************************************** + * Define from here the TA_Integer ranges + ****************************************************/ + +const TA_IntegerRange TA_DEF_TimePeriod_Positive = +{ + 1, /* min */ + 100000, /* max */ + 1, /* suggested start */ + 200, /* suggested end */ + 1 /* suggested increment */ +}; + +const TA_IntegerRange TA_DEF_TimePeriod_Positive_Minimum5 = +{ + 5, /* min */ + 100000, /* max */ + 5, /* suggested start */ + 200, /* suggested end */ + 1 /* suggested increment */ +}; + +const TA_IntegerRange TA_DEF_TimePeriod_Positive_Minimum2 = +{ + 2, /* min */ + 100000, /* max */ + 4, /* suggested start */ + 200, /* suggested end */ + 1 /* suggested increment */ +}; + +const TA_IntegerRange TA_DEF_HorizontalShiftPeriod = +{ + -200, /* min */ + 200, /* max */ + 0, /* suggested start */ + 8, /* suggested end */ + 1 /* suggested increment */ +}; + + +/***************************************************** + * Define from here the TA_Real ranges + ****************************************************/ +const TA_RealRange TA_DEF_VerticalShiftPercent = +{ + -99.0, /* min */ + 99.0, /* max */ + 1, /* precision */ + -10.0, /* suggested start */ + 10.0, /* suggested end */ + 0.5 /* suggested increment */ +}; + +const TA_RealRange TA_DEF_NbDeviation = +{ + TA_REAL_MIN, /* min */ + TA_REAL_MAX, /* max */ + 2, /* precision */ + -2.0, /* suggested start */ + 2.0, /* suggested end */ + 0.2 /* suggested increment */ +}; + +const TA_RealRange TA_DEF_ZeroToOne = +{ + 0.00, /* min */ + 1.00, /* max */ + 2, /* precision */ + 0.01, /* suggested start */ + 1.00, /* suggested end */ + 0.05 /* suggested increment */ +}; + +const TA_RealRange TA_DEF_RealPositive = +{ + 0.00, /* min */ + TA_REAL_MAX, /* max */ + 0, /* precision */ + 0.0, /* suggested start */ + 0.0, /* suggested end */ + 0.0 /* suggested increment */ +}; + +/***************************************************** + * Define from here the TA_OptInputParameterInfo. + ****************************************************/ + +const TA_OptInputParameterInfo TA_DEF_UI_MinPeriod = +{ + TA_OptInput_IntegerRange, /* type */ + "optInMinPeriod", /* paramName */ + 0, /* flags */ + + "Minimum Period", /* displayName */ + (const void *)&TA_DEF_TimePeriod_Positive_Minimum2, /* dataSet */ + 2, /* defaultValue */ + "Value less than minimum will be changed to Minimum period", /* hint */ + + NULL /* helpFile */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_MaxPeriod = +{ + TA_OptInput_IntegerRange, /* type */ + "optInMaxPeriod", /* paramName */ + 0, /* flags */ + + "Maximum Period", /* displayName */ + (const void *)&TA_DEF_TimePeriod_Positive_Minimum2, /* dataSet */ + 30, /* defaultValue */ + "Value higher than maximum will be changed to Maximum period", /* hint */ + + NULL /* helpFile */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_TimePeriod_30_MINIMUM2 = +{ + TA_OptInput_IntegerRange, /* type */ + "optInTimePeriod", /* paramName */ + 0, /* flags */ + + "Time Period", /* displayName */ + (const void *)&TA_DEF_TimePeriod_Positive_Minimum2, /* dataSet */ + 30, /* defaultValue */ + "Number of period", /* hint */ + + NULL /* helpFile */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_TimePeriod_21_MINIMUM2 = +{ + TA_OptInput_IntegerRange, /* type */ + "optInTimePeriod", /* paramName */ + 0, /* flags */ + + "Time Period", /* displayName */ + (const void *)&TA_DEF_TimePeriod_Positive_Minimum2, /* dataSet */ + 21, /* defaultValue */ + "Number of period", /* hint */ + + NULL /* helpFile */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_TimePeriod_14_MINIMUM2 = +{ + TA_OptInput_IntegerRange, /* type */ + "optInTimePeriod", /* paramName */ + 0, /* flags */ + + "Time Period", /* displayName */ + (const void *)&TA_DEF_TimePeriod_Positive_Minimum2, /* dataSet */ + 14, /* defaultValue */ + "Number of period", /* hint */ + + NULL /* helpFile */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_TimePeriod_14_MINIMUM5 = +{ + TA_OptInput_IntegerRange, /* type */ + "optInTimePeriod", /* paramName */ + 0, /* flags */ + + "Time Period", /* displayName */ + (const void *)&TA_DEF_TimePeriod_Positive_Minimum5, /* dataSet */ + 14, /* defaultValue */ + "Number of period", /* hint */ + + NULL /* helpFile */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_TimePeriod_10_MINIMUM2 = +{ + TA_OptInput_IntegerRange, /* type */ + "optInTimePeriod", /* paramName */ + 0, /* flags */ + + "Time Period", /* displayName */ + (const void *)&TA_DEF_TimePeriod_Positive_Minimum2, /* dataSet */ + 10, /* defaultValue */ + "Number of period", /* hint */ + + NULL /* helpFile */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_TimePeriod_5_MINIMUM2 = +{ + TA_OptInput_IntegerRange, /* type */ + "optInTimePeriod", /* paramName */ + 0, /* flags */ + + "Time Period", /* displayName */ + (const void *)&TA_DEF_TimePeriod_Positive_Minimum2, /* dataSet */ + 5, /* defaultValue */ + "Number of period", /* hint */ + + NULL /* helpFile */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_TimePeriod_30 = +{ + TA_OptInput_IntegerRange, /* type */ + "optInTimePeriod", /* paramName */ + 0, /* flags */ + + "Time Period", /* displayName */ + (const void *)&TA_DEF_TimePeriod_Positive, /* dataSet */ + 30, /* defaultValue */ + "Number of period", /* hint */ + + NULL /* helpFile */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_TimePeriod_14 = +{ + TA_OptInput_IntegerRange, /* type */ + "optInTimePeriod", /* paramName */ + 0, /* flags */ + + "Time Period", /* displayName */ + (const void *)&TA_DEF_TimePeriod_Positive, /* dataSet */ + 14, /* defaultValue */ + "Number of period", /* hint */ + + NULL /* helpFile */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_TimePeriod_10 = +{ + TA_OptInput_IntegerRange, /* type */ + "optInTimePeriod", /* paramName */ + 0, /* flags */ + + "Time Period", /* displayName */ + (const void *)&TA_DEF_TimePeriod_Positive, /* dataSet */ + 10, /* defaultValue */ + "Number of period", /* hint */ + + NULL /* helpFile */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_TimePeriod_5 = +{ + TA_OptInput_IntegerRange, /* type */ + "optInTimePeriod", /* paramName */ + 0, /* flags */ + + "Time Period", /* displayName */ + (const void *)&TA_DEF_TimePeriod_Positive, /* dataSet */ + 5, /* defaultValue */ + "Number of period", /* hint */ + + NULL /* helpFile */ +}; + + +/* Use for the multiplier of standard deviations. */ +const TA_OptInputParameterInfo TA_DEF_UI_NbDeviation = +{ + TA_OptInput_RealRange, /* type */ + "optInNbDev", /* paramName */ + 0, /* flags */ + + "Deviations", /* displayName */ + (const void *)&TA_DEF_NbDeviation, /* dataSet */ + 1.0, /* defaultValue */ + "Nb of deviations", /* hint */ + + NULL /* helpFile */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_Penetration_30 = +{ + TA_OptInput_RealRange, /* type */ + "optInPenetration", /* paramName */ + 0, /* flags */ + + "Penetration", /* displayName */ + (const void *)&TA_DEF_RealPositive, /* dataSet */ + 0.3, /* defaultValue */ + "Percentage of penetration of a candle within another candle", /* hint */ + + NULL /* helpFile */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_Penetration_50 = +{ + TA_OptInput_RealRange, /* type */ + "optInPenetration", /* paramName */ + 0, /* flags */ + + "Penetration", /* displayName */ + (const void *)&TA_DEF_RealPositive, /* dataSet */ + 0.5, /* defaultValue */ + "Percentage of penetration of a candle within another candle", /* hint */ + + NULL /* helpFile */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_VerticalShift = +{ + TA_OptInput_RealRange, /* type */ + "optInVertShift", /* paramName */ + TA_OPTIN_IS_PERCENT, /* flags */ + + "Vertical Shift", /* displayName */ + (const void *)&TA_DEF_VerticalShiftPercent, /* dataSet */ + 0, /* defaultValue */ + "Positive number shift upwards, negative downwards", /* hint */ + + NULL /* helpFile */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_HorizontalShift = +{ + TA_OptInput_IntegerRange, /* type */ + "optInHorizShift", /* paramName */ + 0, /* flags */ + + "Horizontal Shift", /* displayName */ + (const void *)&TA_DEF_HorizontalShiftPeriod, /* dataSet */ + 0, /* defaultValue */ + "Positive number shift 'n' period to the right, negative shift to the left", /* hint */ + + NULL /* helpFile */ +}; + +/* Define the values available for the MA function. + * + * Many TA function using the MA internally may wish to + * re-use this parameter as one of their own. That way a + * new MA will provide automatically a new way of calculating + * to a multitude of other TA functions. + */ +static const TA_IntegerDataPair TA_MA_TypeDataPair[] = +{ + {0,"SMA"}, + {1,"EMA"}, + {2,"WMA"}, + {3,"DEMA" }, + {4,"TEMA" }, + {5,"TRIMA"}, + {6,"KAMA" }, + {7,"MAMA" }, + {8,"T3"} + /*{...,"Linear Regression"}*/ +}; + +const TA_IntegerList TA_MA_TypeList = +{ + &TA_MA_TypeDataPair[0], + sizeof(TA_MA_TypeDataPair)/sizeof(TA_IntegerDataPair) +}; + +const TA_OptInputParameterInfo TA_DEF_UI_MA_Method = +{ + TA_OptInput_IntegerList, /* type */ + "optInMAType", /* paramName */ + 0, /* flags */ + + "MA Type", /* displayName */ + (const void *)&TA_MA_TypeList, /* dataSet */ + 0, /* defaultValue = simple average */ + "Type of Moving Average", /* hint */ + + NULL /* helpFile */ +}; + +/* When a TA function needs two period (often called + * a fast and slow period). + */ +const TA_OptInputParameterInfo TA_DEF_UI_Fast_Period = +{ + TA_OptInput_IntegerRange, /* type */ + "optInFastPeriod", /* paramName */ + 0, /* flags */ + + "Fast Period", /* displayName */ + (const void *)&TA_DEF_TimePeriod_Positive_Minimum2, /* dataSet */ + 12, /* defaultValue */ + "Number of period for the fast MA", /* hint */ + + NULL /* helpFile */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_Slow_Period = +{ + TA_OptInput_IntegerRange, /* type */ + "optInSlowPeriod", /* paramName */ + 0, /* flags */ + + "Slow Period", /* displayName */ + (const void *)&TA_DEF_TimePeriod_Positive_Minimum2, /* dataSet */ + 26, /* defaultValue */ + "Number of period for the slow MA", /* hint */ + + NULL /* helpFile */ +}; + diff --git a/vendor/ta-lib/src/ta_abstract/ta_def_ui.h b/vendor/ta-lib/src/ta_abstract/ta_def_ui.h new file mode 100644 index 000000000..a02f0c4c7 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/ta_def_ui.h @@ -0,0 +1,291 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef TA_DEF_UI_H +#define TA_DEF_UI_H + +/* Offer pre-defined user interface constant. + * + * This allows to avoid to duplicate static data for + * common user interface elements. + */ + +#ifndef TA_ABSTRACT_H + #include "ta_abstract.h" +#endif + +#ifndef TA_FRAME_PRIV_H + #include "ta_frame_priv.h" +#endif + +#if !defined(TA_GEN_CODE) && !defined( TA_FRAME_H ) + #include "ta_frame.h" +#endif + +typedef enum +{ + /* If you modify this enum, make sure you update ta_def_ui.c */ + TA_GroupId_MathOperators, + TA_GroupId_MathTransform, + TA_GroupId_OverlapStudies, + TA_GroupId_VolatilityIndicators, + TA_GroupId_MomentumIndicators, + TA_GroupId_CycleIndicators, + TA_GroupId_VolumeIndicators, + TA_GroupId_PatternRecognition, + TA_GroupId_Statistic, + TA_GroupId_PriceTransform, + TA_NB_GROUP_ID +} TA_GroupId; + +extern const char TA_GroupId_MathOperatorsString[]; +extern const char TA_GroupId_MathTransformString[]; +extern const char TA_GroupId_OverlapStudiesString[]; +extern const char TA_GroupId_VolatilityIndicatorsString[]; +extern const char TA_GroupId_MomentumIndicatorsString[]; +extern const char TA_GroupId_CycleIndicatorsString[]; +extern const char TA_GroupId_VolumeIndicatorsString[]; +extern const char TA_GroupId_PatternRecognitionString[]; +extern const char TA_GroupId_StatisticString[]; +extern const char TA_GroupId_PriceTransformString[]; + +extern const char *TA_GroupString[TA_NB_GROUP_ID]; + +/* Inputs */ +extern const TA_InputParameterInfo TA_DEF_UI_Input_Real; +extern const TA_InputParameterInfo TA_DEF_UI_Input_Real0; +extern const TA_InputParameterInfo TA_DEF_UI_Input_Real1; +extern const TA_InputParameterInfo TA_DEF_UI_Input_Integer; +extern const TA_InputParameterInfo TA_DEF_UI_Input_Price_OHLCV; +extern const TA_InputParameterInfo TA_DEF_UI_Input_Price_HLCV; +extern const TA_InputParameterInfo TA_DEF_UI_Input_Price_OHLC; +extern const TA_InputParameterInfo TA_DEF_UI_Input_Price_HLC; +extern const TA_InputParameterInfo TA_DEF_UI_Input_Price_HL; +extern const TA_InputParameterInfo TA_DEF_UI_Input_Price_CV; +extern const TA_InputParameterInfo TA_DEF_UI_Input_Price_V; +extern const TA_InputParameterInfo TA_DEF_UI_Input_Periods; + + +/* Outputs. */ +extern const TA_OutputParameterInfo TA_DEF_UI_Output_Real; +extern const TA_OutputParameterInfo TA_DEF_UI_Output_Integer; +extern const TA_OutputParameterInfo TA_DEF_UI_Output_Lines; + +/* Optional Inputs. */ +extern const TA_OptInputParameterInfo TA_DEF_UI_TimePeriod_30; +extern const TA_OptInputParameterInfo TA_DEF_UI_TimePeriod_14; +extern const TA_OptInputParameterInfo TA_DEF_UI_TimePeriod_10; +extern const TA_OptInputParameterInfo TA_DEF_UI_TimePeriod_5; + +extern const TA_OptInputParameterInfo TA_DEF_UI_TimePeriod_30_MINIMUM2; +extern const TA_OptInputParameterInfo TA_DEF_UI_TimePeriod_21_MINIMUM2; +extern const TA_OptInputParameterInfo TA_DEF_UI_TimePeriod_14_MINIMUM2; +extern const TA_OptInputParameterInfo TA_DEF_UI_TimePeriod_14_MINIMUM5; +extern const TA_OptInputParameterInfo TA_DEF_UI_TimePeriod_10_MINIMUM2; +extern const TA_OptInputParameterInfo TA_DEF_UI_TimePeriod_5_MINIMUM2; + +extern const TA_OptInputParameterInfo TA_DEF_UI_VerticalShift; +extern const TA_OptInputParameterInfo TA_DEF_UI_HorizontalShift; + +extern const TA_OptInputParameterInfo TA_DEF_UI_MA_Method; +extern const TA_OptInputParameterInfo TA_DEF_UI_Fast_Period; +extern const TA_OptInputParameterInfo TA_DEF_UI_Slow_Period; + +extern const TA_OptInputParameterInfo TA_DEF_UI_NbDeviation; + +extern const TA_OptInputParameterInfo TA_DEF_UI_Penetration_30; +extern const TA_OptInputParameterInfo TA_DEF_UI_Penetration_50; + +extern const TA_OptInputParameterInfo TA_DEF_UI_MinPeriod; +extern const TA_OptInputParameterInfo TA_DEF_UI_MaxPeriod; + +/* Re-usable ranges. */ +extern const TA_IntegerRange TA_DEF_TimePeriod_Positive; +extern const TA_IntegerRange TA_DEF_TimePeriod_Positive_Minimum2; +extern const TA_IntegerRange TA_DEF_TimePeriod_Positive_Minimum5; + +extern const TA_RealRange TA_DEF_VerticalShiftPercent; +extern const TA_IntegerRange TA_DEF_HorizontalShiftPeriod; +extern const TA_RealRange TA_DEF_NbDeviation; +extern const TA_RealRange TA_DEF_ZeroToOne; +extern const TA_RealRange TA_DEF_RealPositive; + +/* Useful to build your own TA_DEF_UI with the list of + * implemented Moving Average type. + */ +extern const TA_IntegerList TA_MA_TypeList; + +/* An internal structure for coordinating all these const info. + * One TA_FuncDef instance will exist for each TA function. + */ +typedef struct +{ + /* Magic number is used to detect internal error. */ + const unsigned int magicNumber; + + /* The function will belong to this group. */ + const TA_GroupId groupId; + + /* Some more info. */ + const TA_FuncInfo * const funcInfo; + + /* Description of the parameters. */ + const TA_InputParameterInfo * const input; + const TA_OptInputParameterInfo * const optInput; + const TA_OutputParameterInfo * const output; + + /* Entry point of the TA function and its lookback function. */ + const TA_FrameFunction function; + const TA_FrameLookback lookback; +} TA_FuncDef; + +/* The following MACROs are helpers being used in + * the tables\table.c files. + */ +#if !defined( TA_GEN_CODE ) + /* This definition is used when compiling the end-user library. */ + #define DEF_FUNCTION( name, \ + groupId, \ + hint, \ + camelCaseName, \ + flags ) \ + \ + TA_FuncInfo TA_INFO_##name; \ + \ + const TA_FuncDef TA_DEF_##name = \ + { \ + TA_FUNC_DEF_MAGIC_NB, \ + groupId, \ + &TA_INFO_##name, \ + (const TA_InputParameterInfo * const)&TA_##name##_Inputs[0], \ + (const TA_OptInputParameterInfo * const)&TA_##name##_OptInputs[0], \ + (const TA_OutputParameterInfo * const)&TA_##name##_Outputs[0], \ + TA_##name##_FramePP, \ + TA_##name##_FramePPLB \ + }; \ + TA_FuncInfo TA_INFO_##name = \ + { \ + (const char * const)#name, \ + (const char * const)groupId##String, \ + (const char * const)hint, \ + (const char * const)camelCaseName, \ + (const int)flags, \ + (sizeof(TA_##name##_Inputs) / sizeof(TA_InputParameterInfo *)) - 1, \ + (sizeof(TA_##name##_OptInputs)/ sizeof(TA_OptInputParameterInfo *))- 1, \ + (sizeof(TA_##name##_Outputs) / sizeof(TA_OutputParameterInfo *)) - 1, \ + (const TA_FuncHandle * const)&TA_DEF_##name \ + }; +#else + /* This definition is used only when compiling for gencode. + * Because some pointers may not be defined before gencode + * is run at least once, some value are set to NULL. + */ + #define DEF_FUNCTION( name, \ + groupId, \ + hint, \ + camelCaseName, \ + flags ) \ + \ + TA_FuncInfo TA_INFO_##name; \ + \ + const TA_FuncDef TA_DEF_##name = \ + { \ + TA_FUNC_DEF_MAGIC_NB, \ + groupId, \ + &TA_INFO_##name, \ + (const TA_InputParameterInfo * const)&TA_##name##_Inputs[0], \ + (const TA_OptInputParameterInfo * const)&TA_##name##_OptInputs[0], \ + (const TA_OutputParameterInfo * const)&TA_##name##_Outputs[0], \ + NULL, \ + NULL \ + }; \ + TA_FuncInfo TA_INFO_##name = \ + { \ + (const char * const)#name, \ + (const char * const)groupId##String, \ + (const char * const)hint, \ + (const char * const)camelCaseName, \ + (const int)flags, \ + (sizeof(TA_##name##_Inputs) / sizeof(TA_InputParameterInfo *)) - 1, \ + (sizeof(TA_##name##_OptInputs)/ sizeof(TA_OptInputParameterInfo *))- 1, \ + (sizeof(TA_##name##_Outputs) / sizeof(TA_OutputParameterInfo *)) - 1, \ + (const TA_FuncHandle * const)&TA_DEF_##name \ + }; +#endif + +#define ADD_TO_TABLE(name) &TA_DEF_##name + +/* Utility Macro to quickly define Math operator operating on one array + * with no optional parameter. + */ +#define DEF_MATH_UNARY_OPERATOR(NAME,HINT,CAMELCASENAME) \ + static const TA_InputParameterInfo *TA_##NAME##_Inputs[] = \ +{ \ + &TA_DEF_UI_Input_Real, \ + NULL \ +}; \ +static const TA_OutputParameterInfo *TA_##NAME##_Outputs[] = \ +{ \ + &TA_DEF_UI_Output_Real, \ + NULL \ +}; \ + static const TA_OptInputParameterInfo *TA_##NAME##_OptInputs[] = { NULL }; \ +DEF_FUNCTION( NAME, /* name */ \ + TA_GroupId_MathTransform, /* groupId */ \ + HINT, /* hint */ \ + CAMELCASENAME, /* CamelCase name */ \ + 0 /* flags */ \ + ); + +#define DEF_MATH_BINARY_OPERATOR(NAME,HINT,CAMELCASENAME) \ + static const TA_InputParameterInfo *TA_##NAME##_Inputs[] = \ +{ \ + &TA_DEF_UI_Input_Real0, \ + &TA_DEF_UI_Input_Real1, \ + NULL \ +}; \ +static const TA_OutputParameterInfo *TA_##NAME##_Outputs[] = \ +{ \ + &TA_DEF_UI_Output_Real, \ + NULL \ +}; \ + static const TA_OptInputParameterInfo *TA_##NAME##_OptInputs[] = { NULL }; \ +DEF_FUNCTION( NAME, /* name */ \ + TA_GroupId_MathOperators, /* groupId */ \ + HINT, /* hint */ \ + CAMELCASENAME, /* CamelCase name */ \ + 0 /* flags */ \ + ); + +#endif + diff --git a/vendor/ta-lib/src/ta_abstract/ta_frame_priv.h b/vendor/ta-lib/src/ta_abstract/ta_frame_priv.h new file mode 100644 index 000000000..0a8e4cf1f --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/ta_frame_priv.h @@ -0,0 +1,128 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + +/* TA_ParamHolderPriv is the private implementation of a TA_ParamHolder. */ + +/* Definition in this header shall be used only internaly by the + * ta_abstract module. + * End-user of the TA-LIB shall never attempt to access these + * structure directly. + */ + +#ifndef TA_FRAME_PRIV_H +#define TA_FRAME_PRIV_H + +#ifndef TA_ABSTRACT_H + #include "ta_abstract.h" +#endif + +#ifndef TA_MAGIC_NB_H + #include "ta_magic_nb.h" +#endif + +typedef struct +{ + const TA_Real *open; + const TA_Real *high; + const TA_Real *low; + const TA_Real *close; + const TA_Real *volume; + const TA_Real *openInterest; +} TA_PricePtrs; + +typedef struct +{ + union TA_ParamHolderInputData + { + const TA_Real *inReal; + const TA_Integer *inInteger; + TA_PricePtrs inPrice; + } data; + + const TA_InputParameterInfo *inputInfo; + +} TA_ParamHolderInput; + +typedef struct +{ + union TA_ParamHolderOptInData + { + TA_Integer optInInteger; + TA_Real optInReal; + } data; + + const TA_OptInputParameterInfo *optInputInfo; + +} TA_ParamHolderOptInput; + +typedef struct +{ + union TA_ParamHolderOutputData + { + TA_Real *outReal; + TA_Integer *outInteger; + } data; + + const TA_OutputParameterInfo *outputInfo; +} TA_ParamHolderOutput; + +typedef struct +{ + /* Magic number is used to detect internal error. */ + unsigned int magicNumber; + + TA_ParamHolderInput *in; + TA_ParamHolderOptInput *optIn; + TA_ParamHolderOutput *out; + + /* Indicate which parameter have been initialized. + * The LSB (Less Significant Bit) is the first parameter + * and a bit equal to '1' indicate that the parameter is + * not initialized. + */ + unsigned int inBitmap; + unsigned int outBitmap; + + const TA_FuncInfo *funcInfo; +} TA_ParamHolderPriv; + +typedef TA_RetCode (*TA_FrameFunction)( const TA_ParamHolderPriv *params, + TA_Integer startIdx, + TA_Integer endIdx, + TA_Integer *outBegIdx, + TA_Integer *outNbElement ); + +typedef unsigned int (*TA_FrameLookback)( const TA_ParamHolderPriv *params ); + +#endif diff --git a/vendor/ta-lib/src/ta_abstract/ta_func_api.c b/vendor/ta-lib/src/ta_abstract/ta_func_api.c new file mode 100644 index 000000000..c2e139195 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/ta_func_api.c @@ -0,0 +1,8962 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* Important: This file is automatically generated by gen_code. + * Any modification will be lost on next execution + * of gen_code. + * + * This file is a binary representation of the func_api.xml file. + */ + +#include "ta_abstract.h" + +static const char TA_FunctionDescriptionXMLArray[] = +{ +0x3C,0x3F,0x78,0x6D,0x6C,0x20,0x76,0x65,0x72,0x73,0x69,0x6F,0x6E,0x3D,0x22,0x31,0x2E,0x30,0x22,0x20,0x65 +,0x6E,0x63,0x6F,0x64,0x69,0x6E,0x67,0x3D,0x22,0x75,0x74,0x66,0x2D,0x38,0x22,0x20,0x3F,0x3E,0x0A,0x3C +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x73,0x3E,0x0A +,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x41,0x43,0x4F,0x53,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E +,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41 +,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x41,0x43,0x4F,0x53,0x3C,0x2F,0x41,0x62 +,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C +,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x41,0x63,0x6F,0x73,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C +,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65 +,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x56,0x65,0x63,0x74,0x6F,0x72,0x20,0x54,0x72,0x69 +,0x67,0x6F,0x6E,0x6F,0x6D,0x65,0x74,0x72,0x69,0x63,0x20,0x41,0x43,0x6F,0x73,0x3C,0x2F,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72 +,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x61,0x74,0x68,0x20,0x54,0x72,0x61,0x6E,0x73,0x66,0x6F,0x72,0x6D +,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C +,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65 +,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x41,0x44,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46 +,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x41,0x44,0x3C,0x2F,0x41,0x62 +,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C +,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x41,0x64,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61 +,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63 +,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x68,0x61,0x69,0x6B,0x69,0x6E,0x20,0x41,0x2F,0x44,0x20 +,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x56,0x6F,0x6C,0x75,0x6D +,0x65,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49 +,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75 +,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x41,0x44,0x44,0x20,0x2D,0x2D,0x3E +,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x41,0x44 +,0x44,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x41,0x64,0x64,0x3C,0x2F,0x43 +,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x56,0x65,0x63,0x74,0x6F,0x72 +,0x20,0x41,0x72,0x69,0x74,0x68,0x6D,0x65,0x74,0x69,0x63,0x20,0x41,0x64,0x64,0x3C,0x2F,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72 +,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x61,0x74,0x68,0x20,0x4F,0x70,0x65,0x72,0x61,0x74,0x6F,0x72,0x73 +,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C +,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x30,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61 +,0x6C,0x31,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62 +,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63 +,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D +,0x20,0x41,0x44,0x4F,0x53,0x43,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69 +,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65 +,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x41,0x44,0x4F,0x53,0x43,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65 +,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73 +,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x41,0x64,0x4F,0x73,0x63,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61 +,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63 +,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x68,0x61,0x69,0x6B,0x69,0x6E,0x20,0x41,0x2F,0x44,0x20 +,0x4F,0x73,0x63,0x69,0x6C,0x6C,0x61,0x74,0x6F,0x72,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64 +,0x3E,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F +,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x56,0x6F,0x6C,0x75,0x6D,0x65 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F +,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x46,0x61,0x73,0x74,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70 +,0x65,0x72,0x69,0x6F,0x64,0x20,0x66,0x6F,0x72,0x20,0x74,0x68,0x65,0x20,0x66,0x61,0x73,0x74,0x20,0x4D +,0x41,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D +,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30 +,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30 +,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31 +,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72 +,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56 +,0x61,0x6C,0x75,0x65,0x3E,0x33,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E +,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x53,0x6C,0x6F,0x77,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63 +,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65 +,0x72,0x69,0x6F,0x64,0x20,0x66,0x6F,0x72,0x20,0x74,0x68,0x65,0x20,0x73,0x6C,0x6F,0x77,0x20,0x4D,0x41 +,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75 +,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30 +,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30 +,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30 +,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65 +,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61 +,0x6C,0x75,0x65,0x3E,0x31,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E +,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75 +,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x41,0x44,0x58,0x20,0x2D,0x2D,0x3E +,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x41,0x44 +,0x58,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x41,0x64,0x78,0x3C,0x2F,0x43 +,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x41,0x76,0x65,0x72,0x61,0x67 +,0x65,0x20,0x44,0x69,0x72,0x65,0x63,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x20,0x4D,0x6F,0x76,0x65,0x6D,0x65 +,0x6E,0x74,0x20,0x49,0x6E,0x64,0x65,0x78,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D +,0x6F,0x6D,0x65,0x6E,0x74,0x75,0x6D,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F +,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x55,0x6E,0x73,0x74,0x61,0x62,0x6C,0x65,0x20,0x50,0x65,0x72 +,0x69,0x6F,0x64,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74 +,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69 +,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E +,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69 +,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F +,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65 +,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C +,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E +,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63 +,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x31 +,0x34,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C +,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C +,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x41,0x44,0x58,0x52,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46 +,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x41,0x44,0x58,0x52,0x3C,0x2F +,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D +,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x41,0x64,0x78,0x72,0x3C,0x2F,0x43,0x61,0x6D +,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74 +,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x41,0x76,0x65,0x72,0x61,0x67,0x65,0x20 +,0x44,0x69,0x72,0x65,0x63,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x20,0x4D,0x6F,0x76,0x65,0x6D,0x65,0x6E,0x74 +,0x20,0x49,0x6E,0x64,0x65,0x78,0x20,0x52,0x61,0x74,0x69,0x6E,0x67,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74 +,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75 +,0x70,0x49,0x64,0x3E,0x4D,0x6F,0x6D,0x65,0x6E,0x74,0x75,0x6D,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74 +,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x55,0x6E,0x73,0x74,0x61,0x62,0x6C +,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74 +,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64 +,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75 +,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30 +,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30 +,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30 +,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65 +,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61 +,0x6C,0x75,0x65,0x3E,0x31,0x34,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E +,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75 +,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x41,0x50,0x4F,0x20,0x2D,0x2D,0x3E +,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x41,0x50 +,0x4F,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x41,0x70,0x6F,0x3C,0x2F,0x43 +,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x41,0x62,0x73,0x6F,0x6C,0x75 +,0x74,0x65,0x20,0x50,0x72,0x69,0x63,0x65,0x20,0x4F,0x73,0x63,0x69,0x6C,0x6C,0x61,0x74,0x6F,0x72,0x3C +,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x6F,0x6D,0x65,0x6E,0x74,0x75,0x6D,0x20,0x49 +,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F +,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x46,0x61,0x73,0x74,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70 +,0x65,0x72,0x69,0x6F,0x64,0x20,0x66,0x6F,0x72,0x20,0x74,0x68,0x65,0x20,0x66,0x61,0x73,0x74,0x20,0x4D +,0x41,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D +,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30 +,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30 +,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31 +,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72 +,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56 +,0x61,0x6C,0x75,0x65,0x3E,0x31,0x32,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F +,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x53,0x6C,0x6F,0x77,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70 +,0x65,0x72,0x69,0x6F,0x64,0x20,0x66,0x6F,0x72,0x20,0x74,0x68,0x65,0x20,0x73,0x6C,0x6F,0x77,0x20,0x4D +,0x41,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D +,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30 +,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30 +,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31 +,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72 +,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56 +,0x61,0x6C,0x75,0x65,0x3E,0x32,0x36,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F +,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4D,0x41,0x20,0x54,0x79,0x70,0x65,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x79,0x70,0x65,0x20,0x6F,0x66,0x20,0x4D,0x6F,0x76,0x69,0x6E,0x67,0x20 +,0x41,0x76,0x65,0x72,0x61,0x67,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4D,0x41,0x20 +,0x54,0x79,0x70,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66 +,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74 +,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F +,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20 +,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67 +,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C +,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x41,0x52 +,0x4F,0x4F,0x4E,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46 +,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61 +,0x74,0x69,0x6F,0x6E,0x3E,0x41,0x52,0x4F,0x4F,0x4E,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61 +,0x6D,0x65,0x3E,0x41,0x72,0x6F,0x6F,0x6E,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x41,0x72,0x6F,0x6F,0x6E,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64 +,0x3E,0x4D,0x6F,0x6D,0x65,0x6E,0x74,0x75,0x6D,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73 +,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67 +,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61 +,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72 +,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E +,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E +,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30 +,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64 +,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E +,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E +,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67 +,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C +,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x31,0x34,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61 +,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74 +,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72 +,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x6F,0x75,0x74,0x41,0x72,0x6F,0x6F,0x6E,0x44,0x6F,0x77,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x3E,0x44,0x61,0x73,0x68,0x65,0x64,0x20,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74 +,0x41,0x72,0x6F,0x6F,0x6E,0x55,0x70,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69 +,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E +,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x41,0x52,0x4F,0x4F,0x4E +,0x4F,0x53,0x43,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46 +,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61 +,0x74,0x69,0x6F,0x6E,0x3E,0x41,0x52,0x4F,0x4F,0x4E,0x4F,0x53,0x43,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65 +,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73 +,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x41,0x72,0x6F,0x6F,0x6E,0x4F,0x73,0x63,0x3C,0x2F,0x43,0x61,0x6D,0x65 +,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x41,0x72,0x6F,0x6F,0x6E,0x20,0x4F,0x73,0x63 +,0x69,0x6C,0x6C,0x61,0x74,0x6F,0x72,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x6F +,0x6D,0x65,0x6E,0x74,0x75,0x6D,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47 +,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74 +,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64 +,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75 +,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30 +,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30 +,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30 +,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65 +,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61 +,0x6C,0x75,0x65,0x3E,0x31,0x34,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E +,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75 +,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x41,0x53,0x49,0x4E,0x20,0x2D,0x2D +,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x41 +,0x53,0x49,0x4E,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x41,0x73,0x69,0x6E +,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C +,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x56,0x65,0x63 +,0x74,0x6F,0x72,0x20,0x54,0x72,0x69,0x67,0x6F,0x6E,0x6F,0x6D,0x65,0x74,0x72,0x69,0x63,0x20,0x41,0x53 +,0x69,0x6E,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x61,0x74,0x68,0x20,0x54,0x72 +,0x61,0x6E,0x73,0x66,0x6F,0x72,0x6D,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41 +,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E +,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46 +,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x41,0x54,0x41 +,0x4E,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E +,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69 +,0x6F,0x6E,0x3E,0x41,0x54,0x41,0x4E,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E +,0x41,0x74,0x61,0x6E,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E +,0x3E,0x56,0x65,0x63,0x74,0x6F,0x72,0x20,0x54,0x72,0x69,0x67,0x6F,0x6E,0x6F,0x6D,0x65,0x74,0x72,0x69 +,0x63,0x20,0x41,0x54,0x61,0x6E,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x61,0x74 +,0x68,0x20,0x54,0x72,0x61,0x6E,0x73,0x66,0x6F,0x72,0x6D,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64 +,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65 +,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62 +,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63 +,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D +,0x20,0x41,0x54,0x52,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C +,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69 +,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x41,0x54,0x52,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D +,0x65,0x3E,0x41,0x74,0x72,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F +,0x6E,0x3E,0x41,0x76,0x65,0x72,0x61,0x67,0x65,0x20,0x54,0x72,0x75,0x65,0x20,0x52,0x61,0x6E,0x67,0x65 +,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x56,0x6F,0x6C,0x61,0x74,0x69,0x6C,0x69,0x74 +,0x79,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49 +,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x3E,0x55,0x6E,0x73,0x74,0x61,0x62,0x6C,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C +,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73 +,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43 +,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F +,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72 +,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72 +,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20 +,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63 +,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49 +,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52 +,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E +,0x31,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61 +,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75 +,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74 +,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65 +,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65 +,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30 +,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x31,0x34,0x3C,0x2F,0x44,0x65,0x66 +,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69 +,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75 +,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E +,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D +,0x2D,0x20,0x41,0x56,0x47,0x50,0x52,0x49,0x43,0x45,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E +,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41 +,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x41,0x56,0x47,0x50,0x52,0x49,0x43,0x45 +,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43 +,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x41,0x76,0x67,0x50,0x72,0x69,0x63 +,0x65,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x41,0x76 +,0x65,0x72,0x61,0x67,0x65,0x20,0x50,0x72,0x69,0x63,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65 +,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49 +,0x64,0x3E,0x50,0x72,0x69,0x63,0x65,0x20,0x54,0x72,0x61,0x6E,0x73,0x66,0x6F,0x72,0x6D,0x3C,0x2F,0x47 +,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4F,0x76,0x65,0x72,0x6C,0x61,0x70,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65 +,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F +,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69 +,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65 +,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61 +,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x42 +,0x42,0x41,0x4E,0x44,0x53,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61 +,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76 +,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x42,0x42,0x41,0x4E,0x44,0x53,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65 +,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73 +,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x42,0x62,0x61,0x6E,0x64,0x73,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43 +,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x42,0x6F,0x6C,0x6C,0x69,0x6E,0x67,0x65,0x72,0x20,0x42 +,0x61,0x6E,0x64,0x73,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4F,0x76,0x65,0x72,0x6C +,0x61,0x70,0x20,0x53,0x74,0x75,0x64,0x69,0x65,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E +,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E +,0x4F,0x76,0x65,0x72,0x6C,0x61,0x70,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72 +,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61 +,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50 +,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68 +,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65 +,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65 +,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75 +,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69 +,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67 +,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30 +,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x35,0x3C,0x2F,0x44,0x65 +,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74 +,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x44,0x65,0x76 +,0x69,0x61,0x74,0x69,0x6F,0x6E,0x73,0x20,0x75,0x70,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x44,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x20,0x6D,0x75,0x6C,0x74,0x69,0x70,0x6C,0x69,0x65,0x72 +,0x20,0x66,0x6F,0x72,0x20,0x75,0x70,0x70,0x65,0x72,0x20,0x62,0x61,0x6E,0x64,0x3C,0x2F,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E +,0x69,0x6D,0x75,0x6D,0x3E,0x2D,0x33,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x33,0x37,0x3C,0x2F +,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D +,0x75,0x6D,0x3E,0x33,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x33,0x37,0x3C,0x2F,0x4D,0x61,0x78 +,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F +,0x6E,0x3E,0x32,0x3C,0x2F,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x2D,0x32,0x2E +,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x45,0x6E,0x64,0x3E,0x32,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x32,0x2E +,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x31,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E +,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75 +,0x65,0x3E,0x32,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75 +,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E +,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x44,0x65,0x76,0x69,0x61,0x74 +,0x69,0x6F,0x6E,0x73,0x20,0x64,0x6F,0x77,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x44 +,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x20,0x6D,0x75,0x6C,0x74,0x69,0x70,0x6C,0x69,0x65,0x72,0x20 +,0x66,0x6F,0x72,0x20,0x6C,0x6F,0x77,0x65,0x72,0x20,0x62,0x61,0x6E,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72 +,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69 +,0x6D,0x75,0x6D,0x3E,0x2D,0x33,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x33,0x37,0x3C,0x2F,0x4D +,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75 +,0x6D,0x3E,0x33,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x33,0x37,0x3C,0x2F,0x4D,0x61,0x78,0x69 +,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E +,0x3E,0x32,0x3C,0x2F,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x2D,0x32,0x2E,0x30 +,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53 +,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x45,0x6E,0x64,0x3E,0x32,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x32,0x2E,0x30 +,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x31,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49 +,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65 +,0x3E,0x32,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C +,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61 +,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4D,0x41,0x20,0x54,0x79,0x70,0x65 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65 +,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x79,0x70,0x65,0x20,0x6F,0x66,0x20,0x4D,0x6F +,0x76,0x69,0x6E,0x67,0x20,0x41,0x76,0x65,0x72,0x61,0x67,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x4D,0x41,0x20,0x54,0x79,0x70,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x30,0x3C,0x2F,0x44,0x65 +,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74 +,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F +,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x55,0x70,0x70,0x65,0x72 +,0x42,0x61,0x6E,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x55,0x70,0x70,0x65,0x72 +,0x20,0x4C,0x69,0x6D,0x69,0x74,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F +,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x4D,0x69,0x64,0x64,0x6C +,0x65,0x42,0x61,0x6E,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41 +,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x4C,0x6F,0x77,0x65,0x72,0x42,0x61,0x6E,0x64,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x6F,0x77,0x65,0x72,0x20,0x4C,0x69,0x6D,0x69,0x74 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x42,0x45,0x54,0x41,0x20,0x2D,0x2D +,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x42 +,0x45,0x54,0x41,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x42,0x65,0x74,0x61 +,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C +,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x42,0x65,0x74 +,0x61,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x53,0x74,0x61,0x74,0x69,0x73,0x74,0x69 +,0x63,0x20,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64 +,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65 +,0x61,0x6C,0x30,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62 +,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x31,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C +,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F +,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F +,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30 +,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C +,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30 +,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65 +,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E +,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75 +,0x65,0x3E,0x35,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65 +,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x42,0x4F,0x50,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x42,0x4F,0x50,0x3C,0x2F +,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D +,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x42,0x6F,0x70,0x3C,0x2F,0x43,0x61,0x6D,0x65 +,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x42,0x61,0x6C,0x61,0x6E,0x63,0x65,0x20,0x4F +,0x66,0x20,0x50,0x6F,0x77,0x65,0x72,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x6F +,0x6D,0x65,0x6E,0x74,0x75,0x6D,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47 +,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61 +,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F +,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E +,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x43,0x49,0x20,0x2D,0x2D +,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43 +,0x43,0x49,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x63,0x69,0x3C,0x2F +,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68 +,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x6F,0x6D,0x6D,0x6F +,0x64,0x69,0x74,0x79,0x20,0x43,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x20,0x49,0x6E,0x64,0x65,0x78,0x3C,0x2F +,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x6F,0x6D,0x65,0x6E,0x74,0x75,0x6D,0x20,0x49,0x6E +,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09 +,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43 +,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E +,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20 +,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53 +,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62 +,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D +,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78 +,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65 +,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30 +,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x31,0x34,0x3C,0x2F +,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F +,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69 +,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09 +,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x32,0x43,0x52,0x4F,0x57,0x53,0x20,0x2D,0x2D,0x3E,0x0A,0x09 +,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x32 +,0x43,0x52,0x4F,0x57,0x53,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64 +,0x6C,0x32,0x43,0x72,0x6F,0x77,0x73,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74 +,0x69,0x6F,0x6E,0x3E,0x54,0x77,0x6F,0x20,0x43,0x72,0x6F,0x77,0x73,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74 +,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75 +,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74 +,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73 +,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E +,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x33,0x42,0x4C,0x41 +,0x43,0x4B,0x43,0x52,0x4F,0x57,0x53,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63 +,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72 +,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x33,0x42,0x4C,0x41,0x43,0x4B,0x43,0x52 +,0x4F,0x57,0x53,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x33 +,0x42,0x6C,0x61,0x63,0x6B,0x43,0x72,0x6F,0x77,0x73,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73 +,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x68,0x72,0x65,0x65,0x20,0x42,0x6C,0x61,0x63,0x6B,0x20,0x43 +,0x72,0x6F,0x77,0x73,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65 +,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75 +,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70 +,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67 +,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48 +,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73 +,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C +,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67 +,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E +,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C +,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x33,0x49,0x4E,0x53,0x49,0x44,0x45,0x20,0x2D,0x2D,0x3E,0x0A,0x09 +,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x33 +,0x49,0x4E,0x53,0x49,0x44,0x45,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43 +,0x64,0x6C,0x33,0x49,0x6E,0x73,0x69,0x64,0x65,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65 +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x68,0x72,0x65,0x65,0x20,0x49,0x6E,0x73,0x69,0x64,0x65,0x20,0x55 +,0x70,0x2F,0x44,0x6F,0x77,0x6E,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74 +,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72 +,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48 +,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F +,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C +,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C +,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74 +,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46 +,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A +,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x33,0x4C,0x49,0x4E,0x45,0x53,0x54,0x52,0x49,0x4B,0x45 +,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F +,0x6E,0x3E,0x43,0x44,0x4C,0x33,0x4C,0x49,0x4E,0x45,0x53,0x54,0x52,0x49,0x4B,0x45,0x3C,0x2F,0x41,0x62 +,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C +,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x33,0x4C,0x69,0x6E,0x65,0x53,0x74,0x72 +,0x69,0x6B,0x65,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x54,0x68,0x72,0x65,0x65,0x2D,0x4C,0x69,0x6E,0x65,0x20,0x53,0x74,0x72,0x69,0x6B,0x65,0x20,0x3C,0x2F +,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63 +,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09 +,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61 +,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C +,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72 +,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67 +,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C +,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44 +,0x4C,0x33,0x4F,0x55,0x54,0x53,0x49,0x44,0x45,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61 +,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62 +,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x33,0x4F,0x55,0x54,0x53,0x49 +,0x44,0x45,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x33,0x4F +,0x75,0x74,0x73,0x69,0x64,0x65,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x54,0x68,0x72,0x65,0x65,0x20,0x4F,0x75,0x74,0x73,0x69,0x64,0x65,0x20,0x55,0x70,0x2F +,0x44,0x6F,0x77,0x6E,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65 +,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75 +,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70 +,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67 +,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48 +,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73 +,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C +,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67 +,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E +,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C +,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x33,0x53,0x54,0x41,0x52,0x53,0x49,0x4E,0x53,0x4F,0x55,0x54,0x48 +,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F +,0x6E,0x3E,0x43,0x44,0x4C,0x33,0x53,0x54,0x41,0x52,0x53,0x49,0x4E,0x53,0x4F,0x55,0x54,0x48,0x3C,0x2F +,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D +,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x33,0x53,0x74,0x61,0x72,0x73 +,0x49,0x6E,0x53,0x6F,0x75,0x74,0x68,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74 +,0x69,0x6F,0x6E,0x3E,0x54,0x68,0x72,0x65,0x65,0x20,0x53,0x74,0x61,0x72,0x73,0x20,0x49,0x6E,0x20,0x54 +,0x68,0x65,0x20,0x53,0x6F,0x75,0x74,0x68,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50 +,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F +,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C +,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F +,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49 +,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C +,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C +,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x33,0x57,0x48,0x49,0x54,0x45,0x53,0x4F,0x4C +,0x44,0x49,0x45,0x52,0x53,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61 +,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76 +,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x33,0x57,0x48,0x49,0x54,0x45,0x53,0x4F,0x4C,0x44 +,0x49,0x45,0x52,0x53,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C +,0x33,0x57,0x68,0x69,0x74,0x65,0x53,0x6F,0x6C,0x64,0x69,0x65,0x72,0x73,0x3C,0x2F,0x43,0x61,0x6D,0x65 +,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x68,0x72,0x65,0x65,0x20,0x41,0x64,0x76 +,0x61,0x6E,0x63,0x69,0x6E,0x67,0x20,0x57,0x68,0x69,0x74,0x65,0x20,0x53,0x6F,0x6C,0x64,0x69,0x65,0x72 +,0x73,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20 +,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64 +,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67 +,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A +,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65 +,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20 +,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63 +,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D +,0x20,0x43,0x44,0x4C,0x41,0x42,0x41,0x4E,0x44,0x4F,0x4E,0x45,0x44,0x42,0x41,0x42,0x59,0x20,0x2D,0x2D +,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43 +,0x44,0x4C,0x41,0x42,0x41,0x4E,0x44,0x4F,0x4E,0x45,0x44,0x42,0x41,0x42,0x59,0x3C,0x2F,0x41,0x62,0x62 +,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43 +,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x41,0x62,0x61,0x6E,0x64,0x6F,0x6E,0x65,0x64 +,0x42,0x61,0x62,0x79,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E +,0x3E,0x41,0x62,0x61,0x6E,0x64,0x6F,0x6E,0x65,0x64,0x20,0x42,0x61,0x62,0x79,0x3C,0x2F,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72 +,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E +,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C +,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F +,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x50,0x65,0x6E,0x65,0x74,0x72,0x61,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E +,0x3E,0x50,0x65,0x72,0x63,0x65,0x6E,0x74,0x61,0x67,0x65,0x20,0x6F,0x66,0x20,0x70,0x65,0x6E,0x65,0x74 +,0x72,0x61,0x74,0x69,0x6F,0x6E,0x20,0x6F,0x66,0x20,0x61,0x20,0x63,0x61,0x6E,0x64,0x6C,0x65,0x20,0x77 +,0x69,0x74,0x68,0x69,0x6E,0x20,0x61,0x6E,0x6F,0x74,0x68,0x65,0x72,0x20,0x63,0x61,0x6E,0x64,0x6C,0x65 +,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B +,0x30,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61 +,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x33,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x33,0x37,0x3C,0x2F +,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x50,0x72,0x65,0x63,0x69 +,0x73,0x69,0x6F,0x6E,0x3E,0x30,0x3C,0x2F,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E +,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65 +,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C +,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E +,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61 +,0x6C,0x75,0x65,0x3E,0x33,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x31,0x3C,0x2F,0x44,0x65,0x66 +,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69 +,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74 +,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46 +,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A +,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x41,0x44,0x56,0x41,0x4E,0x43,0x45,0x42,0x4C,0x4F,0x43 +,0x4B,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E +,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69 +,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x41,0x44,0x56,0x41,0x4E,0x43,0x45,0x42,0x4C,0x4F,0x43,0x4B,0x3C,0x2F +,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D +,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x41,0x64,0x76,0x61,0x6E,0x63 +,0x65,0x42,0x6C,0x6F,0x63,0x6B,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x41,0x64,0x76,0x61,0x6E,0x63,0x65,0x20,0x42,0x6C,0x6F,0x63,0x6B,0x3C,0x2F,0x53,0x68 +,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47 +,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67 +,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64 +,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75 +,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C +,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75 +,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x42 +,0x45,0x4C,0x54,0x48,0x4F,0x4C,0x44,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63 +,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72 +,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x42,0x45,0x4C,0x54,0x48,0x4F,0x4C,0x44 +,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43 +,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x42,0x65,0x6C,0x74 +,0x48,0x6F,0x6C,0x64,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E +,0x3E,0x42,0x65,0x6C,0x74,0x2D,0x68,0x6F,0x6C,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64 +,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E +,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63 +,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43 +,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67 +,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x42,0x52,0x45,0x41,0x4B,0x41,0x57 +,0x41,0x59,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75 +,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74 +,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x42,0x52,0x45,0x41,0x4B,0x41,0x57,0x41,0x59,0x3C,0x2F,0x41,0x62 +,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C +,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x42,0x72,0x65,0x61,0x6B,0x61,0x77,0x61 +,0x79,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x42,0x72 +,0x65,0x61,0x6B,0x61,0x77,0x61,0x79,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61 +,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47 +,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F +,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C +,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73 +,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43 +,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E +,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A +,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x43,0x4C,0x4F,0x53,0x49,0x4E,0x47,0x4D,0x41,0x52 +,0x55,0x42,0x4F,0x5A,0x55,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61 +,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76 +,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x43,0x4C,0x4F,0x53,0x49,0x4E,0x47,0x4D,0x41,0x52 +,0x55,0x42,0x4F,0x5A,0x55,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64 +,0x6C,0x43,0x6C,0x6F,0x73,0x69,0x6E,0x67,0x4D,0x61,0x72,0x75,0x62,0x6F,0x7A,0x75,0x3C,0x2F,0x43,0x61 +,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72 +,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x6C,0x6F,0x73,0x69,0x6E,0x67 +,0x20,0x4D,0x61,0x72,0x75,0x62,0x6F,0x7A,0x75,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63 +,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E +,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C +,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C +,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65 +,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x43,0x4F,0x4E,0x43,0x45,0x41,0x4C,0x42 +,0x41,0x42,0x59,0x53,0x57,0x41,0x4C,0x4C,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E +,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62 +,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x43,0x4F,0x4E,0x43,0x45,0x41,0x4C +,0x42,0x41,0x42,0x59,0x53,0x57,0x41,0x4C,0x4C,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D +,0x65,0x3E,0x43,0x64,0x6C,0x43,0x6F,0x6E,0x63,0x65,0x61,0x6C,0x42,0x61,0x62,0x79,0x73,0x57,0x61,0x6C +,0x6C,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x6F +,0x6E,0x63,0x65,0x61,0x6C,0x69,0x6E,0x67,0x20,0x42,0x61,0x62,0x79,0x20,0x53,0x77,0x61,0x6C,0x6C,0x6F +,0x77,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20 +,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64 +,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67 +,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A +,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65 +,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20 +,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63 +,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D +,0x20,0x43,0x44,0x4C,0x43,0x4F,0x55,0x4E,0x54,0x45,0x52,0x41,0x54,0x54,0x41,0x43,0x4B,0x20,0x2D,0x2D +,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43 +,0x44,0x4C,0x43,0x4F,0x55,0x4E,0x54,0x45,0x52,0x41,0x54,0x54,0x41,0x43,0x4B,0x3C,0x2F,0x41,0x62,0x62 +,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43 +,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x43,0x6F,0x75,0x6E,0x74,0x65,0x72,0x41,0x74 +,0x74,0x61,0x63,0x6B,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E +,0x3E,0x43,0x6F,0x75,0x6E,0x74,0x65,0x72,0x61,0x74,0x74,0x61,0x63,0x6B,0x3C,0x2F,0x53,0x68,0x6F,0x72 +,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F +,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69 +,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65 +,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49 +,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E +,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x44,0x41,0x52 +,0x4B,0x43,0x4C,0x4F,0x55,0x44,0x43,0x4F,0x56,0x45,0x52,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69 +,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x44,0x41,0x52,0x4B +,0x43,0x4C,0x4F,0x55,0x44,0x43,0x4F,0x56,0x45,0x52,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61 +,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x44,0x61,0x72,0x6B,0x43,0x6C,0x6F,0x75,0x64,0x43,0x6F,0x76,0x65,0x72 +,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C +,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x44,0x61,0x72 +,0x6B,0x20,0x43,0x6C,0x6F,0x75,0x64,0x20,0x43,0x6F,0x76,0x65,0x72,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74 +,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75 +,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74 +,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73 +,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74 +,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x50,0x65 +,0x6E,0x65,0x74,0x72,0x61,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x50 +,0x65,0x72,0x63,0x65,0x6E,0x74,0x61,0x67,0x65,0x20,0x6F,0x66,0x20,0x70,0x65,0x6E,0x65,0x74,0x72,0x61 +,0x74,0x69,0x6F,0x6E,0x20,0x6F,0x66,0x20,0x61,0x20,0x63,0x61,0x6E,0x64,0x6C,0x65,0x20,0x77,0x69,0x74 +,0x68,0x69,0x6E,0x20,0x61,0x6E,0x6F,0x74,0x68,0x65,0x72,0x20,0x63,0x61,0x6E,0x64,0x6C,0x65,0x3C,0x2F +,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C +,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69 +,0x6D,0x75,0x6D,0x3E,0x33,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x33,0x37,0x3C,0x2F,0x4D,0x61 +,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x50,0x72,0x65,0x63,0x69,0x73,0x69 +,0x6F,0x6E,0x3E,0x30,0x3C,0x2F,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x30,0x2E +,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x45,0x6E,0x64,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x30,0x2E +,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E +,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75 +,0x65,0x3E,0x35,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x31,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75 +,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E +,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C +,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67 +,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E +,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C +,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x44,0x4F,0x4A,0x49,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69 +,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x44,0x4F,0x4A,0x49 +,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43 +,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x44,0x6F,0x6A,0x69 +,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C +,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x44,0x6F,0x6A +,0x69,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20 +,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64 +,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67 +,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A +,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65 +,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20 +,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63 +,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D +,0x20,0x43,0x44,0x4C,0x44,0x4F,0x4A,0x49,0x53,0x54,0x41,0x52,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46 +,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x44,0x4F,0x4A +,0x49,0x53,0x54,0x41,0x52,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64 +,0x6C,0x44,0x6F,0x6A,0x69,0x53,0x74,0x61,0x72,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65 +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x44,0x6F,0x6A,0x69,0x20,0x53,0x74,0x61,0x72,0x3C,0x2F,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72 +,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E +,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C +,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74 +,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69 +,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E +,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x44,0x52 +,0x41,0x47,0x4F,0x4E,0x46,0x4C,0x59,0x44,0x4F,0x4A,0x49,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69 +,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x44,0x52,0x41,0x47 +,0x4F,0x4E,0x46,0x4C,0x59,0x44,0x4F,0x4A,0x49,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D +,0x65,0x3E,0x43,0x64,0x6C,0x44,0x72,0x61,0x67,0x6F,0x6E,0x66,0x6C,0x79,0x44,0x6F,0x6A,0x69,0x3C,0x2F +,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68 +,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x44,0x72,0x61,0x67,0x6F +,0x6E,0x66,0x6C,0x79,0x20,0x44,0x6F,0x6A,0x69,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63 +,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E +,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C +,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C +,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65 +,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x45,0x4E,0x47,0x55,0x4C,0x46,0x49,0x4E +,0x47,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E +,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69 +,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x45,0x4E,0x47,0x55,0x4C,0x46,0x49,0x4E,0x47,0x3C,0x2F,0x41,0x62,0x62 +,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43 +,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x45,0x6E,0x67,0x75,0x6C,0x66,0x69,0x6E,0x67 +,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C +,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x45,0x6E,0x67 +,0x75,0x6C,0x66,0x69,0x6E,0x67,0x20,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x3C,0x2F,0x53,0x68,0x6F,0x72 +,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F +,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69 +,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65 +,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49 +,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E +,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x45,0x56,0x45 +,0x4E,0x49,0x4E,0x47,0x44,0x4F,0x4A,0x49,0x53,0x54,0x41,0x52,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46 +,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x45,0x56,0x45 +,0x4E,0x49,0x4E,0x47,0x44,0x4F,0x4A,0x49,0x53,0x54,0x41,0x52,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76 +,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65 +,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x45,0x76,0x65,0x6E,0x69,0x6E,0x67,0x44,0x6F,0x6A,0x69,0x53 +,0x74,0x61,0x72,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x45,0x76,0x65,0x6E,0x69,0x6E,0x67,0x20,0x44,0x6F,0x6A,0x69,0x20,0x53,0x74,0x61,0x72,0x3C,0x2F,0x53 +,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F +,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09 +,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E +,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x50,0x65,0x6E,0x65,0x74,0x72,0x61,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x50,0x65,0x72,0x63,0x65,0x6E,0x74,0x61,0x67,0x65,0x20,0x6F,0x66,0x20,0x70,0x65,0x6E +,0x65,0x74,0x72,0x61,0x74,0x69,0x6F,0x6E,0x20,0x6F,0x66,0x20,0x61,0x20,0x63,0x61,0x6E,0x64,0x6C,0x65 +,0x20,0x77,0x69,0x74,0x68,0x69,0x6E,0x20,0x61,0x6E,0x6F,0x74,0x68,0x65,0x72,0x20,0x63,0x61,0x6E,0x64 +,0x6C,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30 +,0x65,0x2B,0x30,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x33,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x33,0x37 +,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x50,0x72,0x65 +,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x30,0x3C,0x2F,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72 +,0x74,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65 +,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B +,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E +,0x74,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65 +,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74 +,0x56,0x61,0x6C,0x75,0x65,0x3E,0x33,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x31,0x3C,0x2F,0x44 +,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70 +,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49 +,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C +,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C +,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x45,0x56,0x45,0x4E,0x49,0x4E,0x47,0x53,0x54 +,0x41,0x52,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75 +,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74 +,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x45,0x56,0x45,0x4E,0x49,0x4E,0x47,0x53,0x54,0x41,0x52,0x3C,0x2F +,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D +,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x45,0x76,0x65,0x6E,0x69,0x6E +,0x67,0x53,0x74,0x61,0x72,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F +,0x6E,0x3E,0x45,0x76,0x65,0x6E,0x69,0x6E,0x67,0x20,0x53,0x74,0x61,0x72,0x3C,0x2F,0x53,0x68,0x6F,0x72 +,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F +,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69 +,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65 +,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70 +,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x50 +,0x65,0x6E,0x65,0x74,0x72,0x61,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x50,0x65,0x72,0x63,0x65,0x6E,0x74,0x61,0x67,0x65,0x20,0x6F,0x66,0x20,0x70,0x65,0x6E,0x65,0x74,0x72 +,0x61,0x74,0x69,0x6F,0x6E,0x20,0x6F,0x66,0x20,0x61,0x20,0x63,0x61,0x6E,0x64,0x6C,0x65,0x20,0x77,0x69 +,0x74,0x68,0x69,0x6E,0x20,0x61,0x6E,0x6F,0x74,0x68,0x65,0x72,0x20,0x63,0x61,0x6E,0x64,0x6C,0x65,0x3C +,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30 +,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78 +,0x69,0x6D,0x75,0x6D,0x3E,0x33,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x33,0x37,0x3C,0x2F,0x4D +,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x50,0x72,0x65,0x63,0x69,0x73 +,0x69,0x6F,0x6E,0x3E,0x30,0x3C,0x2F,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x30 +,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x30 +,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61 +,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C +,0x75,0x65,0x3E,0x33,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x31,0x3C,0x2F,0x44,0x65,0x66,0x61 +,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F +,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65 +,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69 +,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09 +,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x47,0x41,0x50,0x53,0x49,0x44,0x45,0x53,0x49,0x44,0x45,0x57 +,0x48,0x49,0x54,0x45,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C +,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69 +,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x47,0x41,0x50,0x53,0x49,0x44,0x45,0x53,0x49,0x44,0x45 +,0x57,0x48,0x49,0x54,0x45,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64 +,0x6C,0x47,0x61,0x70,0x53,0x69,0x64,0x65,0x53,0x69,0x64,0x65,0x57,0x68,0x69,0x74,0x65,0x3C,0x2F,0x43 +,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x55,0x70,0x2F,0x44,0x6F,0x77 +,0x6E,0x2D,0x67,0x61,0x70,0x20,0x73,0x69,0x64,0x65,0x2D,0x62,0x79,0x2D,0x73,0x69,0x64,0x65,0x20,0x77 +,0x68,0x69,0x74,0x65,0x20,0x6C,0x69,0x6E,0x65,0x73,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64 +,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E +,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63 +,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43 +,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67 +,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x47,0x52,0x41,0x56,0x45,0x53,0x54 +,0x4F,0x4E,0x45,0x44,0x4F,0x4A,0x49,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63 +,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72 +,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x47,0x52,0x41,0x56,0x45,0x53,0x54,0x4F +,0x4E,0x45,0x44,0x4F,0x4A,0x49,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43 +,0x64,0x6C,0x47,0x72,0x61,0x76,0x65,0x73,0x74,0x6F,0x6E,0x65,0x44,0x6F,0x6A,0x69,0x3C,0x2F,0x43,0x61 +,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72 +,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x47,0x72,0x61,0x76,0x65,0x73,0x74 +,0x6F,0x6E,0x65,0x20,0x44,0x6F,0x6A,0x69,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50 +,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F +,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C +,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F +,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49 +,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C +,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C +,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x48,0x41,0x4D,0x4D,0x45,0x52,0x20,0x2D,0x2D +,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43 +,0x44,0x4C,0x48,0x41,0x4D,0x4D,0x45,0x52,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65 +,0x3E,0x43,0x64,0x6C,0x48,0x61,0x6D,0x6D,0x65,0x72,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73 +,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x48,0x61,0x6D,0x6D,0x65,0x72,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74 +,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75 +,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74 +,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73 +,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E +,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x48,0x41,0x4E,0x47 +,0x49,0x4E,0x47,0x4D,0x41,0x4E,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69 +,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65 +,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x48,0x41,0x4E,0x47,0x49,0x4E,0x47,0x4D,0x41 +,0x4E,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x48,0x61,0x6E +,0x67,0x69,0x6E,0x67,0x4D,0x61,0x6E,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74 +,0x69,0x6F,0x6E,0x3E,0x48,0x61,0x6E,0x67,0x69,0x6E,0x67,0x20,0x4D,0x61,0x6E,0x3C,0x2F,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72 +,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E +,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C +,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74 +,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69 +,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E +,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x48,0x41 +,0x52,0x41,0x4D,0x49,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C +,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69 +,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x48,0x41,0x52,0x41,0x4D,0x49,0x3C,0x2F,0x41,0x62,0x62 +,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43 +,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x48,0x61,0x72,0x61,0x6D,0x69,0x3C,0x2F,0x43 +,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x48,0x61,0x72,0x61,0x6D,0x69 +,0x20,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50 +,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F +,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C +,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F +,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49 +,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C +,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C +,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x48,0x41,0x52,0x41,0x4D,0x49,0x43,0x52,0x4F +,0x53,0x53,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75 +,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74 +,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x48,0x41,0x52,0x41,0x4D,0x49,0x43,0x52,0x4F,0x53,0x53,0x3C,0x2F +,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D +,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x48,0x61,0x72,0x61,0x6D,0x69 +,0x43,0x72,0x6F,0x73,0x73,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F +,0x6E,0x3E,0x48,0x61,0x72,0x61,0x6D,0x69,0x20,0x43,0x72,0x6F,0x73,0x73,0x20,0x50,0x61,0x74,0x74,0x65 +,0x72,0x6E,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E +,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49 +,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E +,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70 +,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67 +,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72 +,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E +,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D +,0x2D,0x20,0x43,0x44,0x4C,0x48,0x49,0x47,0x48,0x57,0x41,0x56,0x45,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x48,0x49 +,0x47,0x48,0x57,0x41,0x56,0x45,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43 +,0x64,0x6C,0x48,0x69,0x67,0x6E,0x57,0x61,0x76,0x65,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73 +,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x48,0x69,0x67,0x68,0x2D,0x57,0x61,0x76,0x65,0x20,0x43,0x61,0x6E +,0x64,0x6C,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72 +,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70 +,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65 +,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F +,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69 +,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65 +,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61 +,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21 +,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x48,0x49,0x4B,0x4B,0x41,0x4B,0x45,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x48,0x49 +,0x4B,0x4B,0x41,0x4B,0x45,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64 +,0x6C,0x48,0x69,0x6B,0x6B,0x61,0x6B,0x65,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x48,0x69,0x6B,0x6B,0x61,0x6B,0x65,0x20,0x50,0x61,0x74,0x74,0x65,0x72,0x6E +,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52 +,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E +,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E +,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41 +,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69 +,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20 +,0x43,0x44,0x4C,0x48,0x49,0x4B,0x4B,0x41,0x4B,0x45,0x4D,0x4F,0x44,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x48,0x49 +,0x4B,0x4B,0x41,0x4B,0x45,0x4D,0x4F,0x44,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65 +,0x3E,0x43,0x64,0x6C,0x48,0x69,0x6B,0x6B,0x61,0x6B,0x65,0x4D,0x6F,0x64,0x3C,0x2F,0x43,0x61,0x6D,0x65 +,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x6F,0x64,0x69,0x66,0x69,0x65,0x64,0x20 +,0x48,0x69,0x6B,0x6B,0x61,0x6B,0x65,0x20,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x3C,0x2F,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72 +,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E +,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C +,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74 +,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69 +,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E +,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x48,0x4F +,0x4D,0x49,0x4E,0x47,0x50,0x49,0x47,0x45,0x4F,0x4E,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E +,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41 +,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x48,0x4F,0x4D,0x49,0x4E +,0x47,0x50,0x49,0x47,0x45,0x4F,0x4E,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E +,0x43,0x64,0x6C,0x48,0x6F,0x6D,0x69,0x6E,0x67,0x50,0x69,0x67,0x65,0x6F,0x6E,0x3C,0x2F,0x43,0x61,0x6D +,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74 +,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x48,0x6F,0x6D,0x69,0x6E,0x67,0x20,0x50 +,0x69,0x67,0x65,0x6F,0x6E,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74 +,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F +,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F +,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69 +,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F +,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F +,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65 +,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69 +,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09 +,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x49,0x44,0x45,0x4E,0x54,0x49,0x43,0x41,0x4C,0x33,0x43,0x52 +,0x4F,0x57,0x53,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46 +,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61 +,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x49,0x44,0x45,0x4E,0x54,0x49,0x43,0x41,0x4C,0x33,0x43,0x52 +,0x4F,0x57,0x53,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x49 +,0x64,0x65,0x6E,0x74,0x69,0x63,0x61,0x6C,0x33,0x43,0x72,0x6F,0x77,0x73,0x3C,0x2F,0x43,0x61,0x6D,0x65 +,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x49,0x64,0x65,0x6E,0x74,0x69,0x63,0x61,0x6C +,0x20,0x54,0x68,0x72,0x65,0x65,0x20,0x43,0x72,0x6F,0x77,0x73,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70 +,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69 +,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74 +,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74 +,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C +,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x49,0x4E,0x4E,0x45,0x43 +,0x4B,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E +,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69 +,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x49,0x4E,0x4E,0x45,0x43,0x4B,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76 +,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65 +,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x49,0x6E,0x4E,0x65,0x63,0x6B,0x3C,0x2F,0x43,0x61,0x6D,0x65 +,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x49,0x6E,0x2D,0x4E,0x65,0x63,0x6B,0x20,0x50 +,0x61,0x74,0x74,0x65,0x72,0x6E,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74 +,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72 +,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48 +,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F +,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C +,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C +,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74 +,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46 +,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A +,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x49,0x4E,0x56,0x45,0x52,0x54,0x45,0x44,0x48,0x41,0x4D +,0x4D,0x45,0x52,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46 +,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61 +,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x49,0x4E,0x56,0x45,0x52,0x54,0x45,0x44,0x48,0x41,0x4D,0x4D +,0x45,0x52,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x49,0x6E +,0x76,0x65,0x72,0x74,0x65,0x64,0x48,0x61,0x6D,0x6D,0x65,0x72,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43 +,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x49,0x6E,0x76,0x65,0x72,0x74,0x65,0x64,0x20,0x48,0x61 +,0x6D,0x6D,0x65,0x72,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65 +,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75 +,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70 +,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67 +,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48 +,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73 +,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C +,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67 +,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E +,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C +,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x4B,0x49,0x43,0x4B,0x49,0x4E,0x47,0x20,0x2D,0x2D,0x3E,0x0A,0x09 +,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x4B +,0x49,0x43,0x4B,0x49,0x4E,0x47,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43 +,0x64,0x6C,0x4B,0x69,0x63,0x6B,0x69,0x6E,0x67,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65 +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4B,0x69,0x63,0x6B,0x69,0x6E,0x67,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74 +,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75 +,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74 +,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73 +,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E +,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x4B,0x49,0x43,0x4B +,0x49,0x4E,0x47,0x42,0x59,0x4C,0x45,0x4E,0x47,0x54,0x48,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69 +,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x4B,0x49,0x43,0x4B +,0x49,0x4E,0x47,0x42,0x59,0x4C,0x45,0x4E,0x47,0x54,0x48,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69 +,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E +,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x4B,0x69,0x63,0x6B,0x69,0x6E,0x67,0x42,0x79,0x4C,0x65,0x6E,0x67 +,0x74,0x68,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4B +,0x69,0x63,0x6B,0x69,0x6E,0x67,0x20,0x2D,0x20,0x62,0x75,0x6C,0x6C,0x2F,0x62,0x65,0x61,0x72,0x20,0x64 +,0x65,0x74,0x65,0x72,0x6D,0x69,0x6E,0x65,0x64,0x20,0x62,0x79,0x20,0x74,0x68,0x65,0x20,0x6C,0x6F,0x6E +,0x67,0x65,0x72,0x20,0x6D,0x61,0x72,0x75,0x62,0x6F,0x7A,0x75,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70 +,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69 +,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74 +,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74 +,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C +,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x4C,0x41,0x44,0x44,0x45 +,0x52,0x42,0x4F,0x54,0x54,0x4F,0x4D,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63 +,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72 +,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x4C,0x41,0x44,0x44,0x45,0x52,0x42,0x4F +,0x54,0x54,0x4F,0x4D,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C +,0x4C,0x61,0x64,0x64,0x65,0x72,0x42,0x6F,0x74,0x74,0x6F,0x6D,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43 +,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4C,0x61,0x64,0x64,0x65,0x72,0x20,0x42,0x6F,0x74,0x74 +,0x6F,0x6D,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E +,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49 +,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E +,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70 +,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67 +,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72 +,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E +,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D +,0x2D,0x20,0x43,0x44,0x4C,0x4C,0x4F,0x4E,0x47,0x4C,0x45,0x47,0x47,0x45,0x44,0x44,0x4F,0x4A,0x49,0x20 +,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E +,0x3E,0x43,0x44,0x4C,0x4C,0x4F,0x4E,0x47,0x4C,0x45,0x47,0x47,0x45,0x44,0x44,0x4F,0x4A,0x49,0x3C,0x2F +,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D +,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x4C,0x6F,0x6E,0x67,0x4C,0x65 +,0x67,0x67,0x65,0x64,0x44,0x6F,0x6A,0x69,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x4C,0x6F,0x6E,0x67,0x20,0x4C,0x65,0x67,0x67,0x65,0x64,0x20,0x44,0x6F,0x6A +,0x69,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20 +,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64 +,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67 +,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A +,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65 +,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20 +,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63 +,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D +,0x20,0x43,0x44,0x4C,0x4C,0x4F,0x4E,0x47,0x4C,0x49,0x4E,0x45,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46 +,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x4C,0x4F,0x4E +,0x47,0x4C,0x49,0x4E,0x45,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64 +,0x6C,0x4C,0x6F,0x6E,0x67,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65 +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4C,0x6F,0x6E,0x67,0x20,0x4C,0x69,0x6E,0x65,0x20,0x43,0x61,0x6E,0x64 +,0x6C,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E +,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49 +,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E +,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70 +,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67 +,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72 +,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E +,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D +,0x2D,0x20,0x43,0x44,0x4C,0x4D,0x41,0x52,0x55,0x42,0x4F,0x5A,0x55,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x4D,0x41 +,0x52,0x55,0x42,0x4F,0x5A,0x55,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43 +,0x64,0x6C,0x4D,0x61,0x72,0x75,0x62,0x6F,0x7A,0x75,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73 +,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x61,0x72,0x75,0x62,0x6F,0x7A,0x75,0x3C,0x2F,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72 +,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E +,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C +,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74 +,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69 +,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E +,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x4D,0x41 +,0x54,0x43,0x48,0x49,0x4E,0x47,0x4C,0x4F,0x57,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61 +,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62 +,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x4D,0x41,0x54,0x43,0x48,0x49 +,0x4E,0x47,0x4C,0x4F,0x57,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64 +,0x6C,0x4D,0x61,0x74,0x63,0x68,0x69,0x6E,0x67,0x4C,0x6F,0x77,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43 +,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x61,0x74,0x63,0x68,0x69,0x6E,0x67,0x20,0x4C,0x6F +,0x77,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20 +,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64 +,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67 +,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A +,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65 +,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20 +,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63 +,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D +,0x20,0x43,0x44,0x4C,0x4D,0x41,0x54,0x48,0x4F,0x4C,0x44,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69 +,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x4D,0x41,0x54,0x48 +,0x4F,0x4C,0x44,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x4D +,0x61,0x74,0x48,0x6F,0x6C,0x64,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x4D,0x61,0x74,0x20,0x48,0x6F,0x6C,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65 +,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49 +,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F +,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69 +,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F +,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x50,0x65,0x6E,0x65 +,0x74,0x72,0x61,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x50,0x65,0x72 +,0x63,0x65,0x6E,0x74,0x61,0x67,0x65,0x20,0x6F,0x66,0x20,0x70,0x65,0x6E,0x65,0x74,0x72,0x61,0x74,0x69 +,0x6F,0x6E,0x20,0x6F,0x66,0x20,0x61,0x20,0x63,0x61,0x6E,0x64,0x6C,0x65,0x20,0x77,0x69,0x74,0x68,0x69 +,0x6E,0x20,0x61,0x6E,0x6F,0x74,0x68,0x65,0x72,0x20,0x63,0x61,0x6E,0x64,0x6C,0x65,0x3C,0x2F,0x53,0x68 +,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69 +,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x4D +,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75 +,0x6D,0x3E,0x33,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x33,0x37,0x3C,0x2F,0x4D,0x61,0x78,0x69 +,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E +,0x3E,0x30,0x3C,0x2F,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x30,0x2E,0x30,0x30 +,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74 +,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x45,0x6E,0x64,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x30,0x2E,0x30,0x30 +,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E +,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E +,0x35,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x31,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74 +,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F +,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72 +,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E +,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D +,0x2D,0x20,0x43,0x44,0x4C,0x4D,0x4F,0x52,0x4E,0x49,0x4E,0x47,0x44,0x4F,0x4A,0x49,0x53,0x54,0x41,0x52 +,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F +,0x6E,0x3E,0x43,0x44,0x4C,0x4D,0x4F,0x52,0x4E,0x49,0x4E,0x47,0x44,0x4F,0x4A,0x49,0x53,0x54,0x41,0x52 +,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43 +,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x4D,0x6F,0x72,0x6E +,0x69,0x6E,0x67,0x44,0x6F,0x6A,0x69,0x53,0x74,0x61,0x72,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61 +,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63 +,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x6F,0x72,0x6E,0x69,0x6E,0x67,0x20,0x44,0x6F,0x6A,0x69 +,0x20,0x53,0x74,0x61,0x72,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74 +,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F +,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F +,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69 +,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F +,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F +,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74 +,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x50,0x65,0x6E,0x65,0x74,0x72,0x61,0x74,0x69,0x6F +,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x50,0x65,0x72,0x63,0x65,0x6E,0x74,0x61,0x67 +,0x65,0x20,0x6F,0x66,0x20,0x70,0x65,0x6E,0x65,0x74,0x72,0x61,0x74,0x69,0x6F,0x6E,0x20,0x6F,0x66,0x20 +,0x61,0x20,0x63,0x61,0x6E,0x64,0x6C,0x65,0x20,0x77,0x69,0x74,0x68,0x69,0x6E,0x20,0x61,0x6E,0x6F,0x74 +,0x68,0x65,0x72,0x20,0x63,0x61,0x6E,0x64,0x6C,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x44,0x6F,0x75,0x62,0x6C,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52 +,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E +,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x33,0x2E,0x30,0x30 +,0x30,0x30,0x30,0x30,0x65,0x2B,0x33,0x37,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x30,0x3C,0x2F,0x50,0x72 +,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65 +,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B +,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x30,0x2E +,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B +,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x33,0x2E,0x30,0x30,0x30,0x30 +,0x30,0x30,0x65,0x2D,0x31,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61 +,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75 +,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C +,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75 +,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x4D +,0x4F,0x52,0x4E,0x49,0x4E,0x47,0x53,0x54,0x41,0x52,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E +,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41 +,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x4D,0x4F,0x52,0x4E,0x49 +,0x4E,0x47,0x53,0x54,0x41,0x52,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43 +,0x64,0x6C,0x4D,0x6F,0x72,0x6E,0x69,0x6E,0x67,0x53,0x74,0x61,0x72,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C +,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65 +,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x6F,0x72,0x6E,0x69,0x6E,0x67,0x20,0x53,0x74 +,0x61,0x72,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E +,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49 +,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E +,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70 +,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67 +,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E +,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x50,0x65,0x6E,0x65,0x74,0x72,0x61,0x74,0x69,0x6F,0x6E,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63 +,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x50,0x65,0x72,0x63,0x65,0x6E,0x74,0x61,0x67,0x65,0x20,0x6F +,0x66,0x20,0x70,0x65,0x6E,0x65,0x74,0x72,0x61,0x74,0x69,0x6F,0x6E,0x20,0x6F,0x66,0x20,0x61,0x20,0x63 +,0x61,0x6E,0x64,0x6C,0x65,0x20,0x77,0x69,0x74,0x68,0x69,0x6E,0x20,0x61,0x6E,0x6F,0x74,0x68,0x65,0x72 +,0x20,0x63,0x61,0x6E,0x64,0x6C,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75 +,0x62,0x6C,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x30,0x2E,0x30 +,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x33,0x2E,0x30,0x30,0x30,0x30,0x30 +,0x30,0x65,0x2B,0x33,0x37,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x30,0x3C,0x2F,0x50,0x72,0x65,0x63,0x69 +,0x73,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x30,0x2E,0x30,0x30,0x30 +,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63 +,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65 +,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x33,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65 +,0x2D,0x31,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E +,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x4F,0x4E,0x4E,0x45 +,0x43,0x4B,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75 +,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74 +,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x4F,0x4E,0x4E,0x45,0x43,0x4B,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65 +,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73 +,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x4F,0x6E,0x4E,0x65,0x63,0x6B,0x3C,0x2F,0x43,0x61,0x6D +,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74 +,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4F,0x6E,0x2D,0x4E,0x65,0x63,0x6B,0x20 +,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61 +,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47 +,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F +,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C +,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73 +,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43 +,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E +,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A +,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x50,0x49,0x45,0x52,0x43,0x49,0x4E,0x47,0x20,0x2D +,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E +,0x43,0x44,0x4C,0x50,0x49,0x45,0x52,0x43,0x49,0x4E,0x47,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69 +,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E +,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x50,0x69,0x65,0x72,0x63,0x69,0x6E,0x67,0x3C,0x2F,0x43,0x61,0x6D +,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74 +,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x50,0x69,0x65,0x72,0x63,0x69,0x6E,0x67 +,0x20,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50 +,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F +,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C +,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F +,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49 +,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C +,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C +,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x52,0x49,0x43,0x4B,0x53,0x48,0x41,0x57,0x4D +,0x41,0x4E,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75 +,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74 +,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x52,0x49,0x43,0x4B,0x53,0x48,0x41,0x57,0x4D,0x41,0x4E,0x3C,0x2F +,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D +,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x52,0x69,0x63,0x6B,0x73,0x68 +,0x61,0x77,0x4D,0x61,0x6E,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F +,0x6E,0x3E,0x52,0x69,0x63,0x6B,0x73,0x68,0x61,0x77,0x20,0x4D,0x61,0x6E,0x3C,0x2F,0x53,0x68,0x6F,0x72 +,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F +,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69 +,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65 +,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49 +,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E +,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x52,0x49,0x53 +,0x45,0x46,0x41,0x4C,0x4C,0x33,0x4D,0x45,0x54,0x48,0x4F,0x44,0x53,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x52,0x49 +,0x53,0x45,0x46,0x41,0x4C,0x4C,0x33,0x4D,0x45,0x54,0x48,0x4F,0x44,0x53,0x3C,0x2F,0x41,0x62,0x62,0x72 +,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61 +,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x52,0x69,0x73,0x65,0x46,0x61,0x6C,0x6C,0x33,0x4D +,0x65,0x74,0x68,0x6F,0x64,0x73,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x52,0x69,0x73,0x69,0x6E,0x67,0x2F,0x46,0x61,0x6C,0x6C,0x69,0x6E,0x67,0x20,0x54,0x68 +,0x72,0x65,0x65,0x20,0x4D,0x65,0x74,0x68,0x6F,0x64,0x73,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65 +,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49 +,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F +,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69 +,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65 +,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F +,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x53,0x45,0x50,0x41,0x52,0x41 +,0x54,0x49,0x4E,0x47,0x4C,0x49,0x4E,0x45,0x53,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61 +,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62 +,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x53,0x45,0x50,0x41,0x52,0x41 +,0x54,0x49,0x4E,0x47,0x4C,0x49,0x4E,0x45,0x53,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D +,0x65,0x3E,0x43,0x64,0x6C,0x53,0x65,0x70,0x65,0x72,0x61,0x74,0x69,0x6E,0x67,0x4C,0x69,0x6E,0x65,0x73 +,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C +,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x53,0x65,0x70 +,0x61,0x72,0x61,0x74,0x69,0x6E,0x67,0x20,0x4C,0x69,0x6E,0x65,0x73,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74 +,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75 +,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74 +,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73 +,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E +,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x53,0x48,0x4F,0x4F +,0x54,0x49,0x4E,0x47,0x53,0x54,0x41,0x52,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E +,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62 +,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x53,0x48,0x4F,0x4F,0x54,0x49,0x4E +,0x47,0x53,0x54,0x41,0x52,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64 +,0x6C,0x53,0x68,0x6F,0x6F,0x74,0x69,0x6E,0x67,0x53,0x74,0x61,0x72,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C +,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65 +,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x53,0x68,0x6F,0x6F,0x74,0x69,0x6E,0x67,0x20,0x53 +,0x74,0x61,0x72,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72 +,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70 +,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65 +,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F +,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69 +,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65 +,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61 +,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21 +,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x53,0x48,0x4F,0x52,0x54,0x4C,0x49,0x4E,0x45,0x20,0x2D,0x2D,0x3E,0x0A +,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C +,0x53,0x48,0x4F,0x52,0x54,0x4C,0x49,0x4E,0x45,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D +,0x65,0x3E,0x43,0x64,0x6C,0x53,0x68,0x6F,0x72,0x74,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x43,0x61,0x6D,0x65 +,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x53,0x68,0x6F,0x72,0x74,0x20,0x4C,0x69,0x6E +,0x65,0x20,0x43,0x61,0x6E,0x64,0x6C,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50 +,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F +,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C +,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F +,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49 +,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C +,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C +,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x53,0x50,0x49,0x4E,0x4E,0x49,0x4E,0x47,0x54 +,0x4F,0x50,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75 +,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74 +,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x53,0x50,0x49,0x4E,0x4E,0x49,0x4E,0x47,0x54,0x4F,0x50,0x3C,0x2F +,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D +,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x53,0x70,0x69,0x6E,0x6E,0x69 +,0x6E,0x67,0x54,0x6F,0x70,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F +,0x6E,0x3E,0x53,0x70,0x69,0x6E,0x6E,0x69,0x6E,0x67,0x20,0x54,0x6F,0x70,0x3C,0x2F,0x53,0x68,0x6F,0x72 +,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F +,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69 +,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65 +,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49 +,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E +,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x53,0x54,0x41 +,0x4C,0x4C,0x45,0x44,0x50,0x41,0x54,0x54,0x45,0x52,0x4E,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69 +,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x53,0x54,0x41,0x4C +,0x4C,0x45,0x44,0x50,0x41,0x54,0x54,0x45,0x52,0x4E,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61 +,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x53,0x74,0x61,0x6C,0x6C,0x65,0x64,0x50,0x61,0x74,0x74,0x65,0x72,0x6E +,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C +,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x53,0x74,0x61 +,0x6C,0x6C,0x65,0x64,0x20,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70 +,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69 +,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74 +,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74 +,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C +,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x53,0x54,0x49,0x43,0x4B +,0x53,0x41,0x4E,0x44,0x57,0x49,0x43,0x48,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E +,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62 +,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x53,0x54,0x49,0x43,0x4B,0x53,0x41 +,0x4E,0x44,0x57,0x49,0x43,0x48,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43 +,0x64,0x6C,0x53,0x74,0x69,0x63,0x6B,0x53,0x61,0x6E,0x64,0x77,0x68,0x69,0x63,0x68,0x3C,0x2F,0x43,0x61 +,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72 +,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x53,0x74,0x69,0x63,0x6B,0x20,0x53 +,0x61,0x6E,0x64,0x77,0x69,0x63,0x68,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61 +,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47 +,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F +,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C +,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73 +,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43 +,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E +,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A +,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x54,0x41,0x4B,0x55,0x52,0x49,0x20,0x2D,0x2D,0x3E +,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44 +,0x4C,0x54,0x41,0x4B,0x55,0x52,0x49,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E +,0x43,0x64,0x6C,0x54,0x61,0x6B,0x75,0x72,0x69,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65 +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x61,0x6B,0x75,0x72,0x69,0x20,0x28,0x44,0x72,0x61,0x67,0x6F,0x6E +,0x66,0x6C,0x79,0x20,0x44,0x6F,0x6A,0x69,0x20,0x77,0x69,0x74,0x68,0x20,0x76,0x65,0x72,0x79,0x20,0x6C +,0x6F,0x6E,0x67,0x20,0x6C,0x6F,0x77,0x65,0x72,0x20,0x73,0x68,0x61,0x64,0x6F,0x77,0x29,0x3C,0x2F,0x53 +,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F +,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09 +,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E +,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61 +,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F +,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E +,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46 +,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C +,0x54,0x41,0x53,0x55,0x4B,0x49,0x47,0x41,0x50,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61 +,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62 +,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x54,0x41,0x53,0x55,0x4B,0x49 +,0x47,0x41,0x50,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x54 +,0x61,0x73,0x75,0x6B,0x69,0x47,0x61,0x70,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x61,0x73,0x75,0x6B,0x69,0x20,0x47,0x61,0x70,0x3C,0x2F,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72 +,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E +,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C +,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74 +,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69 +,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E +,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x54,0x48 +,0x52,0x55,0x53,0x54,0x49,0x4E,0x47,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63 +,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72 +,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x54,0x48,0x52,0x55,0x53,0x54,0x49,0x4E +,0x47,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x54,0x68,0x72 +,0x75,0x73,0x74,0x69,0x6E,0x67,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x54,0x68,0x72,0x75,0x73,0x74,0x69,0x6E,0x67,0x20,0x50,0x61,0x74,0x74,0x65,0x72,0x6E +,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52 +,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E +,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E +,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41 +,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69 +,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20 +,0x43,0x44,0x4C,0x54,0x52,0x49,0x53,0x54,0x41,0x52,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E +,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41 +,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x54,0x52,0x49,0x53,0x54 +,0x41,0x52,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x54,0x72 +,0x69,0x73,0x74,0x61,0x72,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F +,0x6E,0x3E,0x54,0x72,0x69,0x73,0x74,0x61,0x72,0x20,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x3C,0x2F,0x53 +,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F +,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09 +,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E +,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61 +,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F +,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E +,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46 +,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C +,0x55,0x4E,0x49,0x51,0x55,0x45,0x33,0x52,0x49,0x56,0x45,0x52,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46 +,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x55,0x4E,0x49 +,0x51,0x55,0x45,0x33,0x52,0x49,0x56,0x45,0x52,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D +,0x65,0x3E,0x43,0x64,0x6C,0x55,0x6E,0x69,0x71,0x75,0x65,0x33,0x52,0x69,0x76,0x65,0x72,0x3C,0x2F,0x43 +,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x55,0x6E,0x69,0x71,0x75,0x65 +,0x20,0x33,0x20,0x52,0x69,0x76,0x65,0x72,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50 +,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F +,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C +,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F +,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49 +,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C +,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C +,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x55,0x50,0x53,0x49,0x44,0x45,0x47,0x41,0x50 +,0x32,0x43,0x52,0x4F,0x57,0x53,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69 +,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65 +,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x55,0x50,0x53,0x49,0x44,0x45,0x47,0x41,0x50 +,0x32,0x43,0x52,0x4F,0x57,0x53,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43 +,0x64,0x6C,0x55,0x70,0x73,0x69,0x64,0x65,0x47,0x61,0x70,0x32,0x43,0x72,0x6F,0x77,0x73,0x3C,0x2F,0x43 +,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x55,0x70,0x73,0x69,0x64,0x65 +,0x20,0x47,0x61,0x70,0x20,0x54,0x77,0x6F,0x20,0x43,0x72,0x6F,0x77,0x73,0x3C,0x2F,0x53,0x68,0x6F,0x72 +,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F +,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67,0x6E,0x69 +,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64,0x6C,0x65 +,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49 +,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E +,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x44,0x4C,0x58,0x53,0x49 +,0x44,0x45,0x47,0x41,0x50,0x33,0x4D,0x45,0x54,0x48,0x4F,0x44,0x53,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x44,0x4C,0x58,0x53 +,0x49,0x44,0x45,0x47,0x41,0x50,0x33,0x4D,0x45,0x54,0x48,0x4F,0x44,0x53,0x3C,0x2F,0x41,0x62,0x62,0x72 +,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61 +,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x64,0x6C,0x58,0x53,0x69,0x64,0x65,0x47,0x61,0x70,0x33,0x4D +,0x65,0x74,0x68,0x6F,0x64,0x73,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x55,0x70,0x73,0x69,0x64,0x65,0x2F,0x44,0x6F,0x77,0x6E,0x73,0x69,0x64,0x65,0x20,0x47 +,0x61,0x70,0x20,0x54,0x68,0x72,0x65,0x65,0x20,0x4D,0x65,0x74,0x68,0x6F,0x64,0x73,0x3C,0x2F,0x53,0x68 +,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47 +,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x52,0x65,0x63,0x6F,0x67 +,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x43,0x61,0x6E,0x64 +,0x6C,0x65,0x73,0x74,0x69,0x63,0x6B,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x70,0x65,0x6E,0x3C,0x2F,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75 +,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C +,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75 +,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x45,0x49,0x4C +,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F +,0x6E,0x3E,0x43,0x45,0x49,0x4C,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43 +,0x65,0x69,0x6C,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x56,0x65,0x63,0x74,0x6F,0x72,0x20,0x43,0x65,0x69,0x6C,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65 +,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49 +,0x64,0x3E,0x4D,0x61,0x74,0x68,0x20,0x54,0x72,0x61,0x6E,0x73,0x66,0x6F,0x72,0x6D,0x3C,0x2F,0x47,0x72 +,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72 +,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46 +,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A +,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x4D,0x4F,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61 +,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62 +,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x4D,0x4F,0x3C,0x2F,0x41,0x62,0x62,0x72 +,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61 +,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6D,0x6F,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73 +,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x68,0x61,0x6E,0x64,0x65,0x20,0x4D,0x6F,0x6D,0x65,0x6E,0x74 +,0x75,0x6D,0x20,0x4F,0x73,0x63,0x69,0x6C,0x6C,0x61,0x74,0x6F,0x72,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74 +,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75 +,0x70,0x49,0x64,0x3E,0x4D,0x6F,0x6D,0x65,0x6E,0x74,0x75,0x6D,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74 +,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x55,0x6E,0x73,0x74,0x61,0x62,0x6C +,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72 +,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E +,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20 +,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53 +,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62 +,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D +,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78 +,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65 +,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30 +,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x31,0x34,0x3C,0x2F +,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F +,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69 +,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09 +,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x4F,0x52,0x52,0x45,0x4C,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69 +,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x4F,0x52,0x52,0x45,0x4C,0x3C +,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61 +,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6F,0x72,0x72,0x65,0x6C,0x3C,0x2F +,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68 +,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x50,0x65,0x61,0x72,0x73 +,0x6F,0x6E,0x26,0x61,0x70,0x6F,0x73,0x3B,0x73,0x20,0x43,0x6F,0x72,0x72,0x65,0x6C,0x61,0x74,0x69,0x6F +,0x6E,0x20,0x43,0x6F,0x65,0x66,0x66,0x69,0x63,0x69,0x65,0x6E,0x74,0x20,0x28,0x72,0x29,0x3C,0x2F,0x53 +,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x53,0x74,0x61,0x74,0x69,0x73,0x74,0x69,0x63,0x20,0x46,0x75 +,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x30,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41 +,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x31,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69 +,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D +,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75 +,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72 +,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E +,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D +,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31 +,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72 +,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x33,0x30 +,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A +,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x4F,0x53,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E +,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41 +,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x4F,0x53,0x3C,0x2F,0x41,0x62,0x62 +,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43 +,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6F,0x73,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61 +,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63 +,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x56,0x65,0x63,0x74,0x6F,0x72,0x20,0x54,0x72,0x69,0x67,0x6F +,0x6E,0x6F,0x6D,0x65,0x74,0x72,0x69,0x63,0x20,0x43,0x6F,0x73,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70 +,0x49,0x64,0x3E,0x4D,0x61,0x74,0x68,0x20,0x54,0x72,0x61,0x6E,0x73,0x66,0x6F,0x72,0x6D,0x3C,0x2F,0x47 +,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41 +,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A +,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x43,0x4F,0x53,0x48,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69 +,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x43,0x4F,0x53,0x48,0x3C,0x2F,0x41 +,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65 +,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6F,0x73,0x68,0x3C,0x2F,0x43,0x61,0x6D,0x65 +,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x56,0x65,0x63,0x74,0x6F,0x72,0x20,0x54,0x72 +,0x69,0x67,0x6F,0x6E,0x6F,0x6D,0x65,0x74,0x72,0x69,0x63,0x20,0x43,0x6F,0x73,0x68,0x3C,0x2F,0x53,0x68 +,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47 +,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x61,0x74,0x68,0x20,0x54,0x72,0x61,0x6E,0x73,0x66,0x6F,0x72 +,0x6D,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62 +,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52 +,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F +,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x44,0x45,0x4D,0x41,0x20,0x2D,0x2D,0x3E,0x0A +,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x44,0x45,0x4D +,0x41,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x44,0x65,0x6D,0x61,0x3C,0x2F +,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68 +,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x44,0x6F,0x75,0x62,0x6C +,0x65,0x20,0x45,0x78,0x70,0x6F,0x6E,0x65,0x6E,0x74,0x69,0x61,0x6C,0x20,0x4D,0x6F,0x76,0x69,0x6E,0x67 +,0x20,0x41,0x76,0x65,0x72,0x61,0x67,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4F +,0x76,0x65,0x72,0x6C,0x61,0x70,0x20,0x53,0x74,0x75,0x64,0x69,0x65,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75 +,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x3E,0x4F,0x76,0x65,0x72,0x6C,0x61,0x70,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65 +,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74 +,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69 +,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E +,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69 +,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F +,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65 +,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C +,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E +,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63 +,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x33 +,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C +,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C +,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x44,0x49,0x56,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69 +,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x44,0x49,0x56,0x3C,0x2F,0x41,0x62 +,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C +,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x44,0x69,0x76,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43 +,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x56,0x65,0x63,0x74,0x6F,0x72,0x20,0x41,0x72,0x69,0x74 +,0x68,0x6D,0x65,0x74,0x69,0x63,0x20,0x44,0x69,0x76,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64 +,0x3E,0x4D,0x61,0x74,0x68,0x20,0x4F,0x70,0x65,0x72,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F +,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72 +,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x69,0x6E,0x52,0x65,0x61,0x6C,0x30,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x31,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72 +,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C +,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75 +,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x44,0x58,0x20,0x2D +,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E +,0x44,0x58,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x44,0x78,0x3C,0x2F,0x43 +,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x44,0x69,0x72,0x65,0x63,0x74 +,0x69,0x6F,0x6E,0x61,0x6C,0x20,0x4D,0x6F,0x76,0x65,0x6D,0x65,0x6E,0x74,0x20,0x49,0x6E,0x64,0x65,0x78 +,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x6F,0x6D,0x65,0x6E,0x74,0x75,0x6D,0x20 +,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E +,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E +,0x55,0x6E,0x73,0x74,0x61,0x62,0x6C,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69 +,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F +,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F +,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74 +,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F +,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66 +,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74 +,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E +,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C +,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69 +,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72 +,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53 +,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65 +,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x31,0x34,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75 +,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E +,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C +,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C +,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69 +,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20 +,0x45,0x4D,0x41,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46 +,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61 +,0x74,0x69,0x6F,0x6E,0x3E,0x45,0x4D,0x41,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65 +,0x3E,0x45,0x6D,0x61,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E +,0x3E,0x45,0x78,0x70,0x6F,0x6E,0x65,0x6E,0x74,0x69,0x61,0x6C,0x20,0x4D,0x6F,0x76,0x69,0x6E,0x67,0x20 +,0x41,0x76,0x65,0x72,0x61,0x67,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4F,0x76 +,0x65,0x72,0x6C,0x61,0x70,0x20,0x53,0x74,0x75,0x64,0x69,0x65,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70 +,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x3E,0x4F,0x76,0x65,0x72,0x6C,0x61,0x70,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x55,0x6E,0x73,0x74,0x61,0x62,0x6C,0x65,0x20,0x50,0x65,0x72,0x69 +,0x6F,0x64,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61 +,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C +,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69 +,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65 +,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20 +,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65 +,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F +,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D +,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74 +,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74 +,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66 +,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x33,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C +,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61 +,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F +,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65 +,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61 +,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x45 +,0x58,0x50,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75 +,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74 +,0x69,0x6F,0x6E,0x3E,0x45,0x58,0x50,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E +,0x45,0x78,0x70,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x56,0x65,0x63,0x74,0x6F,0x72,0x20,0x41,0x72,0x69,0x74,0x68,0x6D,0x65,0x74,0x69,0x63,0x20,0x45,0x78 +,0x70,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x61,0x74,0x68,0x20,0x54,0x72,0x61 +,0x6E,0x73,0x66,0x6F,0x72,0x6D,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72 +,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C +,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75 +,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x46,0x4C,0x4F,0x4F +,0x52,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E +,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69 +,0x6F,0x6E,0x3E,0x46,0x4C,0x4F,0x4F,0x52,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65 +,0x3E,0x46,0x6C,0x6F,0x6F,0x72,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x56,0x65,0x63,0x74,0x6F,0x72,0x20,0x46,0x6C,0x6F,0x6F,0x72,0x3C,0x2F,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72 +,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x61,0x74,0x68,0x20,0x54,0x72,0x61,0x6E,0x73,0x66,0x6F,0x72,0x6D +,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C +,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65 +,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x48,0x54,0x5F,0x44,0x43,0x50,0x45,0x52,0x49,0x4F +,0x44,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E +,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69 +,0x6F,0x6E,0x3E,0x48,0x54,0x5F,0x44,0x43,0x50,0x45,0x52,0x49,0x4F,0x44,0x3C,0x2F,0x41,0x62,0x62,0x72 +,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61 +,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x74,0x44,0x63,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x43 +,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x48,0x69,0x6C,0x62,0x65,0x72 +,0x74,0x20,0x54,0x72,0x61,0x6E,0x73,0x66,0x6F,0x72,0x6D,0x20,0x2D,0x20,0x44,0x6F,0x6D,0x69,0x6E,0x61 +,0x6E,0x74,0x20,0x43,0x79,0x63,0x6C,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72 +,0x6F,0x75,0x70,0x49,0x64,0x3E,0x43,0x79,0x63,0x6C,0x65,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F +,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x55,0x6E,0x73,0x74,0x61,0x62,0x6C,0x65 +,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72 +,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69 +,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09 +,0x3C,0x21,0x2D,0x2D,0x20,0x48,0x54,0x5F,0x44,0x43,0x50,0x48,0x41,0x53,0x45,0x20,0x2D,0x2D,0x3E,0x0A +,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x48,0x54,0x5F +,0x44,0x43,0x50,0x48,0x41,0x53,0x45,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E +,0x48,0x74,0x44,0x63,0x50,0x68,0x61,0x73,0x65,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65 +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x48,0x69,0x6C,0x62,0x65,0x72,0x74,0x20,0x54,0x72,0x61,0x6E,0x73,0x66 +,0x6F,0x72,0x6D,0x20,0x2D,0x20,0x44,0x6F,0x6D,0x69,0x6E,0x61,0x6E,0x74,0x20,0x43,0x79,0x63,0x6C,0x65 +,0x20,0x50,0x68,0x61,0x73,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x43,0x79,0x63 +,0x6C,0x65,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70 +,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x3E,0x55,0x6E,0x73,0x74,0x61,0x62,0x6C,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F +,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72 +,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C +,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75 +,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x48,0x54,0x5F,0x50 +,0x48,0x41,0x53,0x4F,0x52,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61 +,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76 +,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x48,0x54,0x5F,0x50,0x48,0x41,0x53,0x4F,0x52,0x3C,0x2F,0x41,0x62 +,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C +,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x74,0x50,0x68,0x61,0x73,0x6F,0x72,0x3C,0x2F,0x43 +,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x48,0x69,0x6C,0x62,0x65,0x72 +,0x74,0x20,0x54,0x72,0x61,0x6E,0x73,0x66,0x6F,0x72,0x6D,0x20,0x2D,0x20,0x50,0x68,0x61,0x73,0x6F,0x72 +,0x20,0x43,0x6F,0x6D,0x70,0x6F,0x6E,0x65,0x6E,0x74,0x73,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65 +,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49 +,0x64,0x3E,0x43,0x79,0x63,0x6C,0x65,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F +,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x55,0x6E,0x73,0x74,0x61,0x62,0x6C,0x65,0x20,0x50,0x65,0x72 +,0x69,0x6F,0x64,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65 +,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62 +,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x50,0x68,0x61,0x73,0x65,0x3C,0x2F,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x51,0x75,0x61,0x64 +,0x72,0x61,0x74,0x75,0x72,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x44,0x61,0x73 +,0x68,0x65,0x64,0x20,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63 +,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D +,0x20,0x48,0x54,0x5F,0x53,0x49,0x4E,0x45,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E +,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62 +,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x48,0x54,0x5F,0x53,0x49,0x4E,0x45,0x3C,0x2F,0x41 +,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65 +,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x74,0x53,0x69,0x6E,0x65,0x3C,0x2F,0x43,0x61 +,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72 +,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x48,0x69,0x6C,0x62,0x65,0x72,0x74 +,0x20,0x54,0x72,0x61,0x6E,0x73,0x66,0x6F,0x72,0x6D,0x20,0x2D,0x20,0x53,0x69,0x6E,0x65,0x57,0x61,0x76 +,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x43,0x79,0x63,0x6C,0x65,0x20,0x49,0x6E +,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09 +,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x55,0x6E +,0x73,0x74,0x61,0x62,0x6C,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E +,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62 +,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x53 +,0x69,0x6E,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F +,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72 +,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x6F,0x75,0x74,0x4C,0x65,0x61,0x64,0x53,0x69,0x6E,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x3E,0x44,0x61,0x73,0x68,0x65,0x64,0x20,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46 +,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A +,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x48,0x54,0x5F,0x54,0x52,0x45,0x4E,0x44,0x4C,0x49,0x4E,0x45,0x20,0x2D +,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E +,0x48,0x54,0x5F,0x54,0x52,0x45,0x4E,0x44,0x4C,0x49,0x4E,0x45,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76 +,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65 +,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x74,0x54,0x72,0x65,0x6E,0x64,0x6C,0x69,0x6E,0x65,0x3C,0x2F,0x43,0x61 +,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72 +,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x48,0x69,0x6C,0x62,0x65,0x72,0x74 +,0x20,0x54,0x72,0x61,0x6E,0x73,0x66,0x6F,0x72,0x6D,0x20,0x2D,0x20,0x49,0x6E,0x73,0x74,0x61,0x6E,0x74 +,0x61,0x6E,0x65,0x6F,0x75,0x73,0x20,0x54,0x72,0x65,0x6E,0x64,0x6C,0x69,0x6E,0x65,0x3C,0x2F,0x53,0x68 +,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47 +,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4F,0x76,0x65,0x72,0x6C,0x61,0x70,0x20,0x53,0x74,0x75,0x64,0x69 +,0x65,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4F,0x76,0x65,0x72,0x6C,0x61,0x70,0x3C +,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x55,0x6E,0x73,0x74 +,0x61,0x62,0x6C,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65 +,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61 +,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x48,0x54,0x5F,0x54,0x52,0x45,0x4E,0x44,0x4D,0x4F,0x44 +,0x45,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E +,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69 +,0x6F,0x6E,0x3E,0x48,0x54,0x5F,0x54,0x52,0x45,0x4E,0x44,0x4D,0x4F,0x44,0x45,0x3C,0x2F,0x41,0x62,0x62 +,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43 +,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x74,0x54,0x72,0x65,0x6E,0x64,0x4D,0x6F,0x64,0x65,0x3C +,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53 +,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x48,0x69,0x6C,0x62 +,0x65,0x72,0x74,0x20,0x54,0x72,0x61,0x6E,0x73,0x66,0x6F,0x72,0x6D,0x20,0x2D,0x20,0x54,0x72,0x65,0x6E +,0x64,0x20,0x76,0x73,0x20,0x43,0x79,0x63,0x6C,0x65,0x20,0x4D,0x6F,0x64,0x65,0x3C,0x2F,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72 +,0x6F,0x75,0x70,0x49,0x64,0x3E,0x43,0x79,0x63,0x6C,0x65,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F +,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x55,0x6E,0x73,0x74,0x61,0x62,0x6C,0x65 +,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72 +,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65 +,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x4B,0x41,0x4D,0x41,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x4B,0x41,0x4D,0x41,0x3C +,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61 +,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x4B,0x61,0x6D,0x61,0x3C,0x2F,0x43,0x61 +,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72 +,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4B,0x61,0x75,0x66,0x6D,0x61,0x6E +,0x20,0x41,0x64,0x61,0x70,0x74,0x69,0x76,0x65,0x20,0x4D,0x6F,0x76,0x69,0x6E,0x67,0x20,0x41,0x76,0x65 +,0x72,0x61,0x67,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4F,0x76,0x65,0x72,0x6C +,0x61,0x70,0x20,0x53,0x74,0x75,0x64,0x69,0x65,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E +,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E +,0x4F,0x76,0x65,0x72,0x6C,0x61,0x70,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x3E,0x55,0x6E,0x73,0x74,0x61,0x62,0x6C,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C +,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61 +,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72 +,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E +,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E +,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30 +,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64 +,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E +,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E +,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67 +,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C +,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x33,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61 +,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74 +,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72 +,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C +,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75 +,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x4C,0x49,0x4E,0x45 +,0x41,0x52,0x52,0x45,0x47,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61 +,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76 +,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x4C,0x49,0x4E,0x45,0x41,0x52,0x52,0x45,0x47,0x3C,0x2F,0x41,0x62 +,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C +,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x69,0x6E,0x65,0x61,0x72,0x52,0x65,0x67,0x3C,0x2F +,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68 +,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4C,0x69,0x6E,0x65,0x61 +,0x72,0x20,0x52,0x65,0x67,0x72,0x65,0x73,0x73,0x69,0x6F,0x6E,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70 +,0x49,0x64,0x3E,0x53,0x74,0x61,0x74,0x69,0x73,0x74,0x69,0x63,0x20,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F +,0x6E,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4F,0x76,0x65,0x72,0x6C,0x61,0x70,0x3C +,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61 +,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72 +,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E +,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E +,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30 +,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64 +,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E +,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E +,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67 +,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C +,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x31,0x34,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61 +,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74 +,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72 +,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C +,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75 +,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x4C,0x49,0x4E,0x45 +,0x41,0x52,0x52,0x45,0x47,0x5F,0x41,0x4E,0x47,0x4C,0x45,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69 +,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x4C,0x49,0x4E,0x45,0x41,0x52,0x52 +,0x45,0x47,0x5F,0x41,0x4E,0x47,0x4C,0x45,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65 +,0x3E,0x4C,0x69,0x6E,0x65,0x61,0x72,0x52,0x65,0x67,0x41,0x6E,0x67,0x6C,0x65,0x3C,0x2F,0x43,0x61,0x6D +,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74 +,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4C,0x69,0x6E,0x65,0x61,0x72,0x20,0x52 +,0x65,0x67,0x72,0x65,0x73,0x73,0x69,0x6F,0x6E,0x20,0x41,0x6E,0x67,0x6C,0x65,0x3C,0x2F,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72 +,0x6F,0x75,0x70,0x49,0x64,0x3E,0x53,0x74,0x61,0x74,0x69,0x73,0x74,0x69,0x63,0x20,0x46,0x75,0x6E,0x63 +,0x74,0x69,0x6F,0x6E,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F +,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D +,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30 +,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30 +,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31 +,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72 +,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56 +,0x61,0x6C,0x75,0x65,0x3E,0x31,0x34,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F +,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61 +,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F +,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E +,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x4C,0x49,0x4E,0x45,0x41,0x52 +,0x52,0x45,0x47,0x5F,0x49,0x4E,0x54,0x45,0x52,0x43,0x45,0x50,0x54,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x4C,0x49,0x4E,0x45,0x41 +,0x52,0x52,0x45,0x47,0x5F,0x49,0x4E,0x54,0x45,0x52,0x43,0x45,0x50,0x54,0x3C,0x2F,0x41,0x62,0x62,0x72 +,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61 +,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x69,0x6E,0x65,0x61,0x72,0x52,0x65,0x67,0x49,0x6E,0x74,0x65 +,0x72,0x63,0x65,0x70,0x74,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F +,0x6E,0x3E,0x4C,0x69,0x6E,0x65,0x61,0x72,0x20,0x52,0x65,0x67,0x72,0x65,0x73,0x73,0x69,0x6F,0x6E,0x20 +,0x49,0x6E,0x74,0x65,0x72,0x63,0x65,0x70,0x74,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63 +,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E +,0x53,0x74,0x61,0x74,0x69,0x73,0x74,0x69,0x63,0x20,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x73,0x3C +,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4F,0x76,0x65,0x72,0x6C,0x61,0x70,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44 +,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74 +,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64 +,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75 +,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30 +,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30 +,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30 +,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65 +,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61 +,0x6C,0x75,0x65,0x3E,0x31,0x34,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E +,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75 +,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x4C,0x49,0x4E,0x45,0x41,0x52,0x52 +,0x45,0x47,0x5F,0x53,0x4C,0x4F,0x50,0x45,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E +,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62 +,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x4C,0x49,0x4E,0x45,0x41,0x52,0x52,0x45,0x47,0x5F +,0x53,0x4C,0x4F,0x50,0x45,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x69 +,0x6E,0x65,0x61,0x72,0x52,0x65,0x67,0x53,0x6C,0x6F,0x70,0x65,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43 +,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4C,0x69,0x6E,0x65,0x61,0x72,0x20,0x52,0x65,0x67,0x72 +,0x65,0x73,0x73,0x69,0x6F,0x6E,0x20,0x53,0x6C,0x6F,0x70,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70 +,0x49,0x64,0x3E,0x53,0x74,0x61,0x74,0x69,0x73,0x74,0x69,0x63,0x20,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F +,0x6E,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75 +,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C +,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F +,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F +,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30 +,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C +,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30 +,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65 +,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E +,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75 +,0x65,0x3E,0x31,0x34,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52 +,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F +,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x4C,0x4E,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x4C,0x4E,0x3C,0x2F,0x41 +,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65 +,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6E,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43 +,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x56,0x65,0x63,0x74,0x6F,0x72,0x20,0x4C,0x6F,0x67,0x20 +,0x4E,0x61,0x74,0x75,0x72,0x61,0x6C,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x61 +,0x74,0x68,0x20,0x54,0x72,0x61,0x6E,0x73,0x66,0x6F,0x72,0x6D,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49 +,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52 +,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75 +,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E +,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D +,0x2D,0x20,0x4C,0x4F,0x47,0x31,0x30,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63 +,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72 +,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x4C,0x4F,0x47,0x31,0x30,0x3C,0x2F,0x41,0x62,0x62,0x72 +,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61 +,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x67,0x31,0x30,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43 +,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x56,0x65,0x63,0x74,0x6F,0x72,0x20,0x4C,0x6F,0x67,0x31 +,0x30,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x61,0x74,0x68,0x20,0x54,0x72,0x61 +,0x6E,0x73,0x66,0x6F,0x72,0x6D,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72 +,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C +,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75 +,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x4D,0x41,0x20,0x2D +,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E +,0x4D,0x41,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x4D,0x6F,0x76,0x69,0x6E +,0x67,0x41,0x76,0x65,0x72,0x61,0x67,0x65,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x6F,0x76,0x69,0x6E,0x67,0x20,0x61,0x76,0x65,0x72,0x61,0x67,0x65,0x3C +,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4F,0x76,0x65,0x72,0x6C,0x61,0x70,0x20,0x53,0x74 +,0x75,0x64,0x69,0x65,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4F,0x76,0x65,0x72,0x6C +,0x61,0x70,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61 +,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C +,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69 +,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65 +,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20 +,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65 +,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x3C,0x2F +,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D +,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74 +,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74 +,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66 +,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x33,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C +,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61 +,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4D,0x41,0x20,0x54,0x79,0x70,0x65 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65 +,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x79,0x70,0x65,0x20,0x6F,0x66,0x20,0x4D,0x6F +,0x76,0x69,0x6E,0x67,0x20,0x41,0x76,0x65,0x72,0x61,0x67,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x4D,0x41,0x20,0x54,0x79,0x70,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x30,0x3C,0x2F,0x44,0x65 +,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74 +,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F +,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61 +,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21 +,0x2D,0x2D,0x20,0x4D,0x41,0x43,0x44,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63 +,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72 +,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x41,0x43,0x44,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65 +,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73 +,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x4D,0x61,0x63,0x64,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73 +,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x6F,0x76,0x69,0x6E,0x67,0x20,0x41,0x76,0x65,0x72,0x61,0x67 +,0x65,0x20,0x43,0x6F,0x6E,0x76,0x65,0x72,0x67,0x65,0x6E,0x63,0x65,0x2F,0x44,0x69,0x76,0x65,0x72,0x67 +,0x65,0x6E,0x63,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x6F,0x6D,0x65,0x6E +,0x74,0x75,0x6D,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75 +,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61 +,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69 +,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x46,0x61,0x73,0x74,0x20,0x50,0x65 +,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72 +,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x20,0x66,0x6F,0x72,0x20,0x74,0x68,0x65,0x20,0x66 +,0x61,0x73,0x74,0x20,0x4D,0x41,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65 +,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F +,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D +,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74 +,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74 +,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66 +,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x31,0x32,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C +,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61 +,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x53,0x6C,0x6F,0x77,0x20,0x50,0x65 +,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72 +,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x20,0x66,0x6F,0x72,0x20,0x74,0x68,0x65,0x20,0x73 +,0x6C,0x6F,0x77,0x20,0x4D,0x41,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65 +,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F +,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D +,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74 +,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74 +,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66 +,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x32,0x36,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C +,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61 +,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x53,0x69,0x67,0x6E,0x61,0x6C,0x20 +,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53 +,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x53,0x6D,0x6F,0x6F +,0x74,0x68,0x69,0x6E,0x67,0x20,0x66,0x6F,0x72,0x20,0x74,0x68,0x65,0x20,0x73,0x69,0x67,0x6E,0x61,0x6C +,0x20,0x6C,0x69,0x6E,0x65,0x20,0x28,0x6E,0x62,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x29 +,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75 +,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30 +,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30 +,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30 +,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65 +,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61 +,0x6C,0x75,0x65,0x3E,0x39,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61 +,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74 +,0x4D,0x41,0x43,0x44,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C +,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72 +,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x6F,0x75,0x74,0x4D,0x41,0x43,0x44,0x53,0x69,0x67,0x6E,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x3E,0x44,0x61,0x73,0x68,0x65,0x64,0x20,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75 +,0x74,0x4D,0x41,0x43,0x44,0x48,0x69,0x73,0x74,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E +,0x48,0x69,0x73,0x74,0x6F,0x67,0x72,0x61,0x6D,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E +,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D +,0x2D,0x20,0x4D,0x41,0x43,0x44,0x45,0x58,0x54,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61 +,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62 +,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x41,0x43,0x44,0x45,0x58,0x54,0x3C,0x2F +,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D +,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x4D,0x61,0x63,0x64,0x45,0x78,0x74,0x3C,0x2F +,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68 +,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x41,0x43,0x44,0x20 +,0x77,0x69,0x74,0x68,0x20,0x63,0x6F,0x6E,0x74,0x72,0x6F,0x6C,0x6C,0x61,0x62,0x6C,0x65,0x20,0x4D,0x41 +,0x20,0x74,0x79,0x70,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x6F,0x6D,0x65 +,0x6E,0x74,0x75,0x6D,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F +,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72 +,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61 +,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x46,0x61,0x73,0x74,0x20,0x50 +,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68 +,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65 +,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x20,0x66,0x6F,0x72,0x20,0x74,0x68,0x65,0x20 +,0x66,0x61,0x73,0x74,0x20,0x4D,0x41,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74 +,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E +,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C +,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69 +,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72 +,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53 +,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65 +,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x31,0x32,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75 +,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E +,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x46,0x61,0x73,0x74,0x20,0x4D +,0x41,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x79,0x70,0x65,0x20,0x6F,0x66,0x20,0x4D +,0x6F,0x76,0x69,0x6E,0x67,0x20,0x41,0x76,0x65,0x72,0x61,0x67,0x65,0x20,0x66,0x6F,0x72,0x20,0x66,0x61 +,0x73,0x74,0x20,0x4D,0x41,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4D,0x41,0x20,0x54,0x79 +,0x70,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75 +,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61 +,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74 +,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x53,0x6C,0x6F,0x77,0x20,0x50,0x65,0x72,0x69,0x6F +,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66 +,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x20,0x66,0x6F,0x72,0x20,0x74,0x68,0x65,0x20,0x73,0x6C,0x6F,0x77 +,0x20,0x4D,0x41,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E +,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E +,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30 +,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64 +,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E +,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E +,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67 +,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C +,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x32,0x36,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61 +,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74 +,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x53,0x6C,0x6F,0x77,0x20,0x4D,0x41,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x79,0x70,0x65,0x20,0x6F,0x66,0x20,0x4D,0x6F,0x76,0x69,0x6E +,0x67,0x20,0x41,0x76,0x65,0x72,0x61,0x67,0x65,0x20,0x66,0x6F,0x72,0x20,0x73,0x6C,0x6F,0x77,0x20,0x4D +,0x41,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4D,0x41,0x20,0x54,0x79,0x70,0x65,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61 +,0x6C,0x75,0x65,0x3E,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61 +,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x53,0x69,0x67,0x6E,0x61,0x6C,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x53,0x6D,0x6F,0x6F,0x74,0x68,0x69,0x6E,0x67,0x20,0x66 +,0x6F,0x72,0x20,0x74,0x68,0x65,0x20,0x73,0x69,0x67,0x6E,0x61,0x6C,0x20,0x6C,0x69,0x6E,0x65,0x20,0x28 +,0x6E,0x62,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x29,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74 +,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69 +,0x6D,0x75,0x6D,0x3E,0x31,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61 +,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67 +,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30 +,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x39,0x3C,0x2F +,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F +,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x53 +,0x69,0x67,0x6E,0x61,0x6C,0x20,0x4D,0x41,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x79 +,0x70,0x65,0x20,0x6F,0x66,0x20,0x4D,0x6F,0x76,0x69,0x6E,0x67,0x20,0x41,0x76,0x65,0x72,0x61,0x67,0x65 +,0x20,0x66,0x6F,0x72,0x20,0x73,0x69,0x67,0x6E,0x61,0x6C,0x20,0x6C,0x69,0x6E,0x65,0x3C,0x2F,0x53,0x68 +,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4D,0x41,0x20,0x54,0x79,0x70,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x30 +,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x4D,0x41,0x43,0x44,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x4D +,0x41,0x43,0x44,0x53,0x69,0x67,0x6E,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E +,0x44,0x61,0x73,0x68,0x65,0x64,0x20,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x4D,0x41,0x43,0x44 +,0x48,0x69,0x73,0x74,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x48,0x69,0x73,0x74,0x6F +,0x67,0x72,0x61,0x6D,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46 +,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x4D,0x41,0x43 +,0x44,0x46,0x49,0x58,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C +,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69 +,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x41,0x43,0x44,0x46,0x49,0x58,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65 +,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73 +,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x4D,0x61,0x63,0x64,0x46,0x69,0x78,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C +,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65 +,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x6F,0x76,0x69,0x6E,0x67,0x20,0x41,0x76,0x65 +,0x72,0x61,0x67,0x65,0x20,0x43,0x6F,0x6E,0x76,0x65,0x72,0x67,0x65,0x6E,0x63,0x65,0x2F,0x44,0x69,0x76 +,0x65,0x72,0x67,0x65,0x6E,0x63,0x65,0x20,0x46,0x69,0x78,0x20,0x31,0x32,0x2F,0x32,0x36,0x3C,0x2F,0x53 +,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x6F,0x6D,0x65,0x6E,0x74,0x75,0x6D,0x20,0x49,0x6E,0x64 +,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61 +,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x53,0x69,0x67,0x6E,0x61,0x6C,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x53,0x6D,0x6F,0x6F,0x74,0x68,0x69,0x6E,0x67,0x20,0x66 +,0x6F,0x72,0x20,0x74,0x68,0x65,0x20,0x73,0x69,0x67,0x6E,0x61,0x6C,0x20,0x6C,0x69,0x6E,0x65,0x20,0x28 +,0x6E,0x62,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x29,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74 +,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69 +,0x6D,0x75,0x6D,0x3E,0x31,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61 +,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67 +,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30 +,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x39,0x3C,0x2F +,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F +,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x4D,0x41,0x43,0x44,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x4D,0x41,0x43 +,0x44,0x53,0x69,0x67,0x6E,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x44,0x61 +,0x73,0x68,0x65,0x64,0x20,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x4D,0x41,0x43,0x44,0x48,0x69 +,0x73,0x74,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x48,0x69,0x73,0x74,0x6F,0x67,0x72 +,0x61,0x6D,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E +,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x4D,0x41,0x4D,0x41,0x20 +,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E +,0x3E,0x4D,0x41,0x4D,0x41,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x4D,0x61 +,0x6D,0x61,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4D +,0x45,0x53,0x41,0x20,0x41,0x64,0x61,0x70,0x74,0x69,0x76,0x65,0x20,0x4D,0x6F,0x76,0x69,0x6E,0x67,0x20 +,0x41,0x76,0x65,0x72,0x61,0x67,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4F,0x76 +,0x65,0x72,0x6C,0x61,0x70,0x20,0x53,0x74,0x75,0x64,0x69,0x65,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70 +,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x3E,0x4F,0x76,0x65,0x72,0x6C,0x61,0x70,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x55,0x6E,0x73,0x74,0x61,0x62,0x6C,0x65,0x20,0x50,0x65,0x72,0x69 +,0x6F,0x64,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61 +,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C +,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69 +,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x46,0x61,0x73,0x74,0x20,0x4C,0x69,0x6D,0x69,0x74,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x55,0x70,0x70,0x65,0x72,0x20,0x6C,0x69,0x6D,0x69,0x74 +,0x20,0x75,0x73,0x65,0x20,0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x61,0x64,0x61,0x70,0x74,0x69,0x76,0x65 +,0x20,0x61,0x6C,0x67,0x6F,0x72,0x69,0x74,0x68,0x6D,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x44,0x6F,0x75,0x62,0x6C,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52 +,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E +,0x31,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x39,0x2E,0x39,0x30 +,0x30,0x30,0x30,0x30,0x65,0x2D,0x31,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x32,0x3C,0x2F,0x50,0x72,0x65 +,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x32,0x2E,0x31,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x31 +,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x38,0x2E,0x30 +,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x31,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45 +,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49 +,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x32 +,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x35,0x2E,0x30,0x30,0x30,0x30,0x30 +,0x30,0x65,0x2D,0x31,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x53,0x6C,0x6F,0x77,0x20,0x4C,0x69,0x6D,0x69,0x74,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x4C,0x6F,0x77,0x65,0x72,0x20,0x6C,0x69,0x6D,0x69,0x74,0x20,0x75,0x73,0x65 +,0x20,0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x61,0x64,0x61,0x70,0x74,0x69,0x76,0x65,0x20,0x61,0x6C,0x67 +,0x6F,0x72,0x69,0x74,0x68,0x6D,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62 +,0x6C,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x2E,0x30,0x30 +,0x30,0x30,0x30,0x30,0x65,0x2D,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x39,0x2E,0x39,0x30,0x30,0x30,0x30,0x30 +,0x65,0x2D,0x31,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x32,0x3C,0x2F,0x50,0x72,0x65,0x63,0x69,0x73,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53 +,0x74,0x61,0x72,0x74,0x3E,0x31,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x32,0x3C,0x2F,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x36,0x2E,0x30,0x30,0x30,0x30,0x30 +,0x30,0x65,0x2D,0x31,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65 +,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x32,0x3C,0x2F,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61 +,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x35,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x32 +,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x4D,0x41,0x4D,0x41,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x46 +,0x41,0x4D,0x41,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x44,0x61,0x73,0x68,0x65,0x64 +,0x20,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C +,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x4D,0x41 +,0x56,0x50,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75 +,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74 +,0x69,0x6F,0x6E,0x3E,0x4D,0x41,0x56,0x50,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65 +,0x3E,0x4D,0x6F,0x76,0x69,0x6E,0x67,0x41,0x76,0x65,0x72,0x61,0x67,0x65,0x56,0x61,0x72,0x69,0x61,0x62 +,0x6C,0x65,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x6F,0x76,0x69,0x6E,0x67,0x20,0x61,0x76,0x65,0x72,0x61,0x67,0x65,0x20 +,0x77,0x69,0x74,0x68,0x20,0x76,0x61,0x72,0x69,0x61,0x62,0x6C,0x65,0x20,0x70,0x65,0x72,0x69,0x6F,0x64 +,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4F,0x76,0x65,0x72,0x6C,0x61,0x70,0x20,0x53 +,0x74,0x75,0x64,0x69,0x65,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4F,0x76,0x65,0x72 +,0x6C,0x61,0x70,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65 +,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C +,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x50,0x65,0x72,0x69,0x6F,0x64,0x73,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x56,0x61,0x6C,0x75,0x65,0x20,0x6C,0x65,0x73,0x73,0x20,0x74,0x68,0x61 +,0x6E,0x20,0x6D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x20,0x77,0x69,0x6C,0x6C,0x20,0x62,0x65,0x20,0x63,0x68 +,0x61,0x6E,0x67,0x65,0x64,0x20,0x74,0x6F,0x20,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x20,0x70,0x65,0x72 +,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E +,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E +,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30 +,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64 +,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E +,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E +,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67 +,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C +,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x32,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C +,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69 +,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x20,0x50,0x65,0x72 +,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72 +,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x56,0x61,0x6C,0x75,0x65,0x20,0x68 +,0x69,0x67,0x68,0x65,0x72,0x20,0x74,0x68,0x61,0x6E,0x20,0x6D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x20,0x77 +,0x69,0x6C,0x6C,0x20,0x62,0x65,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x64,0x20,0x74,0x6F,0x20,0x4D,0x61 +,0x78,0x69,0x6D,0x75,0x6D,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D +,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78 +,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65 +,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30 +,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x33,0x30,0x3C,0x2F +,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F +,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4D +,0x41,0x20,0x54,0x79,0x70,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53 +,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x79,0x70,0x65 +,0x20,0x6F,0x66,0x20,0x4D,0x6F,0x76,0x69,0x6E,0x67,0x20,0x41,0x76,0x65,0x72,0x61,0x67,0x65,0x3C,0x2F +,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4D,0x41,0x20,0x54,0x79,0x70,0x65,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65 +,0x3E,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61 +,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x4D,0x41,0x58,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46 +,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x41,0x58,0x3C,0x2F,0x41 +,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65 +,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x4D,0x61,0x78,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C +,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65 +,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x48,0x69,0x67,0x68,0x65,0x73,0x74,0x20,0x76,0x61 +,0x6C,0x75,0x65,0x20,0x6F,0x76,0x65,0x72,0x20,0x61,0x20,0x73,0x70,0x65,0x63,0x69,0x66,0x69,0x65,0x64 +,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x61 +,0x74,0x68,0x20,0x4F,0x70,0x65,0x72,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49 +,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x3E,0x4F,0x76,0x65,0x72,0x6C,0x61,0x70,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C +,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41 +,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F +,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65 +,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D +,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74 +,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69 +,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61 +,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67 +,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30 +,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x33,0x30,0x3C +,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46 +,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A +,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x4D,0x41,0x58,0x49,0x4E,0x44,0x45,0x58,0x20,0x2D,0x2D,0x3E,0x0A,0x09 +,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x41,0x58,0x49 +,0x4E,0x44,0x45,0x58,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x4D,0x61,0x78 +,0x49,0x6E,0x64,0x65,0x78,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F +,0x6E,0x3E,0x49,0x6E,0x64,0x65,0x78,0x20,0x6F,0x66,0x20,0x68,0x69,0x67,0x68,0x65,0x73,0x74,0x20,0x76 +,0x61,0x6C,0x75,0x65,0x20,0x6F,0x76,0x65,0x72,0x20,0x61,0x20,0x73,0x70,0x65,0x63,0x69,0x66,0x69,0x65 +,0x64,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D +,0x61,0x74,0x68,0x20,0x4F,0x70,0x65,0x72,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70 +,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E +,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F +,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72 +,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72 +,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20 +,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63 +,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49 +,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52 +,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E +,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61 +,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75 +,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74 +,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65 +,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65 +,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30 +,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x33,0x30,0x3C,0x2F,0x44,0x65,0x66 +,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69 +,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74 +,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46 +,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A +,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x4D,0x45,0x44,0x50,0x52,0x49,0x43,0x45,0x20,0x2D,0x2D,0x3E,0x0A,0x09 +,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x45,0x44,0x50 +,0x52,0x49,0x43,0x45,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x4D,0x65,0x64 +,0x50,0x72,0x69,0x63,0x65,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F +,0x6E,0x3E,0x4D,0x65,0x64,0x69,0x61,0x6E,0x20,0x50,0x72,0x69,0x63,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72 +,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F +,0x75,0x70,0x49,0x64,0x3E,0x50,0x72,0x69,0x63,0x65,0x20,0x54,0x72,0x61,0x6E,0x73,0x66,0x6F,0x72,0x6D +,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4F,0x76,0x65,0x72,0x6C,0x61,0x70,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C +,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75 +,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E +,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D +,0x2D,0x20,0x4D,0x46,0x49,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61 +,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76 +,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x46,0x49,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61 +,0x6D,0x65,0x3E,0x4D,0x66,0x69,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x4D,0x6F,0x6E,0x65,0x79,0x20,0x46,0x6C,0x6F,0x77,0x20,0x49,0x6E,0x64,0x65,0x78,0x3C +,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x6F,0x6D,0x65,0x6E,0x74,0x75,0x6D,0x20,0x49 +,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A +,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x55 +,0x6E,0x73,0x74,0x61,0x62,0x6C,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67 +,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48 +,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73 +,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x56,0x6F,0x6C,0x75,0x6D,0x65 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x56,0x6F +,0x6C,0x75,0x6D,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F +,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72 +,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72 +,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20 +,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63 +,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49 +,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52 +,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E +,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61 +,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75 +,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74 +,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65 +,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65 +,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30 +,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x31,0x34,0x3C,0x2F,0x44,0x65,0x66 +,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69 +,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75 +,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E +,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D +,0x2D,0x20,0x4D,0x49,0x44,0x50,0x4F,0x49,0x4E,0x54,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E +,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41 +,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x49,0x44,0x50,0x4F,0x49,0x4E,0x54 +,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43 +,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x4D,0x69,0x64,0x50,0x6F,0x69,0x6E +,0x74,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x69 +,0x64,0x50,0x6F,0x69,0x6E,0x74,0x20,0x6F,0x76,0x65,0x72,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F +,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4F,0x76,0x65,0x72,0x6C,0x61,0x70,0x20,0x53,0x74,0x75 +,0x64,0x69,0x65,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4F,0x76,0x65,0x72,0x6C,0x61 +,0x70,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F +,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70 +,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67 +,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D +,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75 +,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E +,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61 +,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45 +,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61 +,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x31,0x34,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74 +,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F +,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20 +,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67 +,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C +,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x4D,0x49 +,0x44,0x50,0x52,0x49,0x43,0x45,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69 +,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65 +,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x49,0x44,0x50,0x52,0x49,0x43,0x45,0x3C,0x2F,0x41,0x62 +,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C +,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x4D,0x69,0x64,0x50,0x72,0x69,0x63,0x65,0x3C,0x2F,0x43 +,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x69,0x64,0x70,0x6F,0x69 +,0x6E,0x74,0x20,0x50,0x72,0x69,0x63,0x65,0x20,0x6F,0x76,0x65,0x72,0x20,0x70,0x65,0x72,0x69,0x6F,0x64 +,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4F,0x76,0x65,0x72,0x6C,0x61,0x70,0x20,0x53 +,0x74,0x75,0x64,0x69,0x65,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4F,0x76,0x65,0x72 +,0x6C,0x61,0x70,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69 +,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D +,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75 +,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72 +,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E +,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D +,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31 +,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72 +,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x31,0x34 +,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A +,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x4D,0x49,0x4E,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E +,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41 +,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x49,0x4E,0x3C,0x2F,0x41,0x62,0x62 +,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43 +,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x4D,0x69,0x6E,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61 +,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63 +,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4C,0x6F,0x77,0x65,0x73,0x74,0x20,0x76,0x61,0x6C,0x75,0x65 +,0x20,0x6F,0x76,0x65,0x72,0x20,0x61,0x20,0x73,0x70,0x65,0x63,0x69,0x66,0x69,0x65,0x64,0x20,0x70,0x65 +,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x61,0x74,0x68,0x20 +,0x4F,0x70,0x65,0x72,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A +,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4F +,0x76,0x65,0x72,0x6C,0x61,0x70,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61 +,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69 +,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65 +,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72 +,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D +,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D +,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D +,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53 +,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65 +,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67 +,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67 +,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30 +,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x33,0x30,0x3C,0x2F,0x44,0x65 +,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74 +,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F +,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61 +,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21 +,0x2D,0x2D,0x20,0x4D,0x49,0x4E,0x49,0x4E,0x44,0x45,0x58,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69 +,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x49,0x4E,0x49,0x4E,0x44,0x45 +,0x58,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x4D,0x69,0x6E,0x49,0x6E,0x64 +,0x65,0x78,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x49 +,0x6E,0x64,0x65,0x78,0x20,0x6F,0x66,0x20,0x6C,0x6F,0x77,0x65,0x73,0x74,0x20,0x76,0x61,0x6C,0x75,0x65 +,0x20,0x6F,0x76,0x65,0x72,0x20,0x61,0x20,0x73,0x70,0x65,0x63,0x69,0x66,0x69,0x65,0x64,0x20,0x70,0x65 +,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x61,0x74,0x68,0x20 +,0x4F,0x70,0x65,0x72,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F +,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70 +,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67 +,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D +,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75 +,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E +,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61 +,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45 +,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61 +,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x33,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74 +,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F +,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72 +,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E +,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D +,0x2D,0x20,0x4D,0x49,0x4E,0x4D,0x41,0x58,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E +,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62 +,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x49,0x4E,0x4D,0x41,0x58,0x3C,0x2F,0x41,0x62 +,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C +,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x4D,0x69,0x6E,0x4D,0x61,0x78,0x3C,0x2F,0x43,0x61,0x6D +,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74 +,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4C,0x6F,0x77,0x65,0x73,0x74,0x20,0x61 +,0x6E,0x64,0x20,0x68,0x69,0x67,0x68,0x65,0x73,0x74,0x20,0x76,0x61,0x6C,0x75,0x65,0x73,0x20,0x6F,0x76 +,0x65,0x72,0x20,0x61,0x20,0x73,0x70,0x65,0x63,0x69,0x66,0x69,0x65,0x64,0x20,0x70,0x65,0x72,0x69,0x6F +,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x61,0x74,0x68,0x20,0x4F,0x70,0x65 +,0x72,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4F,0x76,0x65,0x72 +,0x6C,0x61,0x70,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65 +,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74 +,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F +,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66 +,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74 +,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E +,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C +,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69 +,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72 +,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53 +,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65 +,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x33,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75 +,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E +,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C +,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C +,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x4D,0x69,0x6E,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F +,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x4D,0x61,0x78,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E +,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D +,0x2D,0x20,0x4D,0x49,0x4E,0x4D,0x41,0x58,0x49,0x4E,0x44,0x45,0x58,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x49,0x4E,0x4D,0x41 +,0x58,0x49,0x4E,0x44,0x45,0x58,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x4D +,0x69,0x6E,0x4D,0x61,0x78,0x49,0x6E,0x64,0x65,0x78,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73 +,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x49,0x6E,0x64,0x65,0x78,0x65,0x73,0x20,0x6F,0x66,0x20,0x6C,0x6F +,0x77,0x65,0x73,0x74,0x20,0x61,0x6E,0x64,0x20,0x68,0x69,0x67,0x68,0x65,0x73,0x74,0x20,0x76,0x61,0x6C +,0x75,0x65,0x73,0x20,0x6F,0x76,0x65,0x72,0x20,0x61,0x20,0x73,0x70,0x65,0x63,0x69,0x66,0x69,0x65,0x64 +,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x61 +,0x74,0x68,0x20,0x4F,0x70,0x65,0x72,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49 +,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52 +,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70 +,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69 +,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74 +,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F +,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E +,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61 +,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32 +,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78 +,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61 +,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C +,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44 +,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x33,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61 +,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F +,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65 +,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x4D,0x69,0x6E,0x49,0x64,0x78,0x3C,0x2F,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x4D,0x61,0x78 +,0x49,0x64,0x78,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F +,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x4D,0x49,0x4E,0x55,0x53,0x5F,0x44,0x49,0x20 +,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E +,0x3E,0x4D,0x49,0x4E,0x55,0x53,0x5F,0x44,0x49,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D +,0x65,0x3E,0x4D,0x69,0x6E,0x75,0x73,0x44,0x49,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65 +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x69,0x6E,0x75,0x73,0x20,0x44,0x69,0x72,0x65,0x63,0x74,0x69,0x6F +,0x6E,0x61,0x6C,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74 +,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75 +,0x70,0x49,0x64,0x3E,0x4D,0x6F,0x6D,0x65,0x6E,0x74,0x75,0x6D,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74 +,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x55,0x6E,0x73,0x74,0x61,0x62,0x6C +,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74 +,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64 +,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75 +,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30 +,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30 +,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30 +,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65 +,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61 +,0x6C,0x75,0x65,0x3E,0x31,0x34,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E +,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75 +,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x4D,0x49,0x4E,0x55,0x53,0x5F,0x44 +,0x4D,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E +,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69 +,0x6F,0x6E,0x3E,0x4D,0x49,0x4E,0x55,0x53,0x5F,0x44,0x4D,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69 +,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E +,0x61,0x6D,0x65,0x3E,0x4D,0x69,0x6E,0x75,0x73,0x44,0x4D,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61 +,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63 +,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x69,0x6E,0x75,0x73,0x20,0x44,0x69,0x72,0x65,0x63,0x74 +,0x69,0x6F,0x6E,0x61,0x6C,0x20,0x4D,0x6F,0x76,0x65,0x6D,0x65,0x6E,0x74,0x3C,0x2F,0x53,0x68,0x6F,0x72 +,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F +,0x75,0x70,0x49,0x64,0x3E,0x4D,0x6F,0x6D,0x65,0x6E,0x74,0x75,0x6D,0x20,0x49,0x6E,0x64,0x69,0x63,0x61 +,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x55,0x6E,0x73,0x74,0x61,0x62 +,0x6C,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C +,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74 +,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64 +,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75 +,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30 +,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30 +,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30 +,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65 +,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61 +,0x6C,0x75,0x65,0x3E,0x31,0x34,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E +,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75 +,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x4D,0x4F,0x4D,0x20,0x2D,0x2D,0x3E +,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x4F +,0x4D,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x4D,0x6F,0x6D,0x3C,0x2F,0x43 +,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x6F,0x6D,0x65,0x6E,0x74 +,0x75,0x6D,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x6F,0x6D,0x65,0x6E,0x74,0x75 +,0x6D,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49 +,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52 +,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70 +,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69 +,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74 +,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F +,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E +,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61 +,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x31 +,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78 +,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61 +,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C +,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44 +,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x31,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61 +,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F +,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62 +,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63 +,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D +,0x20,0x4D,0x55,0x4C,0x54,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61 +,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76 +,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x4D,0x55,0x4C,0x54,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69 +,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E +,0x61,0x6D,0x65,0x3E,0x4D,0x75,0x6C,0x74,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x56,0x65,0x63,0x74,0x6F,0x72,0x20,0x41,0x72,0x69,0x74,0x68,0x6D,0x65,0x74 +,0x69,0x63,0x20,0x4D,0x75,0x6C,0x74,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x61 +,0x74,0x68,0x20,0x4F,0x70,0x65,0x72,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49 +,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52 +,0x65,0x61,0x6C,0x30,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75 +,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x31,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75 +,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x4E,0x41,0x54,0x52,0x20,0x2D,0x2D +,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x4E +,0x41,0x54,0x52,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x4E,0x61,0x74,0x72 +,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C +,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x6F,0x72 +,0x6D,0x61,0x6C,0x69,0x7A,0x65,0x64,0x20,0x41,0x76,0x65,0x72,0x61,0x67,0x65,0x20,0x54,0x72,0x75,0x65 +,0x20,0x52,0x61,0x6E,0x67,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x56,0x6F,0x6C +,0x61,0x74,0x69,0x6C,0x69,0x74,0x79,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F +,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x55,0x6E,0x73,0x74,0x61,0x62,0x6C,0x65,0x20,0x50,0x65,0x72 +,0x69,0x6F,0x64,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74 +,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69 +,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E +,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69 +,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F +,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65 +,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C +,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E +,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63 +,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x31 +,0x34,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C +,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C +,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x4F,0x42,0x56,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69 +,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x4F,0x42,0x56,0x3C,0x2F,0x41,0x62 +,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C +,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x62,0x76,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43 +,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4F,0x6E,0x20,0x42,0x61,0x6C,0x61,0x6E,0x63,0x65,0x20 +,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x56,0x6F,0x6C +,0x75,0x6D,0x65,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75 +,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61 +,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69 +,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x56,0x6F +,0x6C,0x75,0x6D,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A +,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x50,0x4C,0x55,0x53,0x5F,0x44,0x49,0x20,0x2D,0x2D,0x3E,0x0A,0x09 +,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x50,0x4C,0x55,0x53 +,0x5F,0x44,0x49,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x50,0x6C,0x75,0x73 +,0x44,0x49,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x50 +,0x6C,0x75,0x73,0x20,0x44,0x69,0x72,0x65,0x63,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x20,0x49,0x6E,0x64,0x69 +,0x63,0x61,0x74,0x6F,0x72,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x6F,0x6D,0x65 +,0x6E,0x74,0x75,0x6D,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F +,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x3E,0x55,0x6E,0x73,0x74,0x61,0x62,0x6C,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43 +,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E +,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20 +,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53 +,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62 +,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D +,0x75,0x6D,0x3E,0x31,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78 +,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65 +,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30 +,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x31,0x34,0x3C,0x2F +,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F +,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69 +,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09 +,0x3C,0x21,0x2D,0x2D,0x20,0x50,0x4C,0x55,0x53,0x5F,0x44,0x4D,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46 +,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x50,0x4C,0x55,0x53,0x5F,0x44 +,0x4D,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x50,0x6C,0x75,0x73,0x44,0x4D +,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C +,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x50,0x6C,0x75 +,0x73,0x20,0x44,0x69,0x72,0x65,0x63,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x20,0x4D,0x6F,0x76,0x65,0x6D,0x65 +,0x6E,0x74,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x6F,0x6D,0x65,0x6E,0x74,0x75 +,0x6D,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49 +,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x3E,0x55,0x6E,0x73,0x74,0x61,0x62,0x6C,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C +,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70 +,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69 +,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74 +,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F +,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E +,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61 +,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x31 +,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78 +,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61 +,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C +,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44 +,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x31,0x34,0x3C,0x2F,0x44,0x65,0x66,0x61 +,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F +,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62 +,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63 +,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D +,0x20,0x50,0x50,0x4F,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C +,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69 +,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x50,0x50,0x4F,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D +,0x65,0x3E,0x50,0x70,0x6F,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F +,0x6E,0x3E,0x50,0x65,0x72,0x63,0x65,0x6E,0x74,0x61,0x67,0x65,0x20,0x50,0x72,0x69,0x63,0x65,0x20,0x4F +,0x73,0x63,0x69,0x6C,0x6C,0x61,0x74,0x6F,0x72,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63 +,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E +,0x4D,0x6F,0x6D,0x65,0x6E,0x74,0x75,0x6D,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C +,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65 +,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74 +,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x46,0x61 +,0x73,0x74,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E +,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x20,0x66,0x6F,0x72,0x20 +,0x74,0x68,0x65,0x20,0x66,0x61,0x73,0x74,0x20,0x4D,0x41,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65 +,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75 +,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69 +,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67 +,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30 +,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x31,0x32,0x3C,0x2F,0x44 +,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70 +,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x53,0x6C +,0x6F,0x77,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E +,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x20,0x66,0x6F,0x72,0x20 +,0x74,0x68,0x65,0x20,0x73,0x6C,0x6F,0x77,0x20,0x4D,0x41,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65 +,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75 +,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69 +,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67 +,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30 +,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x32,0x36,0x3C,0x2F,0x44 +,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70 +,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4D,0x41 +,0x20,0x54,0x79,0x70,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68 +,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x79,0x70,0x65,0x20 +,0x6F,0x66,0x20,0x4D,0x6F,0x76,0x69,0x6E,0x67,0x20,0x41,0x76,0x65,0x72,0x61,0x67,0x65,0x3C,0x2F,0x53 +,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4D,0x41,0x20,0x54,0x79,0x70,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E +,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C +,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C +,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x52,0x4F,0x43,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69 +,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x52,0x4F,0x43,0x3C,0x2F,0x41,0x62 +,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C +,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x52,0x6F,0x63,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43 +,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x52,0x61,0x74,0x65,0x20,0x6F,0x66,0x20,0x63,0x68,0x61 +,0x6E,0x67,0x65,0x20,0x3A,0x20,0x28,0x28,0x70,0x72,0x69,0x63,0x65,0x2F,0x70,0x72,0x65,0x76,0x50,0x72 +,0x69,0x63,0x65,0x29,0x2D,0x31,0x29,0x2A,0x31,0x30,0x30,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65 +,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49 +,0x64,0x3E,0x4D,0x6F,0x6D,0x65,0x6E,0x74,0x75,0x6D,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72 +,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62 +,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F +,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E +,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53 +,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30 +,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30 +,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E +,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49 +,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65 +,0x3E,0x31,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65 +,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x52,0x4F,0x43,0x50,0x20,0x2D,0x2D,0x3E,0x0A,0x09 +,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x52,0x4F,0x43,0x50 +,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43 +,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x52,0x6F,0x63,0x50,0x3C,0x2F,0x43 +,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x52,0x61,0x74,0x65,0x20,0x6F +,0x66,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x20,0x50,0x65,0x72,0x63,0x65,0x6E,0x74,0x61,0x67,0x65,0x3A +,0x20,0x28,0x70,0x72,0x69,0x63,0x65,0x2D,0x70,0x72,0x65,0x76,0x50,0x72,0x69,0x63,0x65,0x29,0x2F,0x70 +,0x72,0x65,0x76,0x50,0x72,0x69,0x63,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D +,0x6F,0x6D,0x65,0x6E,0x74,0x75,0x6D,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F +,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20 +,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69 +,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D +,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75 +,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72 +,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E +,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D +,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31 +,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72 +,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x31,0x30 +,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A +,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x52,0x4F,0x43,0x52,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69 +,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x52,0x4F,0x43,0x52,0x3C,0x2F,0x41 +,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65 +,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x52,0x6F,0x63,0x52,0x3C,0x2F,0x43,0x61,0x6D,0x65 +,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x52,0x61,0x74,0x65,0x20,0x6F,0x66,0x20,0x63 +,0x68,0x61,0x6E,0x67,0x65,0x20,0x72,0x61,0x74,0x69,0x6F,0x3A,0x20,0x28,0x70,0x72,0x69,0x63,0x65,0x2F +,0x70,0x72,0x65,0x76,0x50,0x72,0x69,0x63,0x65,0x29,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64 +,0x3E,0x4D,0x6F,0x6D,0x65,0x6E,0x74,0x75,0x6D,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73 +,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C +,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70 +,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54 +,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68 +,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D +,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C +,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67 +,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30 +,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74 +,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E +,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E +,0x31,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61 +,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x52,0x4F,0x43,0x52,0x31,0x30,0x30,0x20,0x2D,0x2D,0x3E +,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x52,0x4F +,0x43,0x52,0x31,0x30,0x30,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x52,0x6F +,0x63,0x52,0x31,0x30,0x30,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F +,0x6E,0x3E,0x52,0x61,0x74,0x65,0x20,0x6F,0x66,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x20,0x72,0x61,0x74 +,0x69,0x6F,0x20,0x31,0x30,0x30,0x20,0x73,0x63,0x61,0x6C,0x65,0x3A,0x20,0x28,0x70,0x72,0x69,0x63,0x65 +,0x2F,0x70,0x72,0x65,0x76,0x50,0x72,0x69,0x63,0x65,0x29,0x2A,0x31,0x30,0x30,0x3C,0x2F,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72 +,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x6F,0x6D,0x65,0x6E,0x74,0x75,0x6D,0x20,0x49,0x6E,0x64,0x69,0x63 +,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F +,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D +,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30 +,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30 +,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31 +,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72 +,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56 +,0x61,0x6C,0x75,0x65,0x3E,0x31,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F +,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61 +,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F +,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E +,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x52,0x53,0x49,0x20,0x2D,0x2D +,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x52 +,0x53,0x49,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x52,0x73,0x69,0x3C,0x2F +,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68 +,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x52,0x65,0x6C,0x61,0x74 +,0x69,0x76,0x65,0x20,0x53,0x74,0x72,0x65,0x6E,0x67,0x74,0x68,0x20,0x49,0x6E,0x64,0x65,0x78,0x3C,0x2F +,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x6F,0x6D,0x65,0x6E,0x74,0x75,0x6D,0x20,0x49,0x6E +,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09 +,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x55,0x6E +,0x73,0x74,0x61,0x62,0x6C,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E +,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62 +,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F +,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E +,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53 +,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30 +,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30 +,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E +,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49 +,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65 +,0x3E,0x31,0x34,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65 +,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x53,0x41,0x52,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x53,0x41,0x52,0x3C,0x2F +,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D +,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x53,0x61,0x72,0x3C,0x2F,0x43,0x61,0x6D,0x65 +,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x50,0x61,0x72,0x61,0x62,0x6F,0x6C,0x69,0x63 +,0x20,0x53,0x41,0x52,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4F,0x76,0x65,0x72,0x6C +,0x61,0x70,0x20,0x53,0x74,0x75,0x64,0x69,0x65,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E +,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E +,0x4F,0x76,0x65,0x72,0x6C,0x61,0x70,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C +,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x41,0x63,0x63,0x65,0x6C,0x65,0x72,0x61,0x74,0x69,0x6F,0x6E,0x20,0x46,0x61,0x63,0x74,0x6F,0x72 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65 +,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x41,0x63,0x63,0x65,0x6C,0x65,0x72,0x61,0x74,0x69 +,0x6F,0x6E,0x20,0x46,0x61,0x63,0x74,0x6F,0x72,0x20,0x75,0x73,0x65,0x64,0x20,0x75,0x70,0x20,0x74,0x6F +,0x20,0x74,0x68,0x65,0x20,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x20,0x76,0x61,0x6C,0x75,0x65,0x3C,0x2F +,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C +,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69 +,0x6D,0x75,0x6D,0x3E,0x33,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x33,0x37,0x3C,0x2F,0x4D,0x61 +,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x50,0x72,0x65,0x63,0x69,0x73,0x69 +,0x6F,0x6E,0x3E,0x34,0x3C,0x2F,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x2E +,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x32,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x45,0x6E,0x64,0x3E,0x32,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x31,0x3C,0x2F,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x2E +,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x32,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E +,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75 +,0x65,0x3E,0x32,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x32,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75 +,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E +,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x41,0x46,0x20,0x4D,0x61,0x78 +,0x69,0x6D,0x75,0x6D,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x41,0x63,0x63,0x65,0x6C,0x65 +,0x72,0x61,0x74,0x69,0x6F,0x6E,0x20,0x46,0x61,0x63,0x74,0x6F,0x72,0x20,0x4D,0x61,0x78,0x69,0x6D,0x75 +,0x6D,0x20,0x76,0x61,0x6C,0x75,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75 +,0x62,0x6C,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x30,0x2E,0x30 +,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x33,0x2E,0x30,0x30,0x30,0x30,0x30 +,0x30,0x65,0x2B,0x33,0x37,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x34,0x3C,0x2F,0x50,0x72,0x65,0x63,0x69 +,0x73,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x32,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x31,0x3C,0x2F +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x34,0x2E,0x30,0x30,0x30 +,0x30,0x30,0x30,0x65,0x2D,0x31,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63 +,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x32,0x3C,0x2F +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65 +,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x32,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65 +,0x2D,0x31,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61 +,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x53,0x41,0x52,0x45,0x58,0x54,0x20,0x2D,0x2D,0x3E,0x0A +,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x53,0x41,0x52 +,0x45,0x58,0x54,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x53,0x61,0x72,0x45 +,0x78,0x74,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x50 +,0x61,0x72,0x61,0x62,0x6F,0x6C,0x69,0x63,0x20,0x53,0x41,0x52,0x20,0x2D,0x20,0x45,0x78,0x74,0x65,0x6E +,0x64,0x65,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4F,0x76,0x65,0x72,0x6C,0x61 +,0x70,0x20,0x53,0x74,0x75,0x64,0x69,0x65,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A +,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4F +,0x76,0x65,0x72,0x6C,0x61,0x70,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F +,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x53,0x74,0x61,0x72,0x74,0x20,0x56,0x61,0x6C,0x75,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E +,0x3E,0x53,0x74,0x61,0x72,0x74,0x20,0x76,0x61,0x6C,0x75,0x65,0x20,0x61,0x6E,0x64,0x20,0x64,0x69,0x72 +,0x65,0x63,0x74,0x69,0x6F,0x6E,0x2E,0x20,0x30,0x20,0x66,0x6F,0x72,0x20,0x41,0x75,0x74,0x6F,0x2C,0x20 +,0x26,0x67,0x74,0x3B,0x30,0x20,0x66,0x6F,0x72,0x20,0x4C,0x6F,0x6E,0x67,0x2C,0x20,0x26,0x6C,0x74,0x3B +,0x30,0x20,0x66,0x6F,0x72,0x20,0x53,0x68,0x6F,0x72,0x74,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65 +,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D +,0x3E,0x2D,0x33,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x33,0x37,0x3C,0x2F,0x4D,0x69,0x6E,0x69 +,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x33 +,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x33,0x37,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x34,0x3C +,0x2F,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30 +,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64 +,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30 +,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x30,0x2E,0x30 +,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C +,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69 +,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4F,0x66,0x66,0x73,0x65,0x74,0x20,0x6F,0x6E,0x20,0x52 +,0x65,0x76,0x65,0x72,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53 +,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x50,0x65,0x72,0x63 +,0x65,0x6E,0x74,0x20,0x6F,0x66,0x66,0x73,0x65,0x74,0x20,0x61,0x64,0x64,0x65,0x64,0x2F,0x72,0x65,0x6D +,0x6F,0x76,0x65,0x64,0x20,0x74,0x6F,0x20,0x69,0x6E,0x69,0x74,0x69,0x61,0x6C,0x20,0x73,0x74,0x6F,0x70 +,0x20,0x6F,0x6E,0x20,0x73,0x68,0x6F,0x72,0x74,0x2F,0x6C,0x6F,0x6E,0x67,0x20,0x72,0x65,0x76,0x65,0x72 +,0x73,0x61,0x6C,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30 +,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x33,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x33 +,0x37,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x50,0x72 +,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x34,0x3C,0x2F,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61 +,0x72,0x74,0x3E,0x31,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x32,0x3C,0x2F,0x53,0x75,0x67,0x67 +,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x2E,0x35,0x30,0x30,0x30,0x30,0x30,0x65 +,0x2D,0x31,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65 +,0x6E,0x74,0x3E,0x31,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x32,0x3C,0x2F,0x53,0x75,0x67,0x67 +,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C +,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F +,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F +,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x41 +,0x46,0x20,0x49,0x6E,0x69,0x74,0x20,0x4C,0x6F,0x6E,0x67,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E +,0x3E,0x41,0x63,0x63,0x65,0x6C,0x65,0x72,0x61,0x74,0x69,0x6F,0x6E,0x20,0x46,0x61,0x63,0x74,0x6F,0x72 +,0x20,0x69,0x6E,0x69,0x74,0x69,0x61,0x6C,0x20,0x76,0x61,0x6C,0x75,0x65,0x20,0x66,0x6F,0x72,0x20,0x74 +,0x68,0x65,0x20,0x4C,0x6F,0x6E,0x67,0x20,0x64,0x69,0x72,0x65,0x63,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x53 +,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D +,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F +,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D +,0x75,0x6D,0x3E,0x33,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x33,0x37,0x3C,0x2F,0x4D,0x61,0x78 +,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F +,0x6E,0x3E,0x34,0x3C,0x2F,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x2E,0x30 +,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x32,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53 +,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x45,0x6E,0x64,0x3E,0x31,0x2E,0x39,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x31,0x3C,0x2F,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x2E,0x30 +,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x32,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49 +,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65 +,0x3E,0x32,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x32,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C +,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61 +,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x41,0x46,0x20,0x4C,0x6F,0x6E,0x67 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65 +,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x41,0x63,0x63,0x65,0x6C,0x65,0x72,0x61,0x74,0x69 +,0x6F,0x6E,0x20,0x46,0x61,0x63,0x74,0x6F,0x72,0x20,0x66,0x6F,0x72,0x20,0x74,0x68,0x65,0x20,0x4C,0x6F +,0x6E,0x67,0x20,0x64,0x69,0x72,0x65,0x63,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75 +,0x6D,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D +,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x33,0x2E +,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x33,0x37,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x34,0x3C,0x2F +,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x2E,0x30,0x30,0x30,0x30,0x30,0x30 +,0x65,0x2D,0x32,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E +,0x32,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x31,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x2E,0x30,0x30,0x30,0x30,0x30,0x30 +,0x65,0x2D,0x32,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x32,0x2E,0x30,0x30 +,0x30,0x30,0x30,0x30,0x65,0x2D,0x32,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F +,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x41,0x46,0x20,0x4D,0x61,0x78,0x20,0x4C,0x6F,0x6E,0x67,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x41,0x63,0x63,0x65,0x6C,0x65,0x72,0x61,0x74,0x69,0x6F +,0x6E,0x20,0x46,0x61,0x63,0x74,0x6F,0x72,0x20,0x6D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x20,0x76,0x61,0x6C +,0x75,0x65,0x20,0x66,0x6F,0x72,0x20,0x74,0x68,0x65,0x20,0x4C,0x6F,0x6E,0x67,0x20,0x64,0x69,0x72,0x65 +,0x63,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C +,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x30,0x2E,0x30,0x30,0x30 +,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x33,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65 +,0x2B,0x33,0x37,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x34,0x3C,0x2F,0x50,0x72,0x65,0x63,0x69,0x73,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53 +,0x74,0x61,0x72,0x74,0x3E,0x32,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x31,0x3C,0x2F,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x34,0x2E,0x30,0x30,0x30,0x30,0x30 +,0x30,0x65,0x2D,0x31,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65 +,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x32,0x3C,0x2F,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61 +,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x32,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x31 +,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x41,0x46,0x20,0x49,0x6E,0x69,0x74,0x20,0x53,0x68,0x6F,0x72,0x74,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74 +,0x69,0x6F,0x6E,0x3E,0x41,0x63,0x63,0x65,0x6C,0x65,0x72,0x61,0x74,0x69,0x6F,0x6E,0x20,0x46,0x61,0x63 +,0x74,0x6F,0x72,0x20,0x69,0x6E,0x69,0x74,0x69,0x61,0x6C,0x20,0x76,0x61,0x6C,0x75,0x65,0x20,0x66,0x6F +,0x72,0x20,0x74,0x68,0x65,0x20,0x53,0x68,0x6F,0x72,0x74,0x20,0x64,0x69,0x72,0x65,0x63,0x74,0x69,0x6F +,0x6E,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65 +,0x2B,0x30,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D +,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x33,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x33,0x37,0x3C +,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x50,0x72,0x65,0x63 +,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x34,0x3C,0x2F,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74 +,0x3E,0x31,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x32,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67 +,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x2E,0x39,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x31 +,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74 +,0x3E,0x31,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x32,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56 +,0x61,0x6C,0x75,0x65,0x3E,0x32,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x32,0x3C,0x2F,0x44,0x65 +,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74 +,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x41,0x46,0x20 +,0x53,0x68,0x6F,0x72,0x74,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68 +,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x41,0x63,0x63,0x65,0x6C +,0x65,0x72,0x61,0x74,0x69,0x6F,0x6E,0x20,0x46,0x61,0x63,0x74,0x6F,0x72,0x20,0x66,0x6F,0x72,0x20,0x74 +,0x68,0x65,0x20,0x53,0x68,0x6F,0x72,0x74,0x20,0x64,0x69,0x72,0x65,0x63,0x74,0x69,0x6F,0x6E,0x3C,0x2F +,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C +,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69 +,0x6D,0x75,0x6D,0x3E,0x33,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x33,0x37,0x3C,0x2F,0x4D,0x61 +,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x50,0x72,0x65,0x63,0x69,0x73,0x69 +,0x6F,0x6E,0x3E,0x34,0x3C,0x2F,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x2E +,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x32,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x45,0x6E,0x64,0x3E,0x32,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x31,0x3C,0x2F,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x2E +,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x32,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E +,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75 +,0x65,0x3E,0x32,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x32,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75 +,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E +,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x41,0x46,0x20,0x4D,0x61,0x78 +,0x20,0x53,0x68,0x6F,0x72,0x74,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53 +,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x41,0x63,0x63,0x65 +,0x6C,0x65,0x72,0x61,0x74,0x69,0x6F,0x6E,0x20,0x46,0x61,0x63,0x74,0x6F,0x72,0x20,0x6D,0x61,0x78,0x69 +,0x6D,0x75,0x6D,0x20,0x76,0x61,0x6C,0x75,0x65,0x20,0x66,0x6F,0x72,0x20,0x74,0x68,0x65,0x20,0x53,0x68 +,0x6F,0x72,0x74,0x20,0x64,0x69,0x72,0x65,0x63,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74 +,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D +,0x75,0x6D,0x3E,0x30,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x4D,0x69,0x6E,0x69 +,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x33 +,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x33,0x37,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x34,0x3C +,0x2F,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x32,0x2E,0x30,0x30,0x30,0x30,0x30 +,0x30,0x65,0x2D,0x31,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64 +,0x3E,0x34,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x31,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x2E,0x30,0x30,0x30,0x30,0x30 +,0x30,0x65,0x2D,0x32,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x32,0x2E,0x30 +,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x31,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C +,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69 +,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72 +,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69 +,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E +,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x53,0x49,0x4E,0x20,0x2D +,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E +,0x53,0x49,0x4E,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x53,0x69,0x6E,0x3C +,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53 +,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x56,0x65,0x63,0x74 +,0x6F,0x72,0x20,0x54,0x72,0x69,0x67,0x6F,0x6E,0x6F,0x6D,0x65,0x74,0x72,0x69,0x63,0x20,0x53,0x69,0x6E +,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x61,0x74,0x68,0x20,0x54,0x72,0x61,0x6E +,0x73,0x66,0x6F,0x72,0x6D,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72 +,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69 +,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E +,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x53,0x49,0x4E,0x48,0x20 +,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E +,0x3E,0x53,0x49,0x4E,0x48,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x53,0x69 +,0x6E,0x68,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x56 +,0x65,0x63,0x74,0x6F,0x72,0x20,0x54,0x72,0x69,0x67,0x6F,0x6E,0x6F,0x6D,0x65,0x74,0x72,0x69,0x63,0x20 +,0x53,0x69,0x6E,0x68,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x61,0x74,0x68,0x20 +,0x54,0x72,0x61,0x6E,0x73,0x66,0x6F,0x72,0x6D,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65 +,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61 +,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x53 +,0x4D,0x41,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75 +,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74 +,0x69,0x6F,0x6E,0x3E,0x53,0x4D,0x41,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E +,0x53,0x6D,0x61,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x53,0x69,0x6D,0x70,0x6C,0x65,0x20,0x4D,0x6F,0x76,0x69,0x6E,0x67,0x20,0x41,0x76,0x65,0x72,0x61,0x67 +,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4F,0x76,0x65,0x72,0x6C,0x61,0x70,0x20 +,0x53,0x74,0x75,0x64,0x69,0x65,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09 +,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4F,0x76,0x65 +,0x72,0x6C,0x61,0x70,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52 +,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70 +,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69 +,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74 +,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F +,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E +,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61 +,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32 +,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78 +,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61 +,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C +,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44 +,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x33,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61 +,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F +,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62 +,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46 +,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63 +,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D +,0x20,0x53,0x51,0x52,0x54,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61 +,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76 +,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x53,0x51,0x52,0x54,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69 +,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E +,0x61,0x6D,0x65,0x3E,0x53,0x71,0x72,0x74,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x56,0x65,0x63,0x74,0x6F,0x72,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x52 +,0x6F,0x6F,0x74,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x61,0x74,0x68,0x20,0x54 +,0x72,0x61,0x6E,0x73,0x66,0x6F,0x72,0x6D,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09 +,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20 +,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67 +,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C +,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x53,0x54 +,0x44,0x44,0x45,0x56,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C +,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69 +,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x53,0x54,0x44,0x44,0x45,0x56,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76 +,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65 +,0x4E,0x61,0x6D,0x65,0x3E,0x53,0x74,0x64,0x44,0x65,0x76,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61 +,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63 +,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x53,0x74,0x61,0x6E,0x64,0x61,0x72,0x64,0x20,0x44,0x65,0x76 +,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x53,0x74,0x61 +,0x74,0x69,0x73,0x74,0x69,0x63,0x20,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x73,0x3C,0x2F,0x47,0x72 +,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72 +,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E +,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20 +,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53 +,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62 +,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D +,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78 +,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65 +,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30 +,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x35,0x3C,0x2F,0x44 +,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70 +,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x44,0x65 +,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x73,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x62 +,0x20,0x6F,0x66,0x20,0x64,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x73,0x3C,0x2F,0x53,0x68,0x6F,0x72 +,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69 +,0x6D,0x75,0x6D,0x3E,0x2D,0x33,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x33,0x37,0x3C,0x2F,0x4D +,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75 +,0x6D,0x3E,0x33,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x33,0x37,0x3C,0x2F,0x4D,0x61,0x78,0x69 +,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E +,0x3E,0x32,0x3C,0x2F,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x2D,0x32,0x2E,0x30 +,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53 +,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x45,0x6E,0x64,0x3E,0x32,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x32,0x2E,0x30 +,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x31,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49 +,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65 +,0x3E,0x31,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C +,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61 +,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F +,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65 +,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61 +,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x53 +,0x54,0x4F,0x43,0x48,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C +,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69 +,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x53,0x54,0x4F,0x43,0x48,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69 +,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E +,0x61,0x6D,0x65,0x3E,0x53,0x74,0x6F,0x63,0x68,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65 +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x53,0x74,0x6F,0x63,0x68,0x61,0x73,0x74,0x69,0x63,0x3C,0x2F,0x53,0x68 +,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47 +,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x6F,0x6D,0x65,0x6E,0x74,0x75,0x6D,0x20,0x49,0x6E,0x64,0x69 +,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F +,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x46,0x61,0x73,0x74,0x2D,0x4B,0x20 +,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53 +,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x69,0x6D,0x65 +,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x20,0x66,0x6F,0x72,0x20,0x62,0x75,0x69,0x6C,0x64,0x69,0x6E,0x67 +,0x20,0x74,0x68,0x65,0x20,0x46,0x61,0x73,0x74,0x2D,0x4B,0x20,0x6C,0x69,0x6E,0x65,0x3C,0x2F,0x53,0x68 +,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D +,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C +,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67 +,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30 +,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74 +,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E +,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E +,0x35,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x53,0x6C,0x6F,0x77,0x2D,0x4B,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x53,0x6D,0x6F,0x6F,0x74,0x68,0x69,0x6E,0x67,0x20,0x66,0x6F,0x72,0x20,0x6D +,0x61,0x6B,0x69,0x6E,0x67,0x20,0x74,0x68,0x65,0x20,0x53,0x6C,0x6F,0x77,0x2D,0x4B,0x20,0x6C,0x69,0x6E +,0x65,0x2E,0x20,0x55,0x73,0x75,0x61,0x6C,0x6C,0x79,0x20,0x73,0x65,0x74,0x20,0x74,0x6F,0x20,0x33,0x3C +,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30 +,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30 +,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30 +,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D +,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61 +,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C +,0x75,0x65,0x3E,0x33,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x53,0x6C,0x6F,0x77,0x2D,0x4B,0x20,0x4D,0x41,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74 +,0x69,0x6F,0x6E,0x3E,0x54,0x79,0x70,0x65,0x20,0x6F,0x66,0x20,0x4D,0x6F,0x76,0x69,0x6E,0x67,0x20,0x41 +,0x76,0x65,0x72,0x61,0x67,0x65,0x20,0x66,0x6F,0x72,0x20,0x53,0x6C,0x6F,0x77,0x2D,0x4B,0x3C,0x2F,0x53 +,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4D,0x41,0x20,0x54,0x79,0x70,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E +,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x53,0x6C,0x6F,0x77,0x2D,0x44,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x53,0x6D,0x6F,0x6F,0x74,0x68,0x69,0x6E,0x67,0x20,0x66,0x6F,0x72,0x20,0x6D +,0x61,0x6B,0x69,0x6E,0x67,0x20,0x74,0x68,0x65,0x20,0x53,0x6C,0x6F,0x77,0x2D,0x44,0x20,0x6C,0x69,0x6E +,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D +,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30 +,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30 +,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31 +,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72 +,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56 +,0x61,0x6C,0x75,0x65,0x3E,0x33,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E +,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x53,0x6C,0x6F,0x77,0x2D,0x44,0x20,0x4D,0x41,0x3C,0x2F,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x79,0x70,0x65,0x20,0x6F,0x66,0x20,0x4D,0x6F,0x76,0x69,0x6E,0x67 +,0x20,0x41,0x76,0x65,0x72,0x61,0x67,0x65,0x20,0x66,0x6F,0x72,0x20,0x53,0x6C,0x6F,0x77,0x2D,0x44,0x3C +,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4D,0x41,0x20,0x54,0x79,0x70,0x65,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75 +,0x65,0x3E,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x53,0x6C +,0x6F,0x77,0x4B,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x44,0x61,0x73,0x68,0x65,0x64 +,0x20,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75 +,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x53,0x6C,0x6F,0x77,0x44,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x44,0x61,0x73,0x68,0x65,0x64,0x20,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x53,0x54,0x4F,0x43,0x48,0x46,0x20,0x2D,0x2D,0x3E +,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x53,0x54 +,0x4F,0x43,0x48,0x46,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x53,0x74,0x6F +,0x63,0x68,0x46,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x53,0x74,0x6F,0x63,0x68,0x61,0x73,0x74,0x69,0x63,0x20,0x46,0x61,0x73,0x74,0x3C,0x2F,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72 +,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x6F,0x6D,0x65,0x6E,0x74,0x75,0x6D,0x20,0x49,0x6E,0x64,0x69,0x63 +,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C +,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73 +,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43 +,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F +,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x46,0x61,0x73,0x74,0x2D,0x4B,0x20,0x50 +,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68 +,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x69,0x6D,0x65,0x20 +,0x70,0x65,0x72,0x69,0x6F,0x64,0x20,0x66,0x6F,0x72,0x20,0x62,0x75,0x69,0x6C,0x64,0x69,0x6E,0x67,0x20 +,0x74,0x68,0x65,0x20,0x46,0x61,0x73,0x74,0x2D,0x4B,0x20,0x6C,0x69,0x6E,0x65,0x3C,0x2F,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69 +,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F +,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65 +,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C +,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E +,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63 +,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x35 +,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x46,0x61,0x73,0x74,0x2D,0x44,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74 +,0x69,0x6F,0x6E,0x3E,0x53,0x6D,0x6F,0x6F,0x74,0x68,0x69,0x6E,0x67,0x20,0x66,0x6F,0x72,0x20,0x6D,0x61 +,0x6B,0x69,0x6E,0x67,0x20,0x74,0x68,0x65,0x20,0x46,0x61,0x73,0x74,0x2D,0x44,0x20,0x6C,0x69,0x6E,0x65 +,0x2E,0x20,0x55,0x73,0x75,0x61,0x6C,0x6C,0x79,0x20,0x73,0x65,0x74,0x20,0x74,0x6F,0x20,0x33,0x3C,0x2F +,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30 +,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C +,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30 +,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65 +,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E +,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75 +,0x65,0x3E,0x33,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x46,0x61,0x73,0x74,0x2D,0x44,0x20,0x4D,0x41,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x54,0x79,0x70,0x65,0x20,0x6F,0x66,0x20,0x4D,0x6F,0x76,0x69,0x6E,0x67,0x20,0x41,0x76 +,0x65,0x72,0x61,0x67,0x65,0x20,0x66,0x6F,0x72,0x20,0x46,0x61,0x73,0x74,0x2D,0x44,0x3C,0x2F,0x53,0x68 +,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4D,0x41,0x20,0x54,0x79,0x70,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x30 +,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x46,0x61,0x73,0x74,0x4B +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74 +,0x46,0x61,0x73,0x74,0x44,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x53,0x54,0x4F,0x43,0x48,0x52,0x53 +,0x49,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E +,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69 +,0x6F,0x6E,0x3E,0x53,0x54,0x4F,0x43,0x48,0x52,0x53,0x49,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69 +,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E +,0x61,0x6D,0x65,0x3E,0x53,0x74,0x6F,0x63,0x68,0x52,0x73,0x69,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43 +,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x53,0x74,0x6F,0x63,0x68,0x61,0x73,0x74,0x69,0x63,0x20 +,0x52,0x65,0x6C,0x61,0x74,0x69,0x76,0x65,0x20,0x53,0x74,0x72,0x65,0x6E,0x67,0x74,0x68,0x20,0x49,0x6E +,0x64,0x65,0x78,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x6F,0x6D,0x65,0x6E,0x74 +,0x75,0x6D,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70 +,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x3E,0x55,0x6E,0x73,0x74,0x61,0x62,0x6C,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F +,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69 +,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69 +,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31 +,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30 +,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E +,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63 +,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65 +,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74 +,0x56,0x61,0x6C,0x75,0x65,0x3E,0x31,0x34,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C +,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69 +,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x46,0x61,0x73,0x74,0x2D,0x4B,0x20,0x50,0x65,0x72,0x69 +,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74 +,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x69,0x6D,0x65,0x20,0x70,0x65,0x72 +,0x69,0x6F,0x64,0x20,0x66,0x6F,0x72,0x20,0x62,0x75,0x69,0x6C,0x64,0x69,0x6E,0x67,0x20,0x74,0x68,0x65 +,0x20,0x46,0x61,0x73,0x74,0x2D,0x4B,0x20,0x6C,0x69,0x6E,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D +,0x75,0x6D,0x3E,0x31,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78 +,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65 +,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30 +,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x35,0x3C,0x2F,0x44 +,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70 +,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x46,0x61 +,0x73,0x74,0x2D,0x44,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E +,0x3E,0x53,0x6D,0x6F,0x6F,0x74,0x68,0x69,0x6E,0x67,0x20,0x66,0x6F,0x72,0x20,0x6D,0x61,0x6B,0x69,0x6E +,0x67,0x20,0x74,0x68,0x65,0x20,0x46,0x61,0x73,0x74,0x2D,0x44,0x20,0x6C,0x69,0x6E,0x65,0x2E,0x20,0x55 +,0x73,0x75,0x61,0x6C,0x6C,0x79,0x20,0x73,0x65,0x74,0x20,0x74,0x6F,0x20,0x33,0x3C,0x2F,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69 +,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F +,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65 +,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C +,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E +,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63 +,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x33 +,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x46,0x61,0x73,0x74,0x2D,0x44,0x20,0x4D,0x41,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x54,0x79,0x70,0x65,0x20,0x6F,0x66,0x20,0x4D,0x6F,0x76,0x69,0x6E,0x67,0x20,0x41,0x76,0x65,0x72,0x61 +,0x67,0x65,0x20,0x66,0x6F,0x72,0x20,0x46,0x61,0x73,0x74,0x2D,0x44,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74 +,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x4D,0x41,0x20,0x54,0x79,0x70,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x30,0x3C,0x2F,0x44 +,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70 +,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44 +,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x46,0x61,0x73,0x74,0x4B,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x46,0x61,0x73 +,0x74,0x44,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x53,0x55,0x42,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x53,0x55,0x42,0x3C,0x2F +,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D +,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x53,0x75,0x62,0x3C,0x2F,0x43,0x61,0x6D,0x65 +,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x56,0x65,0x63,0x74,0x6F,0x72,0x20,0x41,0x72 +,0x69,0x74,0x68,0x6D,0x65,0x74,0x69,0x63,0x20,0x53,0x75,0x62,0x73,0x74,0x72,0x61,0x63,0x74,0x69,0x6F +,0x6E,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x61,0x74,0x68,0x20,0x4F,0x70,0x65 +,0x72,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x30,0x3C,0x2F +,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65 +,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72 +,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x31,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A +,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x53,0x55,0x4D,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E +,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41 +,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x53,0x55,0x4D,0x3C,0x2F,0x41,0x62,0x62 +,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43 +,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x53,0x75,0x6D,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61 +,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63 +,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x53,0x75,0x6D,0x6D,0x61,0x74,0x69,0x6F,0x6E,0x3C,0x2F,0x53 +,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x61,0x74,0x68,0x20,0x4F,0x70,0x65,0x72,0x61,0x74,0x6F +,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75 +,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C +,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65 +,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F +,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F +,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30 +,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75 +,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C +,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30 +,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65 +,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E +,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75 +,0x65,0x3E,0x33,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F +,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52 +,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F +,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x54,0x33,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x33,0x3C,0x2F,0x41 +,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65 +,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x33,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43 +,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x72,0x69,0x70,0x6C,0x65,0x20,0x45,0x78,0x70,0x6F +,0x6E,0x65,0x6E,0x74,0x69,0x61,0x6C,0x20,0x4D,0x6F,0x76,0x69,0x6E,0x67,0x20,0x41,0x76,0x65,0x72,0x61 +,0x67,0x65,0x20,0x28,0x54,0x33,0x29,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4F,0x76 +,0x65,0x72,0x6C,0x61,0x70,0x20,0x53,0x74,0x75,0x64,0x69,0x65,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70 +,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x3E,0x4F,0x76,0x65,0x72,0x6C,0x61,0x70,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x55,0x6E,0x73,0x74,0x61,0x62,0x6C,0x65,0x20,0x50,0x65,0x72,0x69 +,0x6F,0x64,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61 +,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C +,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69 +,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64 +,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65 +,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20 +,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65 +,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F +,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D +,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74 +,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74 +,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66 +,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x35,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74 +,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F +,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x46 +,0x61,0x63,0x74,0x6F,0x72,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68 +,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x56,0x6F,0x6C,0x75,0x6D +,0x65,0x20,0x46,0x61,0x63,0x74,0x6F,0x72,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F +,0x75,0x62,0x6C,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E +,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x30,0x2E +,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x2E,0x30,0x30,0x30,0x30 +,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x32,0x3C,0x2F,0x50,0x72,0x65,0x63,0x69 +,0x73,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x32,0x3C,0x2F +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x2E,0x30,0x30,0x30 +,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63 +,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x35,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x32,0x3C,0x2F +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65 +,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x37,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65 +,0x2D,0x31,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61 +,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x54,0x41,0x4E,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46 +,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x41,0x4E,0x3C,0x2F,0x41 +,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65 +,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x61,0x6E,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C +,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65 +,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x56,0x65,0x63,0x74,0x6F,0x72,0x20,0x54,0x72,0x69 +,0x67,0x6F,0x6E,0x6F,0x6D,0x65,0x74,0x72,0x69,0x63,0x20,0x54,0x61,0x6E,0x3C,0x2F,0x53,0x68,0x6F,0x72 +,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F +,0x75,0x70,0x49,0x64,0x3E,0x4D,0x61,0x74,0x68,0x20,0x54,0x72,0x61,0x6E,0x73,0x66,0x6F,0x72,0x6D,0x3C +,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65 +,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61 +,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x54,0x41,0x4E,0x48,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x41,0x4E,0x48,0x3C +,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61 +,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x61,0x6E,0x68,0x3C,0x2F,0x43,0x61 +,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72 +,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x56,0x65,0x63,0x74,0x6F,0x72,0x20 +,0x54,0x72,0x69,0x67,0x6F,0x6E,0x6F,0x6D,0x65,0x74,0x72,0x69,0x63,0x20,0x54,0x61,0x6E,0x68,0x3C,0x2F +,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x61,0x74,0x68,0x20,0x54,0x72,0x61,0x6E,0x73,0x66 +,0x6F,0x72,0x6D,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F +,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75 +,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65 +,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x54,0x45,0x4D,0x41,0x20,0x2D,0x2D +,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F +,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x54 +,0x45,0x4D,0x41,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x65,0x6D,0x61 +,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C +,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x72,0x69 +,0x70,0x6C,0x65,0x20,0x45,0x78,0x70,0x6F,0x6E,0x65,0x6E,0x74,0x69,0x61,0x6C,0x20,0x4D,0x6F,0x76,0x69 +,0x6E,0x67,0x20,0x41,0x76,0x65,0x72,0x61,0x67,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73 +,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64 +,0x3E,0x4F,0x76,0x65,0x72,0x6C,0x61,0x70,0x20,0x53,0x74,0x75,0x64,0x69,0x65,0x73,0x3C,0x2F,0x47,0x72 +,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4F,0x76,0x65,0x72,0x6C,0x61,0x70,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E +,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62 +,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F +,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E +,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53 +,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30 +,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30 +,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E +,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49 +,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65 +,0x3E,0x33,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65 +,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x54,0x52,0x41,0x4E,0x47,0x45,0x20,0x2D,0x2D,0x3E +,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x52 +,0x41,0x4E,0x47,0x45,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x72,0x75 +,0x65,0x52,0x61,0x6E,0x67,0x65,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x54,0x72,0x75,0x65,0x20,0x52,0x61,0x6E,0x67,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74 +,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75 +,0x70,0x49,0x64,0x3E,0x56,0x6F,0x6C,0x61,0x74,0x69,0x6C,0x69,0x74,0x79,0x20,0x49,0x6E,0x64,0x69,0x63 +,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C +,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75 +,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73 +,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43 +,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F +,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61 +,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21 +,0x2D,0x2D,0x20,0x54,0x52,0x49,0x4D,0x41,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E +,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62 +,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x52,0x49,0x4D,0x41,0x3C,0x2F,0x41,0x62,0x62 +,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43 +,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x72,0x69,0x6D,0x61,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C +,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65 +,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x72,0x69,0x61,0x6E,0x67,0x75,0x6C,0x61,0x72 +,0x20,0x4D,0x6F,0x76,0x69,0x6E,0x67,0x20,0x41,0x76,0x65,0x72,0x61,0x67,0x65,0x3C,0x2F,0x53,0x68,0x6F +,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72 +,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4F,0x76,0x65,0x72,0x6C,0x61,0x70,0x20,0x53,0x74,0x75,0x64,0x69,0x65 +,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4F,0x76,0x65,0x72,0x6C,0x61,0x70,0x3C,0x2F +,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E +,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69 +,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69 +,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31 +,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30 +,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E +,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63 +,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65 +,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74 +,0x56,0x61,0x6C,0x75,0x65,0x3E,0x33,0x30,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C +,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69 +,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72 +,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69 +,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E +,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x54,0x52,0x49,0x58,0x20 +,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74 +,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E +,0x3E,0x54,0x52,0x49,0x58,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x72 +,0x69,0x78,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x31 +,0x2D,0x64,0x61,0x79,0x20,0x52,0x61,0x74,0x65,0x2D,0x4F,0x66,0x2D,0x43,0x68,0x61,0x6E,0x67,0x65,0x20 +,0x28,0x52,0x4F,0x43,0x29,0x20,0x6F,0x66,0x20,0x61,0x20,0x54,0x72,0x69,0x70,0x6C,0x65,0x20,0x53,0x6D +,0x6F,0x6F,0x74,0x68,0x20,0x45,0x4D,0x41,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D +,0x6F,0x6D,0x65,0x6E,0x74,0x75,0x6D,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F +,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20 +,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69 +,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D +,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75 +,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72 +,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E +,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D +,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31 +,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72 +,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x33,0x30 +,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C +,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A +,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x54,0x53,0x46,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E +,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41 +,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x53,0x46,0x3C,0x2F,0x41,0x62,0x62 +,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43 +,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x73,0x66,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61 +,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63 +,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x69,0x6D,0x65,0x20,0x53,0x65,0x72,0x69,0x65,0x73,0x20 +,0x46,0x6F,0x72,0x65,0x63,0x61,0x73,0x74,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x53 +,0x74,0x61,0x74,0x69,0x73,0x74,0x69,0x63,0x20,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x73,0x3C,0x2F +,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4F,0x76,0x65,0x72,0x6C,0x61,0x70,0x3C,0x2F,0x46,0x6C,0x61 +,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F +,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09 +,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C +,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30 +,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30 +,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30 +,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D +,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61 +,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C +,0x75,0x65,0x3E,0x31,0x34,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61 +,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C +,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74 +,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61 +,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C +,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x54,0x59,0x50,0x50,0x52,0x49,0x43,0x45 +,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F +,0x6E,0x3E,0x54,0x59,0x50,0x50,0x52,0x49,0x43,0x45,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61 +,0x6D,0x65,0x3E,0x54,0x79,0x70,0x50,0x72,0x69,0x63,0x65,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61 +,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63 +,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x54,0x79,0x70,0x69,0x63,0x61,0x6C,0x20,0x50,0x72,0x69,0x63 +,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x72,0x69,0x63,0x65,0x20,0x54,0x72 +,0x61,0x6E,0x73,0x66,0x6F,0x72,0x6D,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09 +,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4F,0x76,0x65 +,0x72,0x6C,0x61,0x70,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67 +,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F +,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54 +,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65 +,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A +,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x55,0x4C,0x54,0x4F,0x53,0x43,0x20,0x2D,0x2D,0x3E +,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E +,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x55,0x4C +,0x54,0x4F,0x53,0x43,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x55,0x6C,0x74 +,0x4F,0x73,0x63,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x55,0x6C,0x74,0x69,0x6D,0x61,0x74,0x65,0x20,0x4F,0x73,0x63,0x69,0x6C,0x6C,0x61,0x74,0x6F,0x72,0x3C +,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4D,0x6F,0x6D,0x65,0x6E,0x74,0x75,0x6D,0x20,0x49 +,0x6E,0x64,0x69,0x63,0x61,0x74,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79 +,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E +,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F +,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E +,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75 +,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F +,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x46,0x69,0x72,0x73 +,0x74,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75 +,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x62,0x61,0x72,0x73,0x20,0x66,0x6F,0x72,0x20,0x31,0x73,0x74 +,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x2E,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72 +,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E +,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61 +,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x31 +,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78 +,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61 +,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C +,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44 +,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x37,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75 +,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E +,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x53,0x65,0x63,0x6F,0x6E,0x64 +,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D +,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x62,0x61,0x72,0x73,0x20,0x66,0x72,0x6F,0x20,0x32,0x6E,0x64,0x20 +,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65 +,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x3C,0x2F +,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D +,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74 +,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74 +,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53 +,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66 +,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x31,0x34,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C +,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61 +,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C +,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x68,0x69,0x72,0x64,0x20,0x50 +,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68 +,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65 +,0x72,0x20,0x6F,0x66,0x20,0x62,0x61,0x72,0x73,0x20,0x66,0x6F,0x72,0x20,0x33,0x72,0x64,0x20,0x70,0x65 +,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65 +,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x3C,0x2F,0x4D,0x69 +,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D +,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31 +,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72 +,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E +,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45 +,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49 +,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75 +,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x32,0x38,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56 +,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49 +,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70 +,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73 +,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41 +,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D +,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E +,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46 +,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x56,0x41,0x52 +,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63 +,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F +,0x6E,0x3E,0x56,0x41,0x52,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x56,0x61 +,0x72,0x69,0x61,0x6E,0x63,0x65,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D +,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x56,0x61,0x72,0x69,0x61,0x6E,0x63,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65 +,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49 +,0x64,0x3E,0x53,0x74,0x61,0x74,0x69,0x73,0x74,0x69,0x63,0x20,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E +,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62 +,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F +,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74 +,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E +,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53 +,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65 +,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30 +,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30 +,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E +,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49 +,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65 +,0x3E,0x35,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61 +,0x6D,0x65,0x3E,0x44,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x73,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x4E,0x62,0x20,0x6F,0x66,0x20,0x64,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x73,0x3C +,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x3C,0x2F,0x54,0x79,0x70 +,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09 +,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x2D,0x33,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B +,0x33,0x37,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D +,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x33,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x33,0x37,0x3C +,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x50,0x72,0x65,0x63 +,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x32,0x3C,0x2F,0x50,0x72,0x65,0x63,0x69,0x73,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74 +,0x3E,0x2D,0x32,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65 +,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x32,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B +,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E +,0x74,0x3E,0x32,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2D,0x31,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65 +,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74 +,0x56,0x61,0x6C,0x75,0x65,0x3E,0x31,0x2E,0x30,0x30,0x30,0x30,0x30,0x30,0x65,0x2B,0x30,0x3C,0x2F,0x44 +,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70 +,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44 +,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E +,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C +,0x21,0x2D,0x2D,0x20,0x57,0x43,0x4C,0x50,0x52,0x49,0x43,0x45,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46 +,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x57,0x43,0x4C,0x50,0x52,0x49 +,0x43,0x45,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09 +,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x57,0x63,0x6C,0x50,0x72 +,0x69,0x63,0x65,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E +,0x57,0x65,0x69,0x67,0x68,0x74,0x65,0x64,0x20,0x43,0x6C,0x6F,0x73,0x65,0x20,0x50,0x72,0x69,0x63,0x65 +,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x50,0x72,0x69,0x63,0x65,0x20,0x54,0x72,0x61 +,0x6E,0x73,0x66,0x6F,0x72,0x6D,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C +,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4F,0x76,0x65,0x72 +,0x6C,0x61,0x70,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73 +,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65 +,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64 +,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70 +,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09 +,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75 +,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75 +,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54 +,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79 +,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61 +,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C +,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09 +,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E +,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x57,0x49,0x4C,0x4C,0x52,0x20,0x2D,0x2D,0x3E,0x0A,0x09 +,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A +,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x57,0x49,0x4C,0x4C +,0x52,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C +,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x57,0x69,0x6C,0x6C,0x52,0x3C +,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x3C,0x53 +,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x57,0x69,0x6C,0x6C +,0x69,0x61,0x6D,0x73,0x26,0x61,0x70,0x6F,0x73,0x3B,0x20,0x25,0x52,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74 +,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75 +,0x70,0x49,0x64,0x3E,0x4D,0x6F,0x6D,0x65,0x6E,0x74,0x75,0x6D,0x20,0x49,0x6E,0x64,0x69,0x63,0x61,0x74 +,0x6F,0x72,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E +,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x48,0x69 +,0x67,0x68,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x48,0x69,0x67,0x68,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67 +,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x4C,0x6F,0x77 +,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x4C,0x6F +,0x77,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72 +,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x43,0x6C,0x6F,0x73,0x65,0x3C +,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x43,0x6C,0x6F +,0x73,0x65,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69 +,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09 +,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x70,0x74 +,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50,0x65,0x72,0x69,0x6F +,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44 +,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66 +,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69 +,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x49,0x6E,0x74 +,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x52,0x61,0x6E +,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x32,0x3C +,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x61,0x78,0x69 +,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E +,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53,0x74,0x61,0x72 +,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x53 +,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65 +,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74 +,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F +,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x44,0x65 +,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x31,0x34,0x3C,0x2F,0x44,0x65,0x66,0x61,0x75 +,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E +,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C +,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D +,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C +,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C +,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C +,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69 +,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20 +,0x57,0x4D,0x41,0x20,0x2D,0x2D,0x3E,0x0A,0x09,0x3C,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46 +,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61 +,0x74,0x69,0x6F,0x6E,0x3E,0x57,0x4D,0x41,0x3C,0x2F,0x41,0x62,0x62,0x72,0x65,0x76,0x69,0x61,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65 +,0x3E,0x57,0x6D,0x61,0x3C,0x2F,0x43,0x61,0x6D,0x65,0x6C,0x43,0x61,0x73,0x65,0x4E,0x61,0x6D,0x65,0x3E +,0x0A,0x09,0x09,0x3C,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E +,0x3E,0x57,0x65,0x69,0x67,0x68,0x74,0x65,0x64,0x20,0x4D,0x6F,0x76,0x69,0x6E,0x67,0x20,0x41,0x76,0x65 +,0x72,0x61,0x67,0x65,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69 +,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x3C,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E,0x4F,0x76,0x65,0x72,0x6C +,0x61,0x70,0x20,0x53,0x74,0x75,0x64,0x69,0x65,0x73,0x3C,0x2F,0x47,0x72,0x6F,0x75,0x70,0x49,0x64,0x3E +,0x0A,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E +,0x4F,0x76,0x65,0x72,0x6C,0x61,0x70,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x46 +,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70 +,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x52,0x65,0x71 +,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A +,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72 +,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E +,0x69,0x6E,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x52 +,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74 +,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x52,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x49,0x6E,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61 +,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09 +,0x3C,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x54,0x69,0x6D,0x65,0x20,0x50 +,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x4E,0x61,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x53,0x68 +,0x6F,0x72,0x74,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x4E,0x75,0x6D,0x62,0x65 +,0x72,0x20,0x6F,0x66,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x3C,0x2F,0x53,0x68,0x6F,0x72,0x74,0x44,0x65 +,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65 +,0x3E,0x49,0x6E,0x74,0x65,0x67,0x65,0x72,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x3C,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x4D,0x69,0x6E,0x69,0x6D,0x75 +,0x6D,0x3E,0x32,0x3C,0x2F,0x4D,0x69,0x6E,0x69,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C +,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x4D,0x61,0x78,0x69 +,0x6D,0x75,0x6D,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64 +,0x53,0x74,0x61,0x72,0x74,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73 +,0x74,0x65,0x64,0x53,0x74,0x61,0x72,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67,0x67 +,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x31,0x30,0x30,0x30,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x45,0x6E,0x64,0x3E,0x0A,0x09,0x09,0x09,0x09,0x09,0x3C,0x53,0x75,0x67 +,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65,0x6E,0x74,0x3E,0x31,0x30,0x30,0x30 +,0x30,0x30,0x3C,0x2F,0x53,0x75,0x67,0x67,0x65,0x73,0x74,0x65,0x64,0x49,0x6E,0x63,0x72,0x65,0x6D,0x65 +,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x2F,0x52,0x61,0x6E,0x67,0x65,0x3E,0x0A,0x09,0x09,0x09 +,0x09,0x3C,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x33,0x30,0x3C,0x2F,0x44 +,0x65,0x66,0x61,0x75,0x6C,0x74,0x56,0x61,0x6C,0x75,0x65,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x70 +,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E +,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x49,0x6E,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41,0x72 +,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x4F,0x75,0x74,0x70,0x75,0x74,0x41 +,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x54,0x79,0x70,0x65,0x3E,0x44 +,0x6F,0x75,0x62,0x6C,0x65,0x20,0x41,0x72,0x72,0x61,0x79,0x3C,0x2F,0x54,0x79,0x70,0x65,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x4E,0x61,0x6D,0x65,0x3E,0x6F,0x75,0x74,0x52,0x65,0x61,0x6C,0x3C,0x2F,0x4E,0x61 +,0x6D,0x65,0x3E,0x0A,0x09,0x09,0x09,0x09,0x3C,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x09 +,0x09,0x3C,0x46,0x6C,0x61,0x67,0x3E,0x4C,0x69,0x6E,0x65,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x3E,0x0A,0x09 +,0x09,0x09,0x09,0x3C,0x2F,0x46,0x6C,0x61,0x67,0x73,0x3E,0x0A,0x09,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x3E,0x0A,0x09,0x09,0x3C,0x2F,0x4F,0x75,0x74 +,0x70,0x75,0x74,0x41,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x3E,0x0A,0x09,0x3C,0x2F,0x46,0x69,0x6E +,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3E,0x0A,0x0A,0x0A,0x3C,0x2F +,0x46,0x69,0x6E,0x61,0x6E,0x63,0x69,0x61,0x6C,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x73,0x3E,0x0A +}; + +const char *TA_FunctionDescriptionXML() +{ + return TA_FunctionDescriptionXMLArray; +} + +/***************/ +/* End of File */ +/***************/ diff --git a/vendor/ta-lib/src/ta_abstract/ta_group_idx.c b/vendor/ta-lib/src/ta_abstract/ta_group_idx.c new file mode 100644 index 000000000..d974c6d61 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/ta_group_idx.c @@ -0,0 +1,447 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* Important: This file is automatically generated by gen_code. + * Any modification will be lost on next execution + * of gen_code. + * + * The goal of this file is to build the following global + * constant: + * TA_PerGroupFuncDef + * TA_PerGroupSize + * TA_TotalNbFunction + * + * These constant allows mainly to speed optimize functionality related to + * sequential access to TA_DefFunc by TA_GroupId (see ta_abstract.c) + */ +#include +#include "ta_def_ui.h" +#include "ta_abstract.h" + +extern const TA_FuncDef TA_DEF_ACOS; +extern const TA_FuncDef TA_DEF_AD; +extern const TA_FuncDef TA_DEF_ADD; +extern const TA_FuncDef TA_DEF_ADOSC; +extern const TA_FuncDef TA_DEF_ADX; +extern const TA_FuncDef TA_DEF_ADXR; +extern const TA_FuncDef TA_DEF_APO; +extern const TA_FuncDef TA_DEF_AROON; +extern const TA_FuncDef TA_DEF_AROONOSC; +extern const TA_FuncDef TA_DEF_ASIN; +extern const TA_FuncDef TA_DEF_ATAN; +extern const TA_FuncDef TA_DEF_ATR; +extern const TA_FuncDef TA_DEF_AVGPRICE; +extern const TA_FuncDef TA_DEF_BBANDS; +extern const TA_FuncDef TA_DEF_BETA; +extern const TA_FuncDef TA_DEF_BOP; +extern const TA_FuncDef TA_DEF_CCI; +extern const TA_FuncDef TA_DEF_CDL2CROWS; +extern const TA_FuncDef TA_DEF_CDL3BLACKCROWS; +extern const TA_FuncDef TA_DEF_CDL3INSIDE; +extern const TA_FuncDef TA_DEF_CDL3LINESTRIKE; +extern const TA_FuncDef TA_DEF_CDL3OUTSIDE; +extern const TA_FuncDef TA_DEF_CDL3STARSINSOUTH; +extern const TA_FuncDef TA_DEF_CDL3WHITESOLDIERS; +extern const TA_FuncDef TA_DEF_CDLABANDONEDBABY; +extern const TA_FuncDef TA_DEF_CDLADVANCEBLOCK; +extern const TA_FuncDef TA_DEF_CDLBELTHOLD; +extern const TA_FuncDef TA_DEF_CDLBREAKAWAY; +extern const TA_FuncDef TA_DEF_CDLCLOSINGMARUBOZU; +extern const TA_FuncDef TA_DEF_CDLCONCEALBABYSWALL; +extern const TA_FuncDef TA_DEF_CDLCOUNTERATTACK; +extern const TA_FuncDef TA_DEF_CDLDARKCLOUDCOVER; +extern const TA_FuncDef TA_DEF_CDLDOJI; +extern const TA_FuncDef TA_DEF_CDLDOJISTAR; +extern const TA_FuncDef TA_DEF_CDLDRAGONFLYDOJI; +extern const TA_FuncDef TA_DEF_CDLENGULFING; +extern const TA_FuncDef TA_DEF_CDLEVENINGDOJISTAR; +extern const TA_FuncDef TA_DEF_CDLEVENINGSTAR; +extern const TA_FuncDef TA_DEF_CDLGAPSIDESIDEWHITE; +extern const TA_FuncDef TA_DEF_CDLGRAVESTONEDOJI; +extern const TA_FuncDef TA_DEF_CDLHAMMER; +extern const TA_FuncDef TA_DEF_CDLHANGINGMAN; +extern const TA_FuncDef TA_DEF_CDLHARAMI; +extern const TA_FuncDef TA_DEF_CDLHARAMICROSS; +extern const TA_FuncDef TA_DEF_CDLHIGHWAVE; +extern const TA_FuncDef TA_DEF_CDLHIKKAKE; +extern const TA_FuncDef TA_DEF_CDLHIKKAKEMOD; +extern const TA_FuncDef TA_DEF_CDLHOMINGPIGEON; +extern const TA_FuncDef TA_DEF_CDLIDENTICAL3CROWS; +extern const TA_FuncDef TA_DEF_CDLINNECK; +extern const TA_FuncDef TA_DEF_CDLINVERTEDHAMMER; +extern const TA_FuncDef TA_DEF_CDLKICKING; +extern const TA_FuncDef TA_DEF_CDLKICKINGBYLENGTH; +extern const TA_FuncDef TA_DEF_CDLLADDERBOTTOM; +extern const TA_FuncDef TA_DEF_CDLLONGLEGGEDDOJI; +extern const TA_FuncDef TA_DEF_CDLLONGLINE; +extern const TA_FuncDef TA_DEF_CDLMARUBOZU; +extern const TA_FuncDef TA_DEF_CDLMATCHINGLOW; +extern const TA_FuncDef TA_DEF_CDLMATHOLD; +extern const TA_FuncDef TA_DEF_CDLMORNINGDOJISTAR; +extern const TA_FuncDef TA_DEF_CDLMORNINGSTAR; +extern const TA_FuncDef TA_DEF_CDLONNECK; +extern const TA_FuncDef TA_DEF_CDLPIERCING; +extern const TA_FuncDef TA_DEF_CDLRICKSHAWMAN; +extern const TA_FuncDef TA_DEF_CDLRISEFALL3METHODS; +extern const TA_FuncDef TA_DEF_CDLSEPARATINGLINES; +extern const TA_FuncDef TA_DEF_CDLSHOOTINGSTAR; +extern const TA_FuncDef TA_DEF_CDLSHORTLINE; +extern const TA_FuncDef TA_DEF_CDLSPINNINGTOP; +extern const TA_FuncDef TA_DEF_CDLSTALLEDPATTERN; +extern const TA_FuncDef TA_DEF_CDLSTICKSANDWICH; +extern const TA_FuncDef TA_DEF_CDLTAKURI; +extern const TA_FuncDef TA_DEF_CDLTASUKIGAP; +extern const TA_FuncDef TA_DEF_CDLTHRUSTING; +extern const TA_FuncDef TA_DEF_CDLTRISTAR; +extern const TA_FuncDef TA_DEF_CDLUNIQUE3RIVER; +extern const TA_FuncDef TA_DEF_CDLUPSIDEGAP2CROWS; +extern const TA_FuncDef TA_DEF_CDLXSIDEGAP3METHODS; +extern const TA_FuncDef TA_DEF_CEIL; +extern const TA_FuncDef TA_DEF_CMO; +extern const TA_FuncDef TA_DEF_CORREL; +extern const TA_FuncDef TA_DEF_COS; +extern const TA_FuncDef TA_DEF_COSH; +extern const TA_FuncDef TA_DEF_DEMA; +extern const TA_FuncDef TA_DEF_DIV; +extern const TA_FuncDef TA_DEF_DX; +extern const TA_FuncDef TA_DEF_EMA; +extern const TA_FuncDef TA_DEF_EXP; +extern const TA_FuncDef TA_DEF_FLOOR; +extern const TA_FuncDef TA_DEF_HT_DCPERIOD; +extern const TA_FuncDef TA_DEF_HT_DCPHASE; +extern const TA_FuncDef TA_DEF_HT_PHASOR; +extern const TA_FuncDef TA_DEF_HT_SINE; +extern const TA_FuncDef TA_DEF_HT_TRENDLINE; +extern const TA_FuncDef TA_DEF_HT_TRENDMODE; +extern const TA_FuncDef TA_DEF_KAMA; +extern const TA_FuncDef TA_DEF_LINEARREG; +extern const TA_FuncDef TA_DEF_LINEARREG_ANGLE; +extern const TA_FuncDef TA_DEF_LINEARREG_INTERCEPT; +extern const TA_FuncDef TA_DEF_LINEARREG_SLOPE; +extern const TA_FuncDef TA_DEF_LN; +extern const TA_FuncDef TA_DEF_LOG10; +extern const TA_FuncDef TA_DEF_MA; +extern const TA_FuncDef TA_DEF_MACD; +extern const TA_FuncDef TA_DEF_MACDEXT; +extern const TA_FuncDef TA_DEF_MACDFIX; +extern const TA_FuncDef TA_DEF_MAMA; +extern const TA_FuncDef TA_DEF_MAVP; +extern const TA_FuncDef TA_DEF_MAX; +extern const TA_FuncDef TA_DEF_MAXINDEX; +extern const TA_FuncDef TA_DEF_MEDPRICE; +extern const TA_FuncDef TA_DEF_MFI; +extern const TA_FuncDef TA_DEF_MIDPOINT; +extern const TA_FuncDef TA_DEF_MIDPRICE; +extern const TA_FuncDef TA_DEF_MIN; +extern const TA_FuncDef TA_DEF_MININDEX; +extern const TA_FuncDef TA_DEF_MINMAX; +extern const TA_FuncDef TA_DEF_MINMAXINDEX; +extern const TA_FuncDef TA_DEF_MINUS_DI; +extern const TA_FuncDef TA_DEF_MINUS_DM; +extern const TA_FuncDef TA_DEF_MOM; +extern const TA_FuncDef TA_DEF_MULT; +extern const TA_FuncDef TA_DEF_NATR; +extern const TA_FuncDef TA_DEF_OBV; +extern const TA_FuncDef TA_DEF_PLUS_DI; +extern const TA_FuncDef TA_DEF_PLUS_DM; +extern const TA_FuncDef TA_DEF_PPO; +extern const TA_FuncDef TA_DEF_ROC; +extern const TA_FuncDef TA_DEF_ROCP; +extern const TA_FuncDef TA_DEF_ROCR; +extern const TA_FuncDef TA_DEF_ROCR100; +extern const TA_FuncDef TA_DEF_RSI; +extern const TA_FuncDef TA_DEF_SAR; +extern const TA_FuncDef TA_DEF_SAREXT; +extern const TA_FuncDef TA_DEF_SIN; +extern const TA_FuncDef TA_DEF_SINH; +extern const TA_FuncDef TA_DEF_SMA; +extern const TA_FuncDef TA_DEF_SQRT; +extern const TA_FuncDef TA_DEF_STDDEV; +extern const TA_FuncDef TA_DEF_STOCH; +extern const TA_FuncDef TA_DEF_STOCHF; +extern const TA_FuncDef TA_DEF_STOCHRSI; +extern const TA_FuncDef TA_DEF_SUB; +extern const TA_FuncDef TA_DEF_SUM; +extern const TA_FuncDef TA_DEF_T3; +extern const TA_FuncDef TA_DEF_TAN; +extern const TA_FuncDef TA_DEF_TANH; +extern const TA_FuncDef TA_DEF_TEMA; +extern const TA_FuncDef TA_DEF_TRANGE; +extern const TA_FuncDef TA_DEF_TRIMA; +extern const TA_FuncDef TA_DEF_TRIX; +extern const TA_FuncDef TA_DEF_TSF; +extern const TA_FuncDef TA_DEF_TYPPRICE; +extern const TA_FuncDef TA_DEF_ULTOSC; +extern const TA_FuncDef TA_DEF_VAR; +extern const TA_FuncDef TA_DEF_WCLPRICE; +extern const TA_FuncDef TA_DEF_WILLR; +extern const TA_FuncDef TA_DEF_WMA; + +const TA_FuncDef *TA_PerGroupFunc_0[] = { +&TA_DEF_ADD, +&TA_DEF_DIV, +&TA_DEF_MAX, +&TA_DEF_MAXINDEX, +&TA_DEF_MIN, +&TA_DEF_MININDEX, +&TA_DEF_MINMAX, +&TA_DEF_MINMAXINDEX, +&TA_DEF_MULT, +&TA_DEF_SUB, +&TA_DEF_SUM, +NULL }; +#define SIZE_GROUP_0 ((sizeof(TA_PerGroupFunc_0)/sizeof(const TA_FuncDef *))-1) + +const TA_FuncDef *TA_PerGroupFunc_1[] = { +&TA_DEF_ACOS, +&TA_DEF_ASIN, +&TA_DEF_ATAN, +&TA_DEF_CEIL, +&TA_DEF_COS, +&TA_DEF_COSH, +&TA_DEF_EXP, +&TA_DEF_FLOOR, +&TA_DEF_LN, +&TA_DEF_LOG10, +&TA_DEF_SIN, +&TA_DEF_SINH, +&TA_DEF_SQRT, +&TA_DEF_TAN, +&TA_DEF_TANH, +NULL }; +#define SIZE_GROUP_1 ((sizeof(TA_PerGroupFunc_1)/sizeof(const TA_FuncDef *))-1) + +const TA_FuncDef *TA_PerGroupFunc_2[] = { +&TA_DEF_BBANDS, +&TA_DEF_DEMA, +&TA_DEF_EMA, +&TA_DEF_HT_TRENDLINE, +&TA_DEF_KAMA, +&TA_DEF_MA, +&TA_DEF_MAMA, +&TA_DEF_MAVP, +&TA_DEF_MIDPOINT, +&TA_DEF_MIDPRICE, +&TA_DEF_SAR, +&TA_DEF_SAREXT, +&TA_DEF_SMA, +&TA_DEF_T3, +&TA_DEF_TEMA, +&TA_DEF_TRIMA, +&TA_DEF_WMA, +NULL }; +#define SIZE_GROUP_2 ((sizeof(TA_PerGroupFunc_2)/sizeof(const TA_FuncDef *))-1) + +const TA_FuncDef *TA_PerGroupFunc_3[] = { +&TA_DEF_ATR, +&TA_DEF_NATR, +&TA_DEF_TRANGE, +NULL }; +#define SIZE_GROUP_3 ((sizeof(TA_PerGroupFunc_3)/sizeof(const TA_FuncDef *))-1) + +const TA_FuncDef *TA_PerGroupFunc_4[] = { +&TA_DEF_ADX, +&TA_DEF_ADXR, +&TA_DEF_APO, +&TA_DEF_AROON, +&TA_DEF_AROONOSC, +&TA_DEF_BOP, +&TA_DEF_CCI, +&TA_DEF_CMO, +&TA_DEF_DX, +&TA_DEF_MACD, +&TA_DEF_MACDEXT, +&TA_DEF_MACDFIX, +&TA_DEF_MFI, +&TA_DEF_MINUS_DI, +&TA_DEF_MINUS_DM, +&TA_DEF_MOM, +&TA_DEF_PLUS_DI, +&TA_DEF_PLUS_DM, +&TA_DEF_PPO, +&TA_DEF_ROC, +&TA_DEF_ROCP, +&TA_DEF_ROCR, +&TA_DEF_ROCR100, +&TA_DEF_RSI, +&TA_DEF_STOCH, +&TA_DEF_STOCHF, +&TA_DEF_STOCHRSI, +&TA_DEF_TRIX, +&TA_DEF_ULTOSC, +&TA_DEF_WILLR, +NULL }; +#define SIZE_GROUP_4 ((sizeof(TA_PerGroupFunc_4)/sizeof(const TA_FuncDef *))-1) + +const TA_FuncDef *TA_PerGroupFunc_5[] = { +&TA_DEF_HT_DCPERIOD, +&TA_DEF_HT_DCPHASE, +&TA_DEF_HT_PHASOR, +&TA_DEF_HT_SINE, +&TA_DEF_HT_TRENDMODE, +NULL }; +#define SIZE_GROUP_5 ((sizeof(TA_PerGroupFunc_5)/sizeof(const TA_FuncDef *))-1) + +const TA_FuncDef *TA_PerGroupFunc_6[] = { +&TA_DEF_AD, +&TA_DEF_ADOSC, +&TA_DEF_OBV, +NULL }; +#define SIZE_GROUP_6 ((sizeof(TA_PerGroupFunc_6)/sizeof(const TA_FuncDef *))-1) + +const TA_FuncDef *TA_PerGroupFunc_7[] = { +&TA_DEF_CDL2CROWS, +&TA_DEF_CDL3BLACKCROWS, +&TA_DEF_CDL3INSIDE, +&TA_DEF_CDL3LINESTRIKE, +&TA_DEF_CDL3OUTSIDE, +&TA_DEF_CDL3STARSINSOUTH, +&TA_DEF_CDL3WHITESOLDIERS, +&TA_DEF_CDLABANDONEDBABY, +&TA_DEF_CDLADVANCEBLOCK, +&TA_DEF_CDLBELTHOLD, +&TA_DEF_CDLBREAKAWAY, +&TA_DEF_CDLCLOSINGMARUBOZU, +&TA_DEF_CDLCONCEALBABYSWALL, +&TA_DEF_CDLCOUNTERATTACK, +&TA_DEF_CDLDARKCLOUDCOVER, +&TA_DEF_CDLDOJI, +&TA_DEF_CDLDOJISTAR, +&TA_DEF_CDLDRAGONFLYDOJI, +&TA_DEF_CDLENGULFING, +&TA_DEF_CDLEVENINGDOJISTAR, +&TA_DEF_CDLEVENINGSTAR, +&TA_DEF_CDLGAPSIDESIDEWHITE, +&TA_DEF_CDLGRAVESTONEDOJI, +&TA_DEF_CDLHAMMER, +&TA_DEF_CDLHANGINGMAN, +&TA_DEF_CDLHARAMI, +&TA_DEF_CDLHARAMICROSS, +&TA_DEF_CDLHIGHWAVE, +&TA_DEF_CDLHIKKAKE, +&TA_DEF_CDLHIKKAKEMOD, +&TA_DEF_CDLHOMINGPIGEON, +&TA_DEF_CDLIDENTICAL3CROWS, +&TA_DEF_CDLINNECK, +&TA_DEF_CDLINVERTEDHAMMER, +&TA_DEF_CDLKICKING, +&TA_DEF_CDLKICKINGBYLENGTH, +&TA_DEF_CDLLADDERBOTTOM, +&TA_DEF_CDLLONGLEGGEDDOJI, +&TA_DEF_CDLLONGLINE, +&TA_DEF_CDLMARUBOZU, +&TA_DEF_CDLMATCHINGLOW, +&TA_DEF_CDLMATHOLD, +&TA_DEF_CDLMORNINGDOJISTAR, +&TA_DEF_CDLMORNINGSTAR, +&TA_DEF_CDLONNECK, +&TA_DEF_CDLPIERCING, +&TA_DEF_CDLRICKSHAWMAN, +&TA_DEF_CDLRISEFALL3METHODS, +&TA_DEF_CDLSEPARATINGLINES, +&TA_DEF_CDLSHOOTINGSTAR, +&TA_DEF_CDLSHORTLINE, +&TA_DEF_CDLSPINNINGTOP, +&TA_DEF_CDLSTALLEDPATTERN, +&TA_DEF_CDLSTICKSANDWICH, +&TA_DEF_CDLTAKURI, +&TA_DEF_CDLTASUKIGAP, +&TA_DEF_CDLTHRUSTING, +&TA_DEF_CDLTRISTAR, +&TA_DEF_CDLUNIQUE3RIVER, +&TA_DEF_CDLUPSIDEGAP2CROWS, +&TA_DEF_CDLXSIDEGAP3METHODS, +NULL }; +#define SIZE_GROUP_7 ((sizeof(TA_PerGroupFunc_7)/sizeof(const TA_FuncDef *))-1) + +const TA_FuncDef *TA_PerGroupFunc_8[] = { +&TA_DEF_BETA, +&TA_DEF_CORREL, +&TA_DEF_LINEARREG, +&TA_DEF_LINEARREG_ANGLE, +&TA_DEF_LINEARREG_INTERCEPT, +&TA_DEF_LINEARREG_SLOPE, +&TA_DEF_STDDEV, +&TA_DEF_TSF, +&TA_DEF_VAR, +NULL }; +#define SIZE_GROUP_8 ((sizeof(TA_PerGroupFunc_8)/sizeof(const TA_FuncDef *))-1) + +const TA_FuncDef *TA_PerGroupFunc_9[] = { +&TA_DEF_AVGPRICE, +&TA_DEF_MEDPRICE, +&TA_DEF_TYPPRICE, +&TA_DEF_WCLPRICE, +NULL }; +#define SIZE_GROUP_9 ((sizeof(TA_PerGroupFunc_9)/sizeof(const TA_FuncDef *))-1) +/* Generated */ const TA_FuncDef **TA_PerGroupFuncDef[10] = { +&TA_PerGroupFunc_0[0], +&TA_PerGroupFunc_1[0], +&TA_PerGroupFunc_2[0], +&TA_PerGroupFunc_3[0], +&TA_PerGroupFunc_4[0], +&TA_PerGroupFunc_5[0], +&TA_PerGroupFunc_6[0], +&TA_PerGroupFunc_7[0], +&TA_PerGroupFunc_8[0], +&TA_PerGroupFunc_9[0] +/* Generated */ }; + +/* Generated */ const unsigned int TA_PerGroupSize[10] = { +SIZE_GROUP_0, +SIZE_GROUP_1, +SIZE_GROUP_2, +SIZE_GROUP_3, +SIZE_GROUP_4, +SIZE_GROUP_5, +SIZE_GROUP_6, +SIZE_GROUP_7, +SIZE_GROUP_8, +SIZE_GROUP_9 +/* Generated */ }; + +/* Generated */ const unsigned int TA_TotalNbFunction = +SIZE_GROUP_0+ +SIZE_GROUP_1+ +SIZE_GROUP_2+ +SIZE_GROUP_3+ +SIZE_GROUP_4+ +SIZE_GROUP_5+ +SIZE_GROUP_6+ +SIZE_GROUP_7+ +SIZE_GROUP_8+ +SIZE_GROUP_9; + +/***************/ +/* End of File */ +/***************/ diff --git a/vendor/ta-lib/src/ta_abstract/ta_java_defs.h b/vendor/ta-lib/src/ta_abstract/ta_java_defs.h new file mode 100644 index 000000000..489a20b76 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/ta_java_defs.h @@ -0,0 +1,360 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* DO NOT MODIFY this file. + * This file is automatically generated by gen_code. + * + * If you are not re-generating the java code (which is most + * likely the case), just ignore this file. + */ + +#define TA_ACOS_Lookback acosLookback +#define TA_ACOS acos +#define TA_AD_Lookback adLookback +#define TA_AD ad +#define TA_ADD_Lookback addLookback +#define TA_ADD add +#define TA_ADOSC_Lookback adOscLookback +#define TA_ADOSC adOsc +#define TA_ADX_Lookback adxLookback +#define TA_ADX adx +#define TA_ADXR_Lookback adxrLookback +#define TA_ADXR adxr +#define TA_APO_Lookback apoLookback +#define TA_APO apo +#define TA_AROON_Lookback aroonLookback +#define TA_AROON aroon +#define TA_AROONOSC_Lookback aroonOscLookback +#define TA_AROONOSC aroonOsc +#define TA_ASIN_Lookback asinLookback +#define TA_ASIN asin +#define TA_ATAN_Lookback atanLookback +#define TA_ATAN atan +#define TA_ATR_Lookback atrLookback +#define TA_ATR atr +#define TA_AVGPRICE_Lookback avgPriceLookback +#define TA_AVGPRICE avgPrice +#define TA_BBANDS_Lookback bbandsLookback +#define TA_BBANDS bbands +#define TA_BETA_Lookback betaLookback +#define TA_BETA beta +#define TA_BOP_Lookback bopLookback +#define TA_BOP bop +#define TA_CCI_Lookback cciLookback +#define TA_CCI cci +#define TA_CDL2CROWS_Lookback cdl2CrowsLookback +#define TA_CDL2CROWS cdl2Crows +#define TA_CDL3BLACKCROWS_Lookback cdl3BlackCrowsLookback +#define TA_CDL3BLACKCROWS cdl3BlackCrows +#define TA_CDL3INSIDE_Lookback cdl3InsideLookback +#define TA_CDL3INSIDE cdl3Inside +#define TA_CDL3LINESTRIKE_Lookback cdl3LineStrikeLookback +#define TA_CDL3LINESTRIKE cdl3LineStrike +#define TA_CDL3OUTSIDE_Lookback cdl3OutsideLookback +#define TA_CDL3OUTSIDE cdl3Outside +#define TA_CDL3STARSINSOUTH_Lookback cdl3StarsInSouthLookback +#define TA_CDL3STARSINSOUTH cdl3StarsInSouth +#define TA_CDL3WHITESOLDIERS_Lookback cdl3WhiteSoldiersLookback +#define TA_CDL3WHITESOLDIERS cdl3WhiteSoldiers +#define TA_CDLABANDONEDBABY_Lookback cdlAbandonedBabyLookback +#define TA_CDLABANDONEDBABY cdlAbandonedBaby +#define TA_CDLADVANCEBLOCK_Lookback cdlAdvanceBlockLookback +#define TA_CDLADVANCEBLOCK cdlAdvanceBlock +#define TA_CDLBELTHOLD_Lookback cdlBeltHoldLookback +#define TA_CDLBELTHOLD cdlBeltHold +#define TA_CDLBREAKAWAY_Lookback cdlBreakawayLookback +#define TA_CDLBREAKAWAY cdlBreakaway +#define TA_CDLCLOSINGMARUBOZU_Lookback cdlClosingMarubozuLookback +#define TA_CDLCLOSINGMARUBOZU cdlClosingMarubozu +#define TA_CDLCONCEALBABYSWALL_Lookback cdlConcealBabysWallLookback +#define TA_CDLCONCEALBABYSWALL cdlConcealBabysWall +#define TA_CDLCOUNTERATTACK_Lookback cdlCounterAttackLookback +#define TA_CDLCOUNTERATTACK cdlCounterAttack +#define TA_CDLDARKCLOUDCOVER_Lookback cdlDarkCloudCoverLookback +#define TA_CDLDARKCLOUDCOVER cdlDarkCloudCover +#define TA_CDLDOJI_Lookback cdlDojiLookback +#define TA_CDLDOJI cdlDoji +#define TA_CDLDOJISTAR_Lookback cdlDojiStarLookback +#define TA_CDLDOJISTAR cdlDojiStar +#define TA_CDLDRAGONFLYDOJI_Lookback cdlDragonflyDojiLookback +#define TA_CDLDRAGONFLYDOJI cdlDragonflyDoji +#define TA_CDLENGULFING_Lookback cdlEngulfingLookback +#define TA_CDLENGULFING cdlEngulfing +#define TA_CDLEVENINGDOJISTAR_Lookback cdlEveningDojiStarLookback +#define TA_CDLEVENINGDOJISTAR cdlEveningDojiStar +#define TA_CDLEVENINGSTAR_Lookback cdlEveningStarLookback +#define TA_CDLEVENINGSTAR cdlEveningStar +#define TA_CDLGAPSIDESIDEWHITE_Lookback cdlGapSideSideWhiteLookback +#define TA_CDLGAPSIDESIDEWHITE cdlGapSideSideWhite +#define TA_CDLGRAVESTONEDOJI_Lookback cdlGravestoneDojiLookback +#define TA_CDLGRAVESTONEDOJI cdlGravestoneDoji +#define TA_CDLHAMMER_Lookback cdlHammerLookback +#define TA_CDLHAMMER cdlHammer +#define TA_CDLHANGINGMAN_Lookback cdlHangingManLookback +#define TA_CDLHANGINGMAN cdlHangingMan +#define TA_CDLHARAMI_Lookback cdlHaramiLookback +#define TA_CDLHARAMI cdlHarami +#define TA_CDLHARAMICROSS_Lookback cdlHaramiCrossLookback +#define TA_CDLHARAMICROSS cdlHaramiCross +#define TA_CDLHIGHWAVE_Lookback cdlHignWaveLookback +#define TA_CDLHIGHWAVE cdlHignWave +#define TA_CDLHIKKAKE_Lookback cdlHikkakeLookback +#define TA_CDLHIKKAKE cdlHikkake +#define TA_CDLHIKKAKEMOD_Lookback cdlHikkakeModLookback +#define TA_CDLHIKKAKEMOD cdlHikkakeMod +#define TA_CDLHOMINGPIGEON_Lookback cdlHomingPigeonLookback +#define TA_CDLHOMINGPIGEON cdlHomingPigeon +#define TA_CDLIDENTICAL3CROWS_Lookback cdlIdentical3CrowsLookback +#define TA_CDLIDENTICAL3CROWS cdlIdentical3Crows +#define TA_CDLINNECK_Lookback cdlInNeckLookback +#define TA_CDLINNECK cdlInNeck +#define TA_CDLINVERTEDHAMMER_Lookback cdlInvertedHammerLookback +#define TA_CDLINVERTEDHAMMER cdlInvertedHammer +#define TA_CDLKICKING_Lookback cdlKickingLookback +#define TA_CDLKICKING cdlKicking +#define TA_CDLKICKINGBYLENGTH_Lookback cdlKickingByLengthLookback +#define TA_CDLKICKINGBYLENGTH cdlKickingByLength +#define TA_CDLLADDERBOTTOM_Lookback cdlLadderBottomLookback +#define TA_CDLLADDERBOTTOM cdlLadderBottom +#define TA_CDLLONGLEGGEDDOJI_Lookback cdlLongLeggedDojiLookback +#define TA_CDLLONGLEGGEDDOJI cdlLongLeggedDoji +#define TA_CDLLONGLINE_Lookback cdlLongLineLookback +#define TA_CDLLONGLINE cdlLongLine +#define TA_CDLMARUBOZU_Lookback cdlMarubozuLookback +#define TA_CDLMARUBOZU cdlMarubozu +#define TA_CDLMATCHINGLOW_Lookback cdlMatchingLowLookback +#define TA_CDLMATCHINGLOW cdlMatchingLow +#define TA_CDLMATHOLD_Lookback cdlMatHoldLookback +#define TA_CDLMATHOLD cdlMatHold +#define TA_CDLMORNINGDOJISTAR_Lookback cdlMorningDojiStarLookback +#define TA_CDLMORNINGDOJISTAR cdlMorningDojiStar +#define TA_CDLMORNINGSTAR_Lookback cdlMorningStarLookback +#define TA_CDLMORNINGSTAR cdlMorningStar +#define TA_CDLONNECK_Lookback cdlOnNeckLookback +#define TA_CDLONNECK cdlOnNeck +#define TA_CDLPIERCING_Lookback cdlPiercingLookback +#define TA_CDLPIERCING cdlPiercing +#define TA_CDLRICKSHAWMAN_Lookback cdlRickshawManLookback +#define TA_CDLRICKSHAWMAN cdlRickshawMan +#define TA_CDLRISEFALL3METHODS_Lookback cdlRiseFall3MethodsLookback +#define TA_CDLRISEFALL3METHODS cdlRiseFall3Methods +#define TA_CDLSEPARATINGLINES_Lookback cdlSeperatingLinesLookback +#define TA_CDLSEPARATINGLINES cdlSeperatingLines +#define TA_CDLSHOOTINGSTAR_Lookback cdlShootingStarLookback +#define TA_CDLSHOOTINGSTAR cdlShootingStar +#define TA_CDLSHORTLINE_Lookback cdlShortLineLookback +#define TA_CDLSHORTLINE cdlShortLine +#define TA_CDLSPINNINGTOP_Lookback cdlSpinningTopLookback +#define TA_CDLSPINNINGTOP cdlSpinningTop +#define TA_CDLSTALLEDPATTERN_Lookback cdlStalledPatternLookback +#define TA_CDLSTALLEDPATTERN cdlStalledPattern +#define TA_CDLSTICKSANDWICH_Lookback cdlStickSandwhichLookback +#define TA_CDLSTICKSANDWICH cdlStickSandwhich +#define TA_CDLTAKURI_Lookback cdlTakuriLookback +#define TA_CDLTAKURI cdlTakuri +#define TA_CDLTASUKIGAP_Lookback cdlTasukiGapLookback +#define TA_CDLTASUKIGAP cdlTasukiGap +#define TA_CDLTHRUSTING_Lookback cdlThrustingLookback +#define TA_CDLTHRUSTING cdlThrusting +#define TA_CDLTRISTAR_Lookback cdlTristarLookback +#define TA_CDLTRISTAR cdlTristar +#define TA_CDLUNIQUE3RIVER_Lookback cdlUnique3RiverLookback +#define TA_CDLUNIQUE3RIVER cdlUnique3River +#define TA_CDLUPSIDEGAP2CROWS_Lookback cdlUpsideGap2CrowsLookback +#define TA_CDLUPSIDEGAP2CROWS cdlUpsideGap2Crows +#define TA_CDLXSIDEGAP3METHODS_Lookback cdlXSideGap3MethodsLookback +#define TA_CDLXSIDEGAP3METHODS cdlXSideGap3Methods +#define TA_CEIL_Lookback ceilLookback +#define TA_CEIL ceil +#define TA_CMO_Lookback cmoLookback +#define TA_CMO cmo +#define TA_CORREL_Lookback correlLookback +#define TA_CORREL correl +#define TA_COS_Lookback cosLookback +#define TA_COS cos +#define TA_COSH_Lookback coshLookback +#define TA_COSH cosh +#define TA_DEMA_Lookback demaLookback +#define TA_DEMA dema +#define TA_DIV_Lookback divLookback +#define TA_DIV div +#define TA_DX_Lookback dxLookback +#define TA_DX dx +#define TA_EMA_Lookback emaLookback +#define TA_EMA ema +#define TA_EXP_Lookback expLookback +#define TA_EXP exp +#define TA_FLOOR_Lookback floorLookback +#define TA_FLOOR floor +#define TA_HT_DCPERIOD_Lookback htDcPeriodLookback +#define TA_HT_DCPERIOD htDcPeriod +#define TA_HT_DCPHASE_Lookback htDcPhaseLookback +#define TA_HT_DCPHASE htDcPhase +#define TA_HT_PHASOR_Lookback htPhasorLookback +#define TA_HT_PHASOR htPhasor +#define TA_HT_SINE_Lookback htSineLookback +#define TA_HT_SINE htSine +#define TA_HT_TRENDLINE_Lookback htTrendlineLookback +#define TA_HT_TRENDLINE htTrendline +#define TA_HT_TRENDMODE_Lookback htTrendModeLookback +#define TA_HT_TRENDMODE htTrendMode +#define TA_KAMA_Lookback kamaLookback +#define TA_KAMA kama +#define TA_LINEARREG_Lookback linearRegLookback +#define TA_LINEARREG linearReg +#define TA_LINEARREG_ANGLE_Lookback linearRegAngleLookback +#define TA_LINEARREG_ANGLE linearRegAngle +#define TA_LINEARREG_INTERCEPT_Lookback linearRegInterceptLookback +#define TA_LINEARREG_INTERCEPT linearRegIntercept +#define TA_LINEARREG_SLOPE_Lookback linearRegSlopeLookback +#define TA_LINEARREG_SLOPE linearRegSlope +#define TA_LN_Lookback lnLookback +#define TA_LN ln +#define TA_LOG10_Lookback log10Lookback +#define TA_LOG10 log10 +#define TA_MA_Lookback movingAverageLookback +#define TA_MA movingAverage +#define TA_MACD_Lookback macdLookback +#define TA_MACD macd +#define TA_MACDEXT_Lookback macdExtLookback +#define TA_MACDEXT macdExt +#define TA_MACDFIX_Lookback macdFixLookback +#define TA_MACDFIX macdFix +#define TA_MAMA_Lookback mamaLookback +#define TA_MAMA mama +#define TA_MAVP_Lookback movingAverageVariablePeriodLookback +#define TA_MAVP movingAverageVariablePeriod +#define TA_MAX_Lookback maxLookback +#define TA_MAX max +#define TA_MAXINDEX_Lookback maxIndexLookback +#define TA_MAXINDEX maxIndex +#define TA_MEDPRICE_Lookback medPriceLookback +#define TA_MEDPRICE medPrice +#define TA_MFI_Lookback mfiLookback +#define TA_MFI mfi +#define TA_MIDPOINT_Lookback midPointLookback +#define TA_MIDPOINT midPoint +#define TA_MIDPRICE_Lookback midPriceLookback +#define TA_MIDPRICE midPrice +#define TA_MIN_Lookback minLookback +#define TA_MIN min +#define TA_MININDEX_Lookback minIndexLookback +#define TA_MININDEX minIndex +#define TA_MINMAX_Lookback minMaxLookback +#define TA_MINMAX minMax +#define TA_MINMAXINDEX_Lookback minMaxIndexLookback +#define TA_MINMAXINDEX minMaxIndex +#define TA_MINUS_DI_Lookback minusDILookback +#define TA_MINUS_DI minusDI +#define TA_MINUS_DM_Lookback minusDMLookback +#define TA_MINUS_DM minusDM +#define TA_MOM_Lookback momLookback +#define TA_MOM mom +#define TA_MULT_Lookback multLookback +#define TA_MULT mult +#define TA_NATR_Lookback natrLookback +#define TA_NATR natr +#define TA_OBV_Lookback obvLookback +#define TA_OBV obv +#define TA_PLUS_DI_Lookback plusDILookback +#define TA_PLUS_DI plusDI +#define TA_PLUS_DM_Lookback plusDMLookback +#define TA_PLUS_DM plusDM +#define TA_PPO_Lookback ppoLookback +#define TA_PPO ppo +#define TA_ROC_Lookback rocLookback +#define TA_ROC roc +#define TA_ROCP_Lookback rocPLookback +#define TA_ROCP rocP +#define TA_ROCR_Lookback rocRLookback +#define TA_ROCR rocR +#define TA_ROCR100_Lookback rocR100Lookback +#define TA_ROCR100 rocR100 +#define TA_RSI_Lookback rsiLookback +#define TA_RSI rsi +#define TA_SAR_Lookback sarLookback +#define TA_SAR sar +#define TA_SAREXT_Lookback sarExtLookback +#define TA_SAREXT sarExt +#define TA_SIN_Lookback sinLookback +#define TA_SIN sin +#define TA_SINH_Lookback sinhLookback +#define TA_SINH sinh +#define TA_SMA_Lookback smaLookback +#define TA_SMA sma +#define TA_SQRT_Lookback sqrtLookback +#define TA_SQRT sqrt +#define TA_STDDEV_Lookback stdDevLookback +#define TA_STDDEV stdDev +#define TA_STOCH_Lookback stochLookback +#define TA_STOCH stoch +#define TA_STOCHF_Lookback stochFLookback +#define TA_STOCHF stochF +#define TA_STOCHRSI_Lookback stochRsiLookback +#define TA_STOCHRSI stochRsi +#define TA_SUB_Lookback subLookback +#define TA_SUB sub +#define TA_SUM_Lookback sumLookback +#define TA_SUM sum +#define TA_T3_Lookback t3Lookback +#define TA_T3 t3 +#define TA_TAN_Lookback tanLookback +#define TA_TAN tan +#define TA_TANH_Lookback tanhLookback +#define TA_TANH tanh +#define TA_TEMA_Lookback temaLookback +#define TA_TEMA tema +#define TA_TRANGE_Lookback trueRangeLookback +#define TA_TRANGE trueRange +#define TA_TRIMA_Lookback trimaLookback +#define TA_TRIMA trima +#define TA_TRIX_Lookback trixLookback +#define TA_TRIX trix +#define TA_TSF_Lookback tsfLookback +#define TA_TSF tsf +#define TA_TYPPRICE_Lookback typPriceLookback +#define TA_TYPPRICE typPrice +#define TA_ULTOSC_Lookback ultOscLookback +#define TA_ULTOSC ultOsc +#define TA_VAR_Lookback varianceLookback +#define TA_VAR variance +#define TA_WCLPRICE_Lookback wclPriceLookback +#define TA_WCLPRICE wclPrice +#define TA_WILLR_Lookback willRLookback +#define TA_WILLR willR +#define TA_WMA_Lookback wmaLookback +#define TA_WMA wma + +/*************** + * End of File * + ***************/ diff --git a/vendor/ta-lib/src/ta_abstract/tables/table_a.c b/vendor/ta-lib/src/ta_abstract/tables/table_a.c new file mode 100644 index 000000000..f830a6daf --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/tables/table_a.c @@ -0,0 +1,373 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/********************************************************************* + * This file contains only TA functions starting with the letter 'A' * + *********************************************************************/ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +/* Follow the 3 steps defined below for adding a new TA Function to this + * file. + */ + +/**************************************************************************** + * Step 1 - Define here the interface to your TA functions with + * the macro DEF_FUNCTION. + * + ****************************************************************************/ + +/* ACOS BEGIN */ +DEF_MATH_UNARY_OPERATOR( ACOS, "Vector Trigonometric ACos", "Acos" ) +/* ACOS END */ + +/* AD BEGIN */ +static const TA_InputParameterInfo *TA_AD_Inputs[] = +{ + &TA_DEF_UI_Input_Price_HLCV, + NULL +}; + +static const TA_OutputParameterInfo *TA_AD_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_AD_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( AD, /* name */ + TA_GroupId_VolumeIndicators, /* groupId */ + "Chaikin A/D Line", /* hint */ + "Ad", /* CamelCase name */ + 0 /* flags */ + ); +/* AD END */ + +/* ADD BEGIN */ +DEF_MATH_BINARY_OPERATOR( ADD, "Vector Arithmetic Add", "Add" ) +/* ADD END */ + +/* ADOSC BEGIN */ +static const TA_OptInputParameterInfo TA_DEF_UI_FastADOSC_Period = +{ + TA_OptInput_IntegerRange, /* type */ + "optInFastPeriod", /* paramName */ + 0, /* flags */ + + "Fast Period", /* displayName */ + (const void *)&TA_DEF_TimePeriod_Positive_Minimum2, /* dataSet */ + 3, /* defaultValue */ + "Number of period for the fast MA", /* hint */ + + NULL /* CamelCase name */ +}; + +static const TA_OptInputParameterInfo TA_DEF_UI_SlowADOSC_Period = +{ + TA_OptInput_IntegerRange, /* type */ + "optInSlowPeriod", /* paramName */ + 0, /* flags */ + + "Slow Period", /* displayName */ + (const void *)&TA_DEF_TimePeriod_Positive_Minimum2, /* dataSet */ + 10, /* defaultValue */ + "Number of period for the slow MA", /* hint */ + + NULL /* CamelCase name */ +}; + +static const TA_InputParameterInfo *TA_ADOSC_Inputs[] = +{ + &TA_DEF_UI_Input_Price_HLCV, + NULL +}; + +static const TA_OutputParameterInfo *TA_ADOSC_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_ADOSC_OptInputs[] = +{ + &TA_DEF_UI_FastADOSC_Period, + &TA_DEF_UI_SlowADOSC_Period, + NULL +}; + +DEF_FUNCTION( ADOSC, /* name */ + TA_GroupId_VolumeIndicators, /* groupId */ + "Chaikin A/D Oscillator", /* hint */ + "AdOsc", /* CamelCase name */ + 0 /* flags */ + ); +/* ADOSC END */ + +/* ADX BEGIN */ +static const TA_InputParameterInfo *TA_ADX_Inputs[] = +{ + &TA_DEF_UI_Input_Price_HLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_ADX_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_ADX_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_14_MINIMUM2, + NULL +}; + +DEF_FUNCTION( ADX, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Average Directional Movement Index", /* hint */ + "Adx", /* CamelCase name */ + TA_FUNC_FLG_UNST_PER /* flags */ + ); +/* ADX END */ + +/* ADXR BEGIN */ +static const TA_InputParameterInfo *TA_ADXR_Inputs[] = +{ + &TA_DEF_UI_Input_Price_HLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_ADXR_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_ADXR_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_14_MINIMUM2, + NULL +}; + +DEF_FUNCTION( ADXR, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Average Directional Movement Index Rating", /* hint */ + "Adxr", /* CamelCase name */ + TA_FUNC_FLG_UNST_PER /* flags */ + ); +/* ADXR END */ + +/* APO BEGIN */ +static const TA_InputParameterInfo *TA_APO_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_APO_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_APO_OptInputs[] = +{ &TA_DEF_UI_Fast_Period, + &TA_DEF_UI_Slow_Period, + &TA_DEF_UI_MA_Method, + NULL +}; + +DEF_FUNCTION( APO, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Absolute Price Oscillator", /* hint */ + "Apo", /* CamelCase name */ + 0 /* flags */ + ); +/* APO END */ + +/* AROON BEGIN */ +const TA_OutputParameterInfo TA_DEF_UI_Output_Real_AroonUp = + { TA_Output_Real, "outAroonDown", TA_OUT_DASH_LINE }; + +const TA_OutputParameterInfo TA_DEF_UI_Output_Real_AroonDown = + { TA_Output_Real, "outAroonUp", TA_OUT_LINE }; + +static const TA_InputParameterInfo *TA_AROON_Inputs[] = +{ + &TA_DEF_UI_Input_Price_HL, + NULL +}; + +static const TA_OutputParameterInfo *TA_AROON_Outputs[] = +{ + &TA_DEF_UI_Output_Real_AroonUp, + &TA_DEF_UI_Output_Real_AroonDown, + NULL +}; + +static const TA_OptInputParameterInfo *TA_AROON_OptInputs[] = +{ + &TA_DEF_UI_TimePeriod_14_MINIMUM2, + NULL +}; + +DEF_FUNCTION( AROON, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Aroon", /* hint */ + "Aroon", /* CamelCase name */ + 0 /* flags */ + ); + +/* AROON END */ + +/* AROONOSC BEGIN */ +static const TA_InputParameterInfo *TA_AROONOSC_Inputs[] = +{ + &TA_DEF_UI_Input_Price_HL, + NULL +}; + +static const TA_OutputParameterInfo *TA_AROONOSC_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_AROONOSC_OptInputs[] = +{ + &TA_DEF_UI_TimePeriod_14_MINIMUM2, + NULL +}; + +DEF_FUNCTION( AROONOSC, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Aroon Oscillator", /* hint */ + "AroonOsc", /* CamelCase name */ + 0 /* flags */ + ); + +/* AROONOSC END */ + +/* ASIN BEGIN */ +DEF_MATH_UNARY_OPERATOR( ASIN, "Vector Trigonometric ASin", "Asin" ) +/* ASIN END */ + +/* ATAN BEGIN */ +DEF_MATH_UNARY_OPERATOR( ATAN, "Vector Trigonometric ATan", "Atan" ) +/* ATAN END */ + +/* ATR BEGIN */ +static const TA_InputParameterInfo *TA_ATR_Inputs[] = +{ + &TA_DEF_UI_Input_Price_HLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_ATR_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_ATR_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_14, + NULL +}; + +DEF_FUNCTION( ATR, /* name */ + TA_GroupId_VolatilityIndicators, /* groupId */ + "Average True Range", /* hint */ + "Atr", /* CamelCase name */ + TA_FUNC_FLG_UNST_PER /* flags */ + ); +/* ATR END */ + +/* AVGPRICE BEGIN */ +static const TA_InputParameterInfo *TA_AVGPRICE_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_AVGPRICE_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_AVGPRICE_OptInputs[] = { NULL }; + +DEF_FUNCTION( AVGPRICE, /* name */ + TA_GroupId_PriceTransform, /* groupId */ + "Average Price", /* hint */ + "AvgPrice", /* CamelCase name */ + TA_FUNC_FLG_OVERLAP /* flags */ + ); +/* AVGPRICE END */ + +/**************************************************************************** + * Step 2 - Add your TA function to the table. + * Keep in alphabetical order. Must be NULL terminated. + ****************************************************************************/ +const TA_FuncDef *TA_DEF_TableA[] = +{ + ADD_TO_TABLE(ACOS), + ADD_TO_TABLE(AD), + ADD_TO_TABLE(ADD), + ADD_TO_TABLE(ADOSC), + ADD_TO_TABLE(ADX), + ADD_TO_TABLE(ADXR), + ADD_TO_TABLE(APO), + ADD_TO_TABLE(AROON), + ADD_TO_TABLE(AROONOSC), + ADD_TO_TABLE(ASIN), + ADD_TO_TABLE(ATAN), + ADD_TO_TABLE(ATR), + ADD_TO_TABLE(AVGPRICE), + NULL +}; + + +/* Do not modify the following line. */ +const unsigned int TA_DEF_TableASize = + ((sizeof(TA_DEF_TableA)/sizeof(TA_FuncDef *))-1); + + +/**************************************************************************** + * Step 3 - Make sure "gen_code" is executed for generating all other + * source files derived from this one. + * You can then re-compile the library as usual and you are done! + ****************************************************************************/ diff --git a/vendor/ta-lib/src/ta_abstract/tables/table_b.c b/vendor/ta-lib/src/ta_abstract/tables/table_b.c new file mode 100644 index 000000000..e944f1158 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/tables/table_b.c @@ -0,0 +1,196 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/********************************************************************* + * This file contains only TA functions starting with the letter 'B' * + *********************************************************************/ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +/* Follow the 3 steps defined below for adding a new TA Function to this + * file. + */ + + +/**************************************************************************** + * Step 1 - Define here the interface to your TA functions with + * the macro DEF_FUNCTION. + * + ****************************************************************************/ + +/* BBANDS BEGIN */ + +/* Nb Deviation up/down is used for bollinger bands. */ +const TA_OptInputParameterInfo TA_DEF_UI_NbDeviationUp = +{ + TA_OptInput_RealRange, /* type */ + "optInNbDevUp", /* paramName */ + 0, /* flags */ + + "Deviations up", /* displayName */ + (const void *)&TA_DEF_NbDeviation, /* dataSet */ + 2.0, /* defaultValue */ + "Deviation multiplier for upper band", /* hint */ + + NULL /* CamelCase name */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_NbDeviationDn = +{ + TA_OptInput_RealRange, /* type */ + "optInNbDevDn", /* paramName */ + 0, /* flags */ + + "Deviations down", /* displayName */ + (const void *)&TA_DEF_NbDeviation, /* dataSet */ + 2.0, /* defaultValue */ + "Deviation multiplier for lower band", /* hint */ + + NULL /* CamelCase name */ +}; + +const TA_OutputParameterInfo TA_DEF_UI_Output_Real_BBANDS_Middle = + { TA_Output_Real, "outRealMiddleBand", TA_OUT_LINE }; + +const TA_OutputParameterInfo TA_DEF_UI_Output_Real_BBANDS_Upper = + { TA_Output_Real, "outRealUpperBand", TA_OUT_UPPER_LIMIT }; + +const TA_OutputParameterInfo TA_DEF_UI_Output_Real_BBANDS_Lower = + { TA_Output_Real, "outRealLowerBand", TA_OUT_LOWER_LIMIT }; + +static const TA_InputParameterInfo *TA_BBANDS_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_BBANDS_Outputs[] = +{ + &TA_DEF_UI_Output_Real_BBANDS_Upper, + &TA_DEF_UI_Output_Real_BBANDS_Middle, + &TA_DEF_UI_Output_Real_BBANDS_Lower, + NULL +}; + +static const TA_OptInputParameterInfo *TA_BBANDS_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_5_MINIMUM2, + &TA_DEF_UI_NbDeviationUp, + &TA_DEF_UI_NbDeviationDn, + &TA_DEF_UI_MA_Method, + NULL +}; + +DEF_FUNCTION( BBANDS, /* name */ + TA_GroupId_OverlapStudies, /* groupId */ + "Bollinger Bands", /* hint */ + "Bbands", /* CamelCase name */ + TA_FUNC_FLG_OVERLAP /* flags */ + ); +/* BBANDS END */ + + +/* BOP BEGIN */ +static const TA_InputParameterInfo *TA_BOP_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_BOP_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_BOP_OptInputs[] = { NULL }; + +DEF_FUNCTION( BOP, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Balance Of Power", /* hint */ + "Bop", /* CamelCase name */ + 0 /* flags */ + ); +/* BOP END */ + +/* BETA BEGIN */ +static const TA_InputParameterInfo *TA_BETA_Inputs[] = +{ + &TA_DEF_UI_Input_Real0, + &TA_DEF_UI_Input_Real1, + NULL +}; + +static const TA_OutputParameterInfo *TA_BETA_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_BETA_OptInputs[] = +{ + &TA_DEF_UI_TimePeriod_5, + NULL +}; + +DEF_FUNCTION( BETA, /* name */ + TA_GroupId_Statistic, /* groupId */ + "Beta", /* hint */ + "Beta", /* CamelCase name */ + 0 /* flags */ + ); +/* BETA END */ + +/**************************************************************************** + * Step 2 - Add your TA function to the table. + * Keep in alphabetical order. Must be NULL terminated. + ****************************************************************************/ +const TA_FuncDef *TA_DEF_TableB[] = +{ + ADD_TO_TABLE(BBANDS), + ADD_TO_TABLE(BETA), + ADD_TO_TABLE(BOP), + NULL +}; + + +/* Do not modify the following line. */ +const unsigned int TA_DEF_TableBSize = + ((sizeof(TA_DEF_TableB)/sizeof(TA_FuncDef *))-1); + + +/**************************************************************************** + * Step 3 - Make sure "gen_code" is executed for generating all other + * source files derived from this one. + * You can then re-compile the library as usual and you are done! + ****************************************************************************/ diff --git a/vendor/ta-lib/src/ta_abstract/tables/table_c.c b/vendor/ta-lib/src/ta_abstract/tables/table_c.c new file mode 100644 index 000000000..ba3f289e1 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/tables/table_c.c @@ -0,0 +1,1885 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/********************************************************************* + * This file contains only TA functions starting with the letter 'C' * + *********************************************************************/ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +/* Follow the 3 steps defined below for adding a new TA Function to this + * file. + */ + +/**************************************************************************** + * Step 1 - Define here the interface to your TA functions with + * the macro DEF_FUNCTION. + * + ****************************************************************************/ + +/* CCI BEGIN */ +static const TA_InputParameterInfo *TA_CCI_Inputs[] = +{ + &TA_DEF_UI_Input_Price_HLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CCI_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CCI_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_14_MINIMUM2, + NULL +}; + +DEF_FUNCTION( CCI, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Commodity Channel Index", /* hint */ + "Cci", /* CamelCase name */ + 0 /* flags */ ); + +/* CCI END */ + +/* CDL2CROWS BEGIN */ +static const TA_InputParameterInfo *TA_CDL2CROWS_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDL2CROWS_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDL2CROWS_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDL2CROWS, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Two Crows", /* hint */ + "Cdl2Crows", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDL2CROWS END */ + +/* CDL3BLACKCROWS BEGIN */ +static const TA_InputParameterInfo *TA_CDL3BLACKCROWS_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDL3BLACKCROWS_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDL3BLACKCROWS_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDL3BLACKCROWS, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Three Black Crows", /* hint */ + "Cdl3BlackCrows", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDL3BLACKCROWS END */ + +/* CDL3INSIDE BEGIN */ +static const TA_InputParameterInfo *TA_CDL3INSIDE_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDL3INSIDE_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDL3INSIDE_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDL3INSIDE, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Three Inside Up/Down", /* hint */ + "Cdl3Inside", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDL3INSIDE END */ + +/* CDL3LINESTRIKE BEGIN */ +static const TA_InputParameterInfo *TA_CDL3LINESTRIKE_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDL3LINESTRIKE_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDL3LINESTRIKE_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDL3LINESTRIKE, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Three-Line Strike ", /* hint */ + "Cdl3LineStrike", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDL3LINESTRIKE END */ + +/* CDL3OUTSIDE BEGIN */ +static const TA_InputParameterInfo *TA_CDL3OUTSIDE_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDL3OUTSIDE_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDL3OUTSIDE_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDL3OUTSIDE, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Three Outside Up/Down", /* hint */ + "Cdl3Outside", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDL3OUTSIDE END */ + +/* CDL3STARSINSOUTH BEGIN */ +static const TA_InputParameterInfo *TA_CDL3STARSINSOUTH_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDL3STARSINSOUTH_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDL3STARSINSOUTH_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDL3STARSINSOUTH, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Three Stars In The South", /* hint */ + "Cdl3StarsInSouth", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDL3STARSINSOUTH END */ + +/* CDL3WHITESOLDIERS BEGIN */ +static const TA_InputParameterInfo *TA_CDL3WHITESOLDIERS_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDL3WHITESOLDIERS_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDL3WHITESOLDIERS_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDL3WHITESOLDIERS, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Three Advancing White Soldiers", /* hint */ + "Cdl3WhiteSoldiers", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDL3WHITESOLDIERS END */ + +/* CDLABANDONEDBABY BEGIN */ +static const TA_InputParameterInfo *TA_CDLABANDONEDBABY_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLABANDONEDBABY_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLABANDONEDBABY_OptInputs[] = +{ + &TA_DEF_UI_Penetration_30, + NULL +}; + +DEF_FUNCTION( CDLABANDONEDBABY, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Abandoned Baby", /* hint */ + "CdlAbandonedBaby", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLABANDONEDBABY END */ + +/* CDLADVANCEBLOCK BEGIN */ +static const TA_InputParameterInfo *TA_CDLADVANCEBLOCK_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLADVANCEBLOCK_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLADVANCEBLOCK_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLADVANCEBLOCK, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Advance Block", /* hint */ + "CdlAdvanceBlock", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLADVANCEBLOCK END */ + +/* CDLBELTHOLD BEGIN */ +static const TA_InputParameterInfo *TA_CDLBELTHOLD_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLBELTHOLD_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLBELTHOLD_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLBELTHOLD, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Belt-hold", /* hint */ + "CdlBeltHold", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLBELTHOLD END */ + +/* CDLBREAKAWAY BEGIN */ +static const TA_InputParameterInfo *TA_CDLBREAKAWAY_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLBREAKAWAY_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLBREAKAWAY_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLBREAKAWAY, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Breakaway", /* hint */ + "CdlBreakaway", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLBREAKAWAY END */ + +/* CDLCLOSINGMARUBOZU BEGIN */ +static const TA_InputParameterInfo *TA_CDLCLOSINGMARUBOZU_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLCLOSINGMARUBOZU_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLCLOSINGMARUBOZU_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLCLOSINGMARUBOZU, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Closing Marubozu", /* hint */ + "CdlClosingMarubozu", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLCLOSINGMARUBOZU END */ + +/* CDLCONCEALBABYSWALL BEGIN */ +static const TA_InputParameterInfo *TA_CDLCONCEALBABYSWALL_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLCONCEALBABYSWALL_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLCONCEALBABYSWALL_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLCONCEALBABYSWALL, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Concealing Baby Swallow", /* hint */ + "CdlConcealBabysWall", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLCONCEALBABYSWALL END */ + +/* CDLCOUNTERATTACK BEGIN */ +static const TA_InputParameterInfo *TA_CDLCOUNTERATTACK_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLCOUNTERATTACK_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLCOUNTERATTACK_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLCOUNTERATTACK, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Counterattack", /* hint */ + "CdlCounterAttack", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLCOUNTERATTACK END */ + +/* CDLDARKCLOUDCOVER BEGIN */ +static const TA_InputParameterInfo *TA_CDLDARKCLOUDCOVER_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLDARKCLOUDCOVER_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLDARKCLOUDCOVER_OptInputs[] = +{ + &TA_DEF_UI_Penetration_50, + NULL +}; + +DEF_FUNCTION( CDLDARKCLOUDCOVER, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Dark Cloud Cover", /* hint */ + "CdlDarkCloudCover", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLDARKCLOUDCOVER END */ + +/* CDLDOJI BEGIN */ +static const TA_InputParameterInfo *TA_CDLDOJI_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLDOJI_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLDOJI_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLDOJI, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Doji", /* hint */ + "CdlDoji", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLDOJI END */ + +/* CDLDOJISTAR BEGIN */ +static const TA_InputParameterInfo *TA_CDLDOJISTAR_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLDOJISTAR_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLDOJISTAR_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLDOJISTAR, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Doji Star", /* hint */ + "CdlDojiStar", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLDOJISTAR END */ + +/* CDLDRAGONFLYDOJI BEGIN */ +static const TA_InputParameterInfo *TA_CDLDRAGONFLYDOJI_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLDRAGONFLYDOJI_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLDRAGONFLYDOJI_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLDRAGONFLYDOJI, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Dragonfly Doji", /* hint */ + "CdlDragonflyDoji", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLDRAGONFLYDOJI END */ + +/* CDLENGULFING BEGIN */ +static const TA_InputParameterInfo *TA_CDLENGULFING_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLENGULFING_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLENGULFING_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLENGULFING, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Engulfing Pattern", /* hint */ + "CdlEngulfing", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLENGULFING END */ + +/* CDLEVENINGDOJISTAR BEGIN */ +static const TA_InputParameterInfo *TA_CDLEVENINGDOJISTAR_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLEVENINGDOJISTAR_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLEVENINGDOJISTAR_OptInputs[] = +{ + &TA_DEF_UI_Penetration_30, + NULL +}; + +DEF_FUNCTION( CDLEVENINGDOJISTAR, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Evening Doji Star", /* hint */ + "CdlEveningDojiStar", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLEVENINGDOJISTAR END */ + +/* CDLEVENINGSTAR BEGIN */ +static const TA_InputParameterInfo *TA_CDLEVENINGSTAR_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLEVENINGSTAR_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLEVENINGSTAR_OptInputs[] = +{ + &TA_DEF_UI_Penetration_30, + NULL +}; + +DEF_FUNCTION( CDLEVENINGSTAR, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Evening Star", /* hint */ + "CdlEveningStar", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLEVENINGSTAR END */ + +/* CDLEVENINGDOJISTAR END */ + +/* CDLGAPSIDESIDEWHITE BEGIN */ +static const TA_InputParameterInfo *TA_CDLGAPSIDESIDEWHITE_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLGAPSIDESIDEWHITE_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLGAPSIDESIDEWHITE_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLGAPSIDESIDEWHITE, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Up/Down-gap side-by-side white lines", /* hint */ + "CdlGapSideSideWhite", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLGAPSIDESIDEWHITE END */ + +/* CDLGRAVESTONEDOJI BEGIN */ +static const TA_InputParameterInfo *TA_CDLGRAVESTONEDOJI_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLGRAVESTONEDOJI_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLGRAVESTONEDOJI_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLGRAVESTONEDOJI, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Gravestone Doji", /* hint */ + "CdlGravestoneDoji", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLGRAVESTONEDOJI END */ + +/* CDLHAMMER BEGIN */ +static const TA_InputParameterInfo *TA_CDLHAMMER_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLHAMMER_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLHAMMER_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLHAMMER, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Hammer", /* hint */ + "CdlHammer", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLHAMMER END */ + +/* CDLHANGINGMAN BEGIN */ +static const TA_InputParameterInfo *TA_CDLHANGINGMAN_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLHANGINGMAN_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLHANGINGMAN_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLHANGINGMAN, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Hanging Man", /* hint */ + "CdlHangingMan", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLHANGINGMAN END */ + +/* CDLHARAMI BEGIN */ +static const TA_InputParameterInfo *TA_CDLHARAMI_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLHARAMI_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLHARAMI_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLHARAMI, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Harami Pattern", /* hint */ + "CdlHarami", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLHARAMI END */ + +/* CDLHARAMICROSS BEGIN */ +static const TA_InputParameterInfo *TA_CDLHARAMICROSS_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLHARAMICROSS_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLHARAMICROSS_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLHARAMICROSS, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Harami Cross Pattern", /* hint */ + "CdlHaramiCross", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLHARAMICROSS END */ + +/* CDLHIGHWAVE BEGIN */ +static const TA_InputParameterInfo *TA_CDLHIGHWAVE_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLHIGHWAVE_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLHIGHWAVE_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLHIGHWAVE, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "High-Wave Candle", /* hint */ + "CdlHignWave", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLHIGHWAVE END */ + +/* CDLHIKKAKE BEGIN */ +static const TA_InputParameterInfo *TA_CDLHIKKAKE_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLHIKKAKE_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLHIKKAKE_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLHIKKAKE, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Hikkake Pattern", /* hint */ + "CdlHikkake", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLHIKKAKE END */ + +/* CDLHIKKAKEMOD BEGIN */ +static const TA_InputParameterInfo *TA_CDLHIKKAKEMOD_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLHIKKAKEMOD_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLHIKKAKEMOD_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLHIKKAKEMOD, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Modified Hikkake Pattern", /* hint */ + "CdlHikkakeMod", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLHIKKAKEMOD END */ + +/* CDLHOMINGPIGEON BEGIN */ +static const TA_InputParameterInfo *TA_CDLHOMINGPIGEON_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLHOMINGPIGEON_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLHOMINGPIGEON_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLHOMINGPIGEON, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Homing Pigeon", /* hint */ + "CdlHomingPigeon", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLHOMINGPIGEON END */ + +/* CDLIDENTICAL3CROWS BEGIN */ +static const TA_InputParameterInfo *TA_CDLIDENTICAL3CROWS_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLIDENTICAL3CROWS_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLIDENTICAL3CROWS_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLIDENTICAL3CROWS, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Identical Three Crows", /* hint */ + "CdlIdentical3Crows", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLIDENTICAL3CROWS END */ + +/* CDLINNECK BEGIN */ +static const TA_InputParameterInfo *TA_CDLINNECK_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLINNECK_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLINNECK_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLINNECK, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "In-Neck Pattern", /* hint */ + "CdlInNeck", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLINNECK END */ + +/* CDLINVERTEDHAMMER BEGIN */ +static const TA_InputParameterInfo *TA_CDLINVERTEDHAMMER_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLINVERTEDHAMMER_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLINVERTEDHAMMER_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLINVERTEDHAMMER, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Inverted Hammer", /* hint */ + "CdlInvertedHammer", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLINVERTEDHAMMER END */ + +/* CDLKICKING BEGIN */ +static const TA_InputParameterInfo *TA_CDLKICKING_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLKICKING_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLKICKING_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLKICKING, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Kicking", /* hint */ + "CdlKicking", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLKICKING END */ + +/* CDLKICKINGBYLENGTH BEGIN */ +static const TA_InputParameterInfo *TA_CDLKICKINGBYLENGTH_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLKICKINGBYLENGTH_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLKICKINGBYLENGTH_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLKICKINGBYLENGTH, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Kicking - bull/bear determined by the longer marubozu", /* hint */ + "CdlKickingByLength", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLKICKINGBYLENGTH END */ + +/* CDLLADDERBOTTOM BEGIN */ +static const TA_InputParameterInfo *TA_CDLLADDERBOTTOM_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLLADDERBOTTOM_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLLADDERBOTTOM_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLLADDERBOTTOM, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Ladder Bottom", /* hint */ + "CdlLadderBottom", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLLADDERBOTTOM END */ + +/* CDLLONGLEGGEDDOJI BEGIN */ +static const TA_InputParameterInfo *TA_CDLLONGLEGGEDDOJI_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLLONGLEGGEDDOJI_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLLONGLEGGEDDOJI_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLLONGLEGGEDDOJI, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Long Legged Doji", /* hint */ + "CdlLongLeggedDoji", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLLONGLEGGEDDOJI END */ + +/* CDLLONGLINE BEGIN */ +static const TA_InputParameterInfo *TA_CDLLONGLINE_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLLONGLINE_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLLONGLINE_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLLONGLINE, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Long Line Candle", /* hint */ + "CdlLongLine", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLLONGLINE END */ + +/* CDLMARUBOZU BEGIN */ +static const TA_InputParameterInfo *TA_CDLMARUBOZU_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLMARUBOZU_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLMARUBOZU_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLMARUBOZU, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Marubozu", /* hint */ + "CdlMarubozu", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLMARUBOZU END */ + +/* CDLMATCHINGLOW BEGIN */ +static const TA_InputParameterInfo *TA_CDLMATCHINGLOW_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLMATCHINGLOW_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLMATCHINGLOW_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLMATCHINGLOW, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Matching Low", /* hint */ + "CdlMatchingLow", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLMATCHINGLOW END */ + +/* CDLMATHOLD BEGIN */ +static const TA_InputParameterInfo *TA_CDLMATHOLD_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLMATHOLD_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLMATHOLD_OptInputs[] = +{ + &TA_DEF_UI_Penetration_50, + NULL +}; + +DEF_FUNCTION( CDLMATHOLD, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Mat Hold", /* hint */ + "CdlMatHold", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLMATHOLD END */ + +/* CDLMORNINGDOJISTAR BEGIN */ +static const TA_InputParameterInfo *TA_CDLMORNINGDOJISTAR_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLMORNINGDOJISTAR_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLMORNINGDOJISTAR_OptInputs[] = +{ + &TA_DEF_UI_Penetration_30, + NULL +}; + +DEF_FUNCTION( CDLMORNINGDOJISTAR, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Morning Doji Star", /* hint */ + "CdlMorningDojiStar", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLMORNINGDOJISTAR END */ + +/* CDLMORNINGSTAR BEGIN */ +static const TA_InputParameterInfo *TA_CDLMORNINGSTAR_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLMORNINGSTAR_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLMORNINGSTAR_OptInputs[] = +{ + &TA_DEF_UI_Penetration_30, + NULL +}; + +DEF_FUNCTION( CDLMORNINGSTAR, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Morning Star", /* hint */ + "CdlMorningStar", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLMORNINGSTAR END */ + +/* CDLONNECK BEGIN */ +static const TA_InputParameterInfo *TA_CDLONNECK_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLONNECK_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLONNECK_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLONNECK, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "On-Neck Pattern", /* hint */ + "CdlOnNeck", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLONNECK END */ + +/* CDLPIERCING BEGIN */ +static const TA_InputParameterInfo *TA_CDLPIERCING_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLPIERCING_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLPIERCING_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLPIERCING, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Piercing Pattern", /* hint */ + "CdlPiercing", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLPIERCING END */ + +/* CDLRICKSHAWMAN BEGIN */ +static const TA_InputParameterInfo *TA_CDLRICKSHAWMAN_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLRICKSHAWMAN_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLRICKSHAWMAN_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLRICKSHAWMAN, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Rickshaw Man", /* hint */ + "CdlRickshawMan", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLRICKSHAWMAN END */ + +/* CDLRISEFALL3METHODS BEGIN */ +static const TA_InputParameterInfo *TA_CDLRISEFALL3METHODS_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLRISEFALL3METHODS_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLRISEFALL3METHODS_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLRISEFALL3METHODS, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Rising/Falling Three Methods", /* hint */ + "CdlRiseFall3Methods", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLRISEFALL3METHODS END */ + +/* CDLSEPARATINGLINES BEGIN */ +static const TA_InputParameterInfo *TA_CDLSEPARATINGLINES_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLSEPARATINGLINES_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLSEPARATINGLINES_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLSEPARATINGLINES, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Separating Lines", /* hint */ + "CdlSeperatingLines", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLSEPARATINGLINES END */ + +/* CDLSHOOTINGSTAR BEGIN */ +static const TA_InputParameterInfo *TA_CDLSHOOTINGSTAR_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLSHOOTINGSTAR_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLSHOOTINGSTAR_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLSHOOTINGSTAR, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Shooting Star", /* hint */ + "CdlShootingStar", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLSHOOTINGSTAR END */ + +/* CDLSHORTLINE BEGIN */ +static const TA_InputParameterInfo *TA_CDLSHORTLINE_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLSHORTLINE_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLSHORTLINE_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLSHORTLINE, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Short Line Candle", /* hint */ + "CdlShortLine", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLSHORTLINE END */ + +/* CDLSPINNINGTOP BEGIN */ +static const TA_InputParameterInfo *TA_CDLSPINNINGTOP_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLSPINNINGTOP_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLSPINNINGTOP_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLSPINNINGTOP, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Spinning Top", /* hint */ + "CdlSpinningTop", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLSPINNINGTOP END */ + +/* CDLSTALLEDPATTERN BEGIN */ +static const TA_InputParameterInfo *TA_CDLSTALLEDPATTERN_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLSTALLEDPATTERN_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLSTALLEDPATTERN_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLSTALLEDPATTERN, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Stalled Pattern", /* hint */ + "CdlStalledPattern", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLSTALLEDPATTERN END */ + +/* CDLSTICKSANDWICH BEGIN */ +static const TA_InputParameterInfo *TA_CDLSTICKSANDWICH_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLSTICKSANDWICH_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLSTICKSANDWICH_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLSTICKSANDWICH, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Stick Sandwich", /* hint */ + "CdlStickSandwhich", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLSTICKSANDWICH END */ + +/* CDLTAKURI BEGIN */ +static const TA_InputParameterInfo *TA_CDLTAKURI_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLTAKURI_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLTAKURI_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLTAKURI, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Takuri (Dragonfly Doji with very long lower shadow)", /* hint */ + "CdlTakuri", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLTAKURI END */ + +/* CDLTASUKIGAP BEGIN */ +static const TA_InputParameterInfo *TA_CDLTASUKIGAP_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLTASUKIGAP_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLTASUKIGAP_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLTASUKIGAP, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Tasuki Gap", /* hint */ + "CdlTasukiGap", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLTASUKIGAP END */ + +/* CDLTHRUSTING BEGIN */ +static const TA_InputParameterInfo *TA_CDLTHRUSTING_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLTHRUSTING_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLTHRUSTING_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLTHRUSTING, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Thrusting Pattern", /* hint */ + "CdlThrusting", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLTHRUSTING END */ + +/* CDLTRISTAR BEGIN */ +static const TA_InputParameterInfo *TA_CDLTRISTAR_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLTRISTAR_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLTRISTAR_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLTRISTAR, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Tristar Pattern", /* hint */ + "CdlTristar", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLTRISTAR END */ + +/* CDLUNIQUE3RIVER BEGIN */ +static const TA_InputParameterInfo *TA_CDLUNIQUE3RIVER_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLUNIQUE3RIVER_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLUNIQUE3RIVER_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLUNIQUE3RIVER, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Unique 3 River", /* hint */ + "CdlUnique3River", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLUNIQUE3RIVER END */ + +/* CDLUPSIDEGAP2CROWS BEGIN */ +static const TA_InputParameterInfo *TA_CDLUPSIDEGAP2CROWS_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLUPSIDEGAP2CROWS_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLUPSIDEGAP2CROWS_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLUPSIDEGAP2CROWS, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Upside Gap Two Crows", /* hint */ + "CdlUpsideGap2Crows", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLUPSIDEGAP2CROWS END */ + +/* CDLXSIDEGAP3METHODS BEGIN */ +static const TA_InputParameterInfo *TA_CDLXSIDEGAP3METHODS_Inputs[] = +{ + &TA_DEF_UI_Input_Price_OHLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_CDLXSIDEGAP3METHODS_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CDLXSIDEGAP3METHODS_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( CDLXSIDEGAP3METHODS, /* name */ + TA_GroupId_PatternRecognition, /* groupId */ + "Upside/Downside Gap Three Methods", /* hint */ + "CdlXSideGap3Methods", /* CamelCase name */ + TA_FUNC_FLG_CANDLESTICK /* flags */ + ); + +/* CDLXSIDEGAP3METHODS END */ + +/* CEIL BEGIN */ +DEF_MATH_UNARY_OPERATOR( CEIL, "Vector Ceil", "Ceil" ) +/* CEIL END */ + +/* CMO BEGIN */ +static const TA_InputParameterInfo *TA_CMO_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_CMO_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CMO_OptInputs[] = +{ + &TA_DEF_UI_TimePeriod_14_MINIMUM2, + NULL +}; + +DEF_FUNCTION( CMO, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Chande Momentum Oscillator", /* hint */ + "Cmo", /* CamelCase name */ + TA_FUNC_FLG_UNST_PER /* flags */ + ); +/* CMO END */ + +/* CORREL BEGIN */ +static const TA_InputParameterInfo *TA_CORREL_Inputs[] = +{ + &TA_DEF_UI_Input_Real0, + &TA_DEF_UI_Input_Real1, + NULL +}; + +static const TA_OutputParameterInfo *TA_CORREL_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_CORREL_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_30, + NULL +}; + +DEF_FUNCTION( CORREL, /* name */ + TA_GroupId_Statistic, /* groupId */ + "Pearson's Correlation Coefficient (r)", /* hint */ + "Correl", /* CamelCase name */ + 0 /* flags */ + ); +/* CORREL END */ + +/* COS BEGIN */ +DEF_MATH_UNARY_OPERATOR( COS, "Vector Trigonometric Cos", "Cos" ) +/* COS END */ + +/* COSH BEGIN */ +DEF_MATH_UNARY_OPERATOR( COSH, "Vector Trigonometric Cosh", "Cosh" ) +/* COSH END */ + +/**************************************************************************** + * Step 2 - Add your TA function to the table. + * Keep in alphabetical order. Must be NULL terminated. + ****************************************************************************/ +const TA_FuncDef *TA_DEF_TableC[] = +{ + ADD_TO_TABLE(CCI), + ADD_TO_TABLE(CDL2CROWS), + ADD_TO_TABLE(CDL3BLACKCROWS), + ADD_TO_TABLE(CDL3INSIDE), + ADD_TO_TABLE(CDL3LINESTRIKE), + ADD_TO_TABLE(CDL3OUTSIDE), + ADD_TO_TABLE(CDL3STARSINSOUTH), + ADD_TO_TABLE(CDL3WHITESOLDIERS), + ADD_TO_TABLE(CDLABANDONEDBABY), + ADD_TO_TABLE(CDLADVANCEBLOCK), + ADD_TO_TABLE(CDLBELTHOLD), + ADD_TO_TABLE(CDLBREAKAWAY), + ADD_TO_TABLE(CDLCLOSINGMARUBOZU), + ADD_TO_TABLE(CDLCONCEALBABYSWALL), + ADD_TO_TABLE(CDLCOUNTERATTACK), + ADD_TO_TABLE(CDLDARKCLOUDCOVER), + ADD_TO_TABLE(CDLDOJI), + ADD_TO_TABLE(CDLDOJISTAR), + ADD_TO_TABLE(CDLDRAGONFLYDOJI), + ADD_TO_TABLE(CDLENGULFING), + ADD_TO_TABLE(CDLEVENINGDOJISTAR), + ADD_TO_TABLE(CDLEVENINGSTAR), + ADD_TO_TABLE(CDLGAPSIDESIDEWHITE), + ADD_TO_TABLE(CDLGRAVESTONEDOJI), + ADD_TO_TABLE(CDLHAMMER), + ADD_TO_TABLE(CDLHANGINGMAN), + ADD_TO_TABLE(CDLHARAMI), + ADD_TO_TABLE(CDLHARAMICROSS), + ADD_TO_TABLE(CDLHIGHWAVE), + ADD_TO_TABLE(CDLHIKKAKE), + ADD_TO_TABLE(CDLHIKKAKEMOD), + ADD_TO_TABLE(CDLHOMINGPIGEON), + ADD_TO_TABLE(CDLIDENTICAL3CROWS), + ADD_TO_TABLE(CDLINNECK), + ADD_TO_TABLE(CDLINVERTEDHAMMER), + ADD_TO_TABLE(CDLKICKING), + ADD_TO_TABLE(CDLKICKINGBYLENGTH), + ADD_TO_TABLE(CDLLADDERBOTTOM), + ADD_TO_TABLE(CDLLONGLEGGEDDOJI), + ADD_TO_TABLE(CDLLONGLINE), + ADD_TO_TABLE(CDLMARUBOZU), + ADD_TO_TABLE(CDLMATCHINGLOW), + ADD_TO_TABLE(CDLMATHOLD), + ADD_TO_TABLE(CDLMORNINGDOJISTAR), + ADD_TO_TABLE(CDLMORNINGSTAR), + ADD_TO_TABLE(CDLONNECK), + ADD_TO_TABLE(CDLPIERCING), + ADD_TO_TABLE(CDLRICKSHAWMAN), + ADD_TO_TABLE(CDLRISEFALL3METHODS), + ADD_TO_TABLE(CDLSEPARATINGLINES), + ADD_TO_TABLE(CDLSHOOTINGSTAR), + ADD_TO_TABLE(CDLSHORTLINE), + ADD_TO_TABLE(CDLSPINNINGTOP), + ADD_TO_TABLE(CDLSTALLEDPATTERN), + ADD_TO_TABLE(CDLSTICKSANDWICH), + ADD_TO_TABLE(CDLTAKURI), + ADD_TO_TABLE(CDLTASUKIGAP), + ADD_TO_TABLE(CDLTHRUSTING), + ADD_TO_TABLE(CDLTRISTAR), + ADD_TO_TABLE(CDLUNIQUE3RIVER), + ADD_TO_TABLE(CDLUPSIDEGAP2CROWS), + ADD_TO_TABLE(CDLXSIDEGAP3METHODS), + ADD_TO_TABLE(CEIL), + ADD_TO_TABLE(CMO), + ADD_TO_TABLE(CORREL), + ADD_TO_TABLE(COS), + ADD_TO_TABLE(COSH), + NULL +}; + + +/* Do not modify the following line. */ +const unsigned int TA_DEF_TableCSize = + ((sizeof(TA_DEF_TableC)/sizeof(TA_FuncDef *))-1); + + +/**************************************************************************** + * Step 3 - Make sure "gen_code" is executed for generating all other + * source files derived from this one. + * You can then re-compile the library as usual and you are done! + ****************************************************************************/ diff --git a/vendor/ta-lib/src/ta_abstract/tables/table_d.c b/vendor/ta-lib/src/ta_abstract/tables/table_d.c new file mode 100644 index 000000000..16918eeda --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/tables/table_d.c @@ -0,0 +1,129 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/********************************************************************* + * This file contains only TA functions starting with the letter 'D' * + *********************************************************************/ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +/* Follow the 3 steps defined below for adding a new TA Function to this + * file. + */ + +/**************************************************************************** + * Step 1 - Define here the interface to your TA functions with + * the macro DEF_FUNCTION. + * + ****************************************************************************/ + +/* DEMA BEGIN */ +static const TA_InputParameterInfo *TA_DEMA_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_DEMA_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_DEMA_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_30_MINIMUM2, + NULL +}; + +DEF_FUNCTION( DEMA, /* name */ + TA_GroupId_OverlapStudies, /* groupId */ + "Double Exponential Moving Average", /* hint */ + "Dema", /* CamelCase name */ + TA_FUNC_FLG_OVERLAP /* flags */ + ); +/* DEMA END */ + +/* DIV BEGIN */ +DEF_MATH_BINARY_OPERATOR( DIV, "Vector Arithmetic Div", "Div" ) +/* DIV END */ + +/* DX BEGIN */ +static const TA_InputParameterInfo *TA_DX_Inputs[] = +{ + &TA_DEF_UI_Input_Price_HLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_DX_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_DX_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_14_MINIMUM2, + NULL +}; + +DEF_FUNCTION( DX, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Directional Movement Index", /* hint */ + "Dx", /* CamelCase name */ + TA_FUNC_FLG_UNST_PER /* flags */ + ); +/* DX END */ + +/**************************************************************************** + * Step 2 - Add your TA function to the table. + * Keep in alphabetical order. Must be NULL terminated. + ****************************************************************************/ +const TA_FuncDef *TA_DEF_TableD[] = +{ + ADD_TO_TABLE(DEMA), + ADD_TO_TABLE(DIV), + ADD_TO_TABLE(DX), + NULL +}; + + +/* Do not modify the following line. */ +const unsigned int TA_DEF_TableDSize = + ((sizeof(TA_DEF_TableD)/sizeof(TA_FuncDef *))-1); + + +/**************************************************************************** + * Step 3 - Make sure "gen_code" is executed for generating all other + * source files derived from this one. + * You can then re-compile the library as usual and you are done! + ****************************************************************************/ diff --git a/vendor/ta-lib/src/ta_abstract/tables/table_e.c b/vendor/ta-lib/src/ta_abstract/tables/table_e.c new file mode 100644 index 000000000..cedc9e5b8 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/tables/table_e.c @@ -0,0 +1,102 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/********************************************************************* + * This file contains only TA functions starting with the letter 'E' * + *********************************************************************/ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +/* Follow the 3 steps defined below for adding a new TA Function to this + * file. + */ + +/**************************************************************************** + * Step 1 - Define here the interface to your TA functions with + * the macro DEF_FUNCTION. + * + ****************************************************************************/ + +/* EMA BEGIN */ +static const TA_InputParameterInfo *TA_EMA_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_EMA_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_EMA_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_30_MINIMUM2, + NULL +}; + +DEF_FUNCTION( EMA, /* name */ + TA_GroupId_OverlapStudies, /* groupId */ + "Exponential Moving Average", /* hint */ + "Ema", /* CamelCase name */ + TA_FUNC_FLG_OVERLAP|TA_FUNC_FLG_UNST_PER /* flags */ + ); +/* EMA END */ + +/* EXP BEGIN */ +DEF_MATH_UNARY_OPERATOR( EXP, "Vector Arithmetic Exp", "Exp" ) +/* EXP END */ + +/**************************************************************************** + * Step 2 - Add your TA function to the table. + * Keep in alphabetical order. Must be NULL terminated. + ****************************************************************************/ +const TA_FuncDef *TA_DEF_TableE[] = +{ + ADD_TO_TABLE(EMA), + ADD_TO_TABLE(EXP), + NULL +}; + + +/* Do not modify the following line. */ +const unsigned int TA_DEF_TableESize = + ((sizeof(TA_DEF_TableE)/sizeof(TA_FuncDef *))-1); + + +/**************************************************************************** + * Step 3 - Make sure "gen_code" is executed for generating all other + * source files derived from this one. + * You can then re-compile the library as usual and you are done! + ****************************************************************************/ diff --git a/vendor/ta-lib/src/ta_abstract/tables/table_f.c b/vendor/ta-lib/src/ta_abstract/tables/table_f.c new file mode 100644 index 000000000..f861d1b91 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/tables/table_f.c @@ -0,0 +1,76 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/********************************************************************* + * This file contains only TA functions starting with the letter 'F' * + *********************************************************************/ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +/* Follow the 3 steps defined below for adding a new TA Function to this + * file. + */ + +/**************************************************************************** + * Step 1 - Define here the interface to your TA functions with + * the macro DEF_FUNCTION. + * + ****************************************************************************/ + +/* Floor BEGIN */ +DEF_MATH_UNARY_OPERATOR( FLOOR, "Vector Floor", "Floor" ) +/* Floor END */ + + +/**************************************************************************** + * Step 2 - Add your TA function to the table. + * Keep in alphabetical order. Must be NULL terminated. + ****************************************************************************/ +const TA_FuncDef *TA_DEF_TableF[] = +{ + ADD_TO_TABLE(FLOOR), + NULL +}; + + +/* Do not modify the following line. */ +const unsigned int TA_DEF_TableFSize = + ((sizeof(TA_DEF_TableF)/sizeof(TA_FuncDef *))-1); + + +/**************************************************************************** + * Step 3 - Make sure "gen_code" is executed for generating all other + * source files derived from this one. + * You can then re-compile the library as usual and you are done! + ****************************************************************************/ diff --git a/vendor/ta-lib/src/ta_abstract/tables/table_g.c b/vendor/ta-lib/src/ta_abstract/tables/table_g.c new file mode 100644 index 000000000..07287c2ed --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/tables/table_g.c @@ -0,0 +1,72 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/********************************************************************* + * This file contains only TA functions starting with the letter 'G' * + *********************************************************************/ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +/* Follow the 3 steps defined below for adding a new TA Function to this + * file. + */ + +/**************************************************************************** + * Step 1 - Define here the interface to your TA functions with + * the macro DEF_FUNCTION. + * + ****************************************************************************/ + +/* None */ + +/**************************************************************************** + * Step 2 - Add your TA function to the table. + * Keep in alphabetical order. Must be NULL terminated. + ****************************************************************************/ +const TA_FuncDef *TA_DEF_TableG[] = +{ + NULL +}; + + +/* Do not modify the following line. */ +const unsigned int TA_DEF_TableGSize = + ((sizeof(TA_DEF_TableG)/sizeof(TA_FuncDef *))-1); + + +/**************************************************************************** + * Step 3 - Make sure "gen_code" is executed for generating all other + * source files derived from this one. + * You can then re-compile the library as usual and you are done! + ****************************************************************************/ diff --git a/vendor/ta-lib/src/ta_abstract/tables/table_h.c b/vendor/ta-lib/src/ta_abstract/tables/table_h.c new file mode 100644 index 000000000..ffc30fb47 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/tables/table_h.c @@ -0,0 +1,246 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/********************************************************************* + * This file contains only TA functions starting with the letter 'H' * + *********************************************************************/ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +/* Follow the 3 steps defined below for adding a new TA Function to this + * file. + */ + +/**************************************************************************** + * Step 1 - Define here the interface to your TA functions with + * the macro DEF_FUNCTION. + * + ****************************************************************************/ + +/* HT_DCPERIOD */ +static const TA_InputParameterInfo *TA_HT_DCPERIOD_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_HT_DCPERIOD_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_HT_DCPERIOD_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( HT_DCPERIOD, /* name */ + TA_GroupId_CycleIndicators, /* groupId */ + "Hilbert Transform - Dominant Cycle Period", /* hint */ + "HtDcPeriod", /* CamelCase name */ + TA_FUNC_FLG_UNST_PER /* flags */ + ); +/* HT_DCPERIOD END */ + +/* HT_DCPHASE */ +static const TA_InputParameterInfo *TA_HT_DCPHASE_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_HT_DCPHASE_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_HT_DCPHASE_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( HT_DCPHASE, /* name */ + TA_GroupId_CycleIndicators, /* groupId */ + "Hilbert Transform - Dominant Cycle Phase", /* hint */ + "HtDcPhase", /* CamelCase name */ + TA_FUNC_FLG_UNST_PER /* flags */ + ); +/* HT_DCPHASE END */ + +/* HT_PHASOR */ +const TA_OutputParameterInfo TA_DEF_UI_Output_Real_InPhase = + { TA_Output_Real, "outInPhase", TA_OUT_LINE }; + +const TA_OutputParameterInfo TA_DEF_UI_Output_Real_Quadrature = + { TA_Output_Real, "outQuadrature", TA_OUT_DASH_LINE }; + +static const TA_InputParameterInfo *TA_HT_PHASOR_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_HT_PHASOR_Outputs[] = +{ + &TA_DEF_UI_Output_Real_InPhase, + &TA_DEF_UI_Output_Real_Quadrature, + NULL +}; + +static const TA_OptInputParameterInfo *TA_HT_PHASOR_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( HT_PHASOR, /* name */ + TA_GroupId_CycleIndicators, /* groupId */ + "Hilbert Transform - Phasor Components", /* hint */ + "HtPhasor", /* CamelCase name */ + TA_FUNC_FLG_UNST_PER /* flags */ + ); +/* HT_PHASOR END */ + +/* HT_SINE */ +const TA_OutputParameterInfo TA_DEF_UI_Output_Real_Sine = + { TA_Output_Real, "outSine", TA_OUT_LINE }; + +const TA_OutputParameterInfo TA_DEF_UI_Output_Real_LeadSine = + { TA_Output_Real, "outLeadSine", TA_OUT_DASH_LINE }; + +static const TA_InputParameterInfo *TA_HT_SINE_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_HT_SINE_Outputs[] = +{ + &TA_DEF_UI_Output_Real_Sine, + &TA_DEF_UI_Output_Real_LeadSine, + NULL +}; + +static const TA_OptInputParameterInfo *TA_HT_SINE_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( HT_SINE, /* name */ + TA_GroupId_CycleIndicators, /* groupId */ + "Hilbert Transform - SineWave", /* hint */ + "HtSine", /* CamelCase name */ + TA_FUNC_FLG_UNST_PER /* flags */ + ); +/* HT_SINE END */ + +/* HT_TRENDLINE */ +static const TA_InputParameterInfo *TA_HT_TRENDLINE_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_HT_TRENDLINE_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_HT_TRENDLINE_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( HT_TRENDLINE, /* name */ + TA_GroupId_OverlapStudies, /* groupId */ + "Hilbert Transform - Instantaneous Trendline", /* hint */ + "HtTrendline", /* CamelCase name */ + TA_FUNC_FLG_UNST_PER|TA_FUNC_FLG_OVERLAP /* flags */ + ); +/* HT_TRENDLINE END */ + +/* HT_TRENDMODE */ +static const TA_InputParameterInfo *TA_HT_TRENDMODE_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_HT_TRENDMODE_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_HT_TRENDMODE_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( HT_TRENDMODE, /* name */ + TA_GroupId_CycleIndicators, /* groupId */ + "Hilbert Transform - Trend vs Cycle Mode", /* hint */ + "HtTrendMode", /* CamelCase name */ + TA_FUNC_FLG_UNST_PER /* flags */ + ); +/* HT_TRENDMODE END */ + +/**************************************************************************** + * Step 2 - Add your TA function to the table. + * Keep in alphabetical order. Must be NULL terminated. + ****************************************************************************/ +const TA_FuncDef *TA_DEF_TableH[] = +{ + ADD_TO_TABLE(HT_DCPERIOD), + ADD_TO_TABLE(HT_DCPHASE), + ADD_TO_TABLE(HT_PHASOR), + ADD_TO_TABLE(HT_SINE), + ADD_TO_TABLE(HT_TRENDLINE), + ADD_TO_TABLE(HT_TRENDMODE), + NULL +}; + + +/* Do not modify the following line. */ +const unsigned int TA_DEF_TableHSize = + ((sizeof(TA_DEF_TableH)/sizeof(TA_FuncDef *))-1); + + +/**************************************************************************** + * Step 3 - Make sure "gen_code" is executed for generating all other + * source files derived from this one. + * You can then re-compile the library as usual and you are done! + ****************************************************************************/ diff --git a/vendor/ta-lib/src/ta_abstract/tables/table_i.c b/vendor/ta-lib/src/ta_abstract/tables/table_i.c new file mode 100644 index 000000000..d9403f82d --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/tables/table_i.c @@ -0,0 +1,72 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/********************************************************************* + * This file contains only TA functions starting with the letter 'I' * + *********************************************************************/ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +/* Follow the 3 steps defined below for adding a new TA Function to this + * file. + */ + +/**************************************************************************** + * Step 1 - Define here the interface to your TA functions with + * the macro DEF_FUNCTION. + * + ****************************************************************************/ + +/* None */ + +/**************************************************************************** + * Step 2 - Add your TA function to the table. + * Keep in alphabetical order. Must be NULL terminated. + ****************************************************************************/ +const TA_FuncDef *TA_DEF_TableI[] = +{ + NULL +}; + + +/* Do not modify the following line. */ +const unsigned int TA_DEF_TableISize = + ((sizeof(TA_DEF_TableI)/sizeof(TA_FuncDef *))-1); + + +/**************************************************************************** + * Step 3 - Make sure "gen_code" is executed for generating all other + * source files derived from this one. + * You can then re-compile the library as usual and you are done! + ****************************************************************************/ diff --git a/vendor/ta-lib/src/ta_abstract/tables/table_j.c b/vendor/ta-lib/src/ta_abstract/tables/table_j.c new file mode 100644 index 000000000..264b643ff --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/tables/table_j.c @@ -0,0 +1,72 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/********************************************************************* + * This file contains only TA functions starting with the letter 'J' * + *********************************************************************/ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +/* Follow the 3 steps defined below for adding a new TA Function to this + * file. + */ + +/**************************************************************************** + * Step 1 - Define here the interface to your TA functions with + * the macro DEF_FUNCTION. + * + ****************************************************************************/ + +/* None */ + +/**************************************************************************** + * Step 2 - Add your TA function to the table. + * Keep in alphabetical order. Must be NULL terminated. + ****************************************************************************/ +const TA_FuncDef *TA_DEF_TableJ[] = +{ + NULL +}; + + +/* Do not modify the following line. */ +const unsigned int TA_DEF_TableJSize = + ((sizeof(TA_DEF_TableJ)/sizeof(TA_FuncDef *))-1); + + +/**************************************************************************** + * Step 3 - Make sure "gen_code" is executed for generating all other + * source files derived from this one. + * You can then re-compile the library as usual and you are done! + ****************************************************************************/ diff --git a/vendor/ta-lib/src/ta_abstract/tables/table_k.c b/vendor/ta-lib/src/ta_abstract/tables/table_k.c new file mode 100644 index 000000000..c93f6ca71 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/tables/table_k.c @@ -0,0 +1,98 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/********************************************************************* + * This file contains only TA functions starting with the letter 'K' * + *********************************************************************/ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +/* Follow the 3 steps defined below for adding a new TA Function to this + * file. + */ + +/**************************************************************************** + * Step 1 - Define here the interface to your TA functions with + * the macro DEF_FUNCTION. + * + ****************************************************************************/ + +/* KAMA BEGIN */ +static const TA_InputParameterInfo *TA_KAMA_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_KAMA_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_KAMA_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_30_MINIMUM2, + NULL +}; + +DEF_FUNCTION( KAMA, /* name */ + TA_GroupId_OverlapStudies, /* groupId */ + "Kaufman Adaptive Moving Average", /* hint */ + "Kama", /* CamelCase name */ + TA_FUNC_FLG_OVERLAP|TA_FUNC_FLG_UNST_PER /* flags */ + ); +/* KAMA END */ + + +/**************************************************************************** + * Step 2 - Add your TA function to the table. + * Keep in alphabetical order. Must be NULL terminated. + ****************************************************************************/ +const TA_FuncDef *TA_DEF_TableK[] = +{ + ADD_TO_TABLE(KAMA), + NULL +}; + + +/* Do not modify the following line. */ +const unsigned int TA_DEF_TableKSize = + ((sizeof(TA_DEF_TableK)/sizeof(TA_FuncDef *))-1); + + +/**************************************************************************** + * Step 3 - Make sure "gen_code" is executed for generating all other + * source files derived from this one. + * You can then re-compile the library as usual and you are done! + ****************************************************************************/ diff --git a/vendor/ta-lib/src/ta_abstract/tables/table_l.c b/vendor/ta-lib/src/ta_abstract/tables/table_l.c new file mode 100644 index 000000000..87595526a --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/tables/table_l.c @@ -0,0 +1,188 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/********************************************************************* + * This file contains only TA functions starting with the letter 'L' * + *********************************************************************/ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +/* Follow the 3 steps defined below for adding a new TA Function to this + * file. + */ + +/**************************************************************************** + * Step 1 - Define here the interface to your TA functions with + * the macro DEF_FUNCTION. + * + ****************************************************************************/ + +/* LINEARREG BEGIN */ +static const TA_InputParameterInfo *TA_LINEARREG_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_LINEARREG_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_LINEARREG_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_14_MINIMUM2, + NULL +}; + +DEF_FUNCTION( LINEARREG, /* name */ + TA_GroupId_Statistic,/* groupId */ + "Linear Regression", /* hint */ + "LinearReg", /* CamelCase name */ + TA_FUNC_FLG_OVERLAP /* flags */ + ); +/* LINEARREG END */ + +/* LINEARREG_SLOPE BEGIN */ +static const TA_InputParameterInfo *TA_LINEARREG_SLOPE_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_LINEARREG_SLOPE_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_LINEARREG_SLOPE_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_14_MINIMUM2, + NULL +}; + +DEF_FUNCTION( LINEARREG_SLOPE, /* name */ + TA_GroupId_Statistic,/* groupId */ + "Linear Regression Slope", /* hint */ + "LinearRegSlope", /* CamelCase name */ + 0 /* flags */ + ); +/* LINEARREG_SLOPE END */ + +/* LINEARREG_ANGLE BEGIN */ +static const TA_InputParameterInfo *TA_LINEARREG_ANGLE_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_LINEARREG_ANGLE_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_LINEARREG_ANGLE_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_14_MINIMUM2, + NULL +}; + +DEF_FUNCTION( LINEARREG_ANGLE, /* name */ + TA_GroupId_Statistic,/* groupId */ + "Linear Regression Angle", /* hint */ + "LinearRegAngle", /* CamelCase name */ + 0 /* flags */ + ); +/* LINEARREG_ANGLE END */ + +/* LINEARREG_INTERCEPT BEGIN */ +static const TA_InputParameterInfo *TA_LINEARREG_INTERCEPT_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_LINEARREG_INTERCEPT_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_LINEARREG_INTERCEPT_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_14_MINIMUM2, + NULL +}; + +DEF_FUNCTION( LINEARREG_INTERCEPT, /* name */ + TA_GroupId_Statistic,/* groupId */ + "Linear Regression Intercept", /* hint */ + "LinearRegIntercept", /* CamelCase name */ + TA_FUNC_FLG_OVERLAP /* flags */ + ); +/* LINEARREG_INTERCEPT END */ + +/* LN BEGIN */ +DEF_MATH_UNARY_OPERATOR( LN, "Vector Log Natural", "Ln" ) +/* LN END */ + +/* LOG10 BEGIN */ +DEF_MATH_UNARY_OPERATOR( LOG10, "Vector Log10", "Log10" ) +/* LOG10 END */ + +/**************************************************************************** + * Step 2 - Add your TA function to the table. + * Keep in alphabetical order. Must be NULL terminated. + ****************************************************************************/ +const TA_FuncDef *TA_DEF_TableL[] = +{ + ADD_TO_TABLE(LINEARREG), + ADD_TO_TABLE(LINEARREG_ANGLE), + ADD_TO_TABLE(LINEARREG_INTERCEPT), + ADD_TO_TABLE(LINEARREG_SLOPE), + ADD_TO_TABLE(LN), + ADD_TO_TABLE(LOG10), + NULL +}; + + +/* Do not modify the following line. */ +const unsigned int TA_DEF_TableLSize = + ((sizeof(TA_DEF_TableL)/sizeof(TA_FuncDef *))-1); + + +/**************************************************************************** + * Step 3 - Make sure "gen_code" is executed for generating all other + * source files derived from this one. + * You can then re-compile the library as usual and you are done! + ****************************************************************************/ diff --git a/vendor/ta-lib/src/ta_abstract/tables/table_m.c b/vendor/ta-lib/src/ta_abstract/tables/table_m.c new file mode 100644 index 000000000..3ff2acd1b --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/tables/table_m.c @@ -0,0 +1,739 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/********************************************************************* + * This file contains only TA functions starting with the letter 'M' * + *********************************************************************/ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +/* Follow the 3 steps defined below for adding a new TA Function to this + * file. + */ + +/**************************************************************************** + * Step 1 - Define here the interface to your TA functions with + * the macro DEF_FUNCTION. + * + ****************************************************************************/ + +const TA_OptInputParameterInfo TA_DEF_UI_Signal_Period = +{ + TA_OptInput_IntegerRange, /* type */ + "optInSignalPeriod", /* paramName */ + 0, /* flags */ + + "Signal Period", /* displayName */ + (const void *)&TA_DEF_TimePeriod_Positive, /* dataSet */ + 9, /* defaultValue */ + "Smoothing for the signal line (nb of period)", /* hint */ + + NULL /* CamelCase name */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_Slow_MA_Type = +{ + TA_OptInput_IntegerList, /* type */ + "optInSlowMAType", /* paramName */ + 0, /* flags */ + + "Slow MA", /* displayName */ + (const void *)&TA_MA_TypeList, /* dataSet */ + 0, /* defaultValue = simple average */ + "Type of Moving Average for slow MA", /* hint */ + + NULL /* CamelCase name */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_Fast_MA_Type = +{ + TA_OptInput_IntegerList, /* type */ + "optInFastMAType", /* paramName */ + 0, /* flags */ + + "Fast MA", /* displayName */ + (const void *)&TA_MA_TypeList, /* dataSet */ + 0, /* defaultValue = simple average */ + "Type of Moving Average for fast MA", /* hint */ + + NULL /* CamelCase name */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_Signal_MA_Type = +{ + TA_OptInput_IntegerList, /* type */ + "optInSignalMAType", /* paramName */ + 0, /* flags */ + "Signal MA", /* displayName */ + (const void *)&TA_MA_TypeList, /* dataSet */ + 0, /* defaultValue = simple average */ + "Type of Moving Average for signal line", /* hint */ + + NULL /* CamelCase name */ +}; + +/* MA BEGIN */ +static const TA_InputParameterInfo *TA_MA_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_MA_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_MA_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_30, + &TA_DEF_UI_MA_Method, + NULL +}; + +DEF_FUNCTION( MA, /* name */ + TA_GroupId_OverlapStudies, /* groupId */ + "Moving average", /* hint */ + "MovingAverage", /* CamelCase name */ + TA_FUNC_FLG_OVERLAP /* flags */ + ); +/* MA END */ + +/* MACD BEGIN */ +const TA_OutputParameterInfo TA_DEF_UI_Output_Real_MACD = + { TA_Output_Real, "outMACD", TA_OUT_LINE }; + +const TA_OutputParameterInfo TA_DEF_UI_Output_Real_MACDSignal = + { TA_Output_Real, "outMACDSignal", TA_OUT_DASH_LINE }; + +const TA_OutputParameterInfo TA_DEF_UI_Output_Real_MACDHist = + { TA_Output_Real, "outMACDHist", TA_OUT_HISTO }; + +static const TA_InputParameterInfo *TA_MACD_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_MACD_Outputs[] = +{ + &TA_DEF_UI_Output_Real_MACD, + &TA_DEF_UI_Output_Real_MACDSignal, + &TA_DEF_UI_Output_Real_MACDHist, + NULL +}; + +static const TA_OptInputParameterInfo *TA_MACD_OptInputs[] = +{ &TA_DEF_UI_Fast_Period, + &TA_DEF_UI_Slow_Period, + &TA_DEF_UI_Signal_Period, + NULL +}; + +DEF_FUNCTION( MACD, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Moving Average Convergence/Divergence", /* hint */ + "Macd", /* CamelCase name */ + 0 /* flags */ + ); +/* MACD END */ + +/* MACDEXT BEGIN */ +static const TA_InputParameterInfo *TA_MACDEXT_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_MACDEXT_Outputs[] = +{ + &TA_DEF_UI_Output_Real_MACD, + &TA_DEF_UI_Output_Real_MACDSignal, + &TA_DEF_UI_Output_Real_MACDHist, + NULL +}; + +static const TA_OptInputParameterInfo *TA_MACDEXT_OptInputs[] = +{ &TA_DEF_UI_Fast_Period, + &TA_DEF_UI_Fast_MA_Type, + &TA_DEF_UI_Slow_Period, + &TA_DEF_UI_Slow_MA_Type, + &TA_DEF_UI_Signal_Period, + &TA_DEF_UI_Signal_MA_Type, + NULL +}; + +DEF_FUNCTION( MACDEXT, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "MACD with controllable MA type", /* hint */ + "MacdExt", /* CamelCase name */ + 0 /* flags */ + ); +/* MACDEXT END */ + +/* MACDFIX BEGIN */ +static const TA_InputParameterInfo *TA_MACDFIX_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_MACDFIX_Outputs[] = +{ + &TA_DEF_UI_Output_Real_MACD, + &TA_DEF_UI_Output_Real_MACDSignal, + &TA_DEF_UI_Output_Real_MACDHist, + NULL +}; + +static const TA_OptInputParameterInfo *TA_MACDFIX_OptInputs[] = +{ &TA_DEF_UI_Signal_Period, + NULL +}; + +DEF_FUNCTION( MACDFIX, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Moving Average Convergence/Divergence Fix 12/26", /* hint */ + "MacdFix", /* CamelCase name */ + 0 /* flags */ + ); +/* MACDFIX END */ + +/* MAMA BEGIN */ +const TA_RealRange TA_DEF_MAMA_FastLimit = +{ + 0.01, /* min */ + 0.99, /* max */ + 2, /* precision */ + 0.21, /* suggested start */ + 0.80, /* suggested end */ + 0.01 /* suggested increment */ +}; + +const TA_RealRange TA_DEF_MAMA_SlowLimit = +{ + 0.01, /* min */ + 0.99, /* max */ + 2, /* precision */ + 0.01, /* suggested start */ + 0.60, /* suggested end */ + 0.01 /* suggested increment */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_MAMA_FastLimit = +{ + TA_OptInput_RealRange, /* type */ + "optInFastLimit", /* paramName */ + 0, /* flags */ + "Fast Limit", /* displayName */ + (const void *)&TA_DEF_MAMA_FastLimit, /* dataSet */ + 0.5, /* defaultValue */ + "Upper limit use in the adaptive algorithm", /* hint */ + NULL /* CamelCase name */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_MAMA_SlowLimit = +{ + TA_OptInput_RealRange, /* type */ + "optInSlowLimit", /* paramName */ + 0, /* flags */ + + "Slow Limit", /* displayName */ + (const void *)&TA_DEF_MAMA_SlowLimit, /* dataSet */ + 0.05, /* defaultValue */ + "Lower limit use in the adaptive algorithm", /* hint */ + NULL /* CamelCase name */ +}; + +const TA_OutputParameterInfo TA_DEF_UI_Output_Real_MAMA = + { TA_Output_Real, "outMAMA", TA_OUT_LINE }; + +const TA_OutputParameterInfo TA_DEF_UI_Output_Real_FAMA = + { TA_Output_Real, "outFAMA", TA_OUT_DASH_LINE }; + +static const TA_InputParameterInfo *TA_MAMA_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_MAMA_Outputs[] = +{ + &TA_DEF_UI_Output_Real_MAMA, + &TA_DEF_UI_Output_Real_FAMA, + NULL +}; + +static const TA_OptInputParameterInfo *TA_MAMA_OptInputs[] = +{ &TA_DEF_UI_MAMA_FastLimit, + &TA_DEF_UI_MAMA_SlowLimit, + NULL +}; + +DEF_FUNCTION( MAMA, /* name */ + TA_GroupId_OverlapStudies, /* groupId */ + "MESA Adaptive Moving Average", /* hint */ + "Mama", /* CamelCase name */ + TA_FUNC_FLG_UNST_PER|TA_FUNC_FLG_OVERLAP /* flags */ + ); +/* MAMA END */ + +/* MAVP BEGIN */ +static const TA_InputParameterInfo *TA_MAVP_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + &TA_DEF_UI_Input_Periods, + NULL +}; + +static const TA_OutputParameterInfo *TA_MAVP_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_MAVP_OptInputs[] = +{ + &TA_DEF_UI_MinPeriod, + &TA_DEF_UI_MaxPeriod, + &TA_DEF_UI_MA_Method, + NULL +}; + +DEF_FUNCTION( MAVP, /* name */ + TA_GroupId_OverlapStudies, /* groupId */ + "Moving average with variable period", /* hint */ + "MovingAverageVariablePeriod", /* CamelCase name */ + TA_FUNC_FLG_OVERLAP /* flags */ + ); +/* MAVP END */ + +/* MAX BEGIN */ +static const TA_InputParameterInfo *TA_MAX_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_MAX_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_MAX_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_30_MINIMUM2, + NULL +}; + +DEF_FUNCTION( MAX, /* name */ + TA_GroupId_MathOperators, /* groupId */ + "Highest value over a specified period", /* hint */ + "Max", /* CamelCase name */ + TA_FUNC_FLG_OVERLAP /* flags */ + ); +/* MAX END */ + +/* MAXINDEX BEGIN */ +static const TA_InputParameterInfo *TA_MAXINDEX_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_MAXINDEX_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_MAXINDEX_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_30_MINIMUM2, + NULL +}; + +DEF_FUNCTION( MAXINDEX, /* name */ + TA_GroupId_MathOperators, /* groupId */ + "Index of highest value over a specified period", /* hint */ + "MaxIndex", /* CamelCase name */ + 0 /* flags */ + ); +/* MAXINDEX END */ + +/* MEDPRICE BEGIN */ +static const TA_InputParameterInfo *TA_MEDPRICE_Inputs[] = +{ + &TA_DEF_UI_Input_Price_HL, + NULL +}; + +static const TA_OutputParameterInfo *TA_MEDPRICE_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_MEDPRICE_OptInputs[] = { NULL }; + +DEF_FUNCTION( MEDPRICE, /* name */ + TA_GroupId_PriceTransform, /* groupId */ + "Median Price", /* hint */ + "MedPrice", /* CamelCase name */ + TA_FUNC_FLG_OVERLAP /* flags */ + ); + +/* MEDPRICE END */ + +/* MFI BEGIN */ +static const TA_InputParameterInfo *TA_MFI_Inputs[] = +{ + &TA_DEF_UI_Input_Price_HLCV, + NULL +}; + +static const TA_OutputParameterInfo *TA_MFI_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_MFI_OptInputs[] = +{ + &TA_DEF_UI_TimePeriod_14_MINIMUM2, + NULL +}; + +DEF_FUNCTION( MFI, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Money Flow Index", /* hint */ + "Mfi", /* CamelCase name */ + TA_FUNC_FLG_UNST_PER /* flags */ + ); +/* MFI END */ + +/* MIDPRICE BEGIN */ +static const TA_InputParameterInfo *TA_MIDPRICE_Inputs[] = +{ + &TA_DEF_UI_Input_Price_HL, + NULL +}; + +static const TA_OutputParameterInfo *TA_MIDPRICE_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_MIDPRICE_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_14_MINIMUM2, + NULL +}; + +DEF_FUNCTION( MIDPRICE, /* name */ + TA_GroupId_OverlapStudies, /* groupId */ + "Midpoint Price over period",/* hint */ + "MidPrice", /* CamelCase name */ + TA_FUNC_FLG_OVERLAP /* flags */ + ); + +/* MIDPRICE END */ + +/* MIDPOINT BEGIN */ +static const TA_InputParameterInfo *TA_MIDPOINT_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_MIDPOINT_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_MIDPOINT_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_14_MINIMUM2, + NULL +}; + +DEF_FUNCTION( MIDPOINT, /* name */ + TA_GroupId_OverlapStudies, /* groupId */ + "MidPoint over period", /* hint */ + "MidPoint", /* CamelCase name */ + TA_FUNC_FLG_OVERLAP /* flags */ + ); +/* MIDPOINT END */ + +/* MIN BEGIN */ +static const TA_InputParameterInfo *TA_MIN_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_MIN_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_MIN_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_30_MINIMUM2, + NULL +}; + +DEF_FUNCTION( MIN, /* name */ + TA_GroupId_MathOperators, /* groupId */ + "Lowest value over a specified period", /* hint */ + "Min", /* CamelCase name */ + TA_FUNC_FLG_OVERLAP /* flags */ + ); +/* MIN END */ + +/* MININDEX BEGIN */ +static const TA_InputParameterInfo *TA_MININDEX_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_MININDEX_Outputs[] = +{ + &TA_DEF_UI_Output_Integer, + NULL +}; + +static const TA_OptInputParameterInfo *TA_MININDEX_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_30_MINIMUM2, + NULL +}; + +DEF_FUNCTION( MININDEX, /* name */ + TA_GroupId_MathOperators, /* groupId */ + "Index of lowest value over a specified period", /* hint */ + "MinIndex", /* CamelCase name */ + 0 /* flags */ + ); +/* MININDEX END */ + +/* MINMAX BEGIN */ +const TA_OutputParameterInfo TA_DEF_UI_Output_Real_Min = + { TA_Output_Real, "outMin", TA_OUT_LINE }; + +const TA_OutputParameterInfo TA_DEF_UI_Output_Real_Max = + { TA_Output_Real, "outMax", TA_OUT_LINE }; + +static const TA_InputParameterInfo *TA_MINMAX_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_MINMAX_Outputs[] = +{ + &TA_DEF_UI_Output_Real_Min, + &TA_DEF_UI_Output_Real_Max, + NULL +}; + +static const TA_OptInputParameterInfo *TA_MINMAX_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_30_MINIMUM2, + NULL +}; + +DEF_FUNCTION( MINMAX, /* name */ + TA_GroupId_MathOperators, /* groupId */ + "Lowest and highest values over a specified period", /* hint */ + "MinMax", /* CamelCase name */ + TA_FUNC_FLG_OVERLAP /* flags */ + ); +/* MINMAX END */ + +/* MINMAXINDEX BEGIN */ +const TA_OutputParameterInfo TA_DEF_UI_Output_Integer_MinIdx = + { TA_Output_Integer, "outMinIdx", TA_OUT_LINE }; + +const TA_OutputParameterInfo TA_DEF_UI_Output_Integer_MaxIdx = + { TA_Output_Integer, "outMaxIdx", TA_OUT_LINE }; + +static const TA_InputParameterInfo *TA_MINMAXINDEX_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_MINMAXINDEX_Outputs[] = +{ + &TA_DEF_UI_Output_Integer_MinIdx, + &TA_DEF_UI_Output_Integer_MaxIdx, + NULL +}; + +static const TA_OptInputParameterInfo *TA_MINMAXINDEX_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_30_MINIMUM2, + NULL +}; + +DEF_FUNCTION( MINMAXINDEX, /* name */ + TA_GroupId_MathOperators, /* groupId */ + "Indexes of lowest and highest values over a specified period", /* hint */ + "MinMaxIndex", /* CamelCase name */ + 0 /* flags */ + ); +/* MINMAXINDEX END */ + +/* MINUS_DI BEGIN */ +static const TA_InputParameterInfo *TA_MINUS_DI_Inputs[] = +{ + &TA_DEF_UI_Input_Price_HLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_MINUS_DI_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_MINUS_DI_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_14, + NULL +}; + +DEF_FUNCTION( MINUS_DI, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Minus Directional Indicator", /* hint */ + "MinusDI", /* CamelCase name */ + TA_FUNC_FLG_UNST_PER /* flags */ + ); + +/* MINUS_DI END */ + +/* MINUS_DM BEGIN */ +static const TA_InputParameterInfo *TA_MINUS_DM_Inputs[] = +{ + &TA_DEF_UI_Input_Price_HL, + NULL +}; + +static const TA_OutputParameterInfo *TA_MINUS_DM_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_MINUS_DM_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_14, + NULL +}; + +DEF_FUNCTION( MINUS_DM, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Minus Directional Movement", /* hint */ + "MinusDM", /* CamelCase name */ + TA_FUNC_FLG_UNST_PER /* flags */ + ); + +/* MINUS_DM END */ + +/* MOM BEGIN */ +static const TA_InputParameterInfo *TA_MOM_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_MOM_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_MOM_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_10, + NULL +}; + +DEF_FUNCTION( MOM, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Momentum", /* hint */ + "Mom", /* CamelCase name */ + 0 /* flags */ + ); +/* MOM END */ + +/* MULT BEGIN */ +DEF_MATH_BINARY_OPERATOR( MULT, "Vector Arithmetic Mult", "Mult" ) +/* MULT END */ + +/**************************************************************************** + * Step 2 - Add your TA function to the table. + * Keep in alphabetical order. Must be NULL terminated. + ****************************************************************************/ +const TA_FuncDef *TA_DEF_TableM[] = +{ + ADD_TO_TABLE(MA), + ADD_TO_TABLE(MACD), + ADD_TO_TABLE(MACDEXT), + ADD_TO_TABLE(MACDFIX), + ADD_TO_TABLE(MAMA), + ADD_TO_TABLE(MAVP), + ADD_TO_TABLE(MAX), + ADD_TO_TABLE(MAXINDEX), + ADD_TO_TABLE(MEDPRICE), + ADD_TO_TABLE(MFI), + ADD_TO_TABLE(MIDPOINT), + ADD_TO_TABLE(MIDPRICE), + ADD_TO_TABLE(MIN), + ADD_TO_TABLE(MININDEX), + ADD_TO_TABLE(MINMAX), + ADD_TO_TABLE(MINMAXINDEX), + ADD_TO_TABLE(MINUS_DI), + ADD_TO_TABLE(MINUS_DM), + ADD_TO_TABLE(MOM), + ADD_TO_TABLE(MULT), + NULL +}; + + +/* Do not modify the following line. */ +const unsigned int TA_DEF_TableMSize = + ((sizeof(TA_DEF_TableM)/sizeof(TA_FuncDef *))-1); + + +/**************************************************************************** + * Step 3 - Make sure "gen_code" is executed for generating all other + * source files derived from this one. + * You can then re-compile the library as usual and you are done! + ****************************************************************************/ diff --git a/vendor/ta-lib/src/ta_abstract/tables/table_n.c b/vendor/ta-lib/src/ta_abstract/tables/table_n.c new file mode 100644 index 000000000..05d2bb1d6 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/tables/table_n.c @@ -0,0 +1,127 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/********************************************************************* + * This file contains only TA functions starting with the letter 'N' * + *********************************************************************/ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +/* Follow the 3 steps defined below for adding a new TA Function to this + * file. + */ + +/**************************************************************************** + * Step 1 - Define here the interface to your TA functions with + * the macro DEF_FUNCTION. + * + ****************************************************************************/ + +/* NATR BEGIN */ +static const TA_InputParameterInfo *TA_NATR_Inputs[] = +{ + &TA_DEF_UI_Input_Price_HLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_NATR_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_NATR_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_14, + NULL +}; + +DEF_FUNCTION( NATR, /* name */ + TA_GroupId_VolatilityIndicators, /* groupId */ + "Normalized Average True Range", /* hint */ + "Natr", /* CamelCase name */ + TA_FUNC_FLG_UNST_PER /* flags */ + ); +/* NATR END */ + +#if 0 +Will be implemented later +/* NVI BEGIN */ +static const TA_InputParameterInfo *TA_NVI_Inputs[] = +{ + &TA_DEF_UI_Input_Price_CV, + NULL +}; + +static const TA_OutputParameterInfo *TA_NVI_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_NVI_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( NVI, /* name */ + TA_GroupId_VolumeIndicators, /* groupId */ + "Negative Volume Index", /* hint */ + "Nvi", /* CamelCase name */ + 0 /* flags */ + ); + +/* NVI END */ +#endif + +/**************************************************************************** + * Step 2 - Add your TA function to the table. + * Keep in alphabetical order. Must be NULL terminated. + ****************************************************************************/ +const TA_FuncDef *TA_DEF_TableN[] = +{ + ADD_TO_TABLE(NATR), + NULL +}; + + +/* Do not modify the following line. */ +const unsigned int TA_DEF_TableNSize = + ((sizeof(TA_DEF_TableN)/sizeof(TA_FuncDef *))-1); + + +/**************************************************************************** + * Step 3 - Make sure "gen_code" is executed for generating all other + * source files derived from this one. + * You can then re-compile the library as usual and you are done! + ****************************************************************************/ diff --git a/vendor/ta-lib/src/ta_abstract/tables/table_o.c b/vendor/ta-lib/src/ta_abstract/tables/table_o.c new file mode 100644 index 000000000..17763c333 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/tables/table_o.c @@ -0,0 +1,96 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/********************************************************************* + * This file contains only TA functions starting with the letter 'O' * + *********************************************************************/ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +/* Follow the 3 steps defined below for adding a new TA Function to this + * file. + */ + +/**************************************************************************** + * Step 1 - Define here the interface to your TA functions with + * the macro DEF_FUNCTION. + * + ****************************************************************************/ + +/* OBV BEGIN */ +static const TA_InputParameterInfo *TA_OBV_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + &TA_DEF_UI_Input_Price_V, + NULL +}; + +static const TA_OutputParameterInfo *TA_OBV_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_OBV_OptInputs[] = +{ NULL }; + +DEF_FUNCTION( OBV, /* name */ + TA_GroupId_VolumeIndicators, /* groupId */ + "On Balance Volume", /* hint */ + "Obv", /* CamelCase name */ + 0 /* flags */ + ); +/* OBV END */ + +/**************************************************************************** + * Step 2 - Add your TA function to the table. + * Keep in alphabetical order. Must be NULL terminated. + ****************************************************************************/ +const TA_FuncDef *TA_DEF_TableO[] = +{ + ADD_TO_TABLE(OBV), + NULL +}; + + +/* Do not modify the following line. */ +const unsigned int TA_DEF_TableOSize = + ((sizeof(TA_DEF_TableO)/sizeof(TA_FuncDef *))-1); + + +/**************************************************************************** + * Step 3 - Make sure "gen_code" is executed for generating all other + * source files derived from this one. + * You can then re-compile the library as usual and you are done! + ****************************************************************************/ diff --git a/vendor/ta-lib/src/ta_abstract/tables/table_p.c b/vendor/ta-lib/src/ta_abstract/tables/table_p.c new file mode 100644 index 000000000..87d587349 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/tables/table_p.c @@ -0,0 +1,186 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/********************************************************************* + * This file contains only TA functions starting with the letter 'P' * + *********************************************************************/ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +/* Follow the 3 steps defined below for adding a new TA Function to this + * file. + */ + +/**************************************************************************** + * Step 1 - Define here the interface to your TA functions with + * the macro DEF_FUNCTION. + * + ****************************************************************************/ + +/* PLUS_DI BEGIN */ +static const TA_InputParameterInfo *TA_PLUS_DI_Inputs[] = +{ + &TA_DEF_UI_Input_Price_HLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_PLUS_DI_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_PLUS_DI_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_14, + NULL +}; + +DEF_FUNCTION( PLUS_DI, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Plus Directional Indicator", /* hint */ + "PlusDI", /* CamelCase name */ + TA_FUNC_FLG_UNST_PER /* flags */ + ); + +/* PLUS_DI END */ + +/* PLUS_DM BEGIN */ +static const TA_InputParameterInfo *TA_PLUS_DM_Inputs[] = +{ + &TA_DEF_UI_Input_Price_HL, + NULL +}; + +static const TA_OutputParameterInfo *TA_PLUS_DM_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_PLUS_DM_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_14, + NULL +}; + +DEF_FUNCTION( PLUS_DM, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Plus Directional Movement", /* hint */ + "PlusDM", /* CamelCase name */ + TA_FUNC_FLG_UNST_PER /* flags */ + ); + +/* PLUS_DM END */ + +/* PPO BEGIN */ +static const TA_InputParameterInfo *TA_PPO_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_PPO_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_PPO_OptInputs[] = +{ &TA_DEF_UI_Fast_Period, + &TA_DEF_UI_Slow_Period, + &TA_DEF_UI_MA_Method, + NULL +}; + +DEF_FUNCTION( PPO, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Percentage Price Oscillator", /* hint */ + "Ppo", /* CamelCase name */ + 0 /* flags */ + ); +/* PPO END */ + +#if 0 +Will be implemented later +/* PVI BEGIN */ +static const TA_InputParameterInfo *TA_PVI_Inputs[] = +{ + &TA_DEF_UI_Input_Price_CV, + NULL +}; + +static const TA_OutputParameterInfo *TA_PVI_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_PVI_OptInputs[] = +{ + NULL +}; + +DEF_FUNCTION( PVI, /* name */ + TA_GroupId_VolumeIndicators, /* groupId */ + "Positive Volume Index", /* hint */ + "Pvi", /* CamelCase name */ + 0 /* flags */ + ); + +/* PVI END */ +#endif + +/**************************************************************************** + * Step 2 - Add your TA function to the table. + * Keep in alphabetical order. Must be NULL terminated. + ****************************************************************************/ +const TA_FuncDef *TA_DEF_TableP[] = +{ + ADD_TO_TABLE(PLUS_DI), + ADD_TO_TABLE(PLUS_DM), + ADD_TO_TABLE(PPO), + /* ADD_TO_TABLE(PVI),*/ + NULL +}; + + +/* Do not modify the following line. */ +const unsigned int TA_DEF_TablePSize = + ((sizeof(TA_DEF_TableP)/sizeof(TA_FuncDef *))-1); + + +/**************************************************************************** + * Step 3 - Make sure "gen_code" is executed for generating all other + * source files derived from this one. + * You can then re-compile the library as usual and you are done! + ****************************************************************************/ diff --git a/vendor/ta-lib/src/ta_abstract/tables/table_q.c b/vendor/ta-lib/src/ta_abstract/tables/table_q.c new file mode 100644 index 000000000..b64342ab2 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/tables/table_q.c @@ -0,0 +1,72 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/********************************************************************* + * This file contains only TA functions starting with the letter 'Q' * + *********************************************************************/ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +/* Follow the 3 steps defined below for adding a new TA Function to this + * file. + */ + +/**************************************************************************** + * Step 1 - Define here the interface to your TA functions with + * the macro DEF_FUNCTION. + * + ****************************************************************************/ + +/* None */ + +/**************************************************************************** + * Step 2 - Add your TA function to the table. + * Keep in alphabetical order. Must be NULL terminated. + ****************************************************************************/ +const TA_FuncDef *TA_DEF_TableQ[] = +{ + NULL +}; + + +/* Do not modify the following line. */ +const unsigned int TA_DEF_TableQSize = + ((sizeof(TA_DEF_TableQ)/sizeof(TA_FuncDef *))-1); + + +/**************************************************************************** + * Step 3 - Make sure "gen_code" is executed for generating all other + * source files derived from this one. + * You can then re-compile the library as usual and you are done! + ****************************************************************************/ diff --git a/vendor/ta-lib/src/ta_abstract/tables/table_r.c b/vendor/ta-lib/src/ta_abstract/tables/table_r.c new file mode 100644 index 000000000..9d6a84645 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/tables/table_r.c @@ -0,0 +1,206 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/********************************************************************* + * This file contains only TA functions starting with the letter 'R' * + *********************************************************************/ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +/* Follow the 3 steps defined below for adding a new TA Function to this + * file. + */ + +/**************************************************************************** + * Step 1 - Define here the interface to your TA functions with + * the macro DEF_FUNCTION. + * + ****************************************************************************/ + +/* ROC BEGIN */ +static const TA_InputParameterInfo *TA_ROC_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_ROC_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_ROC_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_10, + NULL +}; + +DEF_FUNCTION( ROC, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Rate of change : ((price/prevPrice)-1)*100", /* hint */ + "Roc", /* CamelCase name */ + 0 /* flags */ + ); +/* ROC END */ + +/* ROCP BEGIN */ +static const TA_InputParameterInfo *TA_ROCP_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_ROCP_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_ROCP_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_10, + NULL +}; + +DEF_FUNCTION( ROCP, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Rate of change Percentage: (price-prevPrice)/prevPrice", /* hint */ + "RocP", /* CamelCase name */ + 0 /* flags */ + ); +/* ROCP END */ + +/* ROCR BEGIN */ +static const TA_InputParameterInfo *TA_ROCR_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_ROCR_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_ROCR_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_10, + NULL +}; + +DEF_FUNCTION( ROCR, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Rate of change ratio: (price/prevPrice)", /* hint */ + "RocR", /* CamelCase name */ + 0 /* flags */ + ); +/* ROCR END */ + +/* ROCR100 BEGIN */ +static const TA_InputParameterInfo *TA_ROCR100_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_ROCR100_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_ROCR100_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_10, + NULL +}; + +DEF_FUNCTION( ROCR100, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Rate of change ratio 100 scale: (price/prevPrice)*100", /* hint */ + "RocR100", /* CamelCase name */ + 0 /* flags */ + ); +/* ROCR100 END */ + +/* RSI BEGIN */ +static const TA_InputParameterInfo *TA_RSI_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_RSI_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_RSI_OptInputs[] = +{ + &TA_DEF_UI_TimePeriod_14_MINIMUM2, + NULL +}; + +DEF_FUNCTION( RSI, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Relative Strength Index", /* hint */ + "Rsi", /* CamelCase name */ + TA_FUNC_FLG_UNST_PER /* flags */ + ); +/* RSI END */ + +/**************************************************************************** + * Step 2 - Add your TA function to the table. + * Keep in alphabetical order. Must be NULL terminated. + ****************************************************************************/ +const TA_FuncDef *TA_DEF_TableR[] = +{ + ADD_TO_TABLE(ROC), + ADD_TO_TABLE(ROCP), + ADD_TO_TABLE(ROCR), + ADD_TO_TABLE(ROCR100), + ADD_TO_TABLE(RSI), + NULL +}; + + +/* Do not modify the following line. */ +const unsigned int TA_DEF_TableRSize = + ((sizeof(TA_DEF_TableR)/sizeof(TA_FuncDef *))-1); + + +/**************************************************************************** + * Step 3 - Make sure "gen_code" is executed for generating all other + * source files derived from this one. + * You can then re-compile the library as usual and you are done! + ****************************************************************************/ diff --git a/vendor/ta-lib/src/ta_abstract/tables/table_s.c b/vendor/ta-lib/src/ta_abstract/tables/table_s.c new file mode 100644 index 000000000..bced2d9b9 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/tables/table_s.c @@ -0,0 +1,630 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/********************************************************************* + * This file contains only TA functions starting with the letter 'S' * + *********************************************************************/ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +/* Follow the 3 steps defined below for adding a new TA Function to this + * file. + */ + +/**************************************************************************** + * Step 1 - Define here the interface to your TA functions with + * the macro DEF_FUNCTION. + * + ****************************************************************************/ + +/* SAR BEGIN */ +static const TA_RealRange TA_DEF_AccelerationFactor = +{ + 0.0, /* min */ + TA_REAL_MAX, /* max */ + 4, /* precision */ + 0.01, /* suggested start */ + 0.20, /* suggested end */ + 0.01 /* suggested increment */ +}; + +static const TA_RealRange TA_DEF_AccelerationMax = +{ + 0.0, /* min */ + TA_REAL_MAX, /* max */ + 4, /* precision */ + 0.20, /* suggested start */ + 0.40, /* suggested end */ + 0.01 /* suggested increment */ +}; + +static const TA_OptInputParameterInfo TA_DEF_UI_D_AccelerationFactor = +{ + TA_OptInput_RealRange, /* type */ + "optInAcceleration", /* paramName */ + 0, /* flags */ + + "Acceleration Factor", /* displayName */ + (const void *)&TA_DEF_AccelerationFactor, /* dataSet */ + 0.02, /* defaultValue */ + "Acceleration Factor used up to the Maximum value", /* hint */ + NULL /* CamelCase name */ +}; + +static const TA_OptInputParameterInfo TA_DEF_UI_D_AccelerationMaximum = +{ + TA_OptInput_RealRange, /* type */ + "optInMaximum", /* paramName */ + 0, /* flags */ + + "AF Maximum", /* displayName */ + (const void *)&TA_DEF_AccelerationMax, /* dataSet */ + 0.20, /* defaultValue */ + "Acceleration Factor Maximum value", /* hint */ + + NULL /* CamelCase name */ +}; + +static const TA_InputParameterInfo *TA_SAR_Inputs[] = +{ + &TA_DEF_UI_Input_Price_HL, + NULL +}; + +static const TA_OutputParameterInfo *TA_SAR_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_SAR_OptInputs[] = +{ &TA_DEF_UI_D_AccelerationFactor, + &TA_DEF_UI_D_AccelerationMaximum, + NULL +}; + +DEF_FUNCTION( SAR, /* name */ + TA_GroupId_OverlapStudies, /* groupId */ + "Parabolic SAR", /* hint */ + "Sar", /* CamelCase name */ + TA_FUNC_FLG_OVERLAP /* flags */ + ); + +/* SAR END */ + +/* SAREXT BEGIN */ +static const TA_RealRange TA_DEF_AccelerationInit = +{ + 0.0, /* min */ + TA_REAL_MAX, /* max */ + 4, /* precision */ + 0.01, /* suggested start */ + 0.19, /* suggested end */ + 0.01 /* suggested increment */ +}; + +static const TA_RealRange TA_DEF_SARStartValue = +{ + TA_REAL_MIN, /* min */ + TA_REAL_MAX, /* max */ + 4, /* precision */ + 0, /* suggested start */ + 0, /* suggested end */ + 0 /* suggested increment */ +}; + +static const TA_RealRange TA_DEF_SAROffsetOnReverse = +{ + 0.0, /* min */ + TA_REAL_MAX, /* max */ + 4, /* precision */ + 0.01, /* suggested start */ + 0.15, /* suggested end */ + 0.01 /* suggested increment */ +}; + +static const TA_OptInputParameterInfo TA_DEF_UI_D_StartValue = +{ + TA_OptInput_RealRange, /* type */ + "optInStartValue", /* paramName */ + 0, /* flags */ + + "Start Value", /* displayName */ + (const void *)&TA_DEF_SARStartValue, /* dataSet */ + 0.0, /* defaultValue */ + "Start value and direction. 0 for Auto, >0 for Long, <0 for Short", /* hint */ + + NULL /* CamelCase name */ +}; + +static const TA_OptInputParameterInfo TA_DEF_UI_D_OffsetOnReverse = +{ + TA_OptInput_RealRange, /* type */ + "optInOffsetOnReverse", /* paramName */ + 0, /* flags */ + + "Offset on Reverse", /* displayName */ + (const void *)&TA_DEF_SAROffsetOnReverse, /* dataSet */ + 0.0, /* defaultValue */ + "Percent offset added/removed to initial stop on short/long reversal", /* hint */ + + NULL /* CamelCase name */ +}; + +static const TA_OptInputParameterInfo TA_DEF_UI_D_AccelerationInitLong = +{ + TA_OptInput_RealRange, /* type */ + "optInAccelerationInitLong", /* paramName */ + 0, /* flags */ + + "AF Init Long", /* displayName */ + (const void *)&TA_DEF_AccelerationInit, /* dataSet */ + 0.02, /* defaultValue */ + "Acceleration Factor initial value for the Long direction", /* hint */ + + NULL /* CamelCase name */ +}; + +static const TA_OptInputParameterInfo TA_DEF_UI_D_AccelerationLong = +{ + TA_OptInput_RealRange, /* type */ + "optInAccelerationLong", /* paramName */ + 0, /* flags */ + + "AF Long", /* displayName */ + (const void *)&TA_DEF_AccelerationFactor, /* dataSet */ + 0.02, /* defaultValue */ + "Acceleration Factor for the Long direction", /* hint */ + NULL /* CamelCase name */ +}; + +static const TA_OptInputParameterInfo TA_DEF_UI_D_AccelerationMaxLong = +{ + TA_OptInput_RealRange, /* type */ + "optInAccelerationMaxLong", /* paramName */ + 0, /* flags */ + + "AF Max Long", /* displayName */ + (const void *)&TA_DEF_AccelerationMax, /* dataSet */ + 0.20, /* defaultValue */ + "Acceleration Factor maximum value for the Long direction", /* hint */ + + NULL /* CamelCase name */ +}; + +static const TA_OptInputParameterInfo TA_DEF_UI_D_AccelerationInitShort = +{ + TA_OptInput_RealRange, /* type */ + "optInAccelerationInitShort", /* paramName */ + 0, /* flags */ + + "AF Init Short", /* displayName */ + (const void *)&TA_DEF_AccelerationInit, /* dataSet */ + 0.02, /* defaultValue */ + "Acceleration Factor initial value for the Short direction", /* hint */ + + NULL /* CamelCase name */ +}; + +static const TA_OptInputParameterInfo TA_DEF_UI_D_AccelerationShort = +{ + TA_OptInput_RealRange, /* type */ + "optInAccelerationShort", /* paramName */ + 0, /* flags */ + + "AF Short", /* displayName */ + (const void *)&TA_DEF_AccelerationFactor, /* dataSet */ + 0.02, /* defaultValue */ + "Acceleration Factor for the Short direction", /* hint */ + NULL /* CamelCase name */ +}; + +static const TA_OptInputParameterInfo TA_DEF_UI_D_AccelerationMaxShort = +{ + TA_OptInput_RealRange, /* type */ + "optInAccelerationMaxShort", /* paramName */ + 0, /* flags */ + + "AF Max Short", /* displayName */ + (const void *)&TA_DEF_AccelerationMax, /* dataSet */ + 0.20, /* defaultValue */ + "Acceleration Factor maximum value for the Short direction", /* hint */ + + NULL /* CamelCase name */ +}; + +static const TA_InputParameterInfo *TA_SAREXT_Inputs[] = +{ + &TA_DEF_UI_Input_Price_HL, + NULL +}; + +static const TA_OutputParameterInfo *TA_SAREXT_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_SAREXT_OptInputs[] = +{ &TA_DEF_UI_D_StartValue, + &TA_DEF_UI_D_OffsetOnReverse, + &TA_DEF_UI_D_AccelerationInitLong, + &TA_DEF_UI_D_AccelerationLong, + &TA_DEF_UI_D_AccelerationMaxLong, + &TA_DEF_UI_D_AccelerationInitShort, + &TA_DEF_UI_D_AccelerationShort, + &TA_DEF_UI_D_AccelerationMaxShort, + NULL +}; + +DEF_FUNCTION( SAREXT, /* name */ + TA_GroupId_OverlapStudies, /* groupId */ + "Parabolic SAR - Extended", /* hint */ + "SarExt", /* CamelCase name */ + TA_FUNC_FLG_OVERLAP /* flags */ + ); + +/* SAREXT END */ + + +/* SIN BEGIN */ +DEF_MATH_UNARY_OPERATOR( SIN, "Vector Trigonometric Sin", "Sin" ) +/* SIN END */ + +/* SINH BEGIN */ +DEF_MATH_UNARY_OPERATOR( SINH, "Vector Trigonometric Sinh", "Sinh" ) +/* SINH END */ + +/* SMA BEGIN */ +static const TA_InputParameterInfo *TA_SMA_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_SMA_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_SMA_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_30_MINIMUM2, + NULL +}; + +DEF_FUNCTION( SMA, /* name */ + TA_GroupId_OverlapStudies, /* groupId */ + "Simple Moving Average", /* hint */ + "Sma", /* CamelCase name */ + TA_FUNC_FLG_OVERLAP /* flags */ + ); + +/* SMA END */ + +/* SQRT BEGIN */ +DEF_MATH_UNARY_OPERATOR( SQRT, "Vector Square Root", "Sqrt" ) +/* SQRT END */ + +/* SUB BEGIN */ +DEF_MATH_BINARY_OPERATOR( SUB, "Vector Arithmetic Substraction", "Sub" ) +/* SUB END */ + +/* SUM BEGIN */ +static const TA_InputParameterInfo *TA_SUM_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_SUM_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_SUM_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_30_MINIMUM2, + NULL +}; + +DEF_FUNCTION( SUM, /* name */ + TA_GroupId_MathOperators, /* groupId */ + "Summation", /* hint */ + "Sum", /* CamelCase name */ + 0 /* flags */ + ); +/* SUM END */ + +/* STDDEV BEGIN */ +static const TA_InputParameterInfo *TA_STDDEV_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_STDDEV_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_STDDEV_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_5_MINIMUM2, + &TA_DEF_UI_NbDeviation, + NULL +}; + +DEF_FUNCTION( STDDEV, /* name */ + TA_GroupId_Statistic, /* groupId */ + "Standard Deviation", /* hint */ + "StdDev", /* CamelCase name */ + 0 /* flags */ + ); +/* STDDEV END */ + +/* STOCH BEGIN */ +static const TA_OptInputParameterInfo TA_DEF_UI_FastK_Period = +{ + TA_OptInput_IntegerRange, /* type */ + "optInFastK_Period", /* paramName */ + 0, /* flags */ + + "Fast-K Period", /* displayName */ + (const void *)&TA_DEF_TimePeriod_Positive, /* dataSet */ + 5, /* defaultValue */ + "Time period for building the Fast-K line", /* hint */ + + NULL /* CamelCase name */ +}; + +static const TA_OptInputParameterInfo TA_DEF_UI_SlowK_Period = +{ + TA_OptInput_IntegerRange, /* type */ + "optInSlowK_Period", /* paramName */ + 0, /* flags */ + + "Slow-K Period", /* displayName */ + (const void *)&TA_DEF_TimePeriod_Positive, /* dataSet */ + 3, /* defaultValue */ + "Smoothing for making the Slow-K line. Usually set to 3", /* hint */ + + NULL /* CamelCase name */ +}; + +static const TA_OptInputParameterInfo TA_DEF_UI_SlowD_Period = +{ + TA_OptInput_IntegerRange, /* type */ + "optInSlowD_Period", /* paramName */ + 0, /* flags */ + + "Slow-D Period", /* displayName */ + (const void *)&TA_DEF_TimePeriod_Positive, /* dataSet */ + 3, /* defaultValue */ + "Smoothing for making the Slow-D line", /* hint */ + + NULL /* CamelCase name */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_SlowK_MAType = +{ + TA_OptInput_IntegerList, /* type */ + "optInSlowK_MAType", /* paramName */ + 0, /* flags */ + + "Slow-K MA", /* displayName */ + (const void *)&TA_MA_TypeList, /* dataSet */ + 0, /* defaultValue = simple average */ + "Type of Moving Average for Slow-K", /* hint */ + + NULL /* CamelCase name */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_SlowD_MAType = +{ + TA_OptInput_IntegerList, /* type */ + "optInSlowD_MAType", /* paramName */ + 0, /* flags */ + + "Slow-D MA", /* displayName */ + (const void *)&TA_MA_TypeList, /* dataSet */ + 0, /* defaultValue = simple average */ + "Type of Moving Average for Slow-D", /* hint */ + + NULL /* CamelCase name */ +}; + +const TA_OutputParameterInfo TA_DEF_UI_Output_SlowK = + { TA_Output_Real, "outSlowK", TA_OUT_DASH_LINE }; + +const TA_OutputParameterInfo TA_DEF_UI_Output_SlowD = + { TA_Output_Real, "outSlowD", TA_OUT_DASH_LINE }; + +static const TA_InputParameterInfo *TA_STOCH_Inputs[] = +{ + &TA_DEF_UI_Input_Price_HLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_STOCH_Outputs[] = +{ + &TA_DEF_UI_Output_SlowK, + &TA_DEF_UI_Output_SlowD, + NULL +}; + +static const TA_OptInputParameterInfo *TA_STOCH_OptInputs[] = +{ &TA_DEF_UI_FastK_Period, + &TA_DEF_UI_SlowK_Period, + &TA_DEF_UI_SlowK_MAType, + &TA_DEF_UI_SlowD_Period, + &TA_DEF_UI_SlowD_MAType, + NULL +}; + +DEF_FUNCTION( STOCH, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Stochastic", /* hint */ + "Stoch", /* CamelCase name */ + 0 /* flags */ + ); +/* STOCH END */ + +/* STOCHF BEGIN */ +static const TA_OptInputParameterInfo TA_DEF_UI_FastD_Period = +{ + TA_OptInput_IntegerRange, /* type */ + "optInFastD_Period", /* paramName */ + 0, /* flags */ + + "Fast-D Period", /* displayName */ + (const void *)&TA_DEF_TimePeriod_Positive, /* dataSet */ + 3, /* defaultValue */ + "Smoothing for making the Fast-D line. Usually set to 3", /* hint */ + + NULL /* CamelCase name */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_FastD_MAType = +{ + TA_OptInput_IntegerList, /* type */ + "optInFastD_MAType", /* paramName */ + 0, /* flags */ + + "Fast-D MA", /* displayName */ + (const void *)&TA_MA_TypeList, /* dataSet */ + 0, /* defaultValue = simple average */ + "Type of Moving Average for Fast-D", /* hint */ + + NULL /* CamelCase name */ +}; + +const TA_OutputParameterInfo TA_DEF_UI_Output_FastK = + { TA_Output_Real, "outFastK", TA_OUT_LINE }; + +const TA_OutputParameterInfo TA_DEF_UI_Output_FastD = + { TA_Output_Real, "outFastD", TA_OUT_LINE }; + +static const TA_InputParameterInfo *TA_STOCHF_Inputs[] = +{ + &TA_DEF_UI_Input_Price_HLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_STOCHF_Outputs[] = +{ + &TA_DEF_UI_Output_FastK, + &TA_DEF_UI_Output_FastD, + NULL +}; + +static const TA_OptInputParameterInfo *TA_STOCHF_OptInputs[] = +{ &TA_DEF_UI_FastK_Period, + &TA_DEF_UI_FastD_Period, + &TA_DEF_UI_FastD_MAType, + NULL +}; + +DEF_FUNCTION( STOCHF, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Stochastic Fast", /* hint */ + "StochF", /* CamelCase name */ + 0 /* flags */ + ); +/* STOCHF END */ + +/* STOCHRSI BEGIN */ +static const TA_InputParameterInfo *TA_STOCHRSI_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_STOCHRSI_Outputs[] = +{ + &TA_DEF_UI_Output_FastK, + &TA_DEF_UI_Output_FastD, + NULL +}; + +static const TA_OptInputParameterInfo *TA_STOCHRSI_OptInputs[] = +{ + &TA_DEF_UI_TimePeriod_14_MINIMUM2, + &TA_DEF_UI_FastK_Period, + &TA_DEF_UI_FastD_Period, + &TA_DEF_UI_FastD_MAType, + NULL +}; + +DEF_FUNCTION( STOCHRSI, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Stochastic Relative Strength Index", /* hint */ + "StochRsi", /* CamelCase name */ + TA_FUNC_FLG_UNST_PER /* flags */ + ); + +/* STOCHRSI END */ + +/**************************************************************************** + * Step 2 - Add your TA function to the table. + * Keep in alphabetical order. Must be NULL terminated. + ****************************************************************************/ +const TA_FuncDef *TA_DEF_TableS[] = +{ + ADD_TO_TABLE(SAR), + ADD_TO_TABLE(SAREXT), + ADD_TO_TABLE(SIN), + ADD_TO_TABLE(SINH), + ADD_TO_TABLE(SMA), + ADD_TO_TABLE(SQRT), + ADD_TO_TABLE(STDDEV), + ADD_TO_TABLE(STOCH), + ADD_TO_TABLE(STOCHF), + ADD_TO_TABLE(STOCHRSI), + ADD_TO_TABLE(SUB), + ADD_TO_TABLE(SUM), + NULL +}; + + +/* Do not modify the following line. */ +const unsigned int TA_DEF_TableSSize = + ((sizeof(TA_DEF_TableS)/sizeof(TA_FuncDef *))-1); + + +/**************************************************************************** + * Step 3 - Make sure "gen_code" is executed for generating all other + * source files derived from this one. + * You can then re-compile the library as usual and you are done! + ****************************************************************************/ diff --git a/vendor/ta-lib/src/ta_abstract/tables/table_t.c b/vendor/ta-lib/src/ta_abstract/tables/table_t.c new file mode 100644 index 000000000..6dbef0fd6 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/tables/table_t.c @@ -0,0 +1,277 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/********************************************************************* + * This file contains only TA functions starting with the letter 'T' * + *********************************************************************/ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +/* Follow the 3 steps defined below for adding a new TA Function to this + * file. + */ + +/**************************************************************************** + * Step 1 - Define here the interface to your TA functions with + * the macro DEF_FUNCTION. + * + ****************************************************************************/ + +/* T3 BEGIN */ +static const TA_OptInputParameterInfo TA_DEF_UI_VFactor = +{ + TA_OptInput_RealRange, /* type */ + "optInVFactor", /* paramName */ + 0, /* flags */ + + "Volume Factor", /* displayName */ + (const void *)&TA_DEF_ZeroToOne, /* dataSet */ + 0.7, /* defaultValue */ + "Volume Factor", /* hint */ + NULL /* CamelCase name */ +}; + +static const TA_InputParameterInfo *TA_T3_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_T3_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_T3_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_5_MINIMUM2, + &TA_DEF_UI_VFactor, + NULL +}; + +DEF_FUNCTION( T3, /* name */ + TA_GroupId_OverlapStudies, /* groupId */ + "Triple Exponential Moving Average (T3)", /* hint */ + "T3", /* CamelCase name */ + TA_FUNC_FLG_OVERLAP|TA_FUNC_FLG_UNST_PER /* flags */ + ); +/* T3 END */ + +/* TAN BEGIN */ +DEF_MATH_UNARY_OPERATOR( TAN, "Vector Trigonometric Tan", "Tan" ) +/* TAN END */ + +/* TANH BEGIN */ +DEF_MATH_UNARY_OPERATOR( TANH, "Vector Trigonometric Tanh", "Tanh" ) +/* TANH END */ + +/* TEMA BEGIN */ +static const TA_InputParameterInfo *TA_TEMA_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_TEMA_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_TEMA_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_30_MINIMUM2, + NULL +}; + +DEF_FUNCTION( TEMA, /* name */ + TA_GroupId_OverlapStudies, /* groupId */ + "Triple Exponential Moving Average", /* hint */ + "Tema", /* CamelCase name */ + TA_FUNC_FLG_OVERLAP /* flags */ + ); +/* TEMA END */ + +/* TRANGE BEGIN */ +static const TA_InputParameterInfo *TA_TRANGE_Inputs[] = +{ + &TA_DEF_UI_Input_Price_HLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_TRANGE_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_TRANGE_OptInputs[] = { NULL }; + +DEF_FUNCTION( TRANGE, /* name */ + TA_GroupId_VolatilityIndicators, /* groupId */ + "True Range", /* hint */ + "TrueRange", /* CamelCase name */ + 0 /* flags */ + ); +/* TRANGE END */ + +/* TRIMA BEGIN */ +static const TA_InputParameterInfo *TA_TRIMA_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_TRIMA_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_TRIMA_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_30_MINIMUM2, + NULL +}; + +DEF_FUNCTION( TRIMA, /* name */ + TA_GroupId_OverlapStudies, /* groupId */ + "Triangular Moving Average", /* hint */ + "Trima", /* CamelCase name */ + TA_FUNC_FLG_OVERLAP /* flags */ + ); +/* TRIMA END */ + +/* TRIX BEGIN */ +static const TA_InputParameterInfo *TA_TRIX_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_TRIX_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_TRIX_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_30, + NULL +}; + +DEF_FUNCTION( TRIX, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "1-day Rate-Of-Change (ROC) of a Triple Smooth EMA", /* hint */ + "Trix", /* CamelCase name */ + 0 /* flags */ + ); +/* TRIX END */ + +/* TSF BEGIN */ +static const TA_InputParameterInfo *TA_TSF_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_TSF_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_TSF_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_14_MINIMUM2, + NULL +}; + +DEF_FUNCTION( TSF, /* name */ + TA_GroupId_Statistic, /* groupId */ + "Time Series Forecast",/* hint */ + "Tsf", /* CamelCase name */ + TA_FUNC_FLG_OVERLAP /* flags */ + ); +/* TSF END */ + +/* TYPPRICE BEGIN */ +static const TA_InputParameterInfo *TA_TYPPRICE_Inputs[] = +{ + &TA_DEF_UI_Input_Price_HLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_TYPPRICE_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_TYPPRICE_OptInputs[] = { NULL }; + +DEF_FUNCTION( TYPPRICE, /* name */ + TA_GroupId_PriceTransform, /* groupId */ + "Typical Price", /* hint */ + "TypPrice", /* CamelCase name */ + TA_FUNC_FLG_OVERLAP /* flags */ + ); +/* TYPPRICE END */ + +/**************************************************************************** + * Step 2 - Add your TA function to the table. + * Keep in alphabetical order. Must be NULL terminated. + ****************************************************************************/ +const TA_FuncDef *TA_DEF_TableT[] = +{ + ADD_TO_TABLE(T3), + ADD_TO_TABLE(TAN), + ADD_TO_TABLE(TANH), + ADD_TO_TABLE(TEMA), + ADD_TO_TABLE(TRANGE), + ADD_TO_TABLE(TRIMA), + ADD_TO_TABLE(TRIX), + ADD_TO_TABLE(TSF), + ADD_TO_TABLE(TYPPRICE), + NULL +}; + + +/* Do not modify the following line. */ +const unsigned int TA_DEF_TableTSize = + ((sizeof(TA_DEF_TableT)/sizeof(TA_FuncDef *))-1); + + +/**************************************************************************** + * Step 3 - Make sure "gen_code" is executed for generating all other + * source files derived from this one. + * You can then re-compile the library as usual and you are done! + ****************************************************************************/ diff --git a/vendor/ta-lib/src/ta_abstract/tables/table_u.c b/vendor/ta-lib/src/ta_abstract/tables/table_u.c new file mode 100644 index 000000000..1a7856764 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/tables/table_u.c @@ -0,0 +1,142 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/********************************************************************* + * This file contains only TA functions starting with the letter 'U' * + *********************************************************************/ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +/* Follow the 3 steps defined below for adding a new TA Function to this + * file. + */ + +/**************************************************************************** + * Step 1 - Define here the interface to your TA functions with + * the macro DEF_FUNCTION. + * + ****************************************************************************/ + +/* ULTOSC BEGIN */ +const TA_OptInputParameterInfo TA_DEF_UI_TimePeriod_7_PER1 = +{ + TA_OptInput_IntegerRange, /* type */ + "optInTimePeriod1", /* paramName */ + 0, /* flags */ + + "First Period", /* displayName */ + (const void *)&TA_DEF_TimePeriod_Positive, /* dataSet */ + 7, /* defaultValue */ + "Number of bars for 1st period.", /* hint */ + + NULL /* CamelCase name */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_TimePeriod_14_PER2 = +{ + TA_OptInput_IntegerRange, /* type */ + "optInTimePeriod2", /* paramName */ + 0, /* flags */ + + "Second Period", /* displayName */ + (const void *)&TA_DEF_TimePeriod_Positive, /* dataSet */ + 14, /* defaultValue */ + "Number of bars fro 2nd period", /* hint */ + + NULL /* CamelCase name */ +}; + +const TA_OptInputParameterInfo TA_DEF_UI_TimePeriod_28_PER3 = +{ + TA_OptInput_IntegerRange, /* type */ + "optInTimePeriod3", /* paramName */ + 0, /* flags */ + + "Third Period", /* displayName */ + (const void *)&TA_DEF_TimePeriod_Positive, /* dataSet */ + 28, /* defaultValue */ + "Number of bars for 3rd period", /* hint */ + + NULL /* CamelCase name */ +}; + +static const TA_InputParameterInfo *TA_ULTOSC_Inputs[] = +{ + &TA_DEF_UI_Input_Price_HLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_ULTOSC_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_ULTOSC_OptInputs[] = +{ + &TA_DEF_UI_TimePeriod_7_PER1, + &TA_DEF_UI_TimePeriod_14_PER2, + &TA_DEF_UI_TimePeriod_28_PER3, + NULL +}; + +DEF_FUNCTION( ULTOSC, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Ultimate Oscillator", /* hint */ + "UltOsc", /* CamelCase name */ + 0 /* flags */ + ); +/* ULTOSC END */ + +/**************************************************************************** + * Step 2 - Add your TA function to the table. + * Keep in alphabetical order. Must be NULL terminated. + ****************************************************************************/ +const TA_FuncDef *TA_DEF_TableU[] = +{ + ADD_TO_TABLE(ULTOSC), + NULL +}; + + +/* Do not modify the following line. */ +const unsigned int TA_DEF_TableUSize = + ((sizeof(TA_DEF_TableU)/sizeof(TA_FuncDef *))-1); + + +/**************************************************************************** + * Step 3 - Make sure "gen_code" is executed for generating all other + * source files derived from this one. + * You can then re-compile the library as usual and you are done! + ****************************************************************************/ diff --git a/vendor/ta-lib/src/ta_abstract/tables/table_v.c b/vendor/ta-lib/src/ta_abstract/tables/table_v.c new file mode 100644 index 000000000..e49fa92e2 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/tables/table_v.c @@ -0,0 +1,98 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/********************************************************************* + * This file contains only TA functions starting with the letter 'V' * + *********************************************************************/ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +/* Follow the 3 steps defined below for adding a new TA Function to this + * file. + */ + +/**************************************************************************** + * Step 1 - Define here the interface to your TA functions with + * the macro DEF_FUNCTION. + * + ****************************************************************************/ + +/* VAR BEGIN */ +static const TA_InputParameterInfo *TA_VAR_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_VAR_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_VAR_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_5, + &TA_DEF_UI_NbDeviation, + NULL +}; + +DEF_FUNCTION( VAR, /* name */ + TA_GroupId_Statistic, /* groupId */ + "Variance", /* hint */ + "Variance", /* CamelCase name */ + 0 /* flags */ + ); +/* VAR END */ + +/**************************************************************************** + * Step 2 - Add your TA function to the table. + * Keep in alphabetical order. Must be NULL terminated. + ****************************************************************************/ +const TA_FuncDef *TA_DEF_TableV[] = +{ + ADD_TO_TABLE(VAR), + NULL +}; + + +/* Do not modify the following line. */ +const unsigned int TA_DEF_TableVSize = + ((sizeof(TA_DEF_TableV)/sizeof(TA_FuncDef *))-1); + + +/**************************************************************************** + * Step 3 - Make sure "gen_code" is executed for generating all other + * source files derived from this one. + * You can then re-compile the library as usual and you are done! + ****************************************************************************/ diff --git a/vendor/ta-lib/src/ta_abstract/tables/table_w.c b/vendor/ta-lib/src/ta_abstract/tables/table_w.c new file mode 100644 index 000000000..266659086 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/tables/table_w.c @@ -0,0 +1,149 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/********************************************************************* + * This file contains only TA functions starting with the letter 'W' * + *********************************************************************/ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +/* Follow the 3 steps defined below for adding a new TA Function to this + * file. + */ + +/**************************************************************************** + * Step 1 - Define here the interface to your TA functions with + * the macro DEF_FUNCTION. + * + ****************************************************************************/ + +/* WCL BEGIN */ +static const TA_InputParameterInfo *TA_WCLPRICE_Inputs[] = +{ + &TA_DEF_UI_Input_Price_HLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_WCLPRICE_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_WCLPRICE_OptInputs[] = { NULL }; + +DEF_FUNCTION( WCLPRICE, /* name */ + TA_GroupId_PriceTransform, /* groupId */ + "Weighted Close Price", /* hint */ + "WclPrice", /* CamelCase name */ + TA_FUNC_FLG_OVERLAP /* flags */ + ); +/* WCL END */ + +/* WILLR BEGIN */ +static const TA_InputParameterInfo *TA_WILLR_Inputs[] = +{ + &TA_DEF_UI_Input_Price_HLC, + NULL +}; + +static const TA_OutputParameterInfo *TA_WILLR_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_WILLR_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_14_MINIMUM2, + NULL +}; + +DEF_FUNCTION( WILLR, /* name */ + TA_GroupId_MomentumIndicators, /* groupId */ + "Williams' %R", /* hint */ + "WillR", /* CamelCase name */ + 0 /* flags */ + ); +/* WILLR END */ + +/* WMA BEGIN */ +static const TA_InputParameterInfo *TA_WMA_Inputs[] = +{ + &TA_DEF_UI_Input_Real, + NULL +}; + +static const TA_OutputParameterInfo *TA_WMA_Outputs[] = +{ + &TA_DEF_UI_Output_Real, + NULL +}; + +static const TA_OptInputParameterInfo *TA_WMA_OptInputs[] = +{ &TA_DEF_UI_TimePeriod_30_MINIMUM2, + NULL +}; + +DEF_FUNCTION( WMA, /* name */ + TA_GroupId_OverlapStudies, /* groupId */ + "Weighted Moving Average", /* hint */ + "Wma", /* CamelCase name */ + TA_FUNC_FLG_OVERLAP /* flags */ + ); + +/* WMA END */ + +/**************************************************************************** + * Step 2 - Add your TA function to the table. + * Keep in alphabetical order. Must be NULL terminated. + ****************************************************************************/ +const TA_FuncDef *TA_DEF_TableW[] = +{ + ADD_TO_TABLE(WCLPRICE), + ADD_TO_TABLE(WILLR), + ADD_TO_TABLE(WMA), + NULL +}; + + +/* Do not modify the following line. */ +const unsigned int TA_DEF_TableWSize = + ((sizeof(TA_DEF_TableW)/sizeof(TA_FuncDef *))-1); + + +/**************************************************************************** + * Step 3 - Make sure "gen_code" is executed for generating all other + * source files derived from this one. + * You can then re-compile the library as usual and you are done! + ****************************************************************************/ diff --git a/vendor/ta-lib/src/ta_abstract/tables/table_x.c b/vendor/ta-lib/src/ta_abstract/tables/table_x.c new file mode 100644 index 000000000..addb74d1a --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/tables/table_x.c @@ -0,0 +1,72 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/********************************************************************* + * This file contains only TA functions starting with the letter 'X' * + *********************************************************************/ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +/* Follow the 3 steps defined below for adding a new TA Function to this + * file. + */ + +/**************************************************************************** + * Step 1 - Define here the interface to your TA functions with + * the macro DEF_FUNCTION. + * + ****************************************************************************/ + +/* None */ + +/**************************************************************************** + * Step 2 - Add your TA function to the table. + * Keep in alphabetical order. Must be NULL terminated. + ****************************************************************************/ +const TA_FuncDef *TA_DEF_TableX[] = +{ + NULL +}; + + +/* Do not modify the following line. */ +const unsigned int TA_DEF_TableXSize = + ((sizeof(TA_DEF_TableX)/sizeof(TA_FuncDef *))-1); + + +/**************************************************************************** + * Step 3 - Make sure "gen_code" is executed for generating all other + * source files derived from this one. + * You can then re-compile the library as usual and you are done! + ****************************************************************************/ diff --git a/vendor/ta-lib/src/ta_abstract/tables/table_y.c b/vendor/ta-lib/src/ta_abstract/tables/table_y.c new file mode 100644 index 000000000..fe1679ad4 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/tables/table_y.c @@ -0,0 +1,72 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/********************************************************************* + * This file contains only TA functions starting with the letter 'Y' * + *********************************************************************/ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +/* Follow the 3 steps defined below for adding a new TA Function to this + * file. + */ + +/**************************************************************************** + * Step 1 - Define here the interface to your TA functions with + * the macro DEF_FUNCTION. + * + ****************************************************************************/ + +/* None */ + +/**************************************************************************** + * Step 2 - Add your TA function to the table. + * Keep in alphabetical order. Must be NULL terminated. + ****************************************************************************/ +const TA_FuncDef *TA_DEF_TableY[] = +{ + NULL +}; + + +/* Do not modify the following line. */ +const unsigned int TA_DEF_TableYSize = + ((sizeof(TA_DEF_TableY)/sizeof(TA_FuncDef *))-1); + + +/**************************************************************************** + * Step 3 - Make sure "gen_code" is executed for generating all other + * source files derived from this one. + * You can then re-compile the library as usual and you are done! + ****************************************************************************/ diff --git a/vendor/ta-lib/src/ta_abstract/tables/table_z.c b/vendor/ta-lib/src/ta_abstract/tables/table_z.c new file mode 100644 index 000000000..de871a1f5 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/tables/table_z.c @@ -0,0 +1,72 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/********************************************************************* + * This file contains only TA functions starting with the letter 'Z' * + *********************************************************************/ +#include +#include "ta_abstract.h" +#include "ta_def_ui.h" + +/* Follow the 3 steps defined below for adding a new TA Function to this + * file. + */ + +/**************************************************************************** + * Step 1 - Define here the interface to your TA functions with + * the macro DEF_FUNCTION. + * + ****************************************************************************/ + +/* None */ + +/**************************************************************************** + * Step 2 - Add your TA function to the table. + * Keep in alphabetical order. Must be NULL terminated. + ****************************************************************************/ +const TA_FuncDef *TA_DEF_TableZ[] = +{ + NULL +}; + + +/* Do not modify the following line. */ +const unsigned int TA_DEF_TableZSize = + ((sizeof(TA_DEF_TableZ)/sizeof(TA_FuncDef *))-1); + + +/**************************************************************************** + * Step 3 - Make sure "gen_code" is executed for generating all other + * source files derived from this one. + * You can then re-compile the library as usual and you are done! + ****************************************************************************/ diff --git a/vendor/ta-lib/src/ta_abstract/templates/CoreAnnotated.java.template b/vendor/ta-lib/src/ta_abstract/templates/CoreAnnotated.java.template new file mode 100644 index 000000000..c563be53a --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/templates/CoreAnnotated.java.template @@ -0,0 +1,69 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* DO NOT MODIFY this file. + * This file is automatically generated by gen_code. + * + * If you are not re-generating the java code (which is most + * likely the case), just ignore this file. + */ + +package com.tictactec.ta.lib; + +import com.tictactec.ta.lib.MAType; +import com.tictactec.ta.lib.MInteger; +import com.tictactec.ta.lib.RetCode; +import com.tictactec.ta.lib.Core; +import com.tictactec.ta.lib.meta.annotation.FuncFlags; +import com.tictactec.ta.lib.meta.annotation.FuncInfo; +import com.tictactec.ta.lib.meta.annotation.InputFlags; +import com.tictactec.ta.lib.meta.annotation.InputParameterInfo; +import com.tictactec.ta.lib.meta.annotation.InputParameterType; +import com.tictactec.ta.lib.meta.annotation.IntegerList; +import com.tictactec.ta.lib.meta.annotation.IntegerRange; +import com.tictactec.ta.lib.meta.annotation.OptInputParameterInfo; +import com.tictactec.ta.lib.meta.annotation.OptInputParameterType; +import com.tictactec.ta.lib.meta.annotation.OutputFlags; +import com.tictactec.ta.lib.meta.annotation.OutputParameterInfo; +import com.tictactec.ta.lib.meta.annotation.OutputParameterType; +import com.tictactec.ta.lib.meta.annotation.RealRange; + +public class CoreAnnotated extends Core { + +%%%GENCODE%%% + +} + +/*************** + * End of File * + ***************/ diff --git a/vendor/ta-lib/src/ta_abstract/templates/Makefile.am.template b/vendor/ta-lib/src/ta_abstract/templates/Makefile.am.template new file mode 100644 index 000000000..73de5e187 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/templates/Makefile.am.template @@ -0,0 +1,13 @@ + +noinst_LTLIBRARIES = libta_func.la +AM_CPPFLAGS = -I../ta_common/ + +libta_func_la_SOURCES = ta_utility.c \ +%%%GENCODE%%% + +libta_func_la_LDFLAGS = -version-info $(TALIB_LIBRARY_VERSION) + +libta_funcdir=$(includedir)/ta-lib/ +libta_func_HEADERS = ../../include/ta_defs.h \ + ../../include/ta_libc.h \ + ../../include/ta_func.h diff --git a/vendor/ta-lib/src/ta_abstract/templates/excel_glue.c.template b/vendor/ta-lib/src/ta_abstract/templates/excel_glue.c.template new file mode 100644 index 000000000..b82f0c15c --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/templates/excel_glue.c.template @@ -0,0 +1,45 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* DO NOT MODIFY this file. + * This file is automatically generated by gen_code. + * + * If you are not re-building the excel library (which is most + * likely the case), just ignore this file. + */ + +%%%GENCODE%%% + +/*************** + * End of File * + ***************/ diff --git a/vendor/ta-lib/src/ta_abstract/templates/ta_frame.c.template b/vendor/ta-lib/src/ta_abstract/templates/ta_frame.c.template new file mode 100644 index 000000000..0c1dec33c --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/templates/ta_frame.c.template @@ -0,0 +1,63 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* Note: This file is generated by gencode, do not + * modify directly. + */ + +/* The function define in this file allows to have a consistent + * framework for calling all the TA function through + * the TA_CallFunc mechanism. + * + * See "ta_abstract.h" + */ + +#ifndef TA_FUNC_H + #include "ta_func.h" +#endif + +#ifndef TA_FRAME_PRIV_H + #include "ta_frame_priv.h" +#endif + +#ifndef TA_FRAME_H + #include "ta_frame.h" +#endif + +/* NEVER CALL directly these functions! Use TA_CallFunc. */ + +%%%GENCODE%%% + +/***************/ +/* End of File */ +/***************/ diff --git a/vendor/ta-lib/src/ta_abstract/templates/ta_frame.h.template b/vendor/ta-lib/src/ta_abstract/templates/ta_frame.h.template new file mode 100644 index 000000000..64ba7a0ae --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/templates/ta_frame.h.template @@ -0,0 +1,60 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef TA_FRAME_H +#define TA_FRAME_H + +/* Note: This file is generated by gencode, do not + * modify directly. + */ + +/* The function define in this file allows to call a TA + * function through the TA_CallFunc mechanism. + */ + +#ifndef TA_COMMON_H + #include "ta_common.h" +#endif + +#ifndef TA_FRAME_PRIV_H + #include "ta_frame_priv.h" +#endif + + +%%%GENCODE%%% + +#endif + +/***************/ +/* End of File */ +/***************/ diff --git a/vendor/ta-lib/src/ta_abstract/templates/ta_func.h.template b/vendor/ta-lib/src/ta_abstract/templates/ta_func.h.template new file mode 100644 index 000000000..f93d09461 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/templates/ta_func.h.template @@ -0,0 +1,66 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef TA_FUNC_H +#define TA_FUNC_H + +#ifndef TA_COMMON_H + #include "ta_common.h" +#endif + +/* This header contains the prototype of all the Technical Analysis + * function provided by TA-LIB. + */ + +/* TA-LIB Developer Note: Do not modify this file, it is automaticaly + * generated by gen_code. + */ +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef TA_DEFS_H + #include "ta_defs.h" +#endif + +%%%GENCODE%%% + +#ifdef __cplusplus +} +#endif + +#endif + +/***************/ +/* End of File */ +/***************/ + diff --git a/vendor/ta-lib/src/ta_abstract/templates/ta_func.swg.template b/vendor/ta-lib/src/ta_abstract/templates/ta_func.swg.template new file mode 100644 index 000000000..3346210d5 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/templates/ta_func.swg.template @@ -0,0 +1,45 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* DO NOT MODIFY this file. + * This file is automatically generated by gen_code. + * + * If you are not re-building an interface with SWIG (which is most + * likely the case), just ignore this file. + */ + +%%%GENCODE%%% + +/*************** + * End of File * + ***************/ diff --git a/vendor/ta-lib/src/ta_abstract/templates/ta_func_api.c.template b/vendor/ta-lib/src/ta_abstract/templates/ta_func_api.c.template new file mode 100644 index 000000000..689aefc26 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/templates/ta_func_api.c.template @@ -0,0 +1,55 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* Important: This file is automatically generated by gen_code. + * Any modification will be lost on next execution + * of gen_code. + * + * This file is a binary representation of the func_api.xml file. + */ + +#include "ta_abstract.h" + +static const char TA_FunctionDescriptionXMLArray[] = +{ +%%%GENCODE%%% +}; + +const char *TA_FunctionDescriptionXML() +{ + return TA_FunctionDescriptionXMLArray; +} + +/***************/ +/* End of File */ +/***************/ diff --git a/vendor/ta-lib/src/ta_abstract/templates/ta_group_idx.c.template b/vendor/ta-lib/src/ta_abstract/templates/ta_group_idx.c.template new file mode 100644 index 000000000..cfaba0015 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/templates/ta_group_idx.c.template @@ -0,0 +1,56 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* Important: This file is automatically generated by gen_code. + * Any modification will be lost on next execution + * of gen_code. + * + * The goal of this file is to build the following global + * constant: + * TA_PerGroupFuncDef + * TA_PerGroupSize + * TA_TotalNbFunction + * + * These constant allows mainly to speed optimize functionality related to + * sequential access to TA_DefFunc by TA_GroupId (see ta_abstract.c) + */ +#include +#include "ta_def_ui.h" +#include "ta_abstract.h" + +%%%GENCODE%%% + + +/***************/ +/* End of File */ +/***************/ diff --git a/vendor/ta-lib/src/ta_abstract/templates/ta_java_defs.h.template b/vendor/ta-lib/src/ta_abstract/templates/ta_java_defs.h.template new file mode 100644 index 000000000..b9cbdb6a7 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/templates/ta_java_defs.h.template @@ -0,0 +1,45 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* DO NOT MODIFY this file. + * This file is automatically generated by gen_code. + * + * If you are not re-generating the java code (which is most + * likely the case), just ignore this file. + */ + +%%%GENCODE%%% + +/*************** + * End of File * + ***************/ diff --git a/vendor/ta-lib/src/ta_abstract/templates/ta_retcode.c.template b/vendor/ta-lib/src/ta_abstract/templates/ta_retcode.c.template new file mode 100644 index 000000000..5c2f507c8 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/templates/ta_retcode.c.template @@ -0,0 +1,92 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* Important: This file is automatically generated by the utility gen_code. + * Any modification will be lost on next execution of gen_code. + * + * The goal of this file is to provide the functionality TA_SetRetCodeInfo. + * + * This function is a convenient way for the user to translate a TA_RetCode into + * a human readable string. + */ +#include + +typedef struct +{ + TA_RetCode retCode; + const char * const enumStr; + const char * const infoStr; +} TA_InternalRetCodeInfo; + +static TA_InternalRetCodeInfo retCodeInfoTable[] = { +%%%GENCODE%%% + {(TA_RetCode)0xFFFF,"TA_UNKNOWN_ERR","Unknown Error"} +}; + +#define NB_RET_CODE_INFO (sizeof(retCodeInfoTable)/sizeof(TA_InternalRetCodeInfo)) + +void TA_SetRetCodeInfo( TA_RetCode theRetCode, TA_RetCodeInfo *retCodeInfo ) +{ + unsigned int i; + + /* Trap internal error code */ + if( (theRetCode >= 5000) && (theRetCode <= 5999) ) + { + retCodeInfo->enumStr = "TA_INTERNAL_ERROR"; + retCodeInfo->infoStr = "Unexpected Internal Error - Contact TA-Lib.org"; + return; + } + + /* Check among all the error code defined in ta_common.h */ + for( i=0; i < (NB_RET_CODE_INFO-1); i++ ) + { + if( theRetCode == retCodeInfoTable[i].retCode ) + { + /* Error code found. */ + retCodeInfo->enumStr = retCodeInfoTable[i].enumStr; + retCodeInfo->infoStr = retCodeInfoTable[i].infoStr; + return; + } + } + + /* Error code not found. */ + + /* "TA_UNKNOWN_ERR" is ALWAYS the last entry in the table. */ + retCodeInfo->enumStr = retCodeInfoTable[i].enumStr; + retCodeInfo->infoStr = retCodeInfoTable[i].infoStr; +} + +/***************/ +/* End of File */ +/***************/ + diff --git a/vendor/ta-lib/src/ta_abstract/templates/ta_x.c.template b/vendor/ta-lib/src/ta_abstract/templates/ta_x.c.template new file mode 100644 index 000000000..5b227f168 --- /dev/null +++ b/vendor/ta-lib/src/ta_abstract/templates/ta_x.c.template @@ -0,0 +1,84 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier (Replace when you are the original author) + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * XXXXXX MF Initial Version + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +%%%GENCODE%%% +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +%%%GENCODE%%% +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +%%%GENCODE%%% +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +%%%GENCODE%%% +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Default return values */ + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNbElement); + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +%%%GENCODE%%% +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_common/Makefile.am b/vendor/ta-lib/src/ta_common/Makefile.am new file mode 100644 index 000000000..945449020 --- /dev/null +++ b/vendor/ta-lib/src/ta_common/Makefile.am @@ -0,0 +1,15 @@ + +noinst_LTLIBRARIES = libta_common.la +AM_CPPFLAGS = -I../ta_common/ + +libta_common_la_SOURCES = ta_global.c \ + ta_retcode.c \ + ta_version.c + +libta_common_la_LDFLAGS = -version-info $(TALIB_LIBRARY_VERSION) + +libta_commondir=$(includedir)/ta-lib/ +libta_common_HEADERS = ../../include/ta_defs.h \ + ../../include/ta_libc.h \ + ../../include/ta_common.h + diff --git a/vendor/ta-lib/src/ta_common/ta_global.c b/vendor/ta-lib/src/ta_common/ta_global.c new file mode 100644 index 000000000..33ff85f14 --- /dev/null +++ b/vendor/ta-lib/src/ta_common/ta_global.c @@ -0,0 +1,178 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF First version. + * 082004 AC Add TA_SetCandleSettings, TA_RestoreCandleDefaultSettings + * and call to TA_RestoreCandleDefaultSettings in TA_Initialize + * 041106 MF Add prefix to theGlobals to avoid clash with other libs. + * 040707 MF Change global initialization to eliminate Mac OS X link error. + */ + +/* Description: + * Provides initialization / shutdown functionality for all modules. + */ + +/**** Headers ****/ +#include +#include +#include + +#include "ta_common.h" +#include "ta_magic_nb.h" +#include "ta_global.h" +#include "ta_func.h" + +/**** External functions declarations. ****/ +/* None */ + +/**** External variables declarations. ****/ +/* None */ + +/**** Global variables definitions. ****/ + +/* The entry point for all globals */ +TA_LibcPriv ta_theGlobals = {0,{{0,0,0}},0,0,0,0,(TA_Compatibility)0,{0},{{(TA_CandleSettingType)0,(TA_RangeType)0,0,0}}}; + +TA_LibcPriv *TA_Globals = &ta_theGlobals; + +/**** Local declarations. ****/ +/* None */ + +/**** Local functions declarations. ****/ +/* None */ + +/**** Local variables definitions. ****/ +/* None */ + +/**** Global functions definitions. ****/ +TA_RetCode TA_Initialize( void ) +{ + /* Initialize the "global variable" used to manage the global + * variables of all other modules... + */ + memset( TA_Globals, 0, sizeof( TA_LibcPriv ) ); + TA_Globals->magicNb = TA_LIBC_PRIV_MAGIC_NB; + + /*** At this point, TA_Shutdown can be called to clean-up. ***/ + + /* Set the default value to global variables */ + TA_RestoreCandleDefaultSettings( TA_AllCandleSettings ); + + return TA_SUCCESS; +} + +TA_RetCode TA_Shutdown( void ) +{ + if( TA_Globals->magicNb != TA_LIBC_PRIV_MAGIC_NB ) + return TA_LIB_NOT_INITIALIZE; + + /* Initialize to all zero to make sure we invalidate that object. */ + memset( TA_Globals, 0, sizeof( TA_LibcPriv ) ); + + return TA_SUCCESS; +} + +TA_RetCode TA_SetCandleSettings( TA_CandleSettingType settingType, + TA_RangeType rangeType, + int avgPeriod, + double factor ) +{ + /*printf("setcdlset:%d ",settingType);*/ + if( settingType >= TA_AllCandleSettings ) + return TA_BAD_PARAM; + TA_Globals->candleSettings[settingType].settingType = settingType; + TA_Globals->candleSettings[settingType].rangeType = rangeType; + TA_Globals->candleSettings[settingType].avgPeriod = avgPeriod; + TA_Globals->candleSettings[settingType].factor = factor; + /*printf("cdlset: %d %d %d %f\n",TA_Globals->candleSettings[settingType].settingType,TA_Globals->candleSettings[settingType].rangeType, + TA_Globals->candleSettings[settingType].avgPeriod,TA_Globals->candleSettings[settingType].factor);*/ + return TA_SUCCESS; +} + +TA_RetCode TA_RestoreCandleDefaultSettings( TA_CandleSettingType settingType ) +{ + const TA_CandleSetting TA_CandleDefaultSettings[] = { + /* real body is long when it's longer than the average of the 10 previous candles' real body */ + { TA_BodyLong, TA_RangeType_RealBody, 10, 1.0 }, + /* real body is very long when it's longer than 3 times the average of the 10 previous candles' real body */ + { TA_BodyVeryLong, TA_RangeType_RealBody, 10, 3.0 }, + /* real body is short when it's shorter than the average of the 10 previous candles' real bodies */ + { TA_BodyShort, TA_RangeType_RealBody, 10, 1.0 }, + /* real body is like doji's body when it's shorter than 10% the average of the 10 previous candles' high-low range */ + { TA_BodyDoji, TA_RangeType_HighLow, 10, 0.1 }, + /* shadow is long when it's longer than the real body */ + { TA_ShadowLong, TA_RangeType_RealBody, 0, 1.0 }, + /* shadow is very long when it's longer than 2 times the real body */ + { TA_ShadowVeryLong, TA_RangeType_RealBody, 0, 2.0 }, + /* shadow is short when it's shorter than half the average of the 10 previous candles' sum of shadows */ + { TA_ShadowShort, TA_RangeType_Shadows, 10, 1.0 }, + /* shadow is very short when it's shorter than 10% the average of the 10 previous candles' high-low range */ + { TA_ShadowVeryShort, TA_RangeType_HighLow, 10, 0.1 }, + /* when measuring distance between parts of candles or width of gaps */ + /* "near" means "<= 20% of the average of the 5 previous candles' high-low range" */ + { TA_Near, TA_RangeType_HighLow, 5, 0.2 }, + /* when measuring distance between parts of candles or width of gaps */ + /* "far" means ">= 60% of the average of the 5 previous candles' high-low range" */ + { TA_Far, TA_RangeType_HighLow, 5, 0.6 }, + /* when measuring distance between parts of candles or width of gaps */ + /* "equal" means "<= 5% of the average of the 5 previous candles' high-low range" */ + { TA_Equal, TA_RangeType_HighLow, 5, 0.05 } + }; + + int i; + if( settingType > TA_AllCandleSettings ) + return TA_BAD_PARAM; + if( settingType == TA_AllCandleSettings ) + for( i = 0; i < TA_AllCandleSettings; ++i ) + TA_Globals->candleSettings[i] = TA_CandleDefaultSettings[i]; + else + TA_Globals->candleSettings[settingType] = TA_CandleDefaultSettings[settingType]; + return TA_SUCCESS; +} + +/**** Local functions definitions. ****/ +/* None */ + + diff --git a/vendor/ta-lib/src/ta_common/ta_global.h b/vendor/ta-lib/src/ta_common/ta_global.h new file mode 100644 index 000000000..3cdfcf653 --- /dev/null +++ b/vendor/ta-lib/src/ta_common/ta_global.h @@ -0,0 +1,119 @@ +#ifndef TA_GLOBAL_H +#define TA_GLOBAL_H + +#ifndef TA_COMMON_H + #include "ta_common.h" +#endif + +#ifndef TA_FUNC_H + #include "ta_func.h" +#endif + +/* TA_CandleSetting is the one setting struct */ +typedef struct { + TA_CandleSettingType settingType; + TA_RangeType rangeType; + int avgPeriod; + double factor; +} TA_CandleSetting; + +/* This interface is used exclusively INTERNALY to the TA-LIB. + * There is nothing for the end-user here ;-> + */ + +/* Provides functionality for managing global ressource + * throughout the TA-LIB. + * + * Since not all module are used/link in the application, + * the ta_common simply provides the mechanism for the module + * to optionnaly "register" its initialization/shutdown + * function. + * + * A function shall access its global variable by calling + * TA_GetGlobal. This function will appropriatly call the + * initialization function if its global are not yet initialized. + * + * The call of the init and shutdown function are guaranteed + * to be multithread protected. It is also guarantee that + * these function will always get called in alternance (in + * other word, following an initialization only a shutdown + * can get called). + */ + +typedef enum +{ + /* Module will be shutdown in the order specified here. */ + + TA_ABSTRACTION_GLOBAL_ID, + TA_FUNC_GLOBAL_ID, + TA_MEMORY_GLOBAL_ID, /* Must be last. */ + TA_NB_GLOBAL_ID +} TA_GlobalModuleId; + +typedef TA_RetCode (*TA_GlobalInitFunc) ( void **globalToAlloc ); +typedef TA_RetCode (*TA_GlobalShutdownFunc)( void *globalAllocated ); + +typedef struct +{ + const TA_GlobalModuleId id; + const TA_GlobalInitFunc init; + const TA_GlobalShutdownFunc shutdown; +} TA_GlobalControl; + +TA_RetCode TA_GetGlobal( const TA_GlobalControl * const control, + void **global ); + +/* Occasionaly, code tracing must be disable. + * Example: + * - The memory module needs to know if the tracing is + * still enabled or not when freeing memory on shutdown. + * - We do not want to recursively trace while the tracing + * function themselves gets called ;-> + */ +int TA_IsTraceEnabled( void ); +void TA_TraceEnable ( void ); +void TA_TraceDisable ( void ); + +/* If enabled by the user, use a local drive + * for configuration and/or temporary file. + * TA-LIB must NEVER assume such local drive + * is available. + */ +const char *TA_GetLocalCachePath( void ); + +typedef struct +{ + unsigned int initialize; + const TA_GlobalControl * control; + void *global; +} TA_ModuleControl; + +/* This is the hidden implementation of TA_Libc. */ +typedef struct +{ + unsigned int magicNb; /* Unique identifier of this object. */ + TA_ModuleControl moduleControl[TA_NB_GLOBAL_ID]; + + unsigned int traceEnabled; + unsigned int stdioEnabled; + FILE *stdioFile; + + const char *localCachePath; + + /* For handling the compatibility with other software */ + TA_Compatibility compatibility; + + /* For handling the unstable period of some TA function. */ + unsigned int unstablePeriod[TA_FUNC_UNST_ALL]; + + /* For handling the candlestick global settings */ + TA_CandleSetting candleSettings[TA_AllCandleSettings]; + +} TA_LibcPriv; + +/* The following global is used all over the place + * and is the entry point for all other globals. + */ +extern TA_LibcPriv *TA_Globals; + +#endif diff --git a/vendor/ta-lib/src/ta_common/ta_magic_nb.h b/vendor/ta-lib/src/ta_common/ta_magic_nb.h new file mode 100644 index 000000000..72ac109f4 --- /dev/null +++ b/vendor/ta-lib/src/ta_common/ta_magic_nb.h @@ -0,0 +1,31 @@ +#ifndef TA_MAGIC_NB_H +#define TA_MAGIC_NB_H + +/* Many allocated structures contains a magic number. + * + * These numbers are used solely to make sure that when a pointer is + * provided, it is really pointing on the expected type of data. + * It helps also for the detection of memory corruption. + * This mechanism is simple, but add a non-negligeable level of + * reliability at a very low cost (speed/memory wise). + */ +#define TA_FUNC_DEF_MAGIC_NB 0xA201B201 +#define TA_PARAM_HOLDER_PRIV_MAGIC_NB 0xA202B202 +#define TA_LIBC_PRIV_MAGIC_NB 0xA203B203 +#define TA_UDBASE_MAGIC_NB 0xA204B204 +#define TA_CATEGORY_TABLE_MAGIC_NB 0xA205B205 +#define TA_SYMBOL_TABLE_MAGIC_NB 0xA206B206 +#define TA_WEBPAGE_MAGIC_NB 0xA207B207 +#define TA_STREAM_MAGIC_NB 0xA208B208 +#define TA_STREAM_ACCESS_MAGIC_NB 0xA209B209 +#define TA_YAHOO_IDX_MAGIC_NB 0xA20AB20A +#define TA_STRING_TABLE_GROUP_MAGIC_NB 0xA20BB20B +#define TA_STRING_TABLE_FUNC_MAGIC_NB 0xA20CB20C +#define TA_MARKET_PAGE_MAGIC_NB 0xA20DB20D +#define TA_TRADELOGPRIV_MAGIC_NB 0xA20EB20E +#define TA_PMPRIV_MAGIC_NB 0xA20FB20F +#define TA_PMREPORT_MAGIC_NB 0xA210B210 +#define TA_TRADEREPORT_MAGIC_NB 0xA211B211 +#define TA_HISTORY_MAGIC_NB 0xA212B212 + +#endif diff --git a/vendor/ta-lib/src/ta_common/ta_memory.h b/vendor/ta-lib/src/ta_common/ta_memory.h new file mode 100644 index 000000000..b2a74bc83 --- /dev/null +++ b/vendor/ta-lib/src/ta_common/ta_memory.h @@ -0,0 +1,341 @@ +#ifndef TA_MEMORY_H +#define TA_MEMORY_H + +#if !defined( _MANAGED ) && !defined( _JAVA ) + #ifndef TA_COMMON_H + #include "ta_common.h" + #endif + + #include + + /* Interface macros */ + #define TA_Malloc(a) malloc(a) + #define TA_Realloc(a,b) realloc((a),(b)) + #define TA_Free(a) free(a) + + #define FREE_IF_NOT_NULL(x) { if((x)!=NULL) {TA_Free((void *)(x)); (x)=NULL;} } + +#endif /* !defined(_MANAGED) && !defined( _JAVA ) */ + + +/* ARRAY : Macros to manipulate arrays of value type. + * + * Using temporary array of double and integer are often needed for the + * TA functions. + * + * These macros allow basic operations to alloc/copy/free array of value type. + * + * These macros works in plain old C/C++, managed C++.and Java. + * + * (Use ARRAY_REF and ARRAY_INT_REF for double/integer arrays). + */ +#if defined( _MANAGED ) + #define ARRAY_VTYPE_REF(type,name) cli::array^ name + #define ARRAY_VTYPE_LOCAL(type,name,size) cli::array^ name = gcnew cli::array(size) + #define ARRAY_VTYPE_ALLOC(type,name,size) name = gcnew cli::array(size) + #define ARRAY_VTYPE_COPY(type,dest,src,size) cli::array::Copy( src, 0, dest, 0, size ) + #define ARRAY_VTYPE_MEMMOVE(type,dest,destIdx,src,srcIdx,size) cli::array::Copy( src, srcIdx, dest, destIdx, size ) + #define ARRAY_VTYPE_FREE(type,name) + #define ARRAY_VTYPE_FREE_COND(type,cond,name) +#elif defined( _JAVA ) + #define ARRAY_VTYPE_REF(type,name) type []name + #define ARRAY_VTYPE_LOCAL(type,name,size) type []name = new type[size] + #define ARRAY_VTYPE_ALLOC(type,name,size) name = new type[size] + #define ARRAY_VTYPE_COPY(type,dest,src,size) System.arraycopy(src,0,dest,0,size) + #define ARRAY_VTYPE_MEMMOVE(type,dest,destIdx,src,srcIdx,size) System.arraycopy(src,srcIdx,dest,destIdx,size) + #define ARRAY_VTYPE_FREE(type,name) + #define ARRAY_VTYPE_FREE_COND(type,cond,name) +#else + #define ARRAY_VTYPE_REF(type,name) type *name + #define ARRAY_VTYPE_LOCAL(type,name,size) type name[size] + #define ARRAY_VTYPE_ALLOC(type,name,size) name = (type *)TA_Malloc( sizeof(type)*(size)) + #define ARRAY_VTYPE_COPY(type,dest,src,size) memcpy(dest,src,sizeof(type)*(size)) + #define ARRAY_VTYPE_MEMMOVE(type,dest,destIdx,src,srcIdx,size) memmove( &dest[destIdx], &src[srcIdx], (size)*sizeof(type) ) + #define ARRAY_VTYPE_FREE(type,name) TA_Free(name) + #define ARRAY_VTYPE_FREE_COND(type,cond,name) if( cond ){ TA_Free(name); } +#endif + +/* ARRAY : Macros to manipulate arrays of double. */ +#define ARRAY_REF(name) ARRAY_VTYPE_REF(double,name) +#define ARRAY_LOCAL(name,size) ARRAY_VTYPE_LOCAL(double,name,size) +#define ARRAY_ALLOC(name,size) ARRAY_VTYPE_ALLOC(double,name,size) +#define ARRAY_COPY(dest,src,size) ARRAY_VTYPE_COPY(double,dest,src,size) +#define ARRAY_MEMMOVE(dest,destIdx,src,srcIdx,size) ARRAY_VTYPE_MEMMOVE(double,dest,destIdx,src,srcIdx,size) +#define ARRAY_FREE(name) ARRAY_VTYPE_FREE(double,name) +#define ARRAY_FREE_COND(cond,name) ARRAY_VTYPE_FREE_COND(double,cond,name) + +/* ARRAY : Macros to manipulate arrays of integer. */ +#define ARRAY_INT_REF(name) ARRAY_VTYPE_REF(int,name) +#define ARRAY_INT_LOCAL(name,size) ARRAY_VTYPE_LOCAL(int,name,size) +#define ARRAY_INT_ALLOC(name,size) ARRAY_VTYPE_ALLOC(int,name,size) +#define ARRAY_INT_COPY(dest,src,size) ARRAY_VTYPE_COPY(int,dest,src,size) +#define ARRAY_INT_MEMMOVE(dest,destIdx,src,srcIdx,size) ARRAY_VTYPE_MEMMOVE(int,dest,destIdx,src,srcIdx,size) +#define ARRAY_INT_FREE(name) ARRAY_VTYPE_FREE(int,name) +#define ARRAY_INT_FREE_COND(cond,name) ARRAY_VTYPE_FREE_COND(int,cond,name) + +/* Access to "Globals" + * + * The globals here just means that these variables are accessible from + * all technical analysis functions. + * + * Depending of the language/platform, the globals might be in reality + * a private member variable of an object... + */ +#if defined( _MANAGED ) + #define TA_GLOBALS_UNSTABLE_PERIOD(x,y) (Globals->unstablePeriod[(int)(FuncUnstId::y)]) + #define TA_GLOBALS_COMPATIBILITY (Globals->compatibility) +#elif defined( _JAVA ) + #define TA_GLOBALS_UNSTABLE_PERIOD(x,y) (this.unstablePeriod[FuncUnstId.y.ordinal()]) + #define TA_GLOBALS_COMPATIBILITY (this.compatibility) +#else + #define TA_GLOBALS_UNSTABLE_PERIOD(x,y) (TA_Globals->unstablePeriod[x]) + #define TA_GLOBALS_COMPATIBILITY (TA_Globals->compatibility) +#endif + + + +/* CIRCBUF : Circular Buffer Macros. + * + * The CIRCBUF is like a FIFO buffer (First In - First Out), except + * that the rate of data coming out is the same as the rate of + * data coming in (for simplification and speed optimization). + * In other word, when you add one new value, you must also consume + * one value (if not consume, the value is lost). + * + * The CIRCBUF size is unlimited, so it will automatically allocate and + * de-allocate memory as needed. In C/C++. when small enough, CIRCBUF will + * instead use a buffer "allocated" on the stack (automatic variable). + * + * Multiple CIRCBUF can be used within the same function. To make that + * possible the first parameter of the MACRO is an "Id" that can be + * any string. + * + * The macros offer the advantage to work in C/C++ and managed C++. + * + * CIRCBUF_PROLOG(Id,Type,Size); + * Will declare all the needed variables. 2 variables are + * important: + * 1) 'Id' will be a ptr of the specified Type. + * 2) 'Id'_Idx indicates from where to consume and + * to add the data. + * + * Important: You must consume the oldest data before + * setting the new data! + * + * The Size must be reasonable since it might "allocate" + * an array of this size on the stack (each element are 'Type'). + * + * CIRCBUF_CONSTRUCT(Id,Type,Size); + * Must be called prior to use the remaining macros. Must be + * followed by CIRCBUF_DESTROY when leaving the function. + * The Size here can be large. If the static Size specified + * with CIRCBUF_PROLOG is not sufficient, this MACRO will + * allocate a new buffer from the Heap. + * + * CIRCBUF_DESTROY(Id,Size); + * Must be call prior to leave the function. + * + * CIRCBUF_NEXT(Id); + * Move forward the indexes. + * + * Example: + * TA_RetCode MyFunc( int size ) + * { + * CIRCBUF_PROLOG(MyBuf,int,4); + * int i, value; + * ... + * CIRCBUF_CONSTRUCT(MyBuf,int,size); + * ... + * // 1st Loop: Fill MyBuf with initial values + * // (must be done). + * value = 0; + * for( i=0; i < size; i++ ) + * { + * // Set the data + * MyBuf[MyBuf_Idx] = value++; + * CIRCBUF_NEXT(MyBuf); + * } + * + * // 2nd Loop: Get and Add subsequent values + * // in MyBuf (optional) + * for( i=0; i < 3; i++ ) + * { + * // Consume the data (must be done first) + * printf( "%d ", MyBuf[MyBuf_Idx] ); + * + * // Set the new data (must be done second) + * MyBuf[MyBuf_Idx] = value++; + * + * // Move the index forward + * CIRCBUF_NEXT(MyBuf); + * } + * + * // 3rd Loop: Empty MyBuf (optional) + * for( i=0; i < size; i++ ) + * { + * printf( "%d ", MyBuf[MyBuf_Idx] ); + * CIRCBUF_NEXT(MyBuf); + * } + * + * CIRCBUF_DESTROY(MyBuf); + * return TA_SUCCESS; + * } + * + * + * A call to MyFunc(5) will output: + * 0 1 2 3 4 5 6 7 + * + * The value 0 to 4 are added by the 1st loop. + * The value 5 to 7 are added by the 2nd loop. + * + * The value 0 to 2 are displayed by the 2nd loop. + * The value 3 to 7 are displayed by the 3rd loop. + * + * Because the size 5 is greater than the + * value provided in CIRCBUF_PROLOG, a buffer will + * be dynamically allocated (and freed). + */ +#if defined( _MANAGED ) + +#define CIRCBUF_PROLOG(Id,Type,Size) int Id##_Idx = 0; \ + cli::array^ Id; \ + int maxIdx_##Id = (Size-1) + +/* Use this macro instead if the Type is a class or a struct. */ +#define CIRCBUF_PROLOG_CLASS(Id,Type,Size) int Id##_Idx = 0; \ + cli::array^ Id; \ + int maxIdx_##Id = (Size-1) + +#define CIRCBUF_INIT(Id,Type,Size) \ + { \ + if( Size <= 0 ) \ + return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); \ + Id = gcnew cli::array(Size); \ + if( !Id ) \ + return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); \ + maxIdx_##Id = (Size-1); \ + } + +#define CIRCBUF_INIT_CLASS(Id,Type,Size) \ + { \ + if( Size <= 0 ) \ + return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); \ + Id = gcnew cli::array(Size); \ + for( int _##Id##_index=0; _##Id##_indexLength; _##Id##_index++) \ + { \ + Id[_##Id##_index]=gcnew Type(); \ + } \ + if( !Id ) \ + return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); \ + maxIdx_##Id = (Size-1); \ + } + +#define CIRCBUF_INIT_LOCAL_ONLY(Id,Type) \ + { \ + Id = gcnew cli::array(maxIdx_##Id+1); \ + if( !Id ) \ + return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); \ + } + +#define CIRCBUF_DESTROY(Id) + +/* Use this macro to access the member when type is a class or a struct. */ +#define CIRCBUF_REF(x) (x)-> + +#elif defined(_JAVA) + +#define CIRCBUF_PROLOG(Id,Type,Size) int Id##_Idx = 0; \ + Type []Id; \ + int maxIdx_##Id = (Size-1) + +/* Use this macro instead if the Type is a class or a struct. */ +#define CIRCBUF_PROLOG_CLASS(Id,Type,Size) int Id##_Idx = 0; \ + Type []Id; \ + int maxIdx_##Id = (Size-1) + +#define CIRCBUF_INIT(Id,Type,Size) \ + { \ + if( Size <= 0 ) \ + return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); \ + Id = new Type[Size]; \ + maxIdx_##Id = (Size-1); \ + } + +#define CIRCBUF_INIT_CLASS(Id,Type,Size) \ + { \ + if( Size <= 0 ) \ + return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); \ + Id = new Type[Size]; \ + for( int _##Id##_index=0; _##Id##_index (int)(sizeof(local_##Id)/sizeof(Type)) ) \ + { \ + Id = TA_Malloc( sizeof(Type)*Size ); \ + if( !Id ) \ + return TA_ALLOC_ERR; \ + } \ + else \ + Id = &local_##Id[0]; \ + maxIdx_##Id = (Size-1); \ + Id##_Idx = 0; \ + } + +#define CIRCBUF_INIT_CLASS(Id,Type,Size) CIRCBUF_INIT(Id,Type,Size) + +#define CIRCBUF_INIT_LOCAL_ONLY(Id,Type) \ + { \ + Id = &local_##Id[0]; \ + maxIdx_##Id = (int)(sizeof(local_##Id)/sizeof(Type))-1; \ + Id##_Idx = 0; \ + } + +#define CIRCBUF_DESTROY(Id) \ + { \ + if( Id != &local_##Id[0] ) \ + TA_Free( Id ); \ + } + +/* Use this macro to access the member when Type is a class or a struct. */ +#define CIRCBUF_REF(x) (x). + +#endif + +#define CIRCBUF_NEXT(Id) \ + { \ + Id##_Idx++; \ + if( Id##_Idx > maxIdx_##Id ) \ + Id##_Idx = 0; \ + } + + +#endif + diff --git a/vendor/ta-lib/src/ta_common/ta_pragma.h b/vendor/ta-lib/src/ta_common/ta_pragma.h new file mode 100644 index 000000000..6d006db54 --- /dev/null +++ b/vendor/ta-lib/src/ta_common/ta_pragma.h @@ -0,0 +1,87 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * CM Craig Miller (c-miller@users.sourceforge.net) + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 011707 CM First version. + */ + +/* Description: + * + * Visual Studio 2005 has extended the C Run-Time Library by including "secure" + * runtime functions and deprecating the previous function prototypes. Since + * we need to use the previous prototypes to maintain compatibility with other + * platform compilers we are going to disable the deprecation warnings when + * compiling with Visual Studio 2005. + * + * Note: this header must be the first inclusion referenced by the code file + * needing these settings!!!!! + * + */ + +#ifndef TA_PRAGMA_H +#define TA_PRAGMA_H + +#if (_MSC_VER >= 1400) // VC8+ nmake and VS2005 + + #ifndef _CRT_SECURE_NO_DEPRECATE //turn off MS 'safe' CRT library routines + #define _CRT_SECURE_NO_DEPRECATE 1 + #endif + +// There are additional macros that may be needed in the future, so we'll list them here + //#ifndef _CRT_SECURE_NO_WARNINGS //turn off MS 'safe' CRT library routines + // #define _CRT_SECURE_NO_WARNINGS 1 + //#endif + // + //#ifndef _SCL_SECURE_NO_DEPRECATE //turn off MS 'safe' C++RT library routines + // #define _SCL_SECURE_NO_DEPRECATE 1 + //#endif + //#ifndef _SCL_SECURE_NO_WARNINGS + // #define _SCL_SECURE_NO_WARNINGS 1 + //#endif + // + //#ifndef _CRT_NONSTDC_NO_DEPRECATE //turn off MS POSIX replacements library routines + // #define _CRT_NONSTDC_NO_DEPRECATE 1 + //#endif + +#endif // VC8+ + +#endif //TA_PRAGMA_H diff --git a/vendor/ta-lib/src/ta_common/ta_retcode.c b/vendor/ta-lib/src/ta_common/ta_retcode.c new file mode 100644 index 000000000..674dc6d7e --- /dev/null +++ b/vendor/ta-lib/src/ta_common/ta_retcode.c @@ -0,0 +1,109 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* Important: This file is automatically generated by the utility gen_code. + * Any modification will be lost on next execution of gen_code. + * + * The goal of this file is to provide the functionality TA_SetRetCodeInfo. + * + * This function is a convenient way for the user to translate a TA_RetCode into + * a human readable string. + */ +#include + +typedef struct +{ + TA_RetCode retCode; + const char * const enumStr; + const char * const infoStr; +} TA_InternalRetCodeInfo; + +static TA_InternalRetCodeInfo retCodeInfoTable[] = { + {(TA_RetCode)0,"TA_SUCCESS","No error"}, + {(TA_RetCode)1,"TA_LIB_NOT_INITIALIZE","TA_Initialize was not sucessfully called"}, + {(TA_RetCode)2,"TA_BAD_PARAM","A parameter is out of range"}, + {(TA_RetCode)3,"TA_ALLOC_ERR","Possibly out-of-memory"}, + {(TA_RetCode)4,"TA_GROUP_NOT_FOUND","No Info"}, + {(TA_RetCode)5,"TA_FUNC_NOT_FOUND","No Info"}, + {(TA_RetCode)6,"TA_INVALID_HANDLE","No Info"}, + {(TA_RetCode)7,"TA_INVALID_PARAM_HOLDER","No Info"}, + {(TA_RetCode)8,"TA_INVALID_PARAM_HOLDER_TYPE","No Info"}, + {(TA_RetCode)9,"TA_INVALID_PARAM_FUNCTION","No Info"}, + {(TA_RetCode)10,"TA_INPUT_NOT_ALL_INITIALIZE","No Info"}, + {(TA_RetCode)11,"TA_OUTPUT_NOT_ALL_INITIALIZE","No Info"}, + {(TA_RetCode)12,"TA_OUT_OF_RANGE_START_INDEX","No Info"}, + {(TA_RetCode)13,"TA_OUT_OF_RANGE_END_INDEX","No Info"}, + {(TA_RetCode)14,"TA_INVALID_LIST_TYPE","No Info"}, + {(TA_RetCode)15,"TA_BAD_OBJECT","No Info"}, + {(TA_RetCode)16,"TA_NOT_SUPPORTED","No Info"}, + {(TA_RetCode)5000,"TA_INTERNAL_ERROR","No Info"}, + {(TA_RetCode)0xFFFF,"TA_UNKNOWN_ERR","Unknown Error"} +}; + +#define NB_RET_CODE_INFO (sizeof(retCodeInfoTable)/sizeof(TA_InternalRetCodeInfo)) + +void TA_SetRetCodeInfo( TA_RetCode theRetCode, TA_RetCodeInfo *retCodeInfo ) +{ + unsigned int i; + + /* Trap internal error code */ + if( (theRetCode >= 5000) && (theRetCode <= 5999) ) + { + retCodeInfo->enumStr = "TA_INTERNAL_ERROR"; + retCodeInfo->infoStr = "Unexpected Internal Error - Contact TA-Lib.org"; + return; + } + + /* Check among all the error code defined in ta_common.h */ + for( i=0; i < (NB_RET_CODE_INFO-1); i++ ) + { + if( theRetCode == retCodeInfoTable[i].retCode ) + { + /* Error code found. */ + retCodeInfo->enumStr = retCodeInfoTable[i].enumStr; + retCodeInfo->infoStr = retCodeInfoTable[i].infoStr; + return; + } + } + + /* Error code not found. */ + + /* "TA_UNKNOWN_ERR" is ALWAYS the last entry in the table. */ + retCodeInfo->enumStr = retCodeInfoTable[i].enumStr; + retCodeInfo->infoStr = retCodeInfoTable[i].infoStr; +} + +/***************/ +/* End of File */ +/***************/ + diff --git a/vendor/ta-lib/src/ta_common/ta_retcode.csv b/vendor/ta-lib/src/ta_common/ta_retcode.csv new file mode 100644 index 000000000..ea3bd7026 --- /dev/null +++ b/vendor/ta-lib/src/ta_common/ta_retcode.csv @@ -0,0 +1,18 @@ +0,TA_SUCCESS,No error +1,TA_LIB_NOT_INITIALIZE,TA_Initialize was not sucessfully called +2,TA_BAD_PARAM,A parameter is out of range +3,TA_ALLOC_ERR,Possibly out-of-memory +4,TA_GROUP_NOT_FOUND,No Info +5,TA_FUNC_NOT_FOUND,No Info +6,TA_INVALID_HANDLE,No Info +7,TA_INVALID_PARAM_HOLDER,No Info +8,TA_INVALID_PARAM_HOLDER_TYPE,No Info +9,TA_INVALID_PARAM_FUNCTION,No Info +10,TA_INPUT_NOT_ALL_INITIALIZE,No Info +11,TA_OUTPUT_NOT_ALL_INITIALIZE,No Info +12,TA_OUT_OF_RANGE_START_INDEX,No Info +13,TA_OUT_OF_RANGE_END_INDEX,No Info +14,TA_INVALID_LIST_TYPE,No Info +15,TA_BAD_OBJECT,No Info +16,TA_NOT_SUPPORTED,No Info +5000,TA_INTERNAL_ERROR,No Info diff --git a/vendor/ta-lib/src/ta_common/ta_version.c b/vendor/ta-lib/src/ta_common/ta_version.c new file mode 100644 index 000000000..0df9dfdd2 --- /dev/null +++ b/vendor/ta-lib/src/ta_common/ta_version.c @@ -0,0 +1,77 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include + +/* Version number controlled manually. + * + * Should be modified only by TA-Lib.org + */ +#define MAJOR "0" +#define MINOR "4" +#define BUILD "0" + +/* Nothing to modify below this line. */ + +#define TA_VERSION_STRING(maj,min,build,date,time) maj"."min"."build" ("date" "time")" + +const char *TA_GetVersionString( void ) +{ + return TA_VERSION_STRING(MAJOR,MINOR,BUILD,__DATE__,__TIME__); +} + +const char *TA_GetVersionMajor( void ) +{ + return MAJOR; +} + +const char *TA_GetVersionMinor( void ) +{ + return MINOR; +} + +const char *TA_GetVersionBuild( void ) +{ + return BUILD; +} + +const char *TA_GetVersionDate( void ) +{ + return __DATE__; +} + +const char *TA_GetVersionTime( void ) +{ + return __TIME__; +} diff --git a/vendor/ta-lib/src/ta_func/Makefile.am b/vendor/ta-lib/src/ta_func/Makefile.am new file mode 100644 index 000000000..030a5161a --- /dev/null +++ b/vendor/ta-lib/src/ta_func/Makefile.am @@ -0,0 +1,170 @@ + +noinst_LTLIBRARIES = libta_func.la +AM_CPPFLAGS = -I../ta_common/ + +libta_func_la_SOURCES = ta_utility.c \ + ta_ACOS.c \ + ta_AD.c \ + ta_ADD.c \ + ta_ADOSC.c \ + ta_ADX.c \ + ta_ADXR.c \ + ta_APO.c \ + ta_AROON.c \ + ta_AROONOSC.c \ + ta_ASIN.c \ + ta_ATAN.c \ + ta_ATR.c \ + ta_AVGPRICE.c \ + ta_BBANDS.c \ + ta_BETA.c \ + ta_BOP.c \ + ta_CCI.c \ + ta_CDL2CROWS.c \ + ta_CDL3BLACKCROWS.c \ + ta_CDL3INSIDE.c \ + ta_CDL3LINESTRIKE.c \ + ta_CDL3OUTSIDE.c \ + ta_CDL3STARSINSOUTH.c \ + ta_CDL3WHITESOLDIERS.c \ + ta_CDLABANDONEDBABY.c \ + ta_CDLADVANCEBLOCK.c \ + ta_CDLBELTHOLD.c \ + ta_CDLBREAKAWAY.c \ + ta_CDLCLOSINGMARUBOZU.c \ + ta_CDLCONCEALBABYSWALL.c \ + ta_CDLCOUNTERATTACK.c \ + ta_CDLDARKCLOUDCOVER.c \ + ta_CDLDOJI.c \ + ta_CDLDOJISTAR.c \ + ta_CDLDRAGONFLYDOJI.c \ + ta_CDLENGULFING.c \ + ta_CDLEVENINGDOJISTAR.c \ + ta_CDLEVENINGSTAR.c \ + ta_CDLGAPSIDESIDEWHITE.c \ + ta_CDLGRAVESTONEDOJI.c \ + ta_CDLHAMMER.c \ + ta_CDLHANGINGMAN.c \ + ta_CDLHARAMI.c \ + ta_CDLHARAMICROSS.c \ + ta_CDLHIGHWAVE.c \ + ta_CDLHIKKAKE.c \ + ta_CDLHIKKAKEMOD.c \ + ta_CDLHOMINGPIGEON.c \ + ta_CDLIDENTICAL3CROWS.c \ + ta_CDLINNECK.c \ + ta_CDLINVERTEDHAMMER.c \ + ta_CDLKICKING.c \ + ta_CDLKICKINGBYLENGTH.c \ + ta_CDLLADDERBOTTOM.c \ + ta_CDLLONGLEGGEDDOJI.c \ + ta_CDLLONGLINE.c \ + ta_CDLMARUBOZU.c \ + ta_CDLMATCHINGLOW.c \ + ta_CDLMATHOLD.c \ + ta_CDLMORNINGDOJISTAR.c \ + ta_CDLMORNINGSTAR.c \ + ta_CDLONNECK.c \ + ta_CDLPIERCING.c \ + ta_CDLRICKSHAWMAN.c \ + ta_CDLRISEFALL3METHODS.c \ + ta_CDLSEPARATINGLINES.c \ + ta_CDLSHOOTINGSTAR.c \ + ta_CDLSHORTLINE.c \ + ta_CDLSPINNINGTOP.c \ + ta_CDLSTALLEDPATTERN.c \ + ta_CDLSTICKSANDWICH.c \ + ta_CDLTAKURI.c \ + ta_CDLTASUKIGAP.c \ + ta_CDLTHRUSTING.c \ + ta_CDLTRISTAR.c \ + ta_CDLUNIQUE3RIVER.c \ + ta_CDLUPSIDEGAP2CROWS.c \ + ta_CDLXSIDEGAP3METHODS.c \ + ta_CEIL.c \ + ta_CMO.c \ + ta_CORREL.c \ + ta_COS.c \ + ta_COSH.c \ + ta_DEMA.c \ + ta_DIV.c \ + ta_DX.c \ + ta_EMA.c \ + ta_EXP.c \ + ta_FLOOR.c \ + ta_HT_DCPERIOD.c \ + ta_HT_DCPHASE.c \ + ta_HT_PHASOR.c \ + ta_HT_SINE.c \ + ta_HT_TRENDLINE.c \ + ta_HT_TRENDMODE.c \ + ta_KAMA.c \ + ta_LINEARREG.c \ + ta_LINEARREG_ANGLE.c \ + ta_LINEARREG_INTERCEPT.c \ + ta_LINEARREG_SLOPE.c \ + ta_LN.c \ + ta_LOG10.c \ + ta_MA.c \ + ta_MACD.c \ + ta_MACDEXT.c \ + ta_MACDFIX.c \ + ta_MAMA.c \ + ta_MAVP.c \ + ta_MAX.c \ + ta_MAXINDEX.c \ + ta_MEDPRICE.c \ + ta_MFI.c \ + ta_MIDPOINT.c \ + ta_MIDPRICE.c \ + ta_MIN.c \ + ta_MININDEX.c \ + ta_MINMAX.c \ + ta_MINMAXINDEX.c \ + ta_MINUS_DI.c \ + ta_MINUS_DM.c \ + ta_MOM.c \ + ta_MULT.c \ + ta_NATR.c \ + ta_OBV.c \ + ta_PLUS_DI.c \ + ta_PLUS_DM.c \ + ta_PPO.c \ + ta_ROC.c \ + ta_ROCP.c \ + ta_ROCR.c \ + ta_ROCR100.c \ + ta_RSI.c \ + ta_SAR.c \ + ta_SAREXT.c \ + ta_SIN.c \ + ta_SINH.c \ + ta_SMA.c \ + ta_SQRT.c \ + ta_STDDEV.c \ + ta_STOCH.c \ + ta_STOCHF.c \ + ta_STOCHRSI.c \ + ta_SUB.c \ + ta_SUM.c \ + ta_T3.c \ + ta_TAN.c \ + ta_TANH.c \ + ta_TEMA.c \ + ta_TRANGE.c \ + ta_TRIMA.c \ + ta_TRIX.c \ + ta_TSF.c \ + ta_TYPPRICE.c \ + ta_ULTOSC.c \ + ta_VAR.c \ + ta_WCLPRICE.c \ + ta_WILLR.c \ + ta_WMA.c + +libta_func_la_LDFLAGS = -version-info $(TALIB_LIBRARY_VERSION) + +libta_funcdir=$(includedir)/ta-lib/ +libta_func_HEADERS = ../../include/ta_defs.h \ + ../../include/ta_libc.h \ + ../../include/ta_func.h diff --git a/vendor/ta-lib/src/ta_func/ta_ACOS.c b/vendor/ta-lib/src/ta_func/ta_ACOS.c new file mode 100644 index 000000000..72ba5803c --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_ACOS.c @@ -0,0 +1,241 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 090807 MF Initial Version + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::AcosLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int acosLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_ACOS_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_ACOS - Vector Trigonometric ACos + * + * Input = double + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Acos( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Acos( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode acos( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_ACOS( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx; + int i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Default return values */ + for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) + { + outReal[outIdx] = std_acos(inReal[i]); + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Acos( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode acos( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_ACOS( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx; +/* Generated */ int i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) +/* Generated */ { +/* Generated */ outReal[outIdx] = std_acos(inReal[i]); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_AD.c b/vendor/ta-lib/src/ta_func/ta_AD.c new file mode 100644 index 000000000..46cd050b7 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_AD.c @@ -0,0 +1,314 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * JD jdoyle + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * 111705 MF,JD Fix#1359452 for handling properly start/end range. + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::AdLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int adLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_AD_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + /* This function have no lookback needed. */ + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_AD - Chaikin A/D Line + * + * Input = High, Low, Close, Volume + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Ad( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ SubArray^ inVolume, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Ad( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ cli::array^ inVolume, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode ad( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ double inVolume[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_AD( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ const double inVolume[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int nbBar, currentBar, outIdx; + + double high, low, close, tmp; + double ad; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inHigh||!inLow||!inClose||!inVolume) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Note: Results from this function might vary slightly + * from Metastock outputs. The reason being that + * Metastock use float instead of double and this + * cause a different floating-point precision to + * be used. + * + * For most function, this is not an apparent difference + * but for function using large cummulative values (like + * this AD function), minor imprecision adds up and becomes + * significative. + * + * For better precision, TA-Lib use double in all its + * its calculations. + */ + + /* Default return values */ + nbBar = endIdx-startIdx+1; + VALUE_HANDLE_DEREF(outNBElement) = nbBar; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + currentBar = startIdx; + outIdx = 0; + ad = 0.0; + + while( nbBar != 0 ) + { + high = inHigh[currentBar]; + low = inLow[currentBar]; + tmp = high-low; + close = inClose[currentBar]; + + if( tmp > 0.0 ) + ad += (((close-low)-(high-close))/tmp)*((double)inVolume[currentBar]); + + outReal[outIdx++] = ad; + + currentBar++; + nbBar--; + } + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Ad( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ cli::array^ inVolume, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode ad( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ float inVolume[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_AD( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ const float inVolume[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int nbBar, currentBar, outIdx; +/* Generated */ double high, low, close, tmp; +/* Generated */ double ad; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inHigh||!inLow||!inClose||!inVolume) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ nbBar = endIdx-startIdx+1; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = nbBar; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ currentBar = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ ad = 0.0; +/* Generated */ while( nbBar != 0 ) +/* Generated */ { +/* Generated */ high = inHigh[currentBar]; +/* Generated */ low = inLow[currentBar]; +/* Generated */ tmp = high-low; +/* Generated */ close = inClose[currentBar]; +/* Generated */ if( tmp > 0.0 ) +/* Generated */ ad += (((close-low)-(high-close))/tmp)*((double)inVolume[currentBar]); +/* Generated */ outReal[outIdx++] = ad; +/* Generated */ currentBar++; +/* Generated */ nbBar--; +/* Generated */ } +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ diff --git a/vendor/ta-lib/src/ta_func/ta_ADD.c b/vendor/ta-lib/src/ta_func/ta_ADD.c new file mode 100644 index 000000000..bb143d7e2 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_ADD.c @@ -0,0 +1,250 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 090807 MF Initial Version + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::AddLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int addLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_ADD_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_ADD - Vector Arithmetic Add + * + * Input = double, double + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Add( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal0, +/* Generated */ SubArray^ inReal1, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Add( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal0, +/* Generated */ cli::array^ inReal1, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode add( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal0[], +/* Generated */ double inReal1[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_ADD( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal0[], +/* Generated */ const double inReal1[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx; + int i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal0 ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !inReal1 ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Default return values */ + for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) + { + outReal[outIdx] = inReal0[i]+inReal1[i]; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Add( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal0, +/* Generated */ cli::array^ inReal1, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode add( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal0[], +/* Generated */ float inReal1[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_ADD( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal0[], +/* Generated */ const float inReal1[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx; +/* Generated */ int i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal0 ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !inReal1 ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) +/* Generated */ { +/* Generated */ outReal[outIdx] = inReal0[i]+inReal1[i]; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_ADOSC.c b/vendor/ta-lib/src/ta_func/ta_ADOSC.c new file mode 100644 index 000000000..4e12f44d5 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_ADOSC.c @@ -0,0 +1,480 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::AdOscLookback( int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int adOscLookback( int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_ADOSC_Lookback( int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int slowestPeriod; + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInFastPeriod. */ +/* Generated */ if( (int)optInFastPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastPeriod = 3; +/* Generated */ else if( ((int)optInFastPeriod < 2) || ((int)optInFastPeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ /* min/max are checked for optInSlowPeriod. */ +/* Generated */ if( (int)optInSlowPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowPeriod = 10; +/* Generated */ else if( ((int)optInSlowPeriod < 2) || ((int)optInSlowPeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + /* Use the slowest EMA period to evaluate the total lookback. */ + if( optInFastPeriod < optInSlowPeriod ) + slowestPeriod = optInSlowPeriod; + else + slowestPeriod = optInFastPeriod; + + /* Adjust startIdx to account for the lookback period. */ + return LOOKBACK_CALL(EMA)( slowestPeriod ); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_ADOSC - Chaikin A/D Oscillator + * + * Input = High, Low, Close, Volume + * Output = double + * + * Optional Parameters + * ------------------- + * optInFastPeriod:(From 2 to 100000) + * Number of period for the fast MA + * + * optInSlowPeriod:(From 2 to 100000) + * Number of period for the slow MA + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::AdOsc( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ SubArray^ inVolume, +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::AdOsc( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ cli::array^ inVolume, +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode adOsc( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ double inVolume[], +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_ADOSC( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ const double inVolume[], +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + + int today, outIdx, lookbackTotal; + int slowestPeriod; + double high, low, close, tmp; + + double slowEMA, slowk, one_minus_slowk; + double fastEMA, fastk, one_minus_fastk; + double ad; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inHigh||!inLow||!inClose||!inVolume) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInFastPeriod. */ +/* Generated */ if( (int)optInFastPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastPeriod = 3; +/* Generated */ else if( ((int)optInFastPeriod < 2) || ((int)optInFastPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ /* min/max are checked for optInSlowPeriod. */ +/* Generated */ if( (int)optInSlowPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowPeriod = 10; +/* Generated */ else if( ((int)optInSlowPeriod < 2) || ((int)optInSlowPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Implementation Note: + * The fastEMA varaible is not neceseraly the + * fastest EMA. + * In the same way, slowEMA is not neceseraly the + * slowest EMA. + * + * The ADOSC is always the (fastEMA - slowEMA) regardless + * of the period specified. In other word: + * + * ADOSC(3,10) = EMA(3,AD) - EMA(10,AD) + * + * while + * + * ADOSC(10,3) = EMA(10,AD)- EMA(3,AD) + * + * In the first case the EMA(3) is truly a faster EMA, + * while in the second case, the EMA(10) is still call + * fastEMA in the algorithm, even if it is in fact slower. + * + * This gives more flexibility to the user if they want to + * experiment with unusual parameter settings. + */ + + /* Identify the slowest period. + * This infomration is used soleley to bootstrap + * the algorithm (skip the lookback period). + */ + if( optInFastPeriod < optInSlowPeriod ) + slowestPeriod = optInSlowPeriod; + else + slowestPeriod = optInFastPeriod; + + /* Adjust startIdx to account for the lookback period. */ + lookbackTotal = LOOKBACK_CALL(EMA)( slowestPeriod ); + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + today = startIdx-lookbackTotal; + + /* The following variables and macro are used to + * calculate the "ad". + */ + ad = 0.0; + #define CALCULATE_AD \ + { \ + high = inHigh[today]; \ + low = inLow[today]; \ + tmp = high-low; \ + close = inClose[today]; \ + if( tmp > 0.0 ) \ + ad += (((close-low)-(high-close))/tmp)*((double)inVolume[today]); \ + today++; \ + } + + /* Constants for EMA */ + fastk = PER_TO_K( optInFastPeriod ); + one_minus_fastk = 1.0 - fastk; + + slowk = PER_TO_K( optInSlowPeriod ); + one_minus_slowk = 1.0 - slowk; + + /* Initialize the two EMA + * + * Use the same range of initialization inputs for + * both EMA and simply seed with the first A/D value. + * + * Note: Metastock do the same. + */ + CALCULATE_AD; + fastEMA = ad; + slowEMA = ad; + + /* Initialize the EMA and skip the unstable period. */ + while( today < startIdx ) + { + CALCULATE_AD; + fastEMA = (fastk*ad)+(one_minus_fastk*fastEMA); + slowEMA = (slowk*ad)+(one_minus_slowk*slowEMA); + } + + /* Perform the calculation for the requested range */ + outIdx = 0; + while( today <= endIdx ) + { + CALCULATE_AD; + fastEMA = (fastk*ad)+(one_minus_fastk*fastEMA); + slowEMA = (slowk*ad)+(one_minus_slowk*slowEMA); + + outReal[outIdx++] = fastEMA - slowEMA; + } + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::AdOsc( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ cli::array^ inVolume, +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode adOsc( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ float inVolume[], +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_ADOSC( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ const float inVolume[], +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int today, outIdx, lookbackTotal; +/* Generated */ int slowestPeriod; +/* Generated */ double high, low, close, tmp; +/* Generated */ double slowEMA, slowk, one_minus_slowk; +/* Generated */ double fastEMA, fastk, one_minus_fastk; +/* Generated */ double ad; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inHigh||!inLow||!inClose||!inVolume) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInFastPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastPeriod = 3; +/* Generated */ else if( ((int)optInFastPeriod < 2) || ((int)optInFastPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( (int)optInSlowPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowPeriod = 10; +/* Generated */ else if( ((int)optInSlowPeriod < 2) || ((int)optInSlowPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ if( optInFastPeriod < optInSlowPeriod ) +/* Generated */ slowestPeriod = optInSlowPeriod; +/* Generated */ else +/* Generated */ slowestPeriod = optInFastPeriod; +/* Generated */ lookbackTotal = LOOKBACK_CALL(EMA)( slowestPeriod ); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ today = startIdx-lookbackTotal; +/* Generated */ ad = 0.0; +/* Generated */ #define CALCULATE_AD \ +/* Generated */ { \ +/* Generated */ high = inHigh[today]; \ +/* Generated */ low = inLow[today]; \ +/* Generated */ tmp = high-low; \ +/* Generated */ close = inClose[today]; \ +/* Generated */ if( tmp > 0.0 ) \ +/* Generated */ ad += (((close-low)-(high-close))/tmp)*((double)inVolume[today]); \ +/* Generated */ today++; \ +/* Generated */ } +/* Generated */ fastk = PER_TO_K( optInFastPeriod ); +/* Generated */ one_minus_fastk = 1.0 - fastk; +/* Generated */ slowk = PER_TO_K( optInSlowPeriod ); +/* Generated */ one_minus_slowk = 1.0 - slowk; +/* Generated */ CALCULATE_AD; +/* Generated */ fastEMA = ad; +/* Generated */ slowEMA = ad; +/* Generated */ while( today < startIdx ) +/* Generated */ { +/* Generated */ CALCULATE_AD; +/* Generated */ fastEMA = (fastk*ad)+(one_minus_fastk*fastEMA); +/* Generated */ slowEMA = (slowk*ad)+(one_minus_slowk*slowEMA); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ CALCULATE_AD; +/* Generated */ fastEMA = (fastk*ad)+(one_minus_fastk*fastEMA); +/* Generated */ slowEMA = (slowk*ad)+(one_minus_slowk*slowEMA); +/* Generated */ outReal[outIdx++] = fastEMA - slowEMA; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_ADX.c b/vendor/ta-lib/src/ta_func/ta_ADX.c new file mode 100644 index 000000000..36438f180 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_ADX.c @@ -0,0 +1,785 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * AM Adrian Michel + * MIF Mirek Fontan (mira@fontan.cz) + * GC guycom@users.sourceforge.net + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 010802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * 082303 MF Fix #792298. Remove rounding. Bug reported by AM. + * 062704 MF Fix #965557. Div by zero bug reported by MIF. + * 082206 MF Fix #1544555. Div by zero bug reported by GC. + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::AdxLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int adxLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_ADX_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return (2 * optInTimePeriod) + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_ADX,Adx) - 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_ADX - Average Directional Movement Index + * + * Input = High, Low, Close + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Adx( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Adx( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode adx( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_ADX( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int today, lookbackTotal, outIdx; + double prevHigh, prevLow, prevClose; + double prevMinusDM, prevPlusDM, prevTR; + double tempReal, tempReal2, diffP, diffM; + double minusDI, plusDI, sumDX, prevADX; + + int i; + + #define TRUE_RANGE(TH,TL,YC,OUT) {\ + OUT = TH-TL; \ + tempReal2 = std_fabs(TH-YC); \ + if( tempReal2 > OUT ) \ + OUT = tempReal2; \ + tempReal2 = std_fabs(TL-YC); \ + if( tempReal2 > OUT ) \ + OUT = tempReal2; \ + } + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* + * The DM1 (one period) is base on the largest part of + * today's range that is outside of yesterdays range. + * + * The following 7 cases explain how the +DM and -DM are + * calculated on one period: + * + * Case 1: Case 2: + * C| A| + * | | C| + * | +DM1 = (C-A) B| | +DM1 = 0 + * | -DM1 = 0 | -DM1 = (B-D) + * A| | D| + * | D| + * B| + * + * Case 3: Case 4: + * C| C| + * | A| | + * | +DM1 = (C-A) | | +DM1 = 0 + * | -DM1 = 0 B| | -DM1 = (B-D) + * A| | | + * | | D| + * B| | + * D| + * + * Case 5: Case 6: + * A| A| C| + * | C| +DM1 = 0 | | +DM1 = 0 + * | | -DM1 = 0 | | -DM1 = 0 + * | D| | | + * B| B| D| + * + * + * Case 7: + * + * C| + * A| | + * | | +DM=0 + * B| | -DM=0 + * D| + * + * In case 3 and 4, the rule is that the smallest delta between + * (C-A) and (B-D) determine which of +DM or -DM is zero. + * + * In case 7, (C-A) and (B-D) are equal, so both +DM and -DM are + * zero. + * + * The rules remain the same when A=B and C=D (when the highs + * equal the lows). + * + * When calculating the DM over a period > 1, the one-period DM + * for the desired period are initialy sum. In other word, + * for a -DM14, sum the -DM1 for the first 14 days (that's + * 13 values because there is no DM for the first day!) + * Subsequent DM are calculated using the Wilder's + * smoothing approach: + * + * Previous -DM14 + * Today's -DM14 = Previous -DM14 - -------------- + Today's -DM1 + * 14 + * + * (Same thing for +DM14) + * + * Calculation of a -DI14 is as follow: + * + * -DM14 + * -DI14 = -------- + * TR14 + * + * (Same thing for +DI14) + * + * Calculation of the TR14 is: + * + * Previous TR14 + * Today's TR14 = Previous TR14 - -------------- + Today's TR1 + * 14 + * + * The first TR14 is the summation of the first 14 TR1. See the + * TA_TRANGE function on how to calculate the true range. + * + * Calculation of the DX14 is: + * + * diffDI = ABS( (-DI14) - (+DI14) ) + * sumDI = (-DI14) + (+DI14) + * + * DX14 = 100 * (diffDI / sumDI) + * + * Calculation of the first ADX: + * + * ADX14 = SUM of the first 14 DX + * + * Calculation of subsequent ADX: + * + * ((Previous ADX14)*(14-1))+ Today's DX + * ADX14 = ------------------------------------- + * 14 + * + * Reference: + * New Concepts In Technical Trading Systems, J. Welles Wilder Jr + */ + + /* Original implementation from Wilder's book was doing some integer + * rounding in its calculations. + * + * This was understandable in the context that at the time the book + * was written, most user were doing the calculation by hand. + * + * For a computer, rounding is unnecessary (and even problematic when inputs + * are close to 1). + * + * TA-Lib does not do the rounding. Still, if you want to reproduce Wilder's examples, + * you can comment out the following #undef/#define and rebuild the library. + */ + #undef round_pos + #define round_pos(x) (x) + + lookbackTotal = (2*optInTimePeriod) + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_ADX,Adx) - 1; + + /* Adjust startIdx to account for the lookback period. */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Indicate where the next output should be put + * in the outReal. + */ + outIdx = 0; + + /* Process the initial DM and TR */ + VALUE_HANDLE_DEREF(outBegIdx) = today = startIdx; + + prevMinusDM = 0.0; + prevPlusDM = 0.0; + prevTR = 0.0; + today = startIdx - lookbackTotal; + prevHigh = inHigh[today]; + prevLow = inLow[today]; + prevClose = inClose[today]; + i = optInTimePeriod-1; + while( i-- > 0 ) + { + /* Calculate the prevMinusDM and prevPlusDM */ + today++; + tempReal = inHigh[today]; + diffP = tempReal-prevHigh; /* Plus Delta */ + prevHigh = tempReal; + + tempReal = inLow[today]; + diffM = prevLow-tempReal; /* Minus Delta */ + prevLow = tempReal; + + if( (diffM > 0) && (diffP < diffM) ) + { + /* Case 2 and 4: +DM=0,-DM=diffM */ + prevMinusDM += diffM; + } + else if( (diffP > 0) && (diffP > diffM) ) + { + /* Case 1 and 3: +DM=diffP,-DM=0 */ + prevPlusDM += diffP; + } + + TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); + prevTR += tempReal; + prevClose = inClose[today]; + } + + /* Add up all the initial DX. */ + sumDX = 0.0; + i = optInTimePeriod; + while( i-- > 0 ) + { + /* Calculate the prevMinusDM and prevPlusDM */ + today++; + tempReal = inHigh[today]; + diffP = tempReal-prevHigh; /* Plus Delta */ + prevHigh = tempReal; + + tempReal = inLow[today]; + diffM = prevLow-tempReal; /* Minus Delta */ + prevLow = tempReal; + + prevMinusDM -= prevMinusDM/optInTimePeriod; + prevPlusDM -= prevPlusDM/optInTimePeriod; + + if( (diffM > 0) && (diffP < diffM) ) + { + /* Case 2 and 4: +DM=0,-DM=diffM */ + prevMinusDM += diffM; + } + else if( (diffP > 0) && (diffP > diffM) ) + { + /* Case 1 and 3: +DM=diffP,-DM=0 */ + prevPlusDM += diffP; + } + + /* Calculate the prevTR */ + TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); + prevTR = prevTR - (prevTR/optInTimePeriod) + tempReal; + prevClose = inClose[today]; + + /* Calculate the DX. The value is rounded (see Wilder book). */ + if( !TA_IS_ZERO(prevTR) ) + { + minusDI = round_pos(100.0*(prevMinusDM/prevTR)); + plusDI = round_pos(100.0*(prevPlusDM/prevTR)); + /* This loop is just to accumulate the initial DX */ + tempReal = minusDI+plusDI; + if( !TA_IS_ZERO(tempReal) ) + sumDX += round_pos( 100.0 * (std_fabs(minusDI-plusDI)/tempReal) ); + } + } + + /* Calculate the first ADX */ + prevADX = round_pos( sumDX / optInTimePeriod ); + + /* Skip the unstable period */ + i = TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_ADX,Adx); + while( i-- > 0 ) + { + /* Calculate the prevMinusDM and prevPlusDM */ + today++; + tempReal = inHigh[today]; + diffP = tempReal-prevHigh; /* Plus Delta */ + prevHigh = tempReal; + + tempReal = inLow[today]; + diffM = prevLow-tempReal; /* Minus Delta */ + prevLow = tempReal; + + prevMinusDM -= prevMinusDM/optInTimePeriod; + prevPlusDM -= prevPlusDM/optInTimePeriod; + + if( (diffM > 0) && (diffP < diffM) ) + { + /* Case 2 and 4: +DM=0,-DM=diffM */ + prevMinusDM += diffM; + } + else if( (diffP > 0) && (diffP > diffM) ) + { + /* Case 1 and 3: +DM=diffP,-DM=0 */ + prevPlusDM += diffP; + } + + /* Calculate the prevTR */ + TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); + prevTR = prevTR - (prevTR/optInTimePeriod) + tempReal; + prevClose = inClose[today]; + + if( !TA_IS_ZERO(prevTR) ) + { + /* Calculate the DX. The value is rounded (see Wilder book). */ + minusDI = round_pos(100.0*(prevMinusDM/prevTR)); + plusDI = round_pos(100.0*(prevPlusDM/prevTR)); + tempReal = minusDI+plusDI; + if( !TA_IS_ZERO(tempReal) ) + { + tempReal = round_pos(100.0*(std_fabs(minusDI-plusDI)/tempReal)); + /* Calculate the ADX */ + prevADX = round_pos(((prevADX*(optInTimePeriod-1))+tempReal)/optInTimePeriod); + } + } + } + + /* Output the first ADX */ + outReal[0] = prevADX; + outIdx = 1; + + /* Calculate and output subsequent ADX */ + while( today < endIdx ) + { + /* Calculate the prevMinusDM and prevPlusDM */ + today++; + tempReal = inHigh[today]; + diffP = tempReal-prevHigh; /* Plus Delta */ + prevHigh = tempReal; + + tempReal = inLow[today]; + diffM = prevLow-tempReal; /* Minus Delta */ + prevLow = tempReal; + + prevMinusDM -= prevMinusDM/optInTimePeriod; + prevPlusDM -= prevPlusDM/optInTimePeriod; + + if( (diffM > 0) && (diffP < diffM) ) + { + /* Case 2 and 4: +DM=0,-DM=diffM */ + prevMinusDM += diffM; + } + else if( (diffP > 0) && (diffP > diffM) ) + { + /* Case 1 and 3: +DM=diffP,-DM=0 */ + prevPlusDM += diffP; + } + + /* Calculate the prevTR */ + TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); + prevTR = prevTR - (prevTR/optInTimePeriod) + tempReal; + prevClose = inClose[today]; + + if( !TA_IS_ZERO(prevTR) ) + { + /* Calculate the DX. The value is rounded (see Wilder book). */ + minusDI = round_pos(100.0*(prevMinusDM/prevTR)); + plusDI = round_pos(100.0*(prevPlusDM/prevTR)); + tempReal = minusDI+plusDI; + if( !TA_IS_ZERO(tempReal) ) + { + tempReal = round_pos(100.0*(std_fabs(minusDI-plusDI)/tempReal)); + /* Calculate the ADX */ + prevADX = round_pos(((prevADX*(optInTimePeriod-1))+tempReal)/optInTimePeriod); + } + } + + /* Output the ADX */ + outReal[outIdx++] = prevADX; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Adx( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode adx( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_ADX( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int today, lookbackTotal, outIdx; +/* Generated */ double prevHigh, prevLow, prevClose; +/* Generated */ double prevMinusDM, prevPlusDM, prevTR; +/* Generated */ double tempReal, tempReal2, diffP, diffM; +/* Generated */ double minusDI, plusDI, sumDX, prevADX; +/* Generated */ int i; +/* Generated */ #define TRUE_RANGE(TH,TL,YC,OUT) {\ +/* Generated */ OUT = TH-TL; \ +/* Generated */ tempReal2 = std_fabs(TH-YC); \ +/* Generated */ if( tempReal2 > OUT ) \ +/* Generated */ OUT = tempReal2; \ +/* Generated */ tempReal2 = std_fabs(TL-YC); \ +/* Generated */ if( tempReal2 > OUT ) \ +/* Generated */ OUT = tempReal2; \ +/* Generated */ } +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ #undef round_pos +/* Generated */ #define round_pos(x) (x) +/* Generated */ lookbackTotal = (2*optInTimePeriod) + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_ADX,Adx) - 1; +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = today = startIdx; +/* Generated */ prevMinusDM = 0.0; +/* Generated */ prevPlusDM = 0.0; +/* Generated */ prevTR = 0.0; +/* Generated */ today = startIdx - lookbackTotal; +/* Generated */ prevHigh = inHigh[today]; +/* Generated */ prevLow = inLow[today]; +/* Generated */ prevClose = inClose[today]; +/* Generated */ i = optInTimePeriod-1; +/* Generated */ while( i-- > 0 ) +/* Generated */ { +/* Generated */ today++; +/* Generated */ tempReal = inHigh[today]; +/* Generated */ diffP = tempReal-prevHigh; +/* Generated */ prevHigh = tempReal; +/* Generated */ tempReal = inLow[today]; +/* Generated */ diffM = prevLow-tempReal; +/* Generated */ prevLow = tempReal; +/* Generated */ if( (diffM > 0) && (diffP < diffM) ) +/* Generated */ { +/* Generated */ prevMinusDM += diffM; +/* Generated */ } +/* Generated */ else if( (diffP > 0) && (diffP > diffM) ) +/* Generated */ { +/* Generated */ prevPlusDM += diffP; +/* Generated */ } +/* Generated */ TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); +/* Generated */ prevTR += tempReal; +/* Generated */ prevClose = inClose[today]; +/* Generated */ } +/* Generated */ sumDX = 0.0; +/* Generated */ i = optInTimePeriod; +/* Generated */ while( i-- > 0 ) +/* Generated */ { +/* Generated */ today++; +/* Generated */ tempReal = inHigh[today]; +/* Generated */ diffP = tempReal-prevHigh; +/* Generated */ prevHigh = tempReal; +/* Generated */ tempReal = inLow[today]; +/* Generated */ diffM = prevLow-tempReal; +/* Generated */ prevLow = tempReal; +/* Generated */ prevMinusDM -= prevMinusDM/optInTimePeriod; +/* Generated */ prevPlusDM -= prevPlusDM/optInTimePeriod; +/* Generated */ if( (diffM > 0) && (diffP < diffM) ) +/* Generated */ { +/* Generated */ prevMinusDM += diffM; +/* Generated */ } +/* Generated */ else if( (diffP > 0) && (diffP > diffM) ) +/* Generated */ { +/* Generated */ prevPlusDM += diffP; +/* Generated */ } +/* Generated */ TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); +/* Generated */ prevTR = prevTR - (prevTR/optInTimePeriod) + tempReal; +/* Generated */ prevClose = inClose[today]; +/* Generated */ if( !TA_IS_ZERO(prevTR) ) +/* Generated */ { +/* Generated */ minusDI = round_pos(100.0*(prevMinusDM/prevTR)); +/* Generated */ plusDI = round_pos(100.0*(prevPlusDM/prevTR)); +/* Generated */ tempReal = minusDI+plusDI; +/* Generated */ if( !TA_IS_ZERO(tempReal) ) +/* Generated */ sumDX += round_pos( 100.0 * (std_fabs(minusDI-plusDI)/tempReal) ); +/* Generated */ } +/* Generated */ } +/* Generated */ prevADX = round_pos( sumDX / optInTimePeriod ); +/* Generated */ i = TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_ADX,Adx); +/* Generated */ while( i-- > 0 ) +/* Generated */ { +/* Generated */ today++; +/* Generated */ tempReal = inHigh[today]; +/* Generated */ diffP = tempReal-prevHigh; +/* Generated */ prevHigh = tempReal; +/* Generated */ tempReal = inLow[today]; +/* Generated */ diffM = prevLow-tempReal; +/* Generated */ prevLow = tempReal; +/* Generated */ prevMinusDM -= prevMinusDM/optInTimePeriod; +/* Generated */ prevPlusDM -= prevPlusDM/optInTimePeriod; +/* Generated */ if( (diffM > 0) && (diffP < diffM) ) +/* Generated */ { +/* Generated */ prevMinusDM += diffM; +/* Generated */ } +/* Generated */ else if( (diffP > 0) && (diffP > diffM) ) +/* Generated */ { +/* Generated */ prevPlusDM += diffP; +/* Generated */ } +/* Generated */ TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); +/* Generated */ prevTR = prevTR - (prevTR/optInTimePeriod) + tempReal; +/* Generated */ prevClose = inClose[today]; +/* Generated */ if( !TA_IS_ZERO(prevTR) ) +/* Generated */ { +/* Generated */ minusDI = round_pos(100.0*(prevMinusDM/prevTR)); +/* Generated */ plusDI = round_pos(100.0*(prevPlusDM/prevTR)); +/* Generated */ tempReal = minusDI+plusDI; +/* Generated */ if( !TA_IS_ZERO(tempReal) ) +/* Generated */ { +/* Generated */ tempReal = round_pos(100.0*(std_fabs(minusDI-plusDI)/tempReal)); +/* Generated */ prevADX = round_pos(((prevADX*(optInTimePeriod-1))+tempReal)/optInTimePeriod); +/* Generated */ } +/* Generated */ } +/* Generated */ } +/* Generated */ outReal[0] = prevADX; +/* Generated */ outIdx = 1; +/* Generated */ while( today < endIdx ) +/* Generated */ { +/* Generated */ today++; +/* Generated */ tempReal = inHigh[today]; +/* Generated */ diffP = tempReal-prevHigh; +/* Generated */ prevHigh = tempReal; +/* Generated */ tempReal = inLow[today]; +/* Generated */ diffM = prevLow-tempReal; +/* Generated */ prevLow = tempReal; +/* Generated */ prevMinusDM -= prevMinusDM/optInTimePeriod; +/* Generated */ prevPlusDM -= prevPlusDM/optInTimePeriod; +/* Generated */ if( (diffM > 0) && (diffP < diffM) ) +/* Generated */ { +/* Generated */ prevMinusDM += diffM; +/* Generated */ } +/* Generated */ else if( (diffP > 0) && (diffP > diffM) ) +/* Generated */ { +/* Generated */ prevPlusDM += diffP; +/* Generated */ } +/* Generated */ TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); +/* Generated */ prevTR = prevTR - (prevTR/optInTimePeriod) + tempReal; +/* Generated */ prevClose = inClose[today]; +/* Generated */ if( !TA_IS_ZERO(prevTR) ) +/* Generated */ { +/* Generated */ minusDI = round_pos(100.0*(prevMinusDM/prevTR)); +/* Generated */ plusDI = round_pos(100.0*(prevPlusDM/prevTR)); +/* Generated */ tempReal = minusDI+plusDI; +/* Generated */ if( !TA_IS_ZERO(tempReal) ) +/* Generated */ { +/* Generated */ tempReal = round_pos(100.0*(std_fabs(minusDI-plusDI)/tempReal)); +/* Generated */ prevADX = round_pos(((prevADX*(optInTimePeriod-1))+tempReal)/optInTimePeriod); +/* Generated */ } +/* Generated */ } +/* Generated */ outReal[outIdx++] = prevADX; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_ADXR.c b/vendor/ta-lib/src/ta_func/ta_ADXR.c new file mode 100644 index 000000000..8008d158a --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_ADXR.c @@ -0,0 +1,374 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * AM Adrian Michel + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 010802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * 082303 MF Fix #792298. Remove rounding. Bug reported by AM. + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::AdxrLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int adxrLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_ADXR_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + if( optInTimePeriod > 1 ) + return optInTimePeriod + LOOKBACK_CALL(ADX)( optInTimePeriod) - 1; + else + return 3; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_ADXR - Average Directional Movement Index Rating + * + * Input = High, Low, Close + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Adxr( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Adxr( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode adxr( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_ADXR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + ARRAY_REF( adx ); + int adxrLookback, i, j, outIdx, nbElement; + ENUM_DECLARATION(RetCode) retCode; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Original implementation from Wilder's book was doing some integer + * rounding in its calculations. + * + * This was understandable in the context that at the time the book + * was written, most user were doing the calculation by hand. + * + * For a computer, rounding is unnecessary (and even problematic when inputs + * are close to 1). + * + * TA-Lib does not do the rounding. Still, if you want to reproduce Wilder's examples, + * you can comment out the following #undef/#define and rebuild the library. + */ + #undef round_pos + #define round_pos(x) (x) + + /* Move up the start index if there is not + * enough initial data. + * Always one price bar gets consumed. + */ + adxrLookback = LOOKBACK_CALL(ADXR)( optInTimePeriod ); + + if( startIdx < adxrLookback ) + startIdx = adxrLookback; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + ARRAY_ALLOC( adx, endIdx-startIdx+optInTimePeriod ); + #if !defined( _JAVA ) + if( !adx ) + return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); + #endif + + retCode = FUNCTION_CALL(ADX)( startIdx-(optInTimePeriod-1), endIdx, + inHigh, inLow, inClose, + optInTimePeriod, outBegIdx, outNBElement, adx ); + + if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) + { + ARRAY_FREE( adx ); + return retCode; + } + + i = optInTimePeriod-1; + j = 0; + outIdx = 0; + nbElement = endIdx-startIdx+2; + while( --nbElement != 0 ) + outReal[outIdx++] = round_pos( (adx[i++]+adx[j++])/2.0 ); + + ARRAY_FREE( adx ); + + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Adxr( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode adxr( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_ADXR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ARRAY_REF( adx ); +/* Generated */ int adxrLookback, i, j, outIdx, nbElement; +/* Generated */ ENUM_DECLARATION(RetCode) retCode; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ #undef round_pos +/* Generated */ #define round_pos(x) (x) +/* Generated */ adxrLookback = LOOKBACK_CALL(ADXR)( optInTimePeriod ); +/* Generated */ if( startIdx < adxrLookback ) +/* Generated */ startIdx = adxrLookback; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ ARRAY_ALLOC( adx, endIdx-startIdx+optInTimePeriod ); +/* Generated */ #if !defined( _JAVA ) +/* Generated */ if( !adx ) +/* Generated */ return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); +/* Generated */ #endif +/* Generated */ retCode = FUNCTION_CALL(ADX)( startIdx-(optInTimePeriod-1), endIdx, +/* Generated */ inHigh, inLow, inClose, +/* Generated */ optInTimePeriod, outBegIdx, outNBElement, adx ); +/* Generated */ if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) +/* Generated */ { +/* Generated */ ARRAY_FREE( adx ); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ i = optInTimePeriod-1; +/* Generated */ j = 0; +/* Generated */ outIdx = 0; +/* Generated */ nbElement = endIdx-startIdx+2; +/* Generated */ while( --nbElement != 0 ) +/* Generated */ outReal[outIdx++] = round_pos( (adx[i++]+adx[j++])/2.0 ); +/* Generated */ ARRAY_FREE( adx ); +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_APO.c b/vendor/ta-lib/src/ta_func/ta_APO.c new file mode 100644 index 000000000..94060ddac --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_APO.c @@ -0,0 +1,597 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * AA Andrew Atkinson + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * 062804 MF Resolve div by zero bug on limit case. + * 020605 AA Fix #1117666 Lookback & out-of-bound bug. + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::ApoLookback( int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInMAType ) /* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int apoLookback( int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInMAType ) /* Generated */ +/* Generated */ #else +/* Generated */ int TA_APO_Lookback( int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ TA_MAType optInMAType ) /* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInFastPeriod. */ +/* Generated */ if( (int)optInFastPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastPeriod = 12; +/* Generated */ else if( ((int)optInFastPeriod < 2) || ((int)optInFastPeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ /* min/max are checked for optInSlowPeriod. */ +/* Generated */ if( (int)optInSlowPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowPeriod = 26; +/* Generated */ else if( ((int)optInSlowPeriod < 2) || ((int)optInSlowPeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInMAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInMAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInMAType < 0) || ((int)optInMAType > 8) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* !defined(_MANAGED) && !defined(_JAVA)*/ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + /* The slow MA is the key factor determining the lookback period. */ + return LOOKBACK_CALL(MA)( max(optInSlowPeriod,optInFastPeriod), optInMAType ); +} + + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_APO - Absolute Price Oscillator + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInFastPeriod:(From 2 to 100000) + * Number of period for the fast MA + * + * optInSlowPeriod:(From 2 to 100000) + * Number of period for the slow MA + * + * optInMAType: + * Type of Moving Average + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Apo( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInMAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Apo( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInMAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode apo( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInMAType, +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_APO( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ TA_MAType optInMAType, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + ARRAY_REF(tempBuffer); + ENUM_DECLARATION(RetCode) retCode; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInFastPeriod. */ +/* Generated */ if( (int)optInFastPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastPeriod = 12; +/* Generated */ else if( ((int)optInFastPeriod < 2) || ((int)optInFastPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ /* min/max are checked for optInSlowPeriod. */ +/* Generated */ if( (int)optInSlowPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowPeriod = 26; +/* Generated */ else if( ((int)optInSlowPeriod < 2) || ((int)optInSlowPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInMAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInMAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInMAType < 0) || ((int)optInMAType > 8) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_MANAGED) && !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Allocate an intermediate buffer. */ + ARRAY_ALLOC(tempBuffer, (endIdx-startIdx+1) ); + #if !defined(_JAVA) + if( !tempBuffer ) + return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); + #endif + + retCode = FUNCTION_CALL(INT_PO)( startIdx, endIdx, + inReal, + optInFastPeriod, + optInSlowPeriod, + optInMAType, + outBegIdx, + outNBElement, + outReal, + tempBuffer, + 0 /* No percentage. */ ); + + ARRAY_FREE( tempBuffer ); + + return retCode; +} + +/* Internal price oscillator function. + * + * A buffer must be provided for intermediate processing. + */ +#if defined( _MANAGED ) && defined( USE_SUBARRAY ) && !defined( USE_SINGLE_PRECISION_INPUT ) + enum class Core::RetCode Core::TA_INT_PO( int startIdx, + int endIdx, + SubArray^ inReal, + int optInFastPeriod, + int optInSlowPeriod, + MAType optInMethod_2, + [Out]int% outBegIdx, + [Out]int% outNBElement, + cli::array^ outReal, + cli::array^ tempBuffer, + int doPercentageOutput ) + +#elif defined( _MANAGED ) + enum class Core::RetCode Core::TA_INT_PO( int startIdx, + int endIdx, + cli::array^ inReal, + int optInFastPeriod, + int optInSlowPeriod, + MAType optInMethod_2, + [Out]int% outBegIdx, + [Out]int% outNBElement, + cli::array^ outReal, + cli::array^ tempBuffer, + int doPercentageOutput ) +#elif defined( _JAVA ) +RetCode TA_INT_PO( int startIdx, + int endIdx, + INPUT_TYPE inReal[], + int optInFastPeriod, + int optInSlowPeriod, + MAType optInMethod_2, + MInteger outBegIdx, + MInteger outNBElement, + double outReal[], + double tempBuffer[], + int doPercentageOutput ) + +#else +TA_RetCode TA_PREFIX(INT_PO)( int startIdx, + int endIdx, + const INPUT_TYPE *inReal, + int optInFastPeriod, + int optInSlowPeriod, + TA_MAType optInMethod_2, + int *outBegIdx, + int *outNBElement, + double *outReal, + double *tempBuffer, + int doPercentageOutput ) +#endif +{ + ENUM_DECLARATION(RetCode) retCode; + + double tempReal; + int tempInteger; + VALUE_HANDLE_INT(outBegIdx1); + VALUE_HANDLE_INT(outNbElement1); + VALUE_HANDLE_INT(outBegIdx2); + VALUE_HANDLE_INT(outNbElement2); + + int i, j; + + /* Make sure slow is really slower than + * the fast period! if not, swap... + */ + if( optInSlowPeriod < optInFastPeriod ) + { + /* swap */ + tempInteger = optInSlowPeriod; + optInSlowPeriod = optInFastPeriod; + optInFastPeriod = tempInteger; + } + + /* Calculate the fast MA into the tempBuffer. */ + retCode = FUNCTION_CALL(MA)( startIdx, endIdx, + inReal, + optInFastPeriod, + optInMethod_2, + VALUE_HANDLE_OUT(outBegIdx2), VALUE_HANDLE_OUT(outNbElement2), + tempBuffer ); + + if( retCode == ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) + { + /* Calculate the slow MA into the output. */ + retCode = FUNCTION_CALL(MA)( startIdx, endIdx, + inReal, + optInSlowPeriod, + optInMethod_2, + VALUE_HANDLE_OUT(outBegIdx1), VALUE_HANDLE_OUT(outNbElement1), + outReal ); + + if( retCode == ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) + { + tempInteger = VALUE_HANDLE_GET(outBegIdx1) - VALUE_HANDLE_GET(outBegIdx2); + if( doPercentageOutput != 0 ) + { + /* Calculate ((fast MA)-(slow MA))/(slow MA) in the output. */ + for( i=0,j=tempInteger; i < VALUE_HANDLE_GET(outNbElement1); i++, j++ ) + { + tempReal = outReal[i]; + if( !TA_IS_ZERO(tempReal) ) + outReal[i] = ((tempBuffer[j]-tempReal)/tempReal)*100.0; + else + outReal[i] = 0.0; + } + } + else + { + /* Calculate (fast MA)-(slow MA) in the output. */ + for( i=0,j=tempInteger; i < VALUE_HANDLE_GET(outNbElement1); i++, j++ ) + outReal[i] = tempBuffer[j]-outReal[i]; + } + + VALUE_HANDLE_DEREF(outBegIdx) = VALUE_HANDLE_GET(outBegIdx1); + VALUE_HANDLE_DEREF(outNBElement) = VALUE_HANDLE_GET(outNbElement1); + } + } + + if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + } + + return retCode; +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Apo( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInMAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode apo( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInMAType, +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_APO( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ TA_MAType optInMAType, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ARRAY_REF(tempBuffer); +/* Generated */ ENUM_DECLARATION(RetCode) retCode; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInFastPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastPeriod = 12; +/* Generated */ else if( ((int)optInFastPeriod < 2) || ((int)optInFastPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( (int)optInSlowPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowPeriod = 26; +/* Generated */ else if( ((int)optInSlowPeriod < 2) || ((int)optInSlowPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInMAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInMAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInMAType < 0) || ((int)optInMAType > 8) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ ARRAY_ALLOC(tempBuffer, (endIdx-startIdx+1) ); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !tempBuffer ) +/* Generated */ return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); +/* Generated */ #endif +/* Generated */ retCode = FUNCTION_CALL(INT_PO)( startIdx, endIdx, +/* Generated */ inReal, +/* Generated */ optInFastPeriod, +/* Generated */ optInSlowPeriod, +/* Generated */ optInMAType, +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ outReal, +/* Generated */ tempBuffer, +/* Generated */ 0 ); +/* Generated */ ARRAY_FREE( tempBuffer ); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) && !defined( USE_SINGLE_PRECISION_INPUT ) +/* Generated */ enum class Core::RetCode Core::TA_INT_PO( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInFastPeriod, +/* Generated */ int optInSlowPeriod, +/* Generated */ MAType optInMethod_2, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal, +/* Generated */ cli::array^ tempBuffer, +/* Generated */ int doPercentageOutput ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::TA_INT_PO( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInFastPeriod, +/* Generated */ int optInSlowPeriod, +/* Generated */ MAType optInMethod_2, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal, +/* Generated */ cli::array^ tempBuffer, +/* Generated */ int doPercentageOutput ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ RetCode TA_INT_PO( int startIdx, +/* Generated */ int endIdx, +/* Generated */ INPUT_TYPE inReal[], +/* Generated */ int optInFastPeriod, +/* Generated */ int optInSlowPeriod, +/* Generated */ MAType optInMethod_2, +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[], +/* Generated */ double tempBuffer[], +/* Generated */ int doPercentageOutput ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_PREFIX(INT_PO)( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const INPUT_TYPE *inReal, +/* Generated */ int optInFastPeriod, +/* Generated */ int optInSlowPeriod, +/* Generated */ TA_MAType optInMethod_2, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double *outReal, +/* Generated */ double *tempBuffer, +/* Generated */ int doPercentageOutput ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ENUM_DECLARATION(RetCode) retCode; +/* Generated */ double tempReal; +/* Generated */ int tempInteger; +/* Generated */ VALUE_HANDLE_INT(outBegIdx1); +/* Generated */ VALUE_HANDLE_INT(outNbElement1); +/* Generated */ VALUE_HANDLE_INT(outBegIdx2); +/* Generated */ VALUE_HANDLE_INT(outNbElement2); +/* Generated */ int i, j; +/* Generated */ if( optInSlowPeriod < optInFastPeriod ) +/* Generated */ { +/* Generated */ tempInteger = optInSlowPeriod; +/* Generated */ optInSlowPeriod = optInFastPeriod; +/* Generated */ optInFastPeriod = tempInteger; +/* Generated */ } +/* Generated */ retCode = FUNCTION_CALL(MA)( startIdx, endIdx, +/* Generated */ inReal, +/* Generated */ optInFastPeriod, +/* Generated */ optInMethod_2, +/* Generated */ VALUE_HANDLE_OUT(outBegIdx2), VALUE_HANDLE_OUT(outNbElement2), +/* Generated */ tempBuffer ); +/* Generated */ if( retCode == ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) +/* Generated */ { +/* Generated */ retCode = FUNCTION_CALL(MA)( startIdx, endIdx, +/* Generated */ inReal, +/* Generated */ optInSlowPeriod, +/* Generated */ optInMethod_2, +/* Generated */ VALUE_HANDLE_OUT(outBegIdx1), VALUE_HANDLE_OUT(outNbElement1), +/* Generated */ outReal ); +/* Generated */ if( retCode == ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) +/* Generated */ { +/* Generated */ tempInteger = VALUE_HANDLE_GET(outBegIdx1) - VALUE_HANDLE_GET(outBegIdx2); +/* Generated */ if( doPercentageOutput != 0 ) +/* Generated */ { +/* Generated */ for( i=0,j=tempInteger; i < VALUE_HANDLE_GET(outNbElement1); i++, j++ ) +/* Generated */ { +/* Generated */ tempReal = outReal[i]; +/* Generated */ if( !TA_IS_ZERO(tempReal) ) +/* Generated */ outReal[i] = ((tempBuffer[j]-tempReal)/tempReal)*100.0; +/* Generated */ else +/* Generated */ outReal[i] = 0.0; +/* Generated */ } +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ for( i=0,j=tempInteger; i < VALUE_HANDLE_GET(outNbElement1); i++, j++ ) +/* Generated */ outReal[i] = tempBuffer[j]-outReal[i]; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = VALUE_HANDLE_GET(outBegIdx1); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = VALUE_HANDLE_GET(outNbElement1); +/* Generated */ } +/* Generated */ } +/* Generated */ if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ } +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_AROON.c b/vendor/ta-lib/src/ta_func/ta_AROON.c new file mode 100644 index 000000000..9ef005beb --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_AROON.c @@ -0,0 +1,450 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * AM Adrian Michel + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * 050703 MF Fix algorithm base on Adrian Michel bug report #748163 + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::AroonLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int aroonLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_AROON_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return optInTimePeriod; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_AROON - Aroon + * + * Input = High, Low + * Output = double, double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Aroon( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outAroonDown, +/* Generated */ cli::array^ outAroonUp ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Aroon( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outAroonDown, +/* Generated */ cli::array^ outAroonUp ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode aroon( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outAroonDown[], +/* Generated */ double outAroonUp[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_AROON( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outAroonDown[], +/* Generated */ double outAroonUp[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + double lowest, highest, tmp, factor; + int outIdx; + int trailingIdx, lowestIdx, highestIdx, today, i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inHigh||!inLow) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outAroonDown ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( !outAroonUp ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* This function is using a speed optimized algorithm + * for the min/max logic. + * + * You might want to first look at how TA_MIN/TA_MAX works + * and this function will become easier to understand. + */ + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < optInTimePeriod ) + startIdx = optInTimePeriod; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Proceed with the calculation for the requested range. + * Note that this algorithm allows the input and + * output to be the same buffer. + */ + outIdx = 0; + today = startIdx; + trailingIdx = startIdx-optInTimePeriod; + lowestIdx = -1; + highestIdx = -1; + lowest = 0.0; + highest = 0.0; + factor = (double)100.0/(double)optInTimePeriod; + + while( today <= endIdx ) + { + /* Keep track of the lowestIdx */ + tmp = inLow[today]; + if( lowestIdx < trailingIdx ) + { + lowestIdx = trailingIdx; + lowest = inLow[lowestIdx]; + i = lowestIdx; + while( ++i<=today ) + { + tmp = inLow[i]; + if( tmp <= lowest ) + { + lowestIdx = i; + lowest = tmp; + } + } + } + else if( tmp <= lowest ) + { + lowestIdx = today; + lowest = tmp; + } + + /* Keep track of the highestIdx */ + tmp = inHigh[today]; + if( highestIdx < trailingIdx ) + { + highestIdx = trailingIdx; + highest = inHigh[highestIdx]; + i = highestIdx; + while( ++i<=today ) + { + tmp = inHigh[i]; + if( tmp >= highest ) + { + highestIdx = i; + highest = tmp; + } + } + } + else if( tmp >= highest ) + { + highestIdx = today; + highest = tmp; + } + + /* Note: Do not forget that input and output buffer can be the same, + * so writing to the output is the last thing being done here. + */ + outAroonUp[outIdx] = factor*(optInTimePeriod-(today-highestIdx)); + outAroonDown[outIdx] = factor*(optInTimePeriod-(today-lowestIdx)); + + outIdx++; + trailingIdx++; + today++; + } + + /* Keep the outBegIdx relative to the + * caller input before returning. + */ + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Aroon( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outAroonDown, +/* Generated */ cli::array^ outAroonUp ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode aroon( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outAroonDown[], +/* Generated */ double outAroonUp[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_AROON( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outAroonDown[], +/* Generated */ double outAroonUp[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double lowest, highest, tmp, factor; +/* Generated */ int outIdx; +/* Generated */ int trailingIdx, lowestIdx, highestIdx, today, i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inHigh||!inLow) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outAroonDown ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !outAroonUp ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ if( startIdx < optInTimePeriod ) +/* Generated */ startIdx = optInTimePeriod; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ today = startIdx; +/* Generated */ trailingIdx = startIdx-optInTimePeriod; +/* Generated */ lowestIdx = -1; +/* Generated */ highestIdx = -1; +/* Generated */ lowest = 0.0; +/* Generated */ highest = 0.0; +/* Generated */ factor = (double)100.0/(double)optInTimePeriod; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ tmp = inLow[today]; +/* Generated */ if( lowestIdx < trailingIdx ) +/* Generated */ { +/* Generated */ lowestIdx = trailingIdx; +/* Generated */ lowest = inLow[lowestIdx]; +/* Generated */ i = lowestIdx; +/* Generated */ while( ++i<=today ) +/* Generated */ { +/* Generated */ tmp = inLow[i]; +/* Generated */ if( tmp <= lowest ) +/* Generated */ { +/* Generated */ lowestIdx = i; +/* Generated */ lowest = tmp; +/* Generated */ } +/* Generated */ } +/* Generated */ } +/* Generated */ else if( tmp <= lowest ) +/* Generated */ { +/* Generated */ lowestIdx = today; +/* Generated */ lowest = tmp; +/* Generated */ } +/* Generated */ tmp = inHigh[today]; +/* Generated */ if( highestIdx < trailingIdx ) +/* Generated */ { +/* Generated */ highestIdx = trailingIdx; +/* Generated */ highest = inHigh[highestIdx]; +/* Generated */ i = highestIdx; +/* Generated */ while( ++i<=today ) +/* Generated */ { +/* Generated */ tmp = inHigh[i]; +/* Generated */ if( tmp >= highest ) +/* Generated */ { +/* Generated */ highestIdx = i; +/* Generated */ highest = tmp; +/* Generated */ } +/* Generated */ } +/* Generated */ } +/* Generated */ else if( tmp >= highest ) +/* Generated */ { +/* Generated */ highestIdx = today; +/* Generated */ highest = tmp; +/* Generated */ } +/* Generated */ outAroonUp[outIdx] = factor*(optInTimePeriod-(today-highestIdx)); +/* Generated */ outAroonDown[outIdx] = factor*(optInTimePeriod-(today-lowestIdx)); +/* Generated */ outIdx++; +/* Generated */ trailingIdx++; +/* Generated */ today++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_AROONOSC.c b/vendor/ta-lib/src/ta_func/ta_AROONOSC.c new file mode 100644 index 000000000..5d99c4d5a --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_AROONOSC.c @@ -0,0 +1,456 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * AM Adrian Michel + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * 050703 MF Fix algorithm base on Adrian Michel bug report #748163 + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::AroonOscLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int aroonOscLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_AROONOSC_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return optInTimePeriod; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_AROONOSC - Aroon Oscillator + * + * Input = High, Low + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::AroonOsc( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::AroonOsc( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode aroonOsc( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_AROONOSC( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + double lowest, highest, tmp, factor, aroon; + int outIdx; + int trailingIdx, lowestIdx, highestIdx, today, i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inHigh||!inLow) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* This code is almost identical to the TA_AROON function + * except that instead of outputing ArroonUp and AroonDown + * individually, an oscillator is build from both. + * + * AroonOsc = AroonUp- AroonDown; + * + */ + + /* This function is using a speed optimized algorithm + * for the min/max logic. + * + * You might want to first look at how TA_MIN/TA_MAX works + * and this function will become easier to understand. + */ + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < optInTimePeriod ) + startIdx = optInTimePeriod; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Proceed with the calculation for the requested range. + * Note that this algorithm allows the input and + * output to be the same buffer. + */ + outIdx = 0; + today = startIdx; + trailingIdx = startIdx-optInTimePeriod; + lowestIdx = -1; + highestIdx = -1; + lowest = 0.0; + highest = 0.0; + factor = (double)100.0/(double)optInTimePeriod; + + while( today <= endIdx ) + { + /* Keep track of the lowestIdx */ + tmp = inLow[today]; + if( lowestIdx < trailingIdx ) + { + lowestIdx = trailingIdx; + lowest = inLow[lowestIdx]; + i = lowestIdx; + while( ++i<=today ) + { + tmp = inLow[i]; + if( tmp <= lowest ) + { + lowestIdx = i; + lowest = tmp; + } + } + } + else if( tmp <= lowest ) + { + lowestIdx = today; + lowest = tmp; + } + + /* Keep track of the highestIdx */ + tmp = inHigh[today]; + if( highestIdx < trailingIdx ) + { + highestIdx = trailingIdx; + highest = inHigh[highestIdx]; + i = highestIdx; + while( ++i<=today ) + { + tmp = inHigh[i]; + if( tmp >= highest ) + { + highestIdx = i; + highest = tmp; + } + } + } + else if( tmp >= highest ) + { + highestIdx = today; + highest = tmp; + } + + /* The oscillator is the following: + * AroonUp = factor*(optInTimePeriod-(today-highestIdx)); + * AroonDown = factor*(optInTimePeriod-(today-lowestIdx)); + * AroonOsc = AroonUp-AroonDown; + * + * An arithmetic simplification give us: + * Aroon = factor*(highestIdx-lowestIdx) + */ + aroon = factor*(highestIdx-lowestIdx); + + /* Note: Do not forget that input and output buffer can be the same, + * so writing to the output is the last thing being done here. + */ + outReal[outIdx] = aroon; + + outIdx++; + trailingIdx++; + today++; + } + + /* Keep the outBegIdx relative to the + * caller input before returning. + */ + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::AroonOsc( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode aroonOsc( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_AROONOSC( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double lowest, highest, tmp, factor, aroon; +/* Generated */ int outIdx; +/* Generated */ int trailingIdx, lowestIdx, highestIdx, today, i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inHigh||!inLow) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ if( startIdx < optInTimePeriod ) +/* Generated */ startIdx = optInTimePeriod; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ today = startIdx; +/* Generated */ trailingIdx = startIdx-optInTimePeriod; +/* Generated */ lowestIdx = -1; +/* Generated */ highestIdx = -1; +/* Generated */ lowest = 0.0; +/* Generated */ highest = 0.0; +/* Generated */ factor = (double)100.0/(double)optInTimePeriod; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ tmp = inLow[today]; +/* Generated */ if( lowestIdx < trailingIdx ) +/* Generated */ { +/* Generated */ lowestIdx = trailingIdx; +/* Generated */ lowest = inLow[lowestIdx]; +/* Generated */ i = lowestIdx; +/* Generated */ while( ++i<=today ) +/* Generated */ { +/* Generated */ tmp = inLow[i]; +/* Generated */ if( tmp <= lowest ) +/* Generated */ { +/* Generated */ lowestIdx = i; +/* Generated */ lowest = tmp; +/* Generated */ } +/* Generated */ } +/* Generated */ } +/* Generated */ else if( tmp <= lowest ) +/* Generated */ { +/* Generated */ lowestIdx = today; +/* Generated */ lowest = tmp; +/* Generated */ } +/* Generated */ tmp = inHigh[today]; +/* Generated */ if( highestIdx < trailingIdx ) +/* Generated */ { +/* Generated */ highestIdx = trailingIdx; +/* Generated */ highest = inHigh[highestIdx]; +/* Generated */ i = highestIdx; +/* Generated */ while( ++i<=today ) +/* Generated */ { +/* Generated */ tmp = inHigh[i]; +/* Generated */ if( tmp >= highest ) +/* Generated */ { +/* Generated */ highestIdx = i; +/* Generated */ highest = tmp; +/* Generated */ } +/* Generated */ } +/* Generated */ } +/* Generated */ else if( tmp >= highest ) +/* Generated */ { +/* Generated */ highestIdx = today; +/* Generated */ highest = tmp; +/* Generated */ } +/* Generated */ aroon = factor*(highestIdx-lowestIdx); +/* Generated */ outReal[outIdx] = aroon; +/* Generated */ outIdx++; +/* Generated */ trailingIdx++; +/* Generated */ today++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_ASIN.c b/vendor/ta-lib/src/ta_func/ta_ASIN.c new file mode 100644 index 000000000..c118cae6e --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_ASIN.c @@ -0,0 +1,241 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 090807 MF Initial Version + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::AsinLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int asinLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_ASIN_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_ASIN - Vector Trigonometric ASin + * + * Input = double + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Asin( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Asin( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode asin( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_ASIN( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx; + int i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Default return values */ + for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) + { + outReal[outIdx] = std_asin(inReal[i]); + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Asin( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode asin( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_ASIN( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx; +/* Generated */ int i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) +/* Generated */ { +/* Generated */ outReal[outIdx] = std_asin(inReal[i]); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_ATAN.c b/vendor/ta-lib/src/ta_func/ta_ATAN.c new file mode 100644 index 000000000..b8efdc0f4 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_ATAN.c @@ -0,0 +1,241 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 090807 MF Initial Version + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::AtanLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int atanLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_ATAN_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_ATAN - Vector Trigonometric ATan + * + * Input = double + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Atan( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Atan( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode atan( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_ATAN( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx; + int i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Default return values */ + for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) + { + outReal[outIdx] = std_atan(inReal[i]); + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Atan( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode atan( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_ATAN( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx; +/* Generated */ int i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) +/* Generated */ { +/* Generated */ outReal[outIdx] = std_atan(inReal[i]); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_ATR.c b/vendor/ta-lib/src/ta_func/ta_ATR.c new file mode 100644 index 000000000..0367fffac --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_ATR.c @@ -0,0 +1,453 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::AtrLookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int atrLookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_ATR_Lookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + /* The ATR lookback is the sum of: + * 1 + (optInTimePeriod - 1) + * + * Where 1 is for the True Range, and + * (optInTimePeriod-1) is for the simple + * moving average. + */ + return optInTimePeriod + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_ATR,Atr); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_ATR - Average True Range + * + * Input = High, Low, Close + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Atr( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Atr( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode atr( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_ATR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + ENUM_DECLARATION(RetCode) retCode; + int outIdx, today, lookbackTotal; + int nbATR; + VALUE_HANDLE_INT(outBegIdx1); + VALUE_HANDLE_INT(outNbElement1); + + double prevATR; + ARRAY_REF( tempBuffer ); + ARRAY_LOCAL(prevATRTemp,1); + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Average True Range is the greatest of the following: + * + * val1 = distance from today's high to today's low. + * val2 = distance from yesterday's close to today's high. + * val3 = distance from yesterday's close to today's low. + * + * These value are averaged for the specified period using + * Wilder method. This method have an unstable period comparable + * to and Exponential Moving Average (EMA). + */ + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + + /* Adjust startIdx to account for the lookback period. */ + lookbackTotal = LOOKBACK_CALL(ATR)( optInTimePeriod ); + + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + + /* Trap the case where no smoothing is needed. */ + if( optInTimePeriod <= 1 ) + { + /* No smoothing needed. Just do a TRANGE. */ + return FUNCTION_CALL(TRANGE)( startIdx, endIdx, + inHigh, inLow, inClose, + outBegIdx, outNBElement, outReal ); + } + + /* Allocate an intermediate buffer for TRANGE. */ + ARRAY_ALLOC(tempBuffer, lookbackTotal+(endIdx-startIdx)+1 ); + + /* Do TRANGE in the intermediate buffer. */ + retCode = FUNCTION_CALL(TRANGE)( (startIdx-lookbackTotal+1), endIdx, + inHigh, inLow, inClose, + VALUE_HANDLE_OUT(outBegIdx1), VALUE_HANDLE_OUT(outNbElement1), + tempBuffer ); + + if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) + { + ARRAY_FREE( tempBuffer ); + return retCode; + } + + /* First value of the ATR is a simple Average of + * the TRANGE output for the specified period. + */ + retCode = FUNCTION_CALL_DOUBLE(INT_SMA)( optInTimePeriod-1, + optInTimePeriod-1, + tempBuffer, optInTimePeriod, + VALUE_HANDLE_OUT(outBegIdx1), VALUE_HANDLE_OUT(outNbElement1), + prevATRTemp ); + + if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) + { + ARRAY_FREE( tempBuffer ); + return retCode; + } + prevATR = prevATRTemp[0]; + + /* Subsequent value are smoothed using the + * previous ATR value (Wilder's approach). + * 1) Multiply the previous ATR by 'period-1'. + * 2) Add today TR value. + * 3) Divide by 'period'. + */ + today = optInTimePeriod; + outIdx = TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_ATR,Atr); + /* Skip the unstable period. */ + while( outIdx != 0 ) + { + prevATR *= optInTimePeriod - 1; + prevATR += tempBuffer[today++]; + prevATR /= optInTimePeriod; + outIdx--; + } + + /* Now start to write the final ATR in the caller + * provided outReal. + */ + outIdx = 1; + outReal[0] = prevATR; + + /* Now do the number of requested ATR. */ + nbATR = (endIdx - startIdx)+1; + + while( --nbATR != 0 ) + { + prevATR *= optInTimePeriod - 1; + prevATR += tempBuffer[today++]; + prevATR /= optInTimePeriod; + outReal[outIdx++] = prevATR; + } + + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + ARRAY_FREE( tempBuffer ); + + return retCode; +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Atr( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode atr( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_ATR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ENUM_DECLARATION(RetCode) retCode; +/* Generated */ int outIdx, today, lookbackTotal; +/* Generated */ int nbATR; +/* Generated */ VALUE_HANDLE_INT(outBegIdx1); +/* Generated */ VALUE_HANDLE_INT(outNbElement1); +/* Generated */ double prevATR; +/* Generated */ ARRAY_REF( tempBuffer ); +/* Generated */ ARRAY_LOCAL(prevATRTemp,1); +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ lookbackTotal = LOOKBACK_CALL(ATR)( optInTimePeriod ); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ if( optInTimePeriod <= 1 ) +/* Generated */ { +/* Generated */ return FUNCTION_CALL(TRANGE)( startIdx, endIdx, +/* Generated */ inHigh, inLow, inClose, +/* Generated */ outBegIdx, outNBElement, outReal ); +/* Generated */ } +/* Generated */ ARRAY_ALLOC(tempBuffer, lookbackTotal+(endIdx-startIdx)+1 ); +/* Generated */ retCode = FUNCTION_CALL(TRANGE)( (startIdx-lookbackTotal+1), endIdx, +/* Generated */ inHigh, inLow, inClose, +/* Generated */ VALUE_HANDLE_OUT(outBegIdx1), VALUE_HANDLE_OUT(outNbElement1), +/* Generated */ tempBuffer ); +/* Generated */ if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) +/* Generated */ { +/* Generated */ ARRAY_FREE( tempBuffer ); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ retCode = FUNCTION_CALL_DOUBLE(INT_SMA)( optInTimePeriod-1, +/* Generated */ optInTimePeriod-1, +/* Generated */ tempBuffer, optInTimePeriod, +/* Generated */ VALUE_HANDLE_OUT(outBegIdx1), VALUE_HANDLE_OUT(outNbElement1), +/* Generated */ prevATRTemp ); +/* Generated */ if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) +/* Generated */ { +/* Generated */ ARRAY_FREE( tempBuffer ); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ prevATR = prevATRTemp[0]; +/* Generated */ today = optInTimePeriod; +/* Generated */ outIdx = TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_ATR,Atr); +/* Generated */ while( outIdx != 0 ) +/* Generated */ { +/* Generated */ prevATR *= optInTimePeriod - 1; +/* Generated */ prevATR += tempBuffer[today++]; +/* Generated */ prevATR /= optInTimePeriod; +/* Generated */ outIdx--; +/* Generated */ } +/* Generated */ outIdx = 1; +/* Generated */ outReal[0] = prevATR; +/* Generated */ nbATR = (endIdx - startIdx)+1; +/* Generated */ while( --nbATR != 0 ) +/* Generated */ { +/* Generated */ prevATR *= optInTimePeriod - 1; +/* Generated */ prevATR += tempBuffer[today++]; +/* Generated */ prevATR /= optInTimePeriod; +/* Generated */ outReal[outIdx++] = prevATR; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ ARRAY_FREE( tempBuffer ); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_AVGPRICE.c b/vendor/ta-lib/src/ta_func/ta_AVGPRICE.c new file mode 100644 index 000000000..36427e8e9 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_AVGPRICE.c @@ -0,0 +1,278 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 010802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * 112605 MF Fix outBegIdx when startIdx != 0 + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::AvgPriceLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int avgPriceLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_AVGPRICE_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + /* This function have no lookback needed. */ + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_AVGPRICE - Average Price + * + * Input = Open, High, Low, Close + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::AvgPrice( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::AvgPrice( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode avgPrice( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_AVGPRICE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx, i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Average price = (High + Low + Open + Close) / 4 */ + + outIdx = 0; + + for( i=startIdx; i <= endIdx; i++ ) + { + outReal[outIdx++] = ( inHigh [i] + + inLow [i] + + inClose[i] + + inOpen [i]) / 4; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::AvgPrice( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode avgPrice( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_AVGPRICE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx, i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ outIdx = 0; +/* Generated */ for( i=startIdx; i <= endIdx; i++ ) +/* Generated */ { +/* Generated */ outReal[outIdx++] = ( inHigh [i] + +/* Generated */ inLow [i] + +/* Generated */ inClose[i] + +/* Generated */ inOpen [i]) / 4; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_BBANDS.c b/vendor/ta-lib/src/ta_func/ta_BBANDS.c new file mode 100644 index 000000000..e1c198802 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_BBANDS.c @@ -0,0 +1,643 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * JV Jesus Viver <324122@cienz.unizar.es> + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF Template creation. + * 010503 MF Fix to always use SMA for the STDDEV (Thanks to JV). + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::BbandsLookback( int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInNbDevUp, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ double optInNbDevDn, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ MAType optInMAType ) /* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int bbandsLookback( int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInNbDevUp, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ double optInNbDevDn, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ MAType optInMAType ) /* Generated */ +/* Generated */ #else +/* Generated */ int TA_BBANDS_Lookback( int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInNbDevUp, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ double optInNbDevDn, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ TA_MAType optInMAType ) /* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 5; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ if( optInNbDevUp == TA_REAL_DEFAULT ) +/* Generated */ optInNbDevUp = 2.000000e+0; +/* Generated */ else if( (optInNbDevUp < -3.000000e+37) ||/* Generated */ (optInNbDevUp > 3.000000e+37) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ if( optInNbDevDn == TA_REAL_DEFAULT ) +/* Generated */ optInNbDevDn = 2.000000e+0; +/* Generated */ else if( (optInNbDevDn < -3.000000e+37) ||/* Generated */ (optInNbDevDn > 3.000000e+37) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInMAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInMAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInMAType < 0) || ((int)optInMAType > 8) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* !defined(_MANAGED) && !defined(_JAVA)*/ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + UNUSED_VARIABLE(optInNbDevUp); + UNUSED_VARIABLE(optInNbDevDn); + + /* The lookback is driven by the middle band moving average. */ + return LOOKBACK_CALL(MA)( optInTimePeriod, optInMAType ); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_BBANDS - Bollinger Bands + * + * Input = double + * Output = double, double, double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * optInNbDevUp:(From TA_REAL_MIN to TA_REAL_MAX) + * Deviation multiplier for upper band + * + * optInNbDevDn:(From TA_REAL_MIN to TA_REAL_MAX) + * Deviation multiplier for lower band + * + * optInMAType: + * Type of Moving Average + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Bbands( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInNbDevUp, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ double optInNbDevDn, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ MAType optInMAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outRealUpperBand, +/* Generated */ cli::array^ outRealMiddleBand, +/* Generated */ cli::array^ outRealLowerBand ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Bbands( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInNbDevUp, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ double optInNbDevDn, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ MAType optInMAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outRealUpperBand, +/* Generated */ cli::array^ outRealMiddleBand, +/* Generated */ cli::array^ outRealLowerBand ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode bbands( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInNbDevUp, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ double optInNbDevDn, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ MAType optInMAType, +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outRealUpperBand[], +/* Generated */ double outRealMiddleBand[], +/* Generated */ double outRealLowerBand[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_BBANDS( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInNbDevUp, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ double optInNbDevDn, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ TA_MAType optInMAType, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outRealUpperBand[], +/* Generated */ double outRealMiddleBand[], +/* Generated */ double outRealLowerBand[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + ENUM_DECLARATION(RetCode) retCode; + int i; + double tempReal, tempReal2; + ARRAY_REF(tempBuffer1); + ARRAY_REF(tempBuffer2); + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 5; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( optInNbDevUp == TA_REAL_DEFAULT ) +/* Generated */ optInNbDevUp = 2.000000e+0; +/* Generated */ else if( (optInNbDevUp < -3.000000e+37) ||/* Generated */ (optInNbDevUp > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( optInNbDevDn == TA_REAL_DEFAULT ) +/* Generated */ optInNbDevDn = 2.000000e+0; +/* Generated */ else if( (optInNbDevDn < -3.000000e+37) ||/* Generated */ (optInNbDevDn > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInMAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInMAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInMAType < 0) || ((int)optInMAType > 8) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_MANAGED) && !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outRealUpperBand ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( !outRealMiddleBand ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( !outRealLowerBand ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Identify TWO temporary buffer among the outputs. + * + * These temporary buffers allows to perform the + * calculation without any memory allocation. + * + * Whenever possible, make the tempBuffer1 be the + * middle band output. This will save one copy operation. + */ + #if defined(USE_SINGLE_PRECISION_INPUT) || defined( USE_SUBARRAY ) + tempBuffer1 = outRealMiddleBand; + tempBuffer2 = outRealLowerBand; + #else + if( inReal == outRealUpperBand ) + { + tempBuffer1 = outRealMiddleBand; + tempBuffer2 = outRealLowerBand; + } + else if( inReal == outRealLowerBand ) + { + tempBuffer1 = outRealMiddleBand; + tempBuffer2 = outRealUpperBand; + } + else if( inReal == outRealMiddleBand ) + { + tempBuffer1 = outRealLowerBand; + tempBuffer2 = outRealUpperBand; + } + else + { + tempBuffer1 = outRealMiddleBand; + tempBuffer2 = outRealUpperBand; + } + /* Check that the caller is not doing tricky things. + * (like using the input buffer in two output!) + */ + if( (tempBuffer1 == inReal) || (tempBuffer2 == inReal) ) + return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); + #endif + + + /* Calculate the middle band, which is a moving average. + * The other two bands will simply add/substract the + * standard deviation from this middle band. + */ + retCode = FUNCTION_CALL(MA)( startIdx, endIdx, inReal, + optInTimePeriod, optInMAType, + outBegIdx, outNBElement, tempBuffer1 ); + + if( (retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) || ((int)VALUE_HANDLE_DEREF(outNBElement) == 0) ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return retCode; + } + + /* Calculate the standard deviation into tempBuffer2. */ + if( optInMAType == ENUM_VALUE(MAType,TA_MAType_SMA,Sma) ) + { + /* A small speed optimization by re-using the + * already calculated SMA. + */ + FUNCTION_CALL(INT_stddev_using_precalc_ma)( inReal, tempBuffer1, + (int)VALUE_HANDLE_DEREF(outBegIdx), (int)VALUE_HANDLE_DEREF(outNBElement), + optInTimePeriod, tempBuffer2 ); + } + else + { + /* Calculate the Standard Deviation */ + retCode = FUNCTION_CALL(STDDEV)( (int)VALUE_HANDLE_DEREF(outBegIdx), endIdx, inReal, + optInTimePeriod, 1.0, + outBegIdx, outNBElement, tempBuffer2 ); + + if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return retCode; + } + } + + /* Copy the MA calculation into the middle band ouput, unless + * the calculation was done into it already! + */ + #if !defined(USE_SINGLE_PRECISION_INPUT) + if( tempBuffer1 != outRealMiddleBand ) + { + ARRAY_COPY( outRealMiddleBand, tempBuffer1, VALUE_HANDLE_DEREF(outNBElement) ); + } + #endif + + /* Now do a tight loop to calculate the upper/lower band at + * the same time. + * + * All the following 5 loops are doing the same, except there + * is an attempt to speed optimize by eliminating uneeded + * multiplication. + */ + if( optInNbDevUp == optInNbDevDn ) + { + if( optInNbDevUp == 1.0 ) + { + /* No standard deviation multiplier needed. */ + for( i=0; i < (int)VALUE_HANDLE_DEREF(outNBElement); i++ ) + { + tempReal = tempBuffer2[i]; + tempReal2 = outRealMiddleBand[i]; + outRealUpperBand[i] = tempReal2 + tempReal; + outRealLowerBand[i] = tempReal2 - tempReal; + } + } + else + { + /* Upper/lower band use the same standard deviation multiplier. */ + for( i=0; i < (int)VALUE_HANDLE_DEREF(outNBElement); i++ ) + { + tempReal = tempBuffer2[i] * optInNbDevUp; + tempReal2 = outRealMiddleBand[i]; + outRealUpperBand[i] = tempReal2 + tempReal; + outRealLowerBand[i] = tempReal2 - tempReal; + } + } + } + else if( optInNbDevUp == 1.0 ) + { + /* Only lower band has a standard deviation multiplier. */ + for( i=0; i < (int)VALUE_HANDLE_DEREF(outNBElement); i++ ) + { + tempReal = tempBuffer2[i]; + tempReal2 = outRealMiddleBand[i]; + outRealUpperBand[i] = tempReal2 + tempReal; + outRealLowerBand[i] = tempReal2 - (tempReal * optInNbDevDn); + } + } + else if( optInNbDevDn == 1.0 ) + { + /* Only upper band has a standard deviation multiplier. */ + for( i=0; i < (int)VALUE_HANDLE_DEREF(outNBElement); i++ ) + { + tempReal = tempBuffer2[i]; + tempReal2 = outRealMiddleBand[i]; + outRealLowerBand[i] = tempReal2 - tempReal; + outRealUpperBand[i] = tempReal2 + (tempReal * optInNbDevUp); + } + } + else + { + /* Upper/lower band have distinctive standard deviation multiplier. */ + for( i=0; i < (int)VALUE_HANDLE_DEREF(outNBElement); i++ ) + { + tempReal = tempBuffer2[i]; + tempReal2 = outRealMiddleBand[i]; + outRealUpperBand[i] = tempReal2 + (tempReal * optInNbDevUp); + outRealLowerBand[i] = tempReal2 - (tempReal * optInNbDevDn); + } + } + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Bbands( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInNbDevUp, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ double optInNbDevDn, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ MAType optInMAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outRealUpperBand, +/* Generated */ cli::array^ outRealMiddleBand, +/* Generated */ cli::array^ outRealLowerBand ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode bbands( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInNbDevUp, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ double optInNbDevDn, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ MAType optInMAType, +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outRealUpperBand[], +/* Generated */ double outRealMiddleBand[], +/* Generated */ double outRealLowerBand[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_BBANDS( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInNbDevUp, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ double optInNbDevDn, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ TA_MAType optInMAType, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outRealUpperBand[], +/* Generated */ double outRealMiddleBand[], +/* Generated */ double outRealLowerBand[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ENUM_DECLARATION(RetCode) retCode; +/* Generated */ int i; +/* Generated */ double tempReal, tempReal2; +/* Generated */ ARRAY_REF(tempBuffer1); +/* Generated */ ARRAY_REF(tempBuffer2); +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 5; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( optInNbDevUp == TA_REAL_DEFAULT ) +/* Generated */ optInNbDevUp = 2.000000e+0; +/* Generated */ else if( (optInNbDevUp < -3.000000e+37) || (optInNbDevUp > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( optInNbDevDn == TA_REAL_DEFAULT ) +/* Generated */ optInNbDevDn = 2.000000e+0; +/* Generated */ else if( (optInNbDevDn < -3.000000e+37) || (optInNbDevDn > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInMAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInMAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInMAType < 0) || ((int)optInMAType > 8) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outRealUpperBand ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !outRealMiddleBand ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !outRealLowerBand ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ #if defined(USE_SINGLE_PRECISION_INPUT) || defined( USE_SUBARRAY ) +/* Generated */ tempBuffer1 = outRealMiddleBand; +/* Generated */ tempBuffer2 = outRealLowerBand; +/* Generated */ #else +/* Generated */ if( inReal == outRealUpperBand ) +/* Generated */ { +/* Generated */ tempBuffer1 = outRealMiddleBand; +/* Generated */ tempBuffer2 = outRealLowerBand; +/* Generated */ } +/* Generated */ else if( inReal == outRealLowerBand ) +/* Generated */ { +/* Generated */ tempBuffer1 = outRealMiddleBand; +/* Generated */ tempBuffer2 = outRealUpperBand; +/* Generated */ } +/* Generated */ else if( inReal == outRealMiddleBand ) +/* Generated */ { +/* Generated */ tempBuffer1 = outRealLowerBand; +/* Generated */ tempBuffer2 = outRealUpperBand; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ tempBuffer1 = outRealMiddleBand; +/* Generated */ tempBuffer2 = outRealUpperBand; +/* Generated */ } +/* Generated */ if( (tempBuffer1 == inReal) || (tempBuffer2 == inReal) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ retCode = FUNCTION_CALL(MA)( startIdx, endIdx, inReal, +/* Generated */ optInTimePeriod, optInMAType, +/* Generated */ outBegIdx, outNBElement, tempBuffer1 ); +/* Generated */ if( (retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) || ((int)VALUE_HANDLE_DEREF(outNBElement) == 0) ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ if( optInMAType == ENUM_VALUE(MAType,TA_MAType_SMA,Sma) ) +/* Generated */ { +/* Generated */ FUNCTION_CALL(INT_stddev_using_precalc_ma)( inReal, tempBuffer1, +/* Generated */ (int)VALUE_HANDLE_DEREF(outBegIdx), (int)VALUE_HANDLE_DEREF(outNBElement), +/* Generated */ optInTimePeriod, tempBuffer2 ); +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ retCode = FUNCTION_CALL(STDDEV)( (int)VALUE_HANDLE_DEREF(outBegIdx), endIdx, inReal, +/* Generated */ optInTimePeriod, 1.0, +/* Generated */ outBegIdx, outNBElement, tempBuffer2 ); +/* Generated */ if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ } +/* Generated */ #if !defined(USE_SINGLE_PRECISION_INPUT) +/* Generated */ if( tempBuffer1 != outRealMiddleBand ) +/* Generated */ { +/* Generated */ ARRAY_COPY( outRealMiddleBand, tempBuffer1, VALUE_HANDLE_DEREF(outNBElement) ); +/* Generated */ } +/* Generated */ #endif +/* Generated */ if( optInNbDevUp == optInNbDevDn ) +/* Generated */ { +/* Generated */ if( optInNbDevUp == 1.0 ) +/* Generated */ { +/* Generated */ for( i=0; i < (int)VALUE_HANDLE_DEREF(outNBElement); i++ ) +/* Generated */ { +/* Generated */ tempReal = tempBuffer2[i]; +/* Generated */ tempReal2 = outRealMiddleBand[i]; +/* Generated */ outRealUpperBand[i] = tempReal2 + tempReal; +/* Generated */ outRealLowerBand[i] = tempReal2 - tempReal; +/* Generated */ } +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ for( i=0; i < (int)VALUE_HANDLE_DEREF(outNBElement); i++ ) +/* Generated */ { +/* Generated */ tempReal = tempBuffer2[i] * optInNbDevUp; +/* Generated */ tempReal2 = outRealMiddleBand[i]; +/* Generated */ outRealUpperBand[i] = tempReal2 + tempReal; +/* Generated */ outRealLowerBand[i] = tempReal2 - tempReal; +/* Generated */ } +/* Generated */ } +/* Generated */ } +/* Generated */ else if( optInNbDevUp == 1.0 ) +/* Generated */ { +/* Generated */ for( i=0; i < (int)VALUE_HANDLE_DEREF(outNBElement); i++ ) +/* Generated */ { +/* Generated */ tempReal = tempBuffer2[i]; +/* Generated */ tempReal2 = outRealMiddleBand[i]; +/* Generated */ outRealUpperBand[i] = tempReal2 + tempReal; +/* Generated */ outRealLowerBand[i] = tempReal2 - (tempReal * optInNbDevDn); +/* Generated */ } +/* Generated */ } +/* Generated */ else if( optInNbDevDn == 1.0 ) +/* Generated */ { +/* Generated */ for( i=0; i < (int)VALUE_HANDLE_DEREF(outNBElement); i++ ) +/* Generated */ { +/* Generated */ tempReal = tempBuffer2[i]; +/* Generated */ tempReal2 = outRealMiddleBand[i]; +/* Generated */ outRealLowerBand[i] = tempReal2 - tempReal; +/* Generated */ outRealUpperBand[i] = tempReal2 + (tempReal * optInNbDevUp); +/* Generated */ } +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ for( i=0; i < (int)VALUE_HANDLE_DEREF(outNBElement); i++ ) +/* Generated */ { +/* Generated */ tempReal = tempBuffer2[i]; +/* Generated */ tempReal2 = outRealMiddleBand[i]; +/* Generated */ outRealUpperBand[i] = tempReal2 + (tempReal * optInNbDevUp); +/* Generated */ outRealLowerBand[i] = tempReal2 - (tempReal * optInNbDevDn); +/* Generated */ } +/* Generated */ } +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_BETA.c b/vendor/ta-lib/src/ta_func/ta_BETA.c new file mode 100644 index 000000000..7e42f6608 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_BETA.c @@ -0,0 +1,484 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MW Michael Williamson + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 122006 MW Initial Version + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::BetaLookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int betaLookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_BETA_Lookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 5; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + return optInTimePeriod; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_BETA - Beta + * + * Input = double, double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Beta( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal0, +/* Generated */ SubArray^ inReal1, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Beta( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal0, +/* Generated */ cli::array^ inReal1, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode beta( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal0[], +/* Generated */ double inReal1[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_BETA( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal0[], +/* Generated */ const double inReal1[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + double S_xx = 0.0f; /* sum of x * x */ + double S_xy = 0.0f; /* sum of x * y */ + double S_x = 0.0f; /* sum of x */ + double S_y = 0.0f; /* sum of y */ + double last_price_x = 0.0f; /* the last price read from inReal0 */ + double last_price_y = 0.0f; /* the last price read from inReal1 */ + double trailing_last_price_x = 0.0f; /* same as last_price_x except used to remove elements from the trailing summation */ + double trailing_last_price_y = 0.0f; /* same as last_price_y except used to remove elements from the trailing summation */ + double tmp_real = 0.0f; /* temporary variable */ + double x; /* the 'x' value, which is the last change between values in inReal0 */ + double y; /* the 'y' value, which is the last change between values in inReal1 */ + double n = 0.0f; + int i, outIdx; + int trailingIdx, nbInitialElementNeeded; + + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal0 ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !inReal1 ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 5; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /** DESCRIPTION OF ALGORITHM: + * The Beta 'algorithm' is a measure of a stocks volatility vs from index. The stock prices + * are given in inReal0 and the index prices are give in inReal1. The size of these vectors + * should be equal. The algorithm is to calculate the change between prices in both vectors + * and then 'plot' these changes are points in the Euclidean plane. The x value of the point + * is market return and the y value is the security return. The beta value is the slope of a + * linear regression through these points. A beta of 1 is simple the line y=x, so the stock + * varies percisely with the market. A beta of less than one means the stock varies less than + * the market and a beta of more than one means the stock varies more than market. A related + * value is the Alpha value (see TA_ALPHA) which is the Y-intercept of the same linear regression. + */ + + /* Validate the calculation method type and + * identify the minimum number of input + * consume before the first value is output.. + */ + nbInitialElementNeeded = optInTimePeriod; + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < nbInitialElementNeeded ) + startIdx = nbInitialElementNeeded; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Consume first input. */ + trailingIdx = startIdx-nbInitialElementNeeded; + last_price_x = trailing_last_price_x = inReal0[trailingIdx]; + last_price_y = trailing_last_price_y = inReal1[trailingIdx]; + + /* Process remaining of lookback until ready to output the first value. */ + i = ++trailingIdx; + + while( i < startIdx ) + { + tmp_real = inReal0[i]; + if( !TA_IS_ZERO(last_price_x) ) + x = (tmp_real-last_price_x)/last_price_x; + else + x = 0.0; + last_price_x = tmp_real; + + tmp_real = inReal1[i++]; + if( !TA_IS_ZERO(last_price_y) ) + y = (tmp_real-last_price_y)/last_price_y; + else + y = 0.0; + last_price_y = tmp_real; + + S_xx += x*x; + S_xy += x*y; + S_x += x; + S_y += y; + } + + + outIdx = 0; /* First output always start at index zero */ + n = (double)optInTimePeriod; + do + { + tmp_real = inReal0[i]; + if( !TA_IS_ZERO(last_price_x) ) + x = (tmp_real-last_price_x)/last_price_x; + else + x = 0.0; + last_price_x = tmp_real; + + tmp_real = inReal1[i++]; + if( !TA_IS_ZERO(last_price_y) ) + y = (tmp_real-last_price_y)/last_price_y; + else + y = 0.0; + last_price_y = tmp_real; + + S_xx += x*x; + S_xy += x*y; + S_x += x; + S_y += y; + + /* Always read the trailing before writing the output because the input and output + * buffer can be the same. + */ + tmp_real = inReal0[trailingIdx]; + if( !TA_IS_ZERO(trailing_last_price_x) ) + x = (tmp_real-trailing_last_price_x)/trailing_last_price_x; + else + x = 0.0; + trailing_last_price_x = tmp_real; + + tmp_real = inReal1[trailingIdx++]; + if( !TA_IS_ZERO(trailing_last_price_y) ) + y = (tmp_real-trailing_last_price_y)/trailing_last_price_y; + else + y = 0.0; + trailing_last_price_y = tmp_real; + + /* Write the output */ + tmp_real = (n * S_xx) - (S_x * S_x); + if( !TA_IS_ZERO(tmp_real) ) + outReal[outIdx++] = ((n * S_xy) - (S_x * S_y)) / tmp_real; + else + outReal[outIdx++] = 0.0; + + /* Remove the calculation starting with the trailingIdx. */ + S_xx -= x*x; + S_xy -= x*y; + S_x -= x; + S_y -= y; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Beta( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal0, +/* Generated */ cli::array^ inReal1, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode beta( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal0[], +/* Generated */ float inReal1[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_BETA( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal0[], +/* Generated */ const float inReal1[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double S_xx = 0.0f; +/* Generated */ double S_xy = 0.0f; +/* Generated */ double S_x = 0.0f; +/* Generated */ double S_y = 0.0f; +/* Generated */ double last_price_x = 0.0f; +/* Generated */ double last_price_y = 0.0f; +/* Generated */ double trailing_last_price_x = 0.0f; +/* Generated */ double trailing_last_price_y = 0.0f; +/* Generated */ double tmp_real = 0.0f; +/* Generated */ double x; +/* Generated */ double y; +/* Generated */ double n = 0.0f; +/* Generated */ int i, outIdx; +/* Generated */ int trailingIdx, nbInitialElementNeeded; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal0 ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !inReal1 ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 5; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ nbInitialElementNeeded = optInTimePeriod; +/* Generated */ if( startIdx < nbInitialElementNeeded ) +/* Generated */ startIdx = nbInitialElementNeeded; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ trailingIdx = startIdx-nbInitialElementNeeded; +/* Generated */ last_price_x = trailing_last_price_x = inReal0[trailingIdx]; +/* Generated */ last_price_y = trailing_last_price_y = inReal1[trailingIdx]; +/* Generated */ i = ++trailingIdx; +/* Generated */ while( i < startIdx ) +/* Generated */ { +/* Generated */ tmp_real = inReal0[i]; +/* Generated */ if( !TA_IS_ZERO(last_price_x) ) +/* Generated */ x = (tmp_real-last_price_x)/last_price_x; +/* Generated */ else +/* Generated */ x = 0.0; +/* Generated */ last_price_x = tmp_real; +/* Generated */ tmp_real = inReal1[i++]; +/* Generated */ if( !TA_IS_ZERO(last_price_y) ) +/* Generated */ y = (tmp_real-last_price_y)/last_price_y; +/* Generated */ else +/* Generated */ y = 0.0; +/* Generated */ last_price_y = tmp_real; +/* Generated */ S_xx += x*x; +/* Generated */ S_xy += x*y; +/* Generated */ S_x += x; +/* Generated */ S_y += y; +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ n = (double)optInTimePeriod; +/* Generated */ do +/* Generated */ { +/* Generated */ tmp_real = inReal0[i]; +/* Generated */ if( !TA_IS_ZERO(last_price_x) ) +/* Generated */ x = (tmp_real-last_price_x)/last_price_x; +/* Generated */ else +/* Generated */ x = 0.0; +/* Generated */ last_price_x = tmp_real; +/* Generated */ tmp_real = inReal1[i++]; +/* Generated */ if( !TA_IS_ZERO(last_price_y) ) +/* Generated */ y = (tmp_real-last_price_y)/last_price_y; +/* Generated */ else +/* Generated */ y = 0.0; +/* Generated */ last_price_y = tmp_real; +/* Generated */ S_xx += x*x; +/* Generated */ S_xy += x*y; +/* Generated */ S_x += x; +/* Generated */ S_y += y; +/* Generated */ tmp_real = inReal0[trailingIdx]; +/* Generated */ if( !TA_IS_ZERO(trailing_last_price_x) ) +/* Generated */ x = (tmp_real-trailing_last_price_x)/trailing_last_price_x; +/* Generated */ else +/* Generated */ x = 0.0; +/* Generated */ trailing_last_price_x = tmp_real; +/* Generated */ tmp_real = inReal1[trailingIdx++]; +/* Generated */ if( !TA_IS_ZERO(trailing_last_price_y) ) +/* Generated */ y = (tmp_real-trailing_last_price_y)/trailing_last_price_y; +/* Generated */ else +/* Generated */ y = 0.0; +/* Generated */ trailing_last_price_y = tmp_real; +/* Generated */ tmp_real = (n * S_xx) - (S_x * S_x); +/* Generated */ if( !TA_IS_ZERO(tmp_real) ) +/* Generated */ outReal[outIdx++] = ((n * S_xy) - (S_x * S_y)) / tmp_real; +/* Generated */ else +/* Generated */ outReal[outIdx++] = 0.0; +/* Generated */ S_xx -= x*x; +/* Generated */ S_xy -= x*y; +/* Generated */ S_x -= x; +/* Generated */ S_y -= y; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_BOP.c b/vendor/ta-lib/src/ta_func/ta_BOP.c new file mode 100644 index 000000000..c2b655ddf --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_BOP.c @@ -0,0 +1,279 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112605 MF Initial coding. + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::BopLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int bopLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_BOP_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_BOP - Balance Of Power + * + * Input = Open, High, Low, Close + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Bop( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Bop( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode bop( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_BOP( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx, i; + double tempReal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* BOP = (Close - Open)/(High - Low) */ + + outIdx = 0; + + for( i=startIdx; i <= endIdx; i++ ) + { + tempReal = inHigh[i]-inLow[i]; + if( TA_IS_ZERO_OR_NEG(tempReal) ) + outReal[outIdx++] = 0.0; + else + outReal[outIdx++] = (inClose[i] - inOpen[i])/tempReal; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Bop( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode bop( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_BOP( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx, i; +/* Generated */ double tempReal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ outIdx = 0; +/* Generated */ for( i=startIdx; i <= endIdx; i++ ) +/* Generated */ { +/* Generated */ tempReal = inHigh[i]-inLow[i]; +/* Generated */ if( TA_IS_ZERO_OR_NEG(tempReal) ) +/* Generated */ outReal[outIdx++] = 0.0; +/* Generated */ else +/* Generated */ outReal[outIdx++] = (inClose[i] - inOpen[i])/tempReal; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CCI.c b/vendor/ta-lib/src/ta_func/ta_CCI.c new file mode 100644 index 000000000..14fa40ee1 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CCI.c @@ -0,0 +1,416 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 031202 MF Template creation. + * 052603 MF Port to managed C++. Change to use CIRCBUF macros. + * 061704 MF Lower limit for period to 2, and correct algorithm + * to avoid cummulative error when value are close to + * the floating point epsilon. + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CciLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cciLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CCI_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return (optInTimePeriod-1); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CCI - Commodity Channel Index + * + * Input = High, Low, Close + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Cci( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Cci( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cci( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CCI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + + /* insert local variable here */ + double tempReal, tempReal2, theAverage, lastValue; + int i, j, outIdx, lookbackTotal; + + /* This ptr will points on a circular buffer of + * at least "optInTimePeriod" element. + */ + CIRCBUF_PROLOG(circBuffer,double,30); + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + lookbackTotal = (optInTimePeriod-1); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Allocate a circular buffer equal to the requested + * period. + */ + CIRCBUF_INIT( circBuffer, double, optInTimePeriod ); + + /* Do the MA calculation using tight loops. */ + + /* Add-up the initial period, except for the last value. + * Fill up the circular buffer at the same time. + */ + i=startIdx-lookbackTotal; + if( optInTimePeriod > 1 ) + { + while( i < startIdx ) + { + circBuffer[circBuffer_Idx] = (inHigh[i]+inLow[i]+inClose[i])/3; + i++; + CIRCBUF_NEXT(circBuffer); + } + } + + /* Proceed with the calculation for the requested range. + * Note that this algorithm allows the inReal and + * outReal to be the same buffer. + */ + outIdx = 0; + do + { + lastValue = (inHigh[i]+inLow[i]+inClose[i])/3; + circBuffer[circBuffer_Idx] = lastValue; + + /* Calculate the average for the whole period. */ + theAverage = 0; + for( j=0; j < optInTimePeriod; j++ ) + theAverage += circBuffer[j]; + theAverage /= optInTimePeriod; + + /* Do the summation of the ABS(TypePrice-average) + * for the whole period. + */ + tempReal2 = 0; + for( j=0; j < optInTimePeriod; j++ ) + tempReal2 += std_fabs(circBuffer[j]-theAverage); + + /* And finally, the CCI... */ + tempReal = lastValue-theAverage; + + if( (tempReal != 0.0) && (tempReal2 != 0.0) ) + { + outReal[outIdx++] = tempReal/(0.015*(tempReal2/optInTimePeriod)); + } + else + outReal[outIdx++] = 0.0; + + /* Move forward the circular buffer indexes. */ + CIRCBUF_NEXT(circBuffer); + + i++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + /* Free the circular buffer if it was dynamically allocated. */ + CIRCBUF_DESTROY(circBuffer); + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Cci( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cci( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CCI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double tempReal, tempReal2, theAverage, lastValue; +/* Generated */ int i, j, outIdx, lookbackTotal; +/* Generated */ CIRCBUF_PROLOG(circBuffer,double,30); +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = (optInTimePeriod-1); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ CIRCBUF_INIT( circBuffer, double, optInTimePeriod ); +/* Generated */ i=startIdx-lookbackTotal; +/* Generated */ if( optInTimePeriod > 1 ) +/* Generated */ { +/* Generated */ while( i < startIdx ) +/* Generated */ { +/* Generated */ circBuffer[circBuffer_Idx] = (inHigh[i]+inLow[i]+inClose[i])/3; +/* Generated */ i++; +/* Generated */ CIRCBUF_NEXT(circBuffer); +/* Generated */ } +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ lastValue = (inHigh[i]+inLow[i]+inClose[i])/3; +/* Generated */ circBuffer[circBuffer_Idx] = lastValue; +/* Generated */ theAverage = 0; +/* Generated */ for( j=0; j < optInTimePeriod; j++ ) +/* Generated */ theAverage += circBuffer[j]; +/* Generated */ theAverage /= optInTimePeriod; +/* Generated */ tempReal2 = 0; +/* Generated */ for( j=0; j < optInTimePeriod; j++ ) +/* Generated */ tempReal2 += std_fabs(circBuffer[j]-theAverage); +/* Generated */ tempReal = lastValue-theAverage; +/* Generated */ if( (tempReal != 0.0) && (tempReal2 != 0.0) ) +/* Generated */ { +/* Generated */ outReal[outIdx++] = tempReal/(0.015*(tempReal2/optInTimePeriod)); +/* Generated */ } +/* Generated */ else +/* Generated */ outReal[outIdx++] = 0.0; +/* Generated */ CIRCBUF_NEXT(circBuffer); +/* Generated */ i++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ CIRCBUF_DESTROY(circBuffer); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDL2CROWS.c b/vendor/ta-lib/src/ta_func/ta_CDL2CROWS.c new file mode 100644 index 000000000..4e223adf4 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDL2CROWS.c @@ -0,0 +1,356 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 121104 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::Cdl2CrowsLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdl2CrowsLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDL2CROWS_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return TA_CANDLEAVGPERIOD(BodyLong) + 2; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDL2CROWS - Two Crows + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Cdl2Crows( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Cdl2Crows( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdl2Crows( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDL2CROWS( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyLongPeriodTotal; + int i, outIdx, BodyLongTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDL2CROWS)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyLongPeriodTotal = 0; + BodyLongTrailingIdx = startIdx -2 - TA_CANDLEAVGPERIOD(BodyLong); + + i = BodyLongTrailingIdx; + while( i < startIdx-2 ) { + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: long white candle + * - second candle: black real body + * - gap between the first and the second candle's real bodies + * - third candle: black candle that opens within the second real body and closes within the first real body + * The meaning of "long" is specified with TA_SetCandleSettings + * outInteger is negative (-1 to -100): two crows is always bearish; + * the user should consider that two crows is significant when it appears in an uptrend, while this function + * does not consider the trend + */ + outIdx = 0; + do + { + if( TA_CANDLECOLOR(i-2) == 1 && // 1st: white + TA_REALBODY(i-2) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-2 ) && // long + TA_CANDLECOLOR(i-1) == -1 && // 2nd: black + TA_REALBODYGAPUP(i-1,i-2) && // gapping up + TA_CANDLECOLOR(i) == -1 && // 3rd: black + inOpen[i] < inOpen[i-1] && inOpen[i] > inClose[i-1] && // opening within 2nd rb + inClose[i] > inOpen[i-2] && inClose[i] < inClose[i-2] // closing within 1st rb + ) + outInteger[outIdx++] = -100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-2 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); + i++; + BodyLongTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Cdl2Crows( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdl2Crows( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDL2CROWS( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyLongPeriodTotal; +/* Generated */ int i, outIdx, BodyLongTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDL2CROWS)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyLongPeriodTotal = 0; +/* Generated */ BodyLongTrailingIdx = startIdx -2 - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx-2 ) { +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_CANDLECOLOR(i-2) == 1 && // 1st: white +/* Generated */ TA_REALBODY(i-2) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-2 ) && // long +/* Generated */ TA_CANDLECOLOR(i-1) == -1 && // 2nd: black +/* Generated */ TA_REALBODYGAPUP(i-1,i-2) && // gapping up +/* Generated */ TA_CANDLECOLOR(i) == -1 && // 3rd: black +/* Generated */ inOpen[i] < inOpen[i-1] && inOpen[i] > inClose[i-1] && // opening within 2nd rb +/* Generated */ inClose[i] > inOpen[i-2] && inClose[i] < inClose[i-2] // closing within 1st rb +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = -100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-2 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDL3BLACKCROWS.c b/vendor/ta-lib/src/ta_func/ta_CDL3BLACKCROWS.c new file mode 100644 index 000000000..e057661fc --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDL3BLACKCROWS.c @@ -0,0 +1,384 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 103004 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::Cdl3BlackCrowsLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdl3BlackCrowsLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDL3BLACKCROWS_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return TA_CANDLEAVGPERIOD(ShadowVeryShort) + 3; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDL3BLACKCROWS - Three Black Crows + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Cdl3BlackCrows( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Cdl3BlackCrows( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdl3BlackCrows( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDL3BLACKCROWS( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + ARRAY_LOCAL(ShadowVeryShortPeriodTotal,3); + int i, outIdx, totIdx, ShadowVeryShortTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDL3BLACKCROWS)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + ShadowVeryShortPeriodTotal[2] = 0; + ShadowVeryShortPeriodTotal[1] = 0; + ShadowVeryShortPeriodTotal[0] = 0; + ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); + + i = ShadowVeryShortTrailingIdx; + while( i < startIdx ) { + ShadowVeryShortPeriodTotal[2] += TA_CANDLERANGE( ShadowVeryShort, i-2 ); + ShadowVeryShortPeriodTotal[1] += TA_CANDLERANGE( ShadowVeryShort, i-1 ); + ShadowVeryShortPeriodTotal[0] += TA_CANDLERANGE( ShadowVeryShort, i ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - three consecutive and declining black candlesticks + * - each candle must have no or very short lower shadow + * - each candle after the first must open within the prior candle's real body + * - the first candle's close should be under the prior white candle's high + * The meaning of "very short" is specified with TA_SetCandleSettings + * outInteger is negative (-1 to -100): three black crows is always bearish; + * the user should consider that 3 black crows is significant when it appears after a mature advance or at high levels, + * while this function does not consider it + */ + outIdx = 0; + do + { + if( TA_CANDLECOLOR(i-3) == 1 && // white + TA_CANDLECOLOR(i-2) == -1 && // 1st black + TA_LOWERSHADOW(i-2) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[2], i-2 ) && + // very short lower shadow + TA_CANDLECOLOR(i-1) == -1 && // 2nd black + TA_LOWERSHADOW(i-1) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[1], i-1 ) && + // very short lower shadow + TA_CANDLECOLOR(i) == -1 && // 3rd black + TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[0], i ) && + // very short lower shadow + inOpen[i-1] < inOpen[i-2] && inOpen[i-1] > inClose[i-2] && // 2nd black opens within 1st black's rb + inOpen[i] < inOpen[i-1] && inOpen[i] > inClose[i-1] && // 3rd black opens within 2nd black's rb + inHigh[i-3] > inClose[i-2] && // 1st black closes under prior candle's high + inClose[i-2] > inClose[i-1] && // three declining + inClose[i-1] > inClose[i] // three declining + ) + outInteger[outIdx++] = -100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + for (totIdx = 2; totIdx >= 0; --totIdx) + ShadowVeryShortPeriodTotal[totIdx] += TA_CANDLERANGE( ShadowVeryShort, i-totIdx ) + - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx-totIdx ); + i++; + ShadowVeryShortTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Cdl3BlackCrows( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdl3BlackCrows( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDL3BLACKCROWS( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ARRAY_LOCAL(ShadowVeryShortPeriodTotal,3); +/* Generated */ int i, outIdx, totIdx, ShadowVeryShortTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDL3BLACKCROWS)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ ShadowVeryShortPeriodTotal[2] = 0; +/* Generated */ ShadowVeryShortPeriodTotal[1] = 0; +/* Generated */ ShadowVeryShortPeriodTotal[0] = 0; +/* Generated */ ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); +/* Generated */ i = ShadowVeryShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowVeryShortPeriodTotal[2] += TA_CANDLERANGE( ShadowVeryShort, i-2 ); +/* Generated */ ShadowVeryShortPeriodTotal[1] += TA_CANDLERANGE( ShadowVeryShort, i-1 ); +/* Generated */ ShadowVeryShortPeriodTotal[0] += TA_CANDLERANGE( ShadowVeryShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_CANDLECOLOR(i-3) == 1 && // white +/* Generated */ TA_CANDLECOLOR(i-2) == -1 && // 1st black +/* Generated */ TA_LOWERSHADOW(i-2) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[2], i-2 ) && +/* Generated */ // very short lower shadow +/* Generated */ TA_CANDLECOLOR(i-1) == -1 && // 2nd black +/* Generated */ TA_LOWERSHADOW(i-1) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[1], i-1 ) && +/* Generated */ // very short lower shadow +/* Generated */ TA_CANDLECOLOR(i) == -1 && // 3rd black +/* Generated */ TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[0], i ) && +/* Generated */ // very short lower shadow +/* Generated */ inOpen[i-1] < inOpen[i-2] && inOpen[i-1] > inClose[i-2] && // 2nd black opens within 1st black's rb +/* Generated */ inOpen[i] < inOpen[i-1] && inOpen[i] > inClose[i-1] && // 3rd black opens within 2nd black's rb +/* Generated */ inHigh[i-3] > inClose[i-2] && // 1st black closes under prior candle's high +/* Generated */ inClose[i-2] > inClose[i-1] && // three declining +/* Generated */ inClose[i-1] > inClose[i] // three declining +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = -100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ for (totIdx = 2; totIdx >= 0; --totIdx) +/* Generated */ ShadowVeryShortPeriodTotal[totIdx] += TA_CANDLERANGE( ShadowVeryShort, i-totIdx ) +/* Generated */ - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx-totIdx ); +/* Generated */ i++; +/* Generated */ ShadowVeryShortTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDL3INSIDE.c b/vendor/ta-lib/src/ta_func/ta_CDL3INSIDE.c new file mode 100644 index 000000000..b70b29496 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDL3INSIDE.c @@ -0,0 +1,375 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 121104 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::Cdl3InsideLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdl3InsideLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDL3INSIDE_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( TA_CANDLEAVGPERIOD(BodyShort), TA_CANDLEAVGPERIOD(BodyLong) ) + 2; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDL3INSIDE - Three Inside Up/Down + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Cdl3Inside( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Cdl3Inside( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdl3Inside( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDL3INSIDE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyShortPeriodTotal, BodyLongPeriodTotal; + int i, outIdx, BodyShortTrailingIdx, BodyLongTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDL3INSIDE)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyLongPeriodTotal = 0; + BodyShortPeriodTotal = 0; + BodyLongTrailingIdx = startIdx -2 - TA_CANDLEAVGPERIOD(BodyLong); + BodyShortTrailingIdx = startIdx -1 - TA_CANDLEAVGPERIOD(BodyShort); + + i = BodyLongTrailingIdx; + while( i < startIdx-2 ) { + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); + i++; + } + i = BodyShortTrailingIdx; + while( i < startIdx-1 ) { + BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: long white (black) real body + * - second candle: short real body totally engulfed by the first + * - third candle: black (white) candle that closes lower (higher) than the first candle's open + * The meaning of "short" and "long" is specified with TA_SetCandleSettings + * outInteger is positive (1 to 100) for the three inside up or negative (-1 to -100) for the three inside down; + * the user should consider that a three inside up is significant when it appears in a downtrend and a three inside + * down is significant when it appears in an uptrend, while this function does not consider the trend + */ + outIdx = 0; + do + { + if( TA_REALBODY(i-2) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-2 ) && // 1st: long + TA_REALBODY(i-1) <= TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal, i-1 ) && // 2nd: short + max( inClose[i-1], inOpen[i-1] ) < max( inClose[i-2], inOpen[i-2] ) && // engulfed by 1st + min( inClose[i-1], inOpen[i-1] ) > min( inClose[i-2], inOpen[i-2] ) && + ( ( TA_CANDLECOLOR(i-2) == 1 && TA_CANDLECOLOR(i) == -1 && inClose[i] < inOpen[i-2] ) // 3rd: opposite to 1st + || // and closing out + ( TA_CANDLECOLOR(i-2) == -1 && TA_CANDLECOLOR(i) == 1 && inClose[i] > inOpen[i-2] ) + ) + ) + outInteger[outIdx++] = -TA_CANDLECOLOR(i-2) * 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-2 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); + BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i-1 ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx ); + i++; + BodyLongTrailingIdx++; + BodyShortTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Cdl3Inside( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdl3Inside( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDL3INSIDE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyShortPeriodTotal, BodyLongPeriodTotal; +/* Generated */ int i, outIdx, BodyShortTrailingIdx, BodyLongTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDL3INSIDE)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyLongPeriodTotal = 0; +/* Generated */ BodyShortPeriodTotal = 0; +/* Generated */ BodyLongTrailingIdx = startIdx -2 - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ BodyShortTrailingIdx = startIdx -1 - TA_CANDLEAVGPERIOD(BodyShort); +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx-2 ) { +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyShortTrailingIdx; +/* Generated */ while( i < startIdx-1 ) { +/* Generated */ BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i-2) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-2 ) && // 1st: long +/* Generated */ TA_REALBODY(i-1) <= TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal, i-1 ) && // 2nd: short +/* Generated */ max( inClose[i-1], inOpen[i-1] ) < max( inClose[i-2], inOpen[i-2] ) && // engulfed by 1st +/* Generated */ min( inClose[i-1], inOpen[i-1] ) > min( inClose[i-2], inOpen[i-2] ) && +/* Generated */ ( ( TA_CANDLECOLOR(i-2) == 1 && TA_CANDLECOLOR(i) == -1 && inClose[i] < inOpen[i-2] ) // 3rd: opposite to 1st +/* Generated */ || // and closing out +/* Generated */ ( TA_CANDLECOLOR(i-2) == -1 && TA_CANDLECOLOR(i) == 1 && inClose[i] > inOpen[i-2] ) +/* Generated */ ) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = -TA_CANDLECOLOR(i-2) * 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-2 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); +/* Generated */ BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i-1 ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ BodyShortTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDL3LINESTRIKE.c b/vendor/ta-lib/src/ta_func/ta_CDL3LINESTRIKE.c new file mode 100644 index 000000000..642e250ed --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDL3LINESTRIKE.c @@ -0,0 +1,396 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 121104 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::Cdl3LineStrikeLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdl3LineStrikeLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDL3LINESTRIKE_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return TA_CANDLEAVGPERIOD(Near) + 3; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDL3LINESTRIKE - Three-Line Strike + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Cdl3LineStrike( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Cdl3LineStrike( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdl3LineStrike( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDL3LINESTRIKE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + ARRAY_LOCAL(NearPeriodTotal,4); + int i, outIdx, totIdx, NearTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDL3LINESTRIKE)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + NearPeriodTotal[3] = 0; + NearPeriodTotal[2] = 0; + NearTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Near); + + i = NearTrailingIdx; + while( i < startIdx ) { + NearPeriodTotal[3] += TA_CANDLERANGE( Near, i-3 ); + NearPeriodTotal[2] += TA_CANDLERANGE( Near, i-2 ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - three white soldiers (three black crows): three white (black) candlesticks with consecutively higher (lower) closes, + * each opening within or near the previous real body + * - fourth candle: black (white) candle that opens above (below) prior candle's close and closes below (above) + * the first candle's open + * The meaning of "near" is specified with TA_SetCandleSettings; + * outInteger is positive (1 to 100) when bullish or negative (-1 to -100) when bearish; + * the user should consider that 3-line strike is significant when it appears in a trend in the same direction of + * the first three candles, while this function does not consider it + */ + outIdx = 0; + do + { + if( TA_CANDLECOLOR(i-3) == TA_CANDLECOLOR(i-2) && // three with same color + TA_CANDLECOLOR(i-2) == TA_CANDLECOLOR(i-1) && + TA_CANDLECOLOR(i) == -TA_CANDLECOLOR(i-1) && // 4th opposite color + // 2nd opens within/near 1st rb + inOpen[i-2] >= min( inOpen[i-3], inClose[i-3] ) - TA_CANDLEAVERAGE( Near, NearPeriodTotal[3], i-3 ) && + inOpen[i-2] <= max( inOpen[i-3], inClose[i-3] ) + TA_CANDLEAVERAGE( Near, NearPeriodTotal[3], i-3 ) && + // 3rd opens within/near 2nd rb + inOpen[i-1] >= min( inOpen[i-2], inClose[i-2] ) - TA_CANDLEAVERAGE( Near, NearPeriodTotal[2], i-2 ) && + inOpen[i-1] <= max( inOpen[i-2], inClose[i-2] ) + TA_CANDLEAVERAGE( Near, NearPeriodTotal[2], i-2 ) && + ( + ( // if three white + TA_CANDLECOLOR(i-1) == 1 && + inClose[i-1] > inClose[i-2] && inClose[i-2] > inClose[i-3] && // consecutive higher closes + inOpen[i] > inClose[i-1] && // 4th opens above prior close + inClose[i] < inOpen[i-3] // 4th closes below 1st open + ) || + ( // if three black + TA_CANDLECOLOR(i-1) == -1 && + inClose[i-1] < inClose[i-2] && inClose[i-2] < inClose[i-3] && // consecutive lower closes + inOpen[i] < inClose[i-1] && // 4th opens below prior close + inClose[i] > inOpen[i-3] // 4th closes above 1st open + ) + ) + ) + outInteger[outIdx++] = TA_CANDLECOLOR(i-1) * 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + for (totIdx = 3; totIdx >= 2; --totIdx) + NearPeriodTotal[totIdx] += TA_CANDLERANGE( Near, i-totIdx ) + - TA_CANDLERANGE( Near, NearTrailingIdx-totIdx ); + i++; + NearTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Cdl3LineStrike( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdl3LineStrike( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDL3LINESTRIKE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ARRAY_LOCAL(NearPeriodTotal,4); +/* Generated */ int i, outIdx, totIdx, NearTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDL3LINESTRIKE)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ NearPeriodTotal[3] = 0; +/* Generated */ NearPeriodTotal[2] = 0; +/* Generated */ NearTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Near); +/* Generated */ i = NearTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ NearPeriodTotal[3] += TA_CANDLERANGE( Near, i-3 ); +/* Generated */ NearPeriodTotal[2] += TA_CANDLERANGE( Near, i-2 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_CANDLECOLOR(i-3) == TA_CANDLECOLOR(i-2) && // three with same color +/* Generated */ TA_CANDLECOLOR(i-2) == TA_CANDLECOLOR(i-1) && +/* Generated */ TA_CANDLECOLOR(i) == -TA_CANDLECOLOR(i-1) && // 4th opposite color +/* Generated */ // 2nd opens within/near 1st rb +/* Generated */ inOpen[i-2] >= min( inOpen[i-3], inClose[i-3] ) - TA_CANDLEAVERAGE( Near, NearPeriodTotal[3], i-3 ) && +/* Generated */ inOpen[i-2] <= max( inOpen[i-3], inClose[i-3] ) + TA_CANDLEAVERAGE( Near, NearPeriodTotal[3], i-3 ) && +/* Generated */ // 3rd opens within/near 2nd rb +/* Generated */ inOpen[i-1] >= min( inOpen[i-2], inClose[i-2] ) - TA_CANDLEAVERAGE( Near, NearPeriodTotal[2], i-2 ) && +/* Generated */ inOpen[i-1] <= max( inOpen[i-2], inClose[i-2] ) + TA_CANDLEAVERAGE( Near, NearPeriodTotal[2], i-2 ) && +/* Generated */ ( +/* Generated */ ( // if three white +/* Generated */ TA_CANDLECOLOR(i-1) == 1 && +/* Generated */ inClose[i-1] > inClose[i-2] && inClose[i-2] > inClose[i-3] && // consecutive higher closes +/* Generated */ inOpen[i] > inClose[i-1] && // 4th opens above prior close +/* Generated */ inClose[i] < inOpen[i-3] // 4th closes below 1st open +/* Generated */ ) || +/* Generated */ ( // if three black +/* Generated */ TA_CANDLECOLOR(i-1) == -1 && +/* Generated */ inClose[i-1] < inClose[i-2] && inClose[i-2] < inClose[i-3] && // consecutive lower closes +/* Generated */ inOpen[i] < inClose[i-1] && // 4th opens below prior close +/* Generated */ inClose[i] > inOpen[i-3] // 4th closes above 1st open +/* Generated */ ) +/* Generated */ ) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = TA_CANDLECOLOR(i-1) * 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ for (totIdx = 3; totIdx >= 2; --totIdx) +/* Generated */ NearPeriodTotal[totIdx] += TA_CANDLERANGE( Near, i-totIdx ) +/* Generated */ - TA_CANDLERANGE( Near, NearTrailingIdx-totIdx ); +/* Generated */ i++; +/* Generated */ NearTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDL3OUTSIDE.c b/vendor/ta-lib/src/ta_func/ta_CDL3OUTSIDE.c new file mode 100644 index 000000000..15f6c192a --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDL3OUTSIDE.c @@ -0,0 +1,334 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 121104 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::Cdl3OutsideLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdl3OutsideLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDL3OUTSIDE_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return 3; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDL3OUTSIDE - Three Outside Up/Down + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Cdl3Outside( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Cdl3Outside( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdl3Outside( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDL3OUTSIDE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + int i, outIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDL3OUTSIDE)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first: black (white) real body + * - second: white (black) real body that engulfs the prior real body + * - third: candle that closes higher (lower) than the second candle + * outInteger is positive (1 to 100) for the three outside up or negative (-1 to -100) for the three outside down; + * the user should consider that a three outside up must appear in a downtrend and three outside down must appear + * in an uptrend, while this function does not consider it + */ + outIdx = 0; + do + { + if( ( TA_CANDLECOLOR(i-1) == 1 && TA_CANDLECOLOR(i-2) == -1 && // white engulfs black + inClose[i-1] > inOpen[i-2] && inOpen[i-1] < inClose[i-2] && + inClose[i] > inClose[i-1] // third candle higher + ) + || + ( TA_CANDLECOLOR(i-1) == -1 && TA_CANDLECOLOR(i-2) == 1 && // black engulfs white + inOpen[i-1] > inClose[i-2] && inClose[i-1] < inOpen[i-2] && + inClose[i] < inClose[i-1] // third candle lower + ) + ) + outInteger[outIdx++] = TA_CANDLECOLOR(i-1) * 100; + else + outInteger[outIdx++] = 0; + i++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Cdl3Outside( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdl3Outside( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDL3OUTSIDE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int i, outIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDL3OUTSIDE)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( ( TA_CANDLECOLOR(i-1) == 1 && TA_CANDLECOLOR(i-2) == -1 && // white engulfs black +/* Generated */ inClose[i-1] > inOpen[i-2] && inOpen[i-1] < inClose[i-2] && +/* Generated */ inClose[i] > inClose[i-1] // third candle higher +/* Generated */ ) +/* Generated */ || +/* Generated */ ( TA_CANDLECOLOR(i-1) == -1 && TA_CANDLECOLOR(i-2) == 1 && // black engulfs white +/* Generated */ inOpen[i-1] > inClose[i-2] && inClose[i-1] < inOpen[i-2] && +/* Generated */ inClose[i] < inClose[i-1] // third candle lower +/* Generated */ ) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = TA_CANDLECOLOR(i-1) * 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ i++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDL3STARSINSOUTH.c b/vendor/ta-lib/src/ta_func/ta_CDL3STARSINSOUTH.c new file mode 100644 index 000000000..51e13d8c3 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDL3STARSINSOUTH.c @@ -0,0 +1,452 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 022705 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::Cdl3StarsInSouthLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdl3StarsInSouthLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDL3STARSINSOUTH_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( max( TA_CANDLEAVGPERIOD(ShadowVeryShort), TA_CANDLEAVGPERIOD(ShadowLong) ), + max( TA_CANDLEAVGPERIOD(BodyLong), TA_CANDLEAVGPERIOD(BodyShort) ) + ) + 2; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDL3STARSINSOUTH - Three Stars In The South + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Cdl3StarsInSouth( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Cdl3StarsInSouth( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdl3StarsInSouth( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDL3STARSINSOUTH( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyLongPeriodTotal, BodyShortPeriodTotal, ShadowLongPeriodTotal; + ARRAY_LOCAL(ShadowVeryShortPeriodTotal,2); + int i, outIdx, totIdx, BodyLongTrailingIdx, BodyShortTrailingIdx, ShadowLongTrailingIdx, ShadowVeryShortTrailingIdx, + lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDL3STARSINSOUTH)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyLongPeriodTotal = 0; + BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); + ShadowLongPeriodTotal = 0; + ShadowLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowLong); + ShadowVeryShortPeriodTotal[1] = 0; + ShadowVeryShortPeriodTotal[0] = 0; + ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); + BodyShortPeriodTotal = 0; + BodyShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); + + i = BodyLongTrailingIdx; + while( i < startIdx ) { + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-2 ); + i++; + } + i = ShadowLongTrailingIdx; + while( i < startIdx ) { + ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i-2 ); + i++; + } + i = ShadowVeryShortTrailingIdx; + while( i < startIdx ) { + ShadowVeryShortPeriodTotal[1] += TA_CANDLERANGE( ShadowVeryShort, i-1 ); + ShadowVeryShortPeriodTotal[0] += TA_CANDLERANGE( ShadowVeryShort, i ); + i++; + } + i = BodyShortTrailingIdx; + while( i < startIdx ) { + BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: long black candle with long lower shadow + * - second candle: smaller black candle that opens higher than prior close but within prior candle's range + * and trades lower than prior close but not lower than prior low and closes off of its low (it has a shadow) + * - third candle: small black marubozu (or candle with very short shadows) engulfed by prior candle's range + * The meanings of "long body", "short body", "very short shadow" are specified with TA_SetCandleSettings; + * outInteger is positive (1 to 100): 3 stars in the south is always bullish; + * the user should consider that 3 stars in the south is significant when it appears in downtrend, while this function + * does not consider it + */ + outIdx = 0; + do + { + if( TA_CANDLECOLOR(i-2) == -1 && // 1st black + TA_CANDLECOLOR(i-1) == -1 && // 2nd black + TA_CANDLECOLOR(i) == -1 && // 3rd black + // 1st: long + TA_REALBODY(i-2) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-2 ) && + // with long lower shadow + TA_LOWERSHADOW(i-2) > TA_CANDLEAVERAGE( ShadowLong, ShadowLongPeriodTotal, i-2 ) && + TA_REALBODY(i-1) < TA_REALBODY(i-2) && // 2nd: smaller candle + inOpen[i-1] > inClose[i-2] && inOpen[i-1] <= inHigh[i-2] && // that opens higher but within 1st range + inLow[i-1] < inClose[i-2] && // and trades lower than 1st close + inLow[i-1] >= inLow[i-2] && // but not lower than 1st low + // and has a lower shadow + TA_LOWERSHADOW(i-1) > TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[1], i-1 ) && + // 3rd: small marubozu + TA_REALBODY(i) < TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal, i ) && + TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[0], i ) && + TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[0], i ) && + inLow[i] > inLow[i-1] && inHigh[i] < inHigh[i-1] // engulfed by prior candle's range + ) + outInteger[outIdx++] = 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-2 ) + - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-2 ); + ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i-2 ) + - TA_CANDLERANGE( ShadowLong, ShadowLongTrailingIdx-2 ); + for (totIdx = 1; totIdx >= 0; --totIdx) + ShadowVeryShortPeriodTotal[totIdx] += TA_CANDLERANGE( ShadowVeryShort, i-totIdx ) + - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx-totIdx ); + BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ) + - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx ); + i++; + BodyLongTrailingIdx++; + ShadowLongTrailingIdx++; + ShadowVeryShortTrailingIdx++; + BodyShortTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Cdl3StarsInSouth( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdl3StarsInSouth( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDL3STARSINSOUTH( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyLongPeriodTotal, BodyShortPeriodTotal, ShadowLongPeriodTotal; +/* Generated */ ARRAY_LOCAL(ShadowVeryShortPeriodTotal,2); +/* Generated */ int i, outIdx, totIdx, BodyLongTrailingIdx, BodyShortTrailingIdx, ShadowLongTrailingIdx, ShadowVeryShortTrailingIdx, +/* Generated */ lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDL3STARSINSOUTH)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyLongPeriodTotal = 0; +/* Generated */ BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ ShadowLongPeriodTotal = 0; +/* Generated */ ShadowLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowLong); +/* Generated */ ShadowVeryShortPeriodTotal[1] = 0; +/* Generated */ ShadowVeryShortPeriodTotal[0] = 0; +/* Generated */ ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); +/* Generated */ BodyShortPeriodTotal = 0; +/* Generated */ BodyShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-2 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = ShadowLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i-2 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = ShadowVeryShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowVeryShortPeriodTotal[1] += TA_CANDLERANGE( ShadowVeryShort, i-1 ); +/* Generated */ ShadowVeryShortPeriodTotal[0] += TA_CANDLERANGE( ShadowVeryShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_CANDLECOLOR(i-2) == -1 && // 1st black +/* Generated */ TA_CANDLECOLOR(i-1) == -1 && // 2nd black +/* Generated */ TA_CANDLECOLOR(i) == -1 && // 3rd black +/* Generated */ // 1st: long +/* Generated */ TA_REALBODY(i-2) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-2 ) && +/* Generated */ // with long lower shadow +/* Generated */ TA_LOWERSHADOW(i-2) > TA_CANDLEAVERAGE( ShadowLong, ShadowLongPeriodTotal, i-2 ) && +/* Generated */ TA_REALBODY(i-1) < TA_REALBODY(i-2) && // 2nd: smaller candle +/* Generated */ inOpen[i-1] > inClose[i-2] && inOpen[i-1] <= inHigh[i-2] && // that opens higher but within 1st range +/* Generated */ inLow[i-1] < inClose[i-2] && // and trades lower than 1st close +/* Generated */ inLow[i-1] >= inLow[i-2] && // but not lower than 1st low +/* Generated */ // and has a lower shadow +/* Generated */ TA_LOWERSHADOW(i-1) > TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[1], i-1 ) && +/* Generated */ // 3rd: small marubozu +/* Generated */ TA_REALBODY(i) < TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal, i ) && +/* Generated */ TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[0], i ) && +/* Generated */ TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[0], i ) && +/* Generated */ inLow[i] > inLow[i-1] && inHigh[i] < inHigh[i-1] // engulfed by prior candle's range +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-2 ) +/* Generated */ - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-2 ); +/* Generated */ ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i-2 ) +/* Generated */ - TA_CANDLERANGE( ShadowLong, ShadowLongTrailingIdx-2 ); +/* Generated */ for (totIdx = 1; totIdx >= 0; --totIdx) +/* Generated */ ShadowVeryShortPeriodTotal[totIdx] += TA_CANDLERANGE( ShadowVeryShort, i-totIdx ) +/* Generated */ - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx-totIdx ); +/* Generated */ BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ) +/* Generated */ - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ ShadowLongTrailingIdx++; +/* Generated */ ShadowVeryShortTrailingIdx++; +/* Generated */ BodyShortTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDL3WHITESOLDIERS.c b/vendor/ta-lib/src/ta_func/ta_CDL3WHITESOLDIERS.c new file mode 100644 index 000000000..a8098c9a6 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDL3WHITESOLDIERS.c @@ -0,0 +1,476 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120404 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::Cdl3WhiteSoldiersLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdl3WhiteSoldiersLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDL3WHITESOLDIERS_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( max( TA_CANDLEAVGPERIOD(ShadowVeryShort), TA_CANDLEAVGPERIOD(BodyShort) ), + max( TA_CANDLEAVGPERIOD(Far), TA_CANDLEAVGPERIOD(Near) ) + ) + 2; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDL3WHITESOLDIERS - Three Advancing White Soldiers + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Cdl3WhiteSoldiers( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Cdl3WhiteSoldiers( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdl3WhiteSoldiers( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDL3WHITESOLDIERS( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + ARRAY_LOCAL(ShadowVeryShortPeriodTotal,3); + ARRAY_LOCAL(NearPeriodTotal,3); + ARRAY_LOCAL(FarPeriodTotal,3); + double BodyShortPeriodTotal; + int i, outIdx, totIdx, ShadowVeryShortTrailingIdx, NearTrailingIdx, FarTrailingIdx, BodyShortTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDL3WHITESOLDIERS)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + ShadowVeryShortPeriodTotal[2] = 0; + ShadowVeryShortPeriodTotal[1] = 0; + ShadowVeryShortPeriodTotal[0] = 0; + ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); + NearPeriodTotal[2] = 0; + NearPeriodTotal[1] = 0; + NearPeriodTotal[0] = 0; + NearTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Near); + FarPeriodTotal[2] = 0; + FarPeriodTotal[1] = 0; + FarPeriodTotal[0] = 0; + FarTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Far); + BodyShortPeriodTotal = 0; + BodyShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); + + i = ShadowVeryShortTrailingIdx; + while( i < startIdx ) { + ShadowVeryShortPeriodTotal[2] += TA_CANDLERANGE( ShadowVeryShort, i-2 ); + ShadowVeryShortPeriodTotal[1] += TA_CANDLERANGE( ShadowVeryShort, i-1 ); + ShadowVeryShortPeriodTotal[0] += TA_CANDLERANGE( ShadowVeryShort, i ); + i++; + } + i = NearTrailingIdx; + while( i < startIdx ) { + NearPeriodTotal[2] += TA_CANDLERANGE( Near, i-2 ); + NearPeriodTotal[1] += TA_CANDLERANGE( Near, i-1 ); + i++; + } + i = FarTrailingIdx; + while( i < startIdx ) { + FarPeriodTotal[2] += TA_CANDLERANGE( Far, i-2 ); + FarPeriodTotal[1] += TA_CANDLERANGE( Far, i-1 ); + i++; + } + i = BodyShortTrailingIdx; + while( i < startIdx ) { + BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - three white candlesticks with consecutively higher closes + * - Greg Morris wants them to be long, Steve Nison doesn't; anyway they should not be short + * - each candle opens within or near the previous white real body + * - each candle must have no or very short upper shadow + * - to differentiate this pattern from advance block, each candle must not be far shorter than the prior candle + * The meanings of "not short", "very short shadow", "far" and "near" are specified with TA_SetCandleSettings; + * here the 3 candles must be not short, if you want them to be long use TA_SetCandleSettings on BodyShort; + * outInteger is positive (1 to 100): advancing 3 white soldiers is always bullish; + * the user should consider that 3 white soldiers is significant when it appears in downtrend, while this function + * does not consider it + */ + outIdx = 0; + do + { + if( TA_CANDLECOLOR(i-2) == 1 && // 1st white + TA_UPPERSHADOW(i-2) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[2], i-2 ) && + // very short upper shadow + TA_CANDLECOLOR(i-1) == 1 && // 2nd white + TA_UPPERSHADOW(i-1) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[1], i-1 ) && + // very short upper shadow + TA_CANDLECOLOR(i) == 1 && // 3rd white + TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[0], i ) && + // very short upper shadow + inClose[i] > inClose[i-1] && inClose[i-1] > inClose[i-2] && // consecutive higher closes + inOpen[i-1] > inOpen[i-2] && // 2nd opens within/near 1st real body + inOpen[i-1] <= inClose[i-2] + TA_CANDLEAVERAGE( Near, NearPeriodTotal[2], i-2 ) && + inOpen[i] > inOpen[i-1] && // 3rd opens within/near 2nd real body + inOpen[i] <= inClose[i-1] + TA_CANDLEAVERAGE( Near, NearPeriodTotal[1], i-1 ) && + TA_REALBODY(i-1) > TA_REALBODY(i-2) - TA_CANDLEAVERAGE( Far, FarPeriodTotal[2], i-2 ) && + // 2nd not far shorter than 1st + TA_REALBODY(i) > TA_REALBODY(i-1) - TA_CANDLEAVERAGE( Far, FarPeriodTotal[1], i-1 ) && + // 3rd not far shorter than 2nd + TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal, i ) // not short real body + ) + outInteger[outIdx++] = 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + for (totIdx = 2; totIdx >= 0; --totIdx) + ShadowVeryShortPeriodTotal[totIdx] += TA_CANDLERANGE( ShadowVeryShort, i-totIdx ) + - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx-totIdx ); + for (totIdx = 2; totIdx >= 1; --totIdx) { + FarPeriodTotal[totIdx] += TA_CANDLERANGE( Far, i-totIdx ) + - TA_CANDLERANGE( Far, FarTrailingIdx-totIdx ); + NearPeriodTotal[totIdx] += TA_CANDLERANGE( Near, i-totIdx ) + - TA_CANDLERANGE( Near, NearTrailingIdx-totIdx ); + } + BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx ); + i++; + ShadowVeryShortTrailingIdx++; + NearTrailingIdx++; + FarTrailingIdx++; + BodyShortTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Cdl3WhiteSoldiers( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdl3WhiteSoldiers( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDL3WHITESOLDIERS( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ARRAY_LOCAL(ShadowVeryShortPeriodTotal,3); +/* Generated */ ARRAY_LOCAL(NearPeriodTotal,3); +/* Generated */ ARRAY_LOCAL(FarPeriodTotal,3); +/* Generated */ double BodyShortPeriodTotal; +/* Generated */ int i, outIdx, totIdx, ShadowVeryShortTrailingIdx, NearTrailingIdx, FarTrailingIdx, BodyShortTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDL3WHITESOLDIERS)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ ShadowVeryShortPeriodTotal[2] = 0; +/* Generated */ ShadowVeryShortPeriodTotal[1] = 0; +/* Generated */ ShadowVeryShortPeriodTotal[0] = 0; +/* Generated */ ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); +/* Generated */ NearPeriodTotal[2] = 0; +/* Generated */ NearPeriodTotal[1] = 0; +/* Generated */ NearPeriodTotal[0] = 0; +/* Generated */ NearTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Near); +/* Generated */ FarPeriodTotal[2] = 0; +/* Generated */ FarPeriodTotal[1] = 0; +/* Generated */ FarPeriodTotal[0] = 0; +/* Generated */ FarTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Far); +/* Generated */ BodyShortPeriodTotal = 0; +/* Generated */ BodyShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); +/* Generated */ i = ShadowVeryShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowVeryShortPeriodTotal[2] += TA_CANDLERANGE( ShadowVeryShort, i-2 ); +/* Generated */ ShadowVeryShortPeriodTotal[1] += TA_CANDLERANGE( ShadowVeryShort, i-1 ); +/* Generated */ ShadowVeryShortPeriodTotal[0] += TA_CANDLERANGE( ShadowVeryShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = NearTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ NearPeriodTotal[2] += TA_CANDLERANGE( Near, i-2 ); +/* Generated */ NearPeriodTotal[1] += TA_CANDLERANGE( Near, i-1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = FarTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ FarPeriodTotal[2] += TA_CANDLERANGE( Far, i-2 ); +/* Generated */ FarPeriodTotal[1] += TA_CANDLERANGE( Far, i-1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_CANDLECOLOR(i-2) == 1 && // 1st white +/* Generated */ TA_UPPERSHADOW(i-2) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[2], i-2 ) && +/* Generated */ // very short upper shadow +/* Generated */ TA_CANDLECOLOR(i-1) == 1 && // 2nd white +/* Generated */ TA_UPPERSHADOW(i-1) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[1], i-1 ) && +/* Generated */ // very short upper shadow +/* Generated */ TA_CANDLECOLOR(i) == 1 && // 3rd white +/* Generated */ TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[0], i ) && +/* Generated */ // very short upper shadow +/* Generated */ inClose[i] > inClose[i-1] && inClose[i-1] > inClose[i-2] && // consecutive higher closes +/* Generated */ inOpen[i-1] > inOpen[i-2] && // 2nd opens within/near 1st real body +/* Generated */ inOpen[i-1] <= inClose[i-2] + TA_CANDLEAVERAGE( Near, NearPeriodTotal[2], i-2 ) && +/* Generated */ inOpen[i] > inOpen[i-1] && // 3rd opens within/near 2nd real body +/* Generated */ inOpen[i] <= inClose[i-1] + TA_CANDLEAVERAGE( Near, NearPeriodTotal[1], i-1 ) && +/* Generated */ TA_REALBODY(i-1) > TA_REALBODY(i-2) - TA_CANDLEAVERAGE( Far, FarPeriodTotal[2], i-2 ) && +/* Generated */ // 2nd not far shorter than 1st +/* Generated */ TA_REALBODY(i) > TA_REALBODY(i-1) - TA_CANDLEAVERAGE( Far, FarPeriodTotal[1], i-1 ) && +/* Generated */ // 3rd not far shorter than 2nd +/* Generated */ TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal, i ) // not short real body +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ for (totIdx = 2; totIdx >= 0; --totIdx) +/* Generated */ ShadowVeryShortPeriodTotal[totIdx] += TA_CANDLERANGE( ShadowVeryShort, i-totIdx ) +/* Generated */ - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx-totIdx ); +/* Generated */ for (totIdx = 2; totIdx >= 1; --totIdx) { +/* Generated */ FarPeriodTotal[totIdx] += TA_CANDLERANGE( Far, i-totIdx ) +/* Generated */ - TA_CANDLERANGE( Far, FarTrailingIdx-totIdx ); +/* Generated */ NearPeriodTotal[totIdx] += TA_CANDLERANGE( Near, i-totIdx ) +/* Generated */ - TA_CANDLERANGE( Near, NearTrailingIdx-totIdx ); +/* Generated */ } +/* Generated */ BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx ); +/* Generated */ i++; +/* Generated */ ShadowVeryShortTrailingIdx++; +/* Generated */ NearTrailingIdx++; +/* Generated */ FarTrailingIdx++; +/* Generated */ BodyShortTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLABANDONEDBABY.c b/vendor/ta-lib/src/ta_func/ta_CDLABANDONEDBABY.c new file mode 100644 index 000000000..462aeb3bd --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLABANDONEDBABY.c @@ -0,0 +1,450 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 102304 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlAbandonedBabyLookback( double optInPenetration ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlAbandonedBabyLookback( double optInPenetration ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLABANDONEDBABY_Lookback( double optInPenetration ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( optInPenetration == TA_REAL_DEFAULT ) +/* Generated */ optInPenetration = 3.000000e-1; +/* Generated */ else if( (optInPenetration < 0.000000e+0) ||/* Generated */ (optInPenetration > 3.000000e+37) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + UNUSED_VARIABLE(optInPenetration); + + return max( max( TA_CANDLEAVGPERIOD(BodyDoji), TA_CANDLEAVGPERIOD(BodyLong) ), + TA_CANDLEAVGPERIOD(BodyShort) + ) + 2; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLABANDONEDBABY - Abandoned Baby + * + * Input = Open, High, Low, Close + * Output = int + * + * Optional Parameters + * ------------------- + * optInPenetration:(From 0 to TA_REAL_MAX) + * Percentage of penetration of a candle within another candle + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlAbandonedBaby( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlAbandonedBaby( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlAbandonedBaby( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLABANDONEDBABY( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyDojiPeriodTotal, BodyLongPeriodTotal, BodyShortPeriodTotal; + int i, outIdx, BodyDojiTrailingIdx, BodyLongTrailingIdx, BodyShortTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ if( optInPenetration == TA_REAL_DEFAULT ) +/* Generated */ optInPenetration = 3.000000e-1; +/* Generated */ else if( (optInPenetration < 0.000000e+0) ||/* Generated */ (optInPenetration > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLABANDONEDBABY)(optInPenetration); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyLongPeriodTotal = 0; + BodyDojiPeriodTotal = 0; + BodyShortPeriodTotal = 0; + BodyLongTrailingIdx = startIdx -2 - TA_CANDLEAVGPERIOD(BodyLong); + BodyDojiTrailingIdx = startIdx -1 - TA_CANDLEAVGPERIOD(BodyDoji); + BodyShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); + + i = BodyLongTrailingIdx; + while( i < startIdx-2 ) { + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); + i++; + } + i = BodyDojiTrailingIdx; + while( i < startIdx-1 ) { + BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ); + i++; + } + i = BodyShortTrailingIdx; + while( i < startIdx ) { + BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: long white (black) real body + * - second candle: doji + * - third candle: black (white) real body that moves well within the first candle's real body + * - upside (downside) gap between the first candle and the doji (the shadows of the two candles don't touch) + * - downside (upside) gap between the doji and the third candle (the shadows of the two candles don't touch) + * The meaning of "doji" and "long" is specified with TA_SetCandleSettings + * The meaning of "moves well within" is specified with optInPenetration and "moves" should mean the real body should + * not be short ("short" is specified with TA_SetCandleSettings) - Greg Morris wants it to be long, someone else want + * it to be relatively long + * outInteger is positive (1 to 100) when it's an abandoned baby bottom or negative (-1 to -100) when it's + * an abandoned baby top; the user should consider that an abandoned baby is significant when it appears in + * an uptrend or downtrend, while this function does not consider the trend + */ + outIdx = 0; + do + { + if( TA_REALBODY(i-2) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-2 ) && // 1st: long + TA_REALBODY(i-1) <= TA_CANDLEAVERAGE( BodyDoji, BodyDojiPeriodTotal, i-1 ) && // 2nd: doji + TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal, i ) && // 3rd: longer than short + ( ( TA_CANDLECOLOR(i-2) == 1 && // 1st white + TA_CANDLECOLOR(i) == -1 && // 3rd black + inClose[i] < inClose[i-2] - TA_REALBODY(i-2) * optInPenetration && // 3rd closes well within 1st rb + TA_CANDLEGAPUP(i-1,i-2) && // upside gap between 1st and 2nd + TA_CANDLEGAPDOWN(i,i-1) // downside gap between 2nd and 3rd + ) + || + ( + TA_CANDLECOLOR(i-2) == -1 && // 1st black + TA_CANDLECOLOR(i) == 1 && // 3rd white + inClose[i] > inClose[i-2] + TA_REALBODY(i-2) * optInPenetration && // 3rd closes well within 1st rb + TA_CANDLEGAPDOWN(i-1,i-2) && // downside gap between 1st and 2nd + TA_CANDLEGAPUP(i,i-1) // upside gap between 2nd and 3rd + ) + ) + ) + outInteger[outIdx++] = TA_CANDLECOLOR(i) * 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-2 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); + BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i-1 ) - TA_CANDLERANGE( BodyDoji, BodyDojiTrailingIdx ); + BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx ); + i++; + BodyLongTrailingIdx++; + BodyDojiTrailingIdx++; + BodyShortTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlAbandonedBaby( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlAbandonedBaby( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLABANDONEDBABY( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyDojiPeriodTotal, BodyLongPeriodTotal, BodyShortPeriodTotal; +/* Generated */ int i, outIdx, BodyDojiTrailingIdx, BodyLongTrailingIdx, BodyShortTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( optInPenetration == TA_REAL_DEFAULT ) +/* Generated */ optInPenetration = 3.000000e-1; +/* Generated */ else if( (optInPenetration < 0.000000e+0) || (optInPenetration > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLABANDONEDBABY)(optInPenetration); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyLongPeriodTotal = 0; +/* Generated */ BodyDojiPeriodTotal = 0; +/* Generated */ BodyShortPeriodTotal = 0; +/* Generated */ BodyLongTrailingIdx = startIdx -2 - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ BodyDojiTrailingIdx = startIdx -1 - TA_CANDLEAVGPERIOD(BodyDoji); +/* Generated */ BodyShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx-2 ) { +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyDojiTrailingIdx; +/* Generated */ while( i < startIdx-1 ) { +/* Generated */ BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i-2) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-2 ) && // 1st: long +/* Generated */ TA_REALBODY(i-1) <= TA_CANDLEAVERAGE( BodyDoji, BodyDojiPeriodTotal, i-1 ) && // 2nd: doji +/* Generated */ TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal, i ) && // 3rd: longer than short +/* Generated */ ( ( TA_CANDLECOLOR(i-2) == 1 && // 1st white +/* Generated */ TA_CANDLECOLOR(i) == -1 && // 3rd black +/* Generated */ inClose[i] < inClose[i-2] - TA_REALBODY(i-2) * optInPenetration && // 3rd closes well within 1st rb +/* Generated */ TA_CANDLEGAPUP(i-1,i-2) && // upside gap between 1st and 2nd +/* Generated */ TA_CANDLEGAPDOWN(i,i-1) // downside gap between 2nd and 3rd +/* Generated */ ) +/* Generated */ || +/* Generated */ ( +/* Generated */ TA_CANDLECOLOR(i-2) == -1 && // 1st black +/* Generated */ TA_CANDLECOLOR(i) == 1 && // 3rd white +/* Generated */ inClose[i] > inClose[i-2] + TA_REALBODY(i-2) * optInPenetration && // 3rd closes well within 1st rb +/* Generated */ TA_CANDLEGAPDOWN(i-1,i-2) && // downside gap between 1st and 2nd +/* Generated */ TA_CANDLEGAPUP(i,i-1) // upside gap between 2nd and 3rd +/* Generated */ ) +/* Generated */ ) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = TA_CANDLECOLOR(i) * 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-2 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); +/* Generated */ BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i-1 ) - TA_CANDLERANGE( BodyDoji, BodyDojiTrailingIdx ); +/* Generated */ BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ BodyDojiTrailingIdx++; +/* Generated */ BodyShortTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLADVANCEBLOCK.c b/vendor/ta-lib/src/ta_func/ta_CDLADVANCEBLOCK.c new file mode 100644 index 000000000..9dff161c4 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLADVANCEBLOCK.c @@ -0,0 +1,548 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120404 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlAdvanceBlockLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlAdvanceBlockLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLADVANCEBLOCK_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( max( max( TA_CANDLEAVGPERIOD(ShadowLong), TA_CANDLEAVGPERIOD(ShadowShort) ), + max( TA_CANDLEAVGPERIOD(Far), TA_CANDLEAVGPERIOD(Near) ) ), + TA_CANDLEAVGPERIOD(BodyLong) + ) + 2; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLADVANCEBLOCK - Advance Block + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlAdvanceBlock( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlAdvanceBlock( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlAdvanceBlock( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLADVANCEBLOCK( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + ARRAY_LOCAL(ShadowShortPeriodTotal,3); + ARRAY_LOCAL(ShadowLongPeriodTotal,2); + ARRAY_LOCAL(NearPeriodTotal,3); + ARRAY_LOCAL(FarPeriodTotal,3); + double BodyLongPeriodTotal; + int i, outIdx, totIdx, BodyLongTrailingIdx, ShadowShortTrailingIdx, ShadowLongTrailingIdx, NearTrailingIdx, + FarTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLADVANCEBLOCK)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + ShadowShortPeriodTotal[2] = 0; + ShadowShortPeriodTotal[1] = 0; + ShadowShortPeriodTotal[0] = 0; + ShadowShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowShort); + ShadowLongPeriodTotal[1] = 0; + ShadowLongPeriodTotal[0] = 0; + ShadowLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowLong); + NearPeriodTotal[2] = 0; + NearPeriodTotal[1] = 0; + NearPeriodTotal[0] = 0; + NearTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Near); + FarPeriodTotal[2] = 0; + FarPeriodTotal[1] = 0; + FarPeriodTotal[0] = 0; + FarTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Far); + BodyLongPeriodTotal = 0; + BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); + + i = ShadowShortTrailingIdx; + while( i < startIdx ) { + ShadowShortPeriodTotal[2] += TA_CANDLERANGE( ShadowShort, i-2 ); + ShadowShortPeriodTotal[1] += TA_CANDLERANGE( ShadowShort, i-1 ); + ShadowShortPeriodTotal[0] += TA_CANDLERANGE( ShadowShort, i ); + i++; + } + i = ShadowLongTrailingIdx; + while( i < startIdx ) { + ShadowLongPeriodTotal[1] += TA_CANDLERANGE( ShadowLong, i-1 ); + ShadowLongPeriodTotal[0] += TA_CANDLERANGE( ShadowLong, i ); + i++; + } + i = NearTrailingIdx; + while( i < startIdx ) { + NearPeriodTotal[2] += TA_CANDLERANGE( Near, i-2 ); + NearPeriodTotal[1] += TA_CANDLERANGE( Near, i-1 ); + i++; + } + i = FarTrailingIdx; + while( i < startIdx ) { + FarPeriodTotal[2] += TA_CANDLERANGE( Far, i-2 ); + FarPeriodTotal[1] += TA_CANDLERANGE( Far, i-1 ); + i++; + } + i = BodyLongTrailingIdx; + while( i < startIdx ) { + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-2 ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - three white candlesticks with consecutively higher closes + * - each candle opens within or near the previous white real body + * - first candle: long white with no or very short upper shadow (a short shadow is accepted too for more flexibility) + * - second and third candles, or only third candle, show signs of weakening: progressively smaller white real bodies + * and/or relatively long upper shadows; see below for specific conditions + * The meanings of "long body", "short shadow", "far" and "near" are specified with TA_SetCandleSettings; + * outInteger is negative (-1 to -100): advance block is always bearish; + * the user should consider that advance block is significant when it appears in uptrend, while this function + * does not consider it + */ + outIdx = 0; + do + { + if( TA_CANDLECOLOR(i-2) == 1 && // 1st white + TA_CANDLECOLOR(i-1) == 1 && // 2nd white + TA_CANDLECOLOR(i) == 1 && // 3rd white + inClose[i] > inClose[i-1] && inClose[i-1] > inClose[i-2] && // consecutive higher closes + inOpen[i-1] > inOpen[i-2] && // 2nd opens within/near 1st real body + inOpen[i-1] <= inClose[i-2] + TA_CANDLEAVERAGE( Near, NearPeriodTotal[2], i-2 ) && + inOpen[i] > inOpen[i-1] && // 3rd opens within/near 2nd real body + inOpen[i] <= inClose[i-1] + TA_CANDLEAVERAGE( Near, NearPeriodTotal[1], i-1 ) && + TA_REALBODY(i-2) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-2 ) && // 1st: long real body + TA_UPPERSHADOW(i-2) < TA_CANDLEAVERAGE( ShadowShort, ShadowShortPeriodTotal[2], i-2 ) && + // 1st: short upper shadow + ( + // ( 2 far smaller than 1 && 3 not longer than 2 ) + // advance blocked with the 2nd, 3rd must not carry on the advance + ( + TA_REALBODY(i-1) < TA_REALBODY(i-2) - TA_CANDLEAVERAGE( Far, FarPeriodTotal[2], i-2 ) && + TA_REALBODY(i) < TA_REALBODY(i-1) + TA_CANDLEAVERAGE( Near, NearPeriodTotal[1], i-1 ) + ) || + // 3 far smaller than 2 + // advance blocked with the 3rd + ( + TA_REALBODY(i) < TA_REALBODY(i-1) - TA_CANDLEAVERAGE( Far, FarPeriodTotal[1], i-1 ) + ) || + // ( 3 smaller than 2 && 2 smaller than 1 && (3 or 2 not short upper shadow) ) + // advance blocked with progressively smaller real bodies and some upper shadows + ( + TA_REALBODY(i) < TA_REALBODY(i-1) && + TA_REALBODY(i-1) < TA_REALBODY(i-2) && + ( + TA_UPPERSHADOW(i) > TA_CANDLEAVERAGE( ShadowShort, ShadowShortPeriodTotal[0], i ) || + TA_UPPERSHADOW(i-1) > TA_CANDLEAVERAGE( ShadowShort, ShadowShortPeriodTotal[1], i-1 ) + ) + ) || + // ( 3 smaller than 2 && 3 long upper shadow ) + // advance blocked with 3rd candle's long upper shadow and smaller body + ( + TA_REALBODY(i) < TA_REALBODY(i-1) && + TA_UPPERSHADOW(i) > TA_CANDLEAVERAGE( ShadowLong, ShadowLongPeriodTotal[0], i ) + ) + ) + ) + outInteger[outIdx++] = -100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + for (totIdx = 2; totIdx >= 0; --totIdx) + ShadowShortPeriodTotal[totIdx] += TA_CANDLERANGE( ShadowShort, i-totIdx ) + - TA_CANDLERANGE( ShadowShort, ShadowShortTrailingIdx-totIdx ); + for (totIdx = 1; totIdx >= 0; --totIdx) + ShadowLongPeriodTotal[totIdx] += TA_CANDLERANGE( ShadowLong, i-totIdx ) + - TA_CANDLERANGE( ShadowLong, ShadowLongTrailingIdx-totIdx ); + for (totIdx = 2; totIdx >= 1; --totIdx) { + FarPeriodTotal[totIdx] += TA_CANDLERANGE( Far, i-totIdx ) + - TA_CANDLERANGE( Far, FarTrailingIdx-totIdx ); + NearPeriodTotal[totIdx] += TA_CANDLERANGE( Near, i-totIdx ) + - TA_CANDLERANGE( Near, NearTrailingIdx-totIdx ); + } + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-2 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-2 ); + i++; + ShadowShortTrailingIdx++; + ShadowLongTrailingIdx++; + NearTrailingIdx++; + FarTrailingIdx++; + BodyLongTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlAdvanceBlock( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlAdvanceBlock( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLADVANCEBLOCK( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ARRAY_LOCAL(ShadowShortPeriodTotal,3); +/* Generated */ ARRAY_LOCAL(ShadowLongPeriodTotal,2); +/* Generated */ ARRAY_LOCAL(NearPeriodTotal,3); +/* Generated */ ARRAY_LOCAL(FarPeriodTotal,3); +/* Generated */ double BodyLongPeriodTotal; +/* Generated */ int i, outIdx, totIdx, BodyLongTrailingIdx, ShadowShortTrailingIdx, ShadowLongTrailingIdx, NearTrailingIdx, +/* Generated */ FarTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLADVANCEBLOCK)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ ShadowShortPeriodTotal[2] = 0; +/* Generated */ ShadowShortPeriodTotal[1] = 0; +/* Generated */ ShadowShortPeriodTotal[0] = 0; +/* Generated */ ShadowShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowShort); +/* Generated */ ShadowLongPeriodTotal[1] = 0; +/* Generated */ ShadowLongPeriodTotal[0] = 0; +/* Generated */ ShadowLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowLong); +/* Generated */ NearPeriodTotal[2] = 0; +/* Generated */ NearPeriodTotal[1] = 0; +/* Generated */ NearPeriodTotal[0] = 0; +/* Generated */ NearTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Near); +/* Generated */ FarPeriodTotal[2] = 0; +/* Generated */ FarPeriodTotal[1] = 0; +/* Generated */ FarPeriodTotal[0] = 0; +/* Generated */ FarTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Far); +/* Generated */ BodyLongPeriodTotal = 0; +/* Generated */ BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ i = ShadowShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowShortPeriodTotal[2] += TA_CANDLERANGE( ShadowShort, i-2 ); +/* Generated */ ShadowShortPeriodTotal[1] += TA_CANDLERANGE( ShadowShort, i-1 ); +/* Generated */ ShadowShortPeriodTotal[0] += TA_CANDLERANGE( ShadowShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = ShadowLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowLongPeriodTotal[1] += TA_CANDLERANGE( ShadowLong, i-1 ); +/* Generated */ ShadowLongPeriodTotal[0] += TA_CANDLERANGE( ShadowLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = NearTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ NearPeriodTotal[2] += TA_CANDLERANGE( Near, i-2 ); +/* Generated */ NearPeriodTotal[1] += TA_CANDLERANGE( Near, i-1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = FarTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ FarPeriodTotal[2] += TA_CANDLERANGE( Far, i-2 ); +/* Generated */ FarPeriodTotal[1] += TA_CANDLERANGE( Far, i-1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-2 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_CANDLECOLOR(i-2) == 1 && // 1st white +/* Generated */ TA_CANDLECOLOR(i-1) == 1 && // 2nd white +/* Generated */ TA_CANDLECOLOR(i) == 1 && // 3rd white +/* Generated */ inClose[i] > inClose[i-1] && inClose[i-1] > inClose[i-2] && // consecutive higher closes +/* Generated */ inOpen[i-1] > inOpen[i-2] && // 2nd opens within/near 1st real body +/* Generated */ inOpen[i-1] <= inClose[i-2] + TA_CANDLEAVERAGE( Near, NearPeriodTotal[2], i-2 ) && +/* Generated */ inOpen[i] > inOpen[i-1] && // 3rd opens within/near 2nd real body +/* Generated */ inOpen[i] <= inClose[i-1] + TA_CANDLEAVERAGE( Near, NearPeriodTotal[1], i-1 ) && +/* Generated */ TA_REALBODY(i-2) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-2 ) && // 1st: long real body +/* Generated */ TA_UPPERSHADOW(i-2) < TA_CANDLEAVERAGE( ShadowShort, ShadowShortPeriodTotal[2], i-2 ) && +/* Generated */ // 1st: short upper shadow +/* Generated */ ( +/* Generated */ // ( 2 far smaller than 1 && 3 not longer than 2 ) +/* Generated */ // advance blocked with the 2nd, 3rd must not carry on the advance +/* Generated */ ( +/* Generated */ TA_REALBODY(i-1) < TA_REALBODY(i-2) - TA_CANDLEAVERAGE( Far, FarPeriodTotal[2], i-2 ) && +/* Generated */ TA_REALBODY(i) < TA_REALBODY(i-1) + TA_CANDLEAVERAGE( Near, NearPeriodTotal[1], i-1 ) +/* Generated */ ) || +/* Generated */ // 3 far smaller than 2 +/* Generated */ // advance blocked with the 3rd +/* Generated */ ( +/* Generated */ TA_REALBODY(i) < TA_REALBODY(i-1) - TA_CANDLEAVERAGE( Far, FarPeriodTotal[1], i-1 ) +/* Generated */ ) || +/* Generated */ // ( 3 smaller than 2 && 2 smaller than 1 && (3 or 2 not short upper shadow) ) +/* Generated */ // advance blocked with progressively smaller real bodies and some upper shadows +/* Generated */ ( +/* Generated */ TA_REALBODY(i) < TA_REALBODY(i-1) && +/* Generated */ TA_REALBODY(i-1) < TA_REALBODY(i-2) && +/* Generated */ ( +/* Generated */ TA_UPPERSHADOW(i) > TA_CANDLEAVERAGE( ShadowShort, ShadowShortPeriodTotal[0], i ) || +/* Generated */ TA_UPPERSHADOW(i-1) > TA_CANDLEAVERAGE( ShadowShort, ShadowShortPeriodTotal[1], i-1 ) +/* Generated */ ) +/* Generated */ ) || +/* Generated */ // ( 3 smaller than 2 && 3 long upper shadow ) +/* Generated */ // advance blocked with 3rd candle's long upper shadow and smaller body +/* Generated */ ( +/* Generated */ TA_REALBODY(i) < TA_REALBODY(i-1) && +/* Generated */ TA_UPPERSHADOW(i) > TA_CANDLEAVERAGE( ShadowLong, ShadowLongPeriodTotal[0], i ) +/* Generated */ ) +/* Generated */ ) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = -100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ for (totIdx = 2; totIdx >= 0; --totIdx) +/* Generated */ ShadowShortPeriodTotal[totIdx] += TA_CANDLERANGE( ShadowShort, i-totIdx ) +/* Generated */ - TA_CANDLERANGE( ShadowShort, ShadowShortTrailingIdx-totIdx ); +/* Generated */ for (totIdx = 1; totIdx >= 0; --totIdx) +/* Generated */ ShadowLongPeriodTotal[totIdx] += TA_CANDLERANGE( ShadowLong, i-totIdx ) +/* Generated */ - TA_CANDLERANGE( ShadowLong, ShadowLongTrailingIdx-totIdx ); +/* Generated */ for (totIdx = 2; totIdx >= 1; --totIdx) { +/* Generated */ FarPeriodTotal[totIdx] += TA_CANDLERANGE( Far, i-totIdx ) +/* Generated */ - TA_CANDLERANGE( Far, FarTrailingIdx-totIdx ); +/* Generated */ NearPeriodTotal[totIdx] += TA_CANDLERANGE( Near, i-totIdx ) +/* Generated */ - TA_CANDLERANGE( Near, NearTrailingIdx-totIdx ); +/* Generated */ } +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-2 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-2 ); +/* Generated */ i++; +/* Generated */ ShadowShortTrailingIdx++; +/* Generated */ ShadowLongTrailingIdx++; +/* Generated */ NearTrailingIdx++; +/* Generated */ FarTrailingIdx++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLBELTHOLD.c b/vendor/ta-lib/src/ta_func/ta_CDLBELTHOLD.c new file mode 100644 index 000000000..0a259e3a5 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLBELTHOLD.c @@ -0,0 +1,376 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 010605 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlBeltHoldLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlBeltHoldLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLBELTHOLD_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( TA_CANDLEAVGPERIOD(BodyLong), TA_CANDLEAVGPERIOD(ShadowVeryShort) ); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLBELTHOLD - Belt-hold + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlBeltHold( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlBeltHold( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlBeltHold( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLBELTHOLD( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyLongPeriodTotal, ShadowVeryShortPeriodTotal; + int i, outIdx, BodyLongTrailingIdx, ShadowVeryShortTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLBELTHOLD)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyLongPeriodTotal = 0; + BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); + ShadowVeryShortPeriodTotal = 0; + ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); + + i = BodyLongTrailingIdx; + while( i < startIdx ) { + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); + i++; + } + i = ShadowVeryShortTrailingIdx; + while( i < startIdx ) { + ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ); + i++; + } + + /* Proceed with the calculation for the requested range. + * Must have: + * - long white (black) real body + * - no or very short lower (upper) shadow + * The meaning of "long" and "very short" is specified with TA_SetCandleSettings + * outInteger is positive (1 to 100) when white (bullish), negative (-1 to -100) when black (bearish) + */ + outIdx = 0; + do + { + if( TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i ) && // long body + ( + ( // white body and very short lower shadow + TA_CANDLECOLOR(i) == 1 && + TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) + ) || + ( // black body and very short upper shadow + TA_CANDLECOLOR(i) == -1 && + TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) + ) + ) ) + outInteger[outIdx++] = TA_CANDLECOLOR(i) * 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); + ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ) + - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx ); + i++; + BodyLongTrailingIdx++; + ShadowVeryShortTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlBeltHold( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlBeltHold( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLBELTHOLD( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyLongPeriodTotal, ShadowVeryShortPeriodTotal; +/* Generated */ int i, outIdx, BodyLongTrailingIdx, ShadowVeryShortTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLBELTHOLD)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyLongPeriodTotal = 0; +/* Generated */ BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ ShadowVeryShortPeriodTotal = 0; +/* Generated */ ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = ShadowVeryShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i ) && // long body +/* Generated */ ( +/* Generated */ ( // white body and very short lower shadow +/* Generated */ TA_CANDLECOLOR(i) == 1 && +/* Generated */ TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) +/* Generated */ ) || +/* Generated */ ( // black body and very short upper shadow +/* Generated */ TA_CANDLECOLOR(i) == -1 && +/* Generated */ TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) +/* Generated */ ) +/* Generated */ ) ) +/* Generated */ outInteger[outIdx++] = TA_CANDLECOLOR(i) * 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); +/* Generated */ ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ) +/* Generated */ - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ ShadowVeryShortTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLBREAKAWAY.c b/vendor/ta-lib/src/ta_func/ta_CDLBREAKAWAY.c new file mode 100644 index 000000000..5ca3e9ad5 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLBREAKAWAY.c @@ -0,0 +1,383 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 011505 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlBreakawayLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlBreakawayLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLBREAKAWAY_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return TA_CANDLEAVGPERIOD(BodyLong) + 4; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLBREAKAWAY - Breakaway + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlBreakaway( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlBreakaway( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlBreakaway( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLBREAKAWAY( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyLongPeriodTotal; + int i, outIdx, BodyLongTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLBREAKAWAY)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyLongPeriodTotal = 0; + BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); + + i = BodyLongTrailingIdx; + while( i < startIdx ) { + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-4 ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: long black (white) + * - second candle: black (white) day whose body gaps down (up) + * - third candle: black or white day with lower (higher) high and lower (higher) low than prior candle's + * - fourth candle: black (white) day with lower (higher) high and lower (higher) low than prior candle's + * - fifth candle: white (black) day that closes inside the gap, erasing the prior 3 days + * The meaning of "long" is specified with TA_SetCandleSettings + * outInteger is positive (1 to 100) when bullish or negative (-1 to -100) when bearish; + * the user should consider that breakaway is significant in a trend opposite to the last candle, while this + * function does not consider it + */ + outIdx = 0; + do + { + if( TA_REALBODY(i-4) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-4 ) && // 1st long + TA_CANDLECOLOR(i-4) == TA_CANDLECOLOR(i-3) && // 1st, 2nd, 4th same color, 5th opposite + TA_CANDLECOLOR(i-3) == TA_CANDLECOLOR(i-1) && + TA_CANDLECOLOR(i-1) == -TA_CANDLECOLOR(i) && + ( + ( TA_CANDLECOLOR(i-4) == -1 && // when 1st is black: + TA_REALBODYGAPDOWN(i-3,i-4) && // 2nd gaps down + inHigh[i-2] < inHigh[i-3] && inLow[i-2] < inLow[i-3] && // 3rd has lower high and low than 2nd + inHigh[i-1] < inHigh[i-2] && inLow[i-1] < inLow[i-2] && // 4th has lower high and low than 3rd + inClose[i] > inOpen[i-3] && inClose[i] < inClose[i-4] // 5th closes inside the gap + ) + || + ( TA_CANDLECOLOR(i-4) == 1 && // when 1st is white: + TA_REALBODYGAPUP(i-3,i-4) && // 2nd gaps up + inHigh[i-2] > inHigh[i-3] && inLow[i-2] > inLow[i-3] && // 3rd has higher high and low than 2nd + inHigh[i-1] > inHigh[i-2] && inLow[i-1] > inLow[i-2] && // 4th has higher high and low than 3rd + inClose[i] < inOpen[i-3] && inClose[i] > inClose[i-4] // 5th closes inside the gap + ) + ) + ) + outInteger[outIdx++] = TA_CANDLECOLOR(i) * 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-4 ) + - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-4 ); + i++; + BodyLongTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlBreakaway( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlBreakaway( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLBREAKAWAY( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyLongPeriodTotal; +/* Generated */ int i, outIdx, BodyLongTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLBREAKAWAY)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyLongPeriodTotal = 0; +/* Generated */ BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-4 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i-4) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-4 ) && // 1st long +/* Generated */ TA_CANDLECOLOR(i-4) == TA_CANDLECOLOR(i-3) && // 1st, 2nd, 4th same color, 5th opposite +/* Generated */ TA_CANDLECOLOR(i-3) == TA_CANDLECOLOR(i-1) && +/* Generated */ TA_CANDLECOLOR(i-1) == -TA_CANDLECOLOR(i) && +/* Generated */ ( +/* Generated */ ( TA_CANDLECOLOR(i-4) == -1 && // when 1st is black: +/* Generated */ TA_REALBODYGAPDOWN(i-3,i-4) && // 2nd gaps down +/* Generated */ inHigh[i-2] < inHigh[i-3] && inLow[i-2] < inLow[i-3] && // 3rd has lower high and low than 2nd +/* Generated */ inHigh[i-1] < inHigh[i-2] && inLow[i-1] < inLow[i-2] && // 4th has lower high and low than 3rd +/* Generated */ inClose[i] > inOpen[i-3] && inClose[i] < inClose[i-4] // 5th closes inside the gap +/* Generated */ ) +/* Generated */ || +/* Generated */ ( TA_CANDLECOLOR(i-4) == 1 && // when 1st is white: +/* Generated */ TA_REALBODYGAPUP(i-3,i-4) && // 2nd gaps up +/* Generated */ inHigh[i-2] > inHigh[i-3] && inLow[i-2] > inLow[i-3] && // 3rd has higher high and low than 2nd +/* Generated */ inHigh[i-1] > inHigh[i-2] && inLow[i-1] > inLow[i-2] && // 4th has higher high and low than 3rd +/* Generated */ inClose[i] < inOpen[i-3] && inClose[i] > inClose[i-4] // 5th closes inside the gap +/* Generated */ ) +/* Generated */ ) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = TA_CANDLECOLOR(i) * 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-4 ) +/* Generated */ - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-4 ); +/* Generated */ i++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLCLOSINGMARUBOZU.c b/vendor/ta-lib/src/ta_func/ta_CDLCLOSINGMARUBOZU.c new file mode 100644 index 000000000..cbb991410 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLCLOSINGMARUBOZU.c @@ -0,0 +1,376 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 022005 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlClosingMarubozuLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlClosingMarubozuLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLCLOSINGMARUBOZU_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( TA_CANDLEAVGPERIOD(BodyLong), TA_CANDLEAVGPERIOD(ShadowVeryShort) ); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLCLOSINGMARUBOZU - Closing Marubozu + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlClosingMarubozu( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlClosingMarubozu( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlClosingMarubozu( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLCLOSINGMARUBOZU( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyLongPeriodTotal, ShadowVeryShortPeriodTotal; + int i, outIdx, BodyLongTrailingIdx, ShadowVeryShortTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLCLOSINGMARUBOZU)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyLongPeriodTotal = 0; + BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); + ShadowVeryShortPeriodTotal = 0; + ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); + + i = BodyLongTrailingIdx; + while( i < startIdx ) { + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); + i++; + } + i = ShadowVeryShortTrailingIdx; + while( i < startIdx ) { + ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ); + i++; + } + + /* Proceed with the calculation for the requested range. + * Must have: + * - long white (black) real body + * - no or very short upper (lower) shadow + * The meaning of "long" and "very short" is specified with TA_SetCandleSettings + * outInteger is positive (1 to 100) when white (bullish), negative (-1 to -100) when black (bearish) + */ + outIdx = 0; + do + { + if( TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i ) && // long body + ( + ( // white body and very short lower shadow + TA_CANDLECOLOR(i) == 1 && + TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) + ) || + ( // black body and very short upper shadow + TA_CANDLECOLOR(i) == -1 && + TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) + ) + ) ) + outInteger[outIdx++] = TA_CANDLECOLOR(i) * 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); + ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ) + - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx ); + i++; + BodyLongTrailingIdx++; + ShadowVeryShortTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlClosingMarubozu( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlClosingMarubozu( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLCLOSINGMARUBOZU( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyLongPeriodTotal, ShadowVeryShortPeriodTotal; +/* Generated */ int i, outIdx, BodyLongTrailingIdx, ShadowVeryShortTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLCLOSINGMARUBOZU)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyLongPeriodTotal = 0; +/* Generated */ BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ ShadowVeryShortPeriodTotal = 0; +/* Generated */ ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = ShadowVeryShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i ) && // long body +/* Generated */ ( +/* Generated */ ( // white body and very short lower shadow +/* Generated */ TA_CANDLECOLOR(i) == 1 && +/* Generated */ TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) +/* Generated */ ) || +/* Generated */ ( // black body and very short upper shadow +/* Generated */ TA_CANDLECOLOR(i) == -1 && +/* Generated */ TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) +/* Generated */ ) +/* Generated */ ) ) +/* Generated */ outInteger[outIdx++] = TA_CANDLECOLOR(i) * 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); +/* Generated */ ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ) +/* Generated */ - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ ShadowVeryShortTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLCONCEALBABYSWALL.c b/vendor/ta-lib/src/ta_func/ta_CDLCONCEALBABYSWALL.c new file mode 100644 index 000000000..bfba843c1 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLCONCEALBABYSWALL.c @@ -0,0 +1,384 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 022705 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlConcealBabysWallLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlConcealBabysWallLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLCONCEALBABYSWALL_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return TA_CANDLEAVGPERIOD(ShadowVeryShort) + 3; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLCONCEALBABYSWALL - Concealing Baby Swallow + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlConcealBabysWall( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlConcealBabysWall( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlConcealBabysWall( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLCONCEALBABYSWALL( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + ARRAY_LOCAL(ShadowVeryShortPeriodTotal,4); + int i, outIdx, totIdx, ShadowVeryShortTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLCONCEALBABYSWALL)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + ShadowVeryShortPeriodTotal[3] = 0; + ShadowVeryShortPeriodTotal[2] = 0; + ShadowVeryShortPeriodTotal[1] = 0; + ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); + + i = ShadowVeryShortTrailingIdx; + while( i < startIdx ) { + ShadowVeryShortPeriodTotal[3] += TA_CANDLERANGE( ShadowVeryShort, i-3 ); + ShadowVeryShortPeriodTotal[2] += TA_CANDLERANGE( ShadowVeryShort, i-2 ); + ShadowVeryShortPeriodTotal[1] += TA_CANDLERANGE( ShadowVeryShort, i-1 ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: black marubozu (very short shadows) + * - second candle: black marubozu (very short shadows) + * - third candle: black candle that opens gapping down but has an upper shadow that extends into the prior body + * - fourth candle: black candle that completely engulfs the third candle, including the shadows + * The meanings of "very short shadow" are specified with TA_SetCandleSettings; + * outInteger is positive (1 to 100): concealing baby swallow is always bullish; + * the user should consider that concealing baby swallow is significant when it appears in downtrend, while + * this function does not consider it + */ + outIdx = 0; + do + { + if( TA_CANDLECOLOR(i-3) == -1 && // 1st black + TA_CANDLECOLOR(i-2) == -1 && // 2nd black + TA_CANDLECOLOR(i-1) == -1 && // 3rd black + TA_CANDLECOLOR(i) == -1 && // 4th black + // 1st: marubozu + TA_LOWERSHADOW(i-3) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[3], i-3 ) && + TA_UPPERSHADOW(i-3) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[3], i-3 ) && + // 2nd: marubozu + TA_LOWERSHADOW(i-2) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[2], i-2 ) && + TA_UPPERSHADOW(i-2) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[2], i-2 ) && + TA_REALBODYGAPDOWN(i-1,i-2) && // 3rd: opens gapping down + // and HAS an upper shadow + TA_UPPERSHADOW(i-1) > TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[1], i-1 ) && + inHigh[i-1] > inClose[i-2] && // that extends into the prior body + inHigh[i] > inHigh[i-1] && inLow[i] < inLow[i-1] // 4th: engulfs the 3rd including the shadows + ) + outInteger[outIdx++] = 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + for (totIdx = 3; totIdx >= 1; --totIdx) + ShadowVeryShortPeriodTotal[totIdx] += TA_CANDLERANGE( ShadowVeryShort, i-totIdx ) + - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx-totIdx ); + i++; + ShadowVeryShortTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlConcealBabysWall( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlConcealBabysWall( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLCONCEALBABYSWALL( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ARRAY_LOCAL(ShadowVeryShortPeriodTotal,4); +/* Generated */ int i, outIdx, totIdx, ShadowVeryShortTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLCONCEALBABYSWALL)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ ShadowVeryShortPeriodTotal[3] = 0; +/* Generated */ ShadowVeryShortPeriodTotal[2] = 0; +/* Generated */ ShadowVeryShortPeriodTotal[1] = 0; +/* Generated */ ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); +/* Generated */ i = ShadowVeryShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowVeryShortPeriodTotal[3] += TA_CANDLERANGE( ShadowVeryShort, i-3 ); +/* Generated */ ShadowVeryShortPeriodTotal[2] += TA_CANDLERANGE( ShadowVeryShort, i-2 ); +/* Generated */ ShadowVeryShortPeriodTotal[1] += TA_CANDLERANGE( ShadowVeryShort, i-1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_CANDLECOLOR(i-3) == -1 && // 1st black +/* Generated */ TA_CANDLECOLOR(i-2) == -1 && // 2nd black +/* Generated */ TA_CANDLECOLOR(i-1) == -1 && // 3rd black +/* Generated */ TA_CANDLECOLOR(i) == -1 && // 4th black +/* Generated */ // 1st: marubozu +/* Generated */ TA_LOWERSHADOW(i-3) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[3], i-3 ) && +/* Generated */ TA_UPPERSHADOW(i-3) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[3], i-3 ) && +/* Generated */ // 2nd: marubozu +/* Generated */ TA_LOWERSHADOW(i-2) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[2], i-2 ) && +/* Generated */ TA_UPPERSHADOW(i-2) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[2], i-2 ) && +/* Generated */ TA_REALBODYGAPDOWN(i-1,i-2) && // 3rd: opens gapping down +/* Generated */ // and HAS an upper shadow +/* Generated */ TA_UPPERSHADOW(i-1) > TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[1], i-1 ) && +/* Generated */ inHigh[i-1] > inClose[i-2] && // that extends into the prior body +/* Generated */ inHigh[i] > inHigh[i-1] && inLow[i] < inLow[i-1] // 4th: engulfs the 3rd including the shadows +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ for (totIdx = 3; totIdx >= 1; --totIdx) +/* Generated */ ShadowVeryShortPeriodTotal[totIdx] += TA_CANDLERANGE( ShadowVeryShort, i-totIdx ) +/* Generated */ - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx-totIdx ); +/* Generated */ i++; +/* Generated */ ShadowVeryShortTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLCOUNTERATTACK.c b/vendor/ta-lib/src/ta_func/ta_CDLCOUNTERATTACK.c new file mode 100644 index 000000000..fa76bba85 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLCOUNTERATTACK.c @@ -0,0 +1,378 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 010605 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlCounterAttackLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlCounterAttackLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLCOUNTERATTACK_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( TA_CANDLEAVGPERIOD(Equal), TA_CANDLEAVGPERIOD(BodyLong) + ) + 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLCOUNTERATTACK - Counterattack + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlCounterAttack( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlCounterAttack( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlCounterAttack( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLCOUNTERATTACK( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double EqualPeriodTotal; + ARRAY_LOCAL(BodyLongPeriodTotal,2); + int i, outIdx, totIdx, EqualTrailingIdx, BodyLongTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLCOUNTERATTACK)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + EqualPeriodTotal = 0; + EqualTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Equal); + BodyLongPeriodTotal[1] = 0; + BodyLongPeriodTotal[0] = 0; + BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); + + i = EqualTrailingIdx; + while( i < startIdx ) { + EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ); + i++; + } + i = BodyLongTrailingIdx; + while( i < startIdx ) { + BodyLongPeriodTotal[1] += TA_CANDLERANGE( BodyLong, i-1 ); + BodyLongPeriodTotal[0] += TA_CANDLERANGE( BodyLong, i ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: long black (white) + * - second candle: long white (black) with close equal to the prior close + * The meaning of "equal" and "long" is specified with TA_SetCandleSettings + * outInteger is positive (1 to 100) when bullish or negative (-1 to -100) when bearish; + * the user should consider that counterattack is significant in a trend, while this function does not consider it + */ + outIdx = 0; + do + { + if( TA_CANDLECOLOR(i-1) == -TA_CANDLECOLOR(i) && // opposite candles + TA_REALBODY(i-1) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal[1], i-1 ) && // 1st long + TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal[0], i ) && // 2nd long + inClose[i] <= inClose[i-1] + TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-1 ) && // equal closes + inClose[i] >= inClose[i-1] - TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-1 ) + ) + outInteger[outIdx++] = TA_CANDLECOLOR(i) * 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ) - TA_CANDLERANGE( Equal, EqualTrailingIdx-1 ); + for (totIdx = 1; totIdx >= 0; --totIdx) + BodyLongPeriodTotal[totIdx] += TA_CANDLERANGE( BodyLong, i-totIdx ) + - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-totIdx ); + i++; + EqualTrailingIdx++; + BodyLongTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlCounterAttack( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlCounterAttack( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLCOUNTERATTACK( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double EqualPeriodTotal; +/* Generated */ ARRAY_LOCAL(BodyLongPeriodTotal,2); +/* Generated */ int i, outIdx, totIdx, EqualTrailingIdx, BodyLongTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLCOUNTERATTACK)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ EqualPeriodTotal = 0; +/* Generated */ EqualTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Equal); +/* Generated */ BodyLongPeriodTotal[1] = 0; +/* Generated */ BodyLongPeriodTotal[0] = 0; +/* Generated */ BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ i = EqualTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyLongPeriodTotal[1] += TA_CANDLERANGE( BodyLong, i-1 ); +/* Generated */ BodyLongPeriodTotal[0] += TA_CANDLERANGE( BodyLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_CANDLECOLOR(i-1) == -TA_CANDLECOLOR(i) && // opposite candles +/* Generated */ TA_REALBODY(i-1) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal[1], i-1 ) && // 1st long +/* Generated */ TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal[0], i ) && // 2nd long +/* Generated */ inClose[i] <= inClose[i-1] + TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-1 ) && // equal closes +/* Generated */ inClose[i] >= inClose[i-1] - TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-1 ) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = TA_CANDLECOLOR(i) * 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ) - TA_CANDLERANGE( Equal, EqualTrailingIdx-1 ); +/* Generated */ for (totIdx = 1; totIdx >= 0; --totIdx) +/* Generated */ BodyLongPeriodTotal[totIdx] += TA_CANDLERANGE( BodyLong, i-totIdx ) +/* Generated */ - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-totIdx ); +/* Generated */ i++; +/* Generated */ EqualTrailingIdx++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLDARKCLOUDCOVER.c b/vendor/ta-lib/src/ta_func/ta_CDLDARKCLOUDCOVER.c new file mode 100644 index 000000000..ee5e3f04d --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLDARKCLOUDCOVER.c @@ -0,0 +1,384 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120904 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlDarkCloudCoverLookback( double optInPenetration ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlDarkCloudCoverLookback( double optInPenetration ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLDARKCLOUDCOVER_Lookback( double optInPenetration ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( optInPenetration == TA_REAL_DEFAULT ) +/* Generated */ optInPenetration = 5.000000e-1; +/* Generated */ else if( (optInPenetration < 0.000000e+0) ||/* Generated */ (optInPenetration > 3.000000e+37) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + UNUSED_VARIABLE(optInPenetration); + + return TA_CANDLEAVGPERIOD(BodyLong) + 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLDARKCLOUDCOVER - Dark Cloud Cover + * + * Input = Open, High, Low, Close + * Output = int + * + * Optional Parameters + * ------------------- + * optInPenetration:(From 0 to TA_REAL_MAX) + * Percentage of penetration of a candle within another candle + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlDarkCloudCover( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlDarkCloudCover( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlDarkCloudCover( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLDARKCLOUDCOVER( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyLongPeriodTotal; + int i, outIdx, BodyLongTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ if( optInPenetration == TA_REAL_DEFAULT ) +/* Generated */ optInPenetration = 5.000000e-1; +/* Generated */ else if( (optInPenetration < 0.000000e+0) ||/* Generated */ (optInPenetration > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLDARKCLOUDCOVER)(optInPenetration); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyLongPeriodTotal = 0; + BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); + + i = BodyLongTrailingIdx; + while( i < startIdx ) { + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-1 ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: long white candle + * - second candle: black candle that opens above previous day high and closes within previous day real body; + * Greg Morris wants the close to be below the midpoint of the previous real body + * The meaning of "long" is specified with TA_SetCandleSettings, the penetration of the first real body is specified + * with optInPenetration + * outInteger is negative (-1 to -100): dark cloud cover is always bearish + * the user should consider that a dark cloud cover is significant when it appears in an uptrend, while + * this function does not consider it + */ + outIdx = 0; + do + { + if( TA_CANDLECOLOR(i-1) == 1 && // 1st: white + TA_REALBODY(i-1) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-1 ) && // long + TA_CANDLECOLOR(i) == -1 && // 2nd: black + inOpen[i] > inHigh[i-1] && // open above prior high + inClose[i] > inOpen[i-1] && // close within prior body + inClose[i] < inClose[i-1] - TA_REALBODY(i-1) * optInPenetration + ) + outInteger[outIdx++] = -100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-1 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-1 ); + i++; + BodyLongTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlDarkCloudCover( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlDarkCloudCover( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLDARKCLOUDCOVER( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyLongPeriodTotal; +/* Generated */ int i, outIdx, BodyLongTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( optInPenetration == TA_REAL_DEFAULT ) +/* Generated */ optInPenetration = 5.000000e-1; +/* Generated */ else if( (optInPenetration < 0.000000e+0) || (optInPenetration > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLDARKCLOUDCOVER)(optInPenetration); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyLongPeriodTotal = 0; +/* Generated */ BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_CANDLECOLOR(i-1) == 1 && // 1st: white +/* Generated */ TA_REALBODY(i-1) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-1 ) && // long +/* Generated */ TA_CANDLECOLOR(i) == -1 && // 2nd: black +/* Generated */ inOpen[i] > inHigh[i-1] && // open above prior high +/* Generated */ inClose[i] > inOpen[i-1] && // close within prior body +/* Generated */ inClose[i] < inClose[i-1] - TA_REALBODY(i-1) * optInPenetration +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = -100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-1 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-1 ); +/* Generated */ i++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLDOJI.c b/vendor/ta-lib/src/ta_func/ta_CDLDOJI.c new file mode 100644 index 000000000..6d42dc7b2 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLDOJI.c @@ -0,0 +1,337 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 011505 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlDojiLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlDojiLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLDOJI_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return TA_CANDLEAVGPERIOD(BodyDoji); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLDOJI - Doji + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlDoji( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlDoji( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlDoji( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLDOJI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyDojiPeriodTotal; + int i, outIdx, BodyDojiTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLDOJI)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyDojiPeriodTotal = 0; + BodyDojiTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyDoji); + + i = BodyDojiTrailingIdx; + while( i < startIdx ) { + BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ); + i++; + } + + /* Proceed with the calculation for the requested range. + * + * Must have: + * - open quite equal to close + * How much can be the maximum distance between open and close is specified with TA_SetCandleSettings + * outInteger is always positive (1 to 100) but this does not mean it is bullish: doji shows uncertainty and it is + * neither bullish nor bearish when considered alone + */ + outIdx = 0; + do + { + if( TA_REALBODY(i) <= TA_CANDLEAVERAGE( BodyDoji, BodyDojiPeriodTotal, i ) ) + outInteger[outIdx++] = 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ) - TA_CANDLERANGE( BodyDoji, BodyDojiTrailingIdx ); + i++; + BodyDojiTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlDoji( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlDoji( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLDOJI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyDojiPeriodTotal; +/* Generated */ int i, outIdx, BodyDojiTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLDOJI)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyDojiPeriodTotal = 0; +/* Generated */ BodyDojiTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyDoji); +/* Generated */ i = BodyDojiTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i) <= TA_CANDLEAVERAGE( BodyDoji, BodyDojiPeriodTotal, i ) ) +/* Generated */ outInteger[outIdx++] = 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ) - TA_CANDLERANGE( BodyDoji, BodyDojiTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyDojiTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLDOJISTAR.c b/vendor/ta-lib/src/ta_func/ta_CDLDOJISTAR.c new file mode 100644 index 000000000..14a6de1c2 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLDOJISTAR.c @@ -0,0 +1,368 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 100204 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlDojiStarLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlDojiStarLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLDOJISTAR_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( TA_CANDLEAVGPERIOD(BodyDoji), TA_CANDLEAVGPERIOD(BodyLong) ) + 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLDOJISTAR - Doji Star + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlDojiStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlDojiStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlDojiStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLDOJISTAR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyDojiPeriodTotal, BodyLongPeriodTotal; + int i, outIdx, BodyDojiTrailingIdx, BodyLongTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLDOJISTAR)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyLongPeriodTotal = 0; + BodyDojiPeriodTotal = 0; + BodyLongTrailingIdx = startIdx -1 - TA_CANDLEAVGPERIOD(BodyLong); + BodyDojiTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyDoji); + + i = BodyLongTrailingIdx; + while( i < startIdx-1 ) { + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); + i++; + } + i = BodyDojiTrailingIdx; + while( i < startIdx ) { + BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ); + i++; + } + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: long real body + * - second candle: star (open gapping up in an uptrend or down in a downtrend) with a doji + * The meaning of "doji" and "long" is specified with TA_SetCandleSettings + * outInteger is positive (1 to 100) when bullish or negative (-1 to -100) when bearish; + * it's defined bullish when the long candle is white and the star gaps up, bearish when the long candle + * is black and the star gaps down; the user should consider that a doji star is bullish when it appears + * in an uptrend and it's bearish when it appears in a downtrend, so to determine the bullishness or + * bearishness of the pattern the trend must be analyzed + */ + outIdx = 0; + do + { + if( TA_REALBODY(i-1) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-1 ) && // 1st: long real body + TA_REALBODY(i) <= TA_CANDLEAVERAGE( BodyDoji, BodyDojiPeriodTotal, i ) && // 2nd: doji + ( ( TA_CANDLECOLOR(i-1) == 1 && TA_REALBODYGAPUP(i,i-1) ) // that gaps up if 1st is white + || + ( TA_CANDLECOLOR(i-1) == -1 && TA_REALBODYGAPDOWN(i,i-1) ) // or down if 1st is black + ) ) + outInteger[outIdx++] = -TA_CANDLECOLOR(i-1) * 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-1 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); + BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ) - TA_CANDLERANGE( BodyDoji, BodyDojiTrailingIdx ); + i++; + BodyLongTrailingIdx++; + BodyDojiTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlDojiStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlDojiStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLDOJISTAR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyDojiPeriodTotal, BodyLongPeriodTotal; +/* Generated */ int i, outIdx, BodyDojiTrailingIdx, BodyLongTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLDOJISTAR)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyLongPeriodTotal = 0; +/* Generated */ BodyDojiPeriodTotal = 0; +/* Generated */ BodyLongTrailingIdx = startIdx -1 - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ BodyDojiTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyDoji); +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx-1 ) { +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyDojiTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i-1) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-1 ) && // 1st: long real body +/* Generated */ TA_REALBODY(i) <= TA_CANDLEAVERAGE( BodyDoji, BodyDojiPeriodTotal, i ) && // 2nd: doji +/* Generated */ ( ( TA_CANDLECOLOR(i-1) == 1 && TA_REALBODYGAPUP(i,i-1) ) // that gaps up if 1st is white +/* Generated */ || +/* Generated */ ( TA_CANDLECOLOR(i-1) == -1 && TA_REALBODYGAPDOWN(i,i-1) ) // or down if 1st is black +/* Generated */ ) ) +/* Generated */ outInteger[outIdx++] = -TA_CANDLECOLOR(i-1) * 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-1 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); +/* Generated */ BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ) - TA_CANDLERANGE( BodyDoji, BodyDojiTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ BodyDojiTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLDRAGONFLYDOJI.c b/vendor/ta-lib/src/ta_func/ta_CDLDRAGONFLYDOJI.c new file mode 100644 index 000000000..de3082919 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLDRAGONFLYDOJI.c @@ -0,0 +1,365 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 011505 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlDragonflyDojiLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlDragonflyDojiLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLDRAGONFLYDOJI_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( TA_CANDLEAVGPERIOD(BodyDoji), TA_CANDLEAVGPERIOD(ShadowVeryShort) ); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLDRAGONFLYDOJI - Dragonfly Doji + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlDragonflyDoji( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlDragonflyDoji( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlDragonflyDoji( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLDRAGONFLYDOJI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyDojiPeriodTotal, ShadowVeryShortPeriodTotal; + int i, outIdx, BodyDojiTrailingIdx, ShadowVeryShortTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLDRAGONFLYDOJI)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyDojiPeriodTotal = 0; + BodyDojiTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyDoji); + ShadowVeryShortPeriodTotal = 0; + ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); + + i = BodyDojiTrailingIdx; + while( i < startIdx ) { + BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ); + i++; + } + i = ShadowVeryShortTrailingIdx; + while( i < startIdx ) { + ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ); + i++; + } + + /* Proceed with the calculation for the requested range. + * + * Must have: + * - doji body + * - open and close at the high of the day = no or very short upper shadow + * - lower shadow (to distinguish from other dojis, here lower shadow should not be very short) + * The meaning of "doji" and "very short" is specified with TA_SetCandleSettings + * outInteger is always positive (1 to 100) but this does not mean it is bullish: dragonfly doji must be considered + * relatively to the trend + */ + outIdx = 0; + do + { + if( TA_REALBODY(i) <= TA_CANDLEAVERAGE( BodyDoji, BodyDojiPeriodTotal, i ) && + TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) && + TA_LOWERSHADOW(i) > TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) + ) + outInteger[outIdx++] = 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ) - TA_CANDLERANGE( BodyDoji, BodyDojiTrailingIdx ); + ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ) + - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx ); + i++; + BodyDojiTrailingIdx++; + ShadowVeryShortTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlDragonflyDoji( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlDragonflyDoji( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLDRAGONFLYDOJI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyDojiPeriodTotal, ShadowVeryShortPeriodTotal; +/* Generated */ int i, outIdx, BodyDojiTrailingIdx, ShadowVeryShortTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLDRAGONFLYDOJI)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyDojiPeriodTotal = 0; +/* Generated */ BodyDojiTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyDoji); +/* Generated */ ShadowVeryShortPeriodTotal = 0; +/* Generated */ ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); +/* Generated */ i = BodyDojiTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = ShadowVeryShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i) <= TA_CANDLEAVERAGE( BodyDoji, BodyDojiPeriodTotal, i ) && +/* Generated */ TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) && +/* Generated */ TA_LOWERSHADOW(i) > TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ) - TA_CANDLERANGE( BodyDoji, BodyDojiTrailingIdx ); +/* Generated */ ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ) +/* Generated */ - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyDojiTrailingIdx++; +/* Generated */ ShadowVeryShortTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLENGULFING.c b/vendor/ta-lib/src/ta_func/ta_CDLENGULFING.c new file mode 100644 index 000000000..291971cd9 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLENGULFING.c @@ -0,0 +1,329 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 102404 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlEngulfingLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlEngulfingLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLENGULFING_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return 2; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLENGULFING - Engulfing Pattern + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlEngulfing( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlEngulfing( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlEngulfing( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLENGULFING( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + int i, outIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLENGULFING)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first: black (white) real body + * - second: white (black) real body that engulfs the prior real body + * outInteger is positive (1 to 100) when bullish or negative (-1 to -100) when bearish; + * the user should consider that an engulfing must appear in a downtrend if bullish or in an uptrend if bearish, + * while this function does not consider it + */ + outIdx = 0; + do + { + if( ( TA_CANDLECOLOR(i) == 1 && TA_CANDLECOLOR(i-1) == -1 && // white engulfs black + inClose[i] > inOpen[i-1] && inOpen[i] < inClose[i-1] + ) + || + ( TA_CANDLECOLOR(i) == -1 && TA_CANDLECOLOR(i-1) == 1 && // black engulfs white + inOpen[i] > inClose[i-1] && inClose[i] < inOpen[i-1] + ) + ) + outInteger[outIdx++] = TA_CANDLECOLOR(i) * 100; + else + outInteger[outIdx++] = 0; + i++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlEngulfing( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlEngulfing( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLENGULFING( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int i, outIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLENGULFING)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( ( TA_CANDLECOLOR(i) == 1 && TA_CANDLECOLOR(i-1) == -1 && // white engulfs black +/* Generated */ inClose[i] > inOpen[i-1] && inOpen[i] < inClose[i-1] +/* Generated */ ) +/* Generated */ || +/* Generated */ ( TA_CANDLECOLOR(i) == -1 && TA_CANDLECOLOR(i-1) == 1 && // black engulfs white +/* Generated */ inOpen[i] > inClose[i-1] && inClose[i] < inOpen[i-1] +/* Generated */ ) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = TA_CANDLECOLOR(i) * 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ i++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLEVENINGDOJISTAR.c b/vendor/ta-lib/src/ta_func/ta_CDLEVENINGDOJISTAR.c new file mode 100644 index 000000000..73f5b6565 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLEVENINGDOJISTAR.c @@ -0,0 +1,426 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 100304 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlEveningDojiStarLookback( double optInPenetration ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlEveningDojiStarLookback( double optInPenetration ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLEVENINGDOJISTAR_Lookback( double optInPenetration ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( optInPenetration == TA_REAL_DEFAULT ) +/* Generated */ optInPenetration = 3.000000e-1; +/* Generated */ else if( (optInPenetration < 0.000000e+0) ||/* Generated */ (optInPenetration > 3.000000e+37) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + UNUSED_VARIABLE(optInPenetration); + + return max( max( TA_CANDLEAVGPERIOD(BodyDoji), TA_CANDLEAVGPERIOD(BodyLong) ), + TA_CANDLEAVGPERIOD(BodyShort) + ) + 2; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLEVENINGDOJISTAR - Evening Doji Star + * + * Input = Open, High, Low, Close + * Output = int + * + * Optional Parameters + * ------------------- + * optInPenetration:(From 0 to TA_REAL_MAX) + * Percentage of penetration of a candle within another candle + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlEveningDojiStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlEveningDojiStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlEveningDojiStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLEVENINGDOJISTAR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyDojiPeriodTotal, BodyLongPeriodTotal, BodyShortPeriodTotal; + int i, outIdx, BodyDojiTrailingIdx, BodyLongTrailingIdx, BodyShortTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ if( optInPenetration == TA_REAL_DEFAULT ) +/* Generated */ optInPenetration = 3.000000e-1; +/* Generated */ else if( (optInPenetration < 0.000000e+0) ||/* Generated */ (optInPenetration > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLEVENINGDOJISTAR)(optInPenetration); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyLongPeriodTotal = 0; + BodyDojiPeriodTotal = 0; + BodyShortPeriodTotal = 0; + BodyLongTrailingIdx = startIdx -2 - TA_CANDLEAVGPERIOD(BodyLong); + BodyDojiTrailingIdx = startIdx -1 - TA_CANDLEAVGPERIOD(BodyDoji); + BodyShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); + + i = BodyLongTrailingIdx; + while( i < startIdx-2 ) { + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); + i++; + } + i = BodyDojiTrailingIdx; + while( i < startIdx-1 ) { + BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ); + i++; + } + i = BodyShortTrailingIdx; + while( i < startIdx ) { + BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: long white real body + * - second candle: doji gapping up + * - third candle: black real body that moves well within the first candle's real body + * The meaning of "doji" and "long" is specified with TA_SetCandleSettings + * The meaning of "moves well within" is specified with optInPenetration and "moves" should mean the real body should + * not be short ("short" is specified with TA_SetCandleSettings) - Greg Morris wants it to be long, someone else want + * it to be relatively long + * outInteger is negative (-1 to -100): evening star is always bearish; + * the user should consider that an evening star is significant when it appears in an uptrend, + * while this function does not consider the trend + */ + outIdx = 0; + do + { + if( TA_REALBODY(i-2) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-2 ) && // 1st: long + TA_CANDLECOLOR(i-2) == 1 && // white + TA_REALBODY(i-1) <= TA_CANDLEAVERAGE( BodyDoji, BodyDojiPeriodTotal, i-1 ) && // 2nd: doji + TA_REALBODYGAPUP(i-1,i-2) && // gapping up + TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal, i ) && // 3rd: longer than short + TA_CANDLECOLOR(i) == -1 && // black real body + inClose[i] < inClose[i-2] - TA_REALBODY(i-2) * optInPenetration // closing well within 1st rb + ) + outInteger[outIdx++] = -100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-2 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); + BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i-1 ) - TA_CANDLERANGE( BodyDoji, BodyDojiTrailingIdx ); + BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx ); + i++; + BodyLongTrailingIdx++; + BodyDojiTrailingIdx++; + BodyShortTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlEveningDojiStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlEveningDojiStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLEVENINGDOJISTAR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyDojiPeriodTotal, BodyLongPeriodTotal, BodyShortPeriodTotal; +/* Generated */ int i, outIdx, BodyDojiTrailingIdx, BodyLongTrailingIdx, BodyShortTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( optInPenetration == TA_REAL_DEFAULT ) +/* Generated */ optInPenetration = 3.000000e-1; +/* Generated */ else if( (optInPenetration < 0.000000e+0) || (optInPenetration > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLEVENINGDOJISTAR)(optInPenetration); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyLongPeriodTotal = 0; +/* Generated */ BodyDojiPeriodTotal = 0; +/* Generated */ BodyShortPeriodTotal = 0; +/* Generated */ BodyLongTrailingIdx = startIdx -2 - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ BodyDojiTrailingIdx = startIdx -1 - TA_CANDLEAVGPERIOD(BodyDoji); +/* Generated */ BodyShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx-2 ) { +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyDojiTrailingIdx; +/* Generated */ while( i < startIdx-1 ) { +/* Generated */ BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i-2) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-2 ) && // 1st: long +/* Generated */ TA_CANDLECOLOR(i-2) == 1 && // white +/* Generated */ TA_REALBODY(i-1) <= TA_CANDLEAVERAGE( BodyDoji, BodyDojiPeriodTotal, i-1 ) && // 2nd: doji +/* Generated */ TA_REALBODYGAPUP(i-1,i-2) && // gapping up +/* Generated */ TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal, i ) && // 3rd: longer than short +/* Generated */ TA_CANDLECOLOR(i) == -1 && // black real body +/* Generated */ inClose[i] < inClose[i-2] - TA_REALBODY(i-2) * optInPenetration // closing well within 1st rb +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = -100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-2 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); +/* Generated */ BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i-1 ) - TA_CANDLERANGE( BodyDoji, BodyDojiTrailingIdx ); +/* Generated */ BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ BodyDojiTrailingIdx++; +/* Generated */ BodyShortTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLEVENINGSTAR.c b/vendor/ta-lib/src/ta_func/ta_CDLEVENINGSTAR.c new file mode 100644 index 000000000..00c623da3 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLEVENINGSTAR.c @@ -0,0 +1,412 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 100304 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlEveningStarLookback( double optInPenetration ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlEveningStarLookback( double optInPenetration ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLEVENINGSTAR_Lookback( double optInPenetration ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( optInPenetration == TA_REAL_DEFAULT ) +/* Generated */ optInPenetration = 3.000000e-1; +/* Generated */ else if( (optInPenetration < 0.000000e+0) ||/* Generated */ (optInPenetration > 3.000000e+37) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + UNUSED_VARIABLE(optInPenetration); + + return max( TA_CANDLEAVGPERIOD(BodyShort), TA_CANDLEAVGPERIOD(BodyLong) ) + 2; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLEVENINGSTAR - Evening Star + * + * Input = Open, High, Low, Close + * Output = int + * + * Optional Parameters + * ------------------- + * optInPenetration:(From 0 to TA_REAL_MAX) + * Percentage of penetration of a candle within another candle + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlEveningStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlEveningStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlEveningStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLEVENINGSTAR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyShortPeriodTotal, BodyLongPeriodTotal, BodyShortPeriodTotal2; + int i, outIdx, BodyShortTrailingIdx, BodyLongTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ if( optInPenetration == TA_REAL_DEFAULT ) +/* Generated */ optInPenetration = 3.000000e-1; +/* Generated */ else if( (optInPenetration < 0.000000e+0) ||/* Generated */ (optInPenetration > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLEVENINGSTAR)(optInPenetration); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyLongPeriodTotal = 0; + BodyShortPeriodTotal = 0; + BodyShortPeriodTotal2 = 0; + BodyLongTrailingIdx = startIdx -2 - TA_CANDLEAVGPERIOD(BodyLong); + BodyShortTrailingIdx = startIdx -1 - TA_CANDLEAVGPERIOD(BodyShort); + + i = BodyLongTrailingIdx; + while( i < startIdx-2 ) { + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); + i++; + } + i = BodyShortTrailingIdx; + while( i < startIdx-1 ) { + BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ); + BodyShortPeriodTotal2 += TA_CANDLERANGE( BodyShort, i+1 ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: long white real body + * - second candle: star (short real body gapping up) + * - third candle: black real body that moves well within the first candle's real body + * The meaning of "short" and "long" is specified with TA_SetCandleSettings + * The meaning of "moves well within" is specified with optInPenetration and "moves" should mean the real body should + * not be short ("short" is specified with TA_SetCandleSettings) - Greg Morris wants it to be long, someone else want + * it to be relatively long + * outInteger is negative (-1 to -100): evening star is always bearish; + * the user should consider that an evening star is significant when it appears in an uptrend, + * while this function does not consider the trend + */ + outIdx = 0; + do + { + if( TA_REALBODY(i-2) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-2 ) && // 1st: long + TA_CANDLECOLOR(i-2) == 1 && // white + TA_REALBODY(i-1) <= TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal, i-1 ) && // 2nd: short + TA_REALBODYGAPUP(i-1,i-2) && // gapping up + TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal2, i ) && // 3rd: longer than short + TA_CANDLECOLOR(i) == -1 && // black real body + inClose[i] < inClose[i-2] - TA_REALBODY(i-2) * optInPenetration // closing well within 1st rb + ) + outInteger[outIdx++] = -100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-2 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); + BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i-1 ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx ); + BodyShortPeriodTotal2 += TA_CANDLERANGE( BodyShort, i ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx+1 ); + i++; + BodyLongTrailingIdx++; + BodyShortTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlEveningStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlEveningStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLEVENINGSTAR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyShortPeriodTotal, BodyLongPeriodTotal, BodyShortPeriodTotal2; +/* Generated */ int i, outIdx, BodyShortTrailingIdx, BodyLongTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( optInPenetration == TA_REAL_DEFAULT ) +/* Generated */ optInPenetration = 3.000000e-1; +/* Generated */ else if( (optInPenetration < 0.000000e+0) || (optInPenetration > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLEVENINGSTAR)(optInPenetration); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyLongPeriodTotal = 0; +/* Generated */ BodyShortPeriodTotal = 0; +/* Generated */ BodyShortPeriodTotal2 = 0; +/* Generated */ BodyLongTrailingIdx = startIdx -2 - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ BodyShortTrailingIdx = startIdx -1 - TA_CANDLEAVGPERIOD(BodyShort); +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx-2 ) { +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyShortTrailingIdx; +/* Generated */ while( i < startIdx-1 ) { +/* Generated */ BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ); +/* Generated */ BodyShortPeriodTotal2 += TA_CANDLERANGE( BodyShort, i+1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i-2) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-2 ) && // 1st: long +/* Generated */ TA_CANDLECOLOR(i-2) == 1 && // white +/* Generated */ TA_REALBODY(i-1) <= TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal, i-1 ) && // 2nd: short +/* Generated */ TA_REALBODYGAPUP(i-1,i-2) && // gapping up +/* Generated */ TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal2, i ) && // 3rd: longer than short +/* Generated */ TA_CANDLECOLOR(i) == -1 && // black real body +/* Generated */ inClose[i] < inClose[i-2] - TA_REALBODY(i-2) * optInPenetration // closing well within 1st rb +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = -100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-2 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); +/* Generated */ BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i-1 ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx ); +/* Generated */ BodyShortPeriodTotal2 += TA_CANDLERANGE( BodyShort, i ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx+1 ); +/* Generated */ i++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ BodyShortTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLGAPSIDESIDEWHITE.c b/vendor/ta-lib/src/ta_func/ta_CDLGAPSIDESIDEWHITE.c new file mode 100644 index 000000000..57fe2d853 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLGAPSIDESIDEWHITE.c @@ -0,0 +1,385 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 020605 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlGapSideSideWhiteLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlGapSideSideWhiteLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLGAPSIDESIDEWHITE_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( TA_CANDLEAVGPERIOD(Near), TA_CANDLEAVGPERIOD(Equal) ) + 2; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLGAPSIDESIDEWHITE - Up/Down-gap side-by-side white lines + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlGapSideSideWhite( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlGapSideSideWhite( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlGapSideSideWhite( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLGAPSIDESIDEWHITE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double NearPeriodTotal, EqualPeriodTotal; + int i, outIdx, NearTrailingIdx, EqualTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLGAPSIDESIDEWHITE)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + NearPeriodTotal = 0; + EqualPeriodTotal = 0; + NearTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Near); + EqualTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Equal); + + i = NearTrailingIdx; + while( i < startIdx ) { + NearPeriodTotal += TA_CANDLERANGE( Near, i-1 ); + i++; + } + i = EqualTrailingIdx; + while( i < startIdx ) { + EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - upside or downside gap (between the bodies) + * - first candle after the window: white candlestick + * - second candle after the window: white candlestick with similar size (near the same) and about the same + * open (equal) of the previous candle + * - the second candle does not close the window + * The meaning of "near" and "equal" is specified with TA_SetCandleSettings + * outInteger is positive (1 to 100) or negative (-1 to -100): the user should consider that upside + * or downside gap side-by-side white lines is significant when it appears in a trend, while this function + * does not consider the trend + */ + outIdx = 0; + do + { + if( + ( // upside or downside gap between the 1st candle and both the next 2 candles + ( TA_REALBODYGAPUP(i-1,i-2) && TA_REALBODYGAPUP(i,i-2) ) + || + ( TA_REALBODYGAPDOWN(i-1,i-2) && TA_REALBODYGAPDOWN(i,i-2) ) + ) && + TA_CANDLECOLOR(i-1) == 1 && // 2nd: white + TA_CANDLECOLOR(i) == 1 && // 3rd: white + TA_REALBODY(i) >= TA_REALBODY(i-1) - TA_CANDLEAVERAGE( Near, NearPeriodTotal, i-1 ) && // same size 2 and 3 + TA_REALBODY(i) <= TA_REALBODY(i-1) + TA_CANDLEAVERAGE( Near, NearPeriodTotal, i-1 ) && + inOpen[i] >= inOpen[i-1] - TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-1 ) && // same open 2 and 3 + inOpen[i] <= inOpen[i-1] + TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-1 ) + ) + outInteger[outIdx++] = ( TA_REALBODYGAPUP(i-1,i-2) ? 100 : -100 ); + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + NearPeriodTotal += TA_CANDLERANGE( Near, i-1 ) - TA_CANDLERANGE( Near, NearTrailingIdx-1 ); + EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ) - TA_CANDLERANGE( Equal, EqualTrailingIdx-1 ); + i++; + NearTrailingIdx++; + EqualTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlGapSideSideWhite( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlGapSideSideWhite( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLGAPSIDESIDEWHITE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double NearPeriodTotal, EqualPeriodTotal; +/* Generated */ int i, outIdx, NearTrailingIdx, EqualTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLGAPSIDESIDEWHITE)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ NearPeriodTotal = 0; +/* Generated */ EqualPeriodTotal = 0; +/* Generated */ NearTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Near); +/* Generated */ EqualTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Equal); +/* Generated */ i = NearTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ NearPeriodTotal += TA_CANDLERANGE( Near, i-1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = EqualTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( +/* Generated */ ( // upside or downside gap between the 1st candle and both the next 2 candles +/* Generated */ ( TA_REALBODYGAPUP(i-1,i-2) && TA_REALBODYGAPUP(i,i-2) ) +/* Generated */ || +/* Generated */ ( TA_REALBODYGAPDOWN(i-1,i-2) && TA_REALBODYGAPDOWN(i,i-2) ) +/* Generated */ ) && +/* Generated */ TA_CANDLECOLOR(i-1) == 1 && // 2nd: white +/* Generated */ TA_CANDLECOLOR(i) == 1 && // 3rd: white +/* Generated */ TA_REALBODY(i) >= TA_REALBODY(i-1) - TA_CANDLEAVERAGE( Near, NearPeriodTotal, i-1 ) && // same size 2 and 3 +/* Generated */ TA_REALBODY(i) <= TA_REALBODY(i-1) + TA_CANDLEAVERAGE( Near, NearPeriodTotal, i-1 ) && +/* Generated */ inOpen[i] >= inOpen[i-1] - TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-1 ) && // same open 2 and 3 +/* Generated */ inOpen[i] <= inOpen[i-1] + TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-1 ) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = ( TA_REALBODYGAPUP(i-1,i-2) ? 100 : -100 ); +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ NearPeriodTotal += TA_CANDLERANGE( Near, i-1 ) - TA_CANDLERANGE( Near, NearTrailingIdx-1 ); +/* Generated */ EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ) - TA_CANDLERANGE( Equal, EqualTrailingIdx-1 ); +/* Generated */ i++; +/* Generated */ NearTrailingIdx++; +/* Generated */ EqualTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLGRAVESTONEDOJI.c b/vendor/ta-lib/src/ta_func/ta_CDLGRAVESTONEDOJI.c new file mode 100644 index 000000000..16992fb42 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLGRAVESTONEDOJI.c @@ -0,0 +1,365 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 011505 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlGravestoneDojiLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlGravestoneDojiLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLGRAVESTONEDOJI_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( TA_CANDLEAVGPERIOD(BodyDoji), TA_CANDLEAVGPERIOD(ShadowVeryShort) ); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLGRAVESTONEDOJI - Gravestone Doji + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlGravestoneDoji( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlGravestoneDoji( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlGravestoneDoji( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLGRAVESTONEDOJI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyDojiPeriodTotal, ShadowVeryShortPeriodTotal; + int i, outIdx, BodyDojiTrailingIdx, ShadowVeryShortTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLGRAVESTONEDOJI)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyDojiPeriodTotal = 0; + BodyDojiTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyDoji); + ShadowVeryShortPeriodTotal = 0; + ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); + + i = BodyDojiTrailingIdx; + while( i < startIdx ) { + BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ); + i++; + } + i = ShadowVeryShortTrailingIdx; + while( i < startIdx ) { + ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ); + i++; + } + + /* Proceed with the calculation for the requested range. + * + * Must have: + * - doji body + * - open and close at the low of the day = no or very short lower shadow + * - upper shadow (to distinguish from other dojis, here upper shadow should not be very short) + * The meaning of "doji" and "very short" is specified with TA_SetCandleSettings + * outInteger is always positive (1 to 100) but this does not mean it is bullish: gravestone doji must be considered + * relatively to the trend + */ + outIdx = 0; + do + { + if( TA_REALBODY(i) <= TA_CANDLEAVERAGE( BodyDoji, BodyDojiPeriodTotal, i ) && + TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) && + TA_UPPERSHADOW(i) > TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) + ) + outInteger[outIdx++] = 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ) - TA_CANDLERANGE( BodyDoji, BodyDojiTrailingIdx ); + ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ) + - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx ); + i++; + BodyDojiTrailingIdx++; + ShadowVeryShortTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlGravestoneDoji( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlGravestoneDoji( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLGRAVESTONEDOJI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyDojiPeriodTotal, ShadowVeryShortPeriodTotal; +/* Generated */ int i, outIdx, BodyDojiTrailingIdx, ShadowVeryShortTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLGRAVESTONEDOJI)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyDojiPeriodTotal = 0; +/* Generated */ BodyDojiTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyDoji); +/* Generated */ ShadowVeryShortPeriodTotal = 0; +/* Generated */ ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); +/* Generated */ i = BodyDojiTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = ShadowVeryShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i) <= TA_CANDLEAVERAGE( BodyDoji, BodyDojiPeriodTotal, i ) && +/* Generated */ TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) && +/* Generated */ TA_UPPERSHADOW(i) > TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ) - TA_CANDLERANGE( BodyDoji, BodyDojiTrailingIdx ); +/* Generated */ ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ) +/* Generated */ - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyDojiTrailingIdx++; +/* Generated */ ShadowVeryShortTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLHAMMER.c b/vendor/ta-lib/src/ta_func/ta_CDLHAMMER.c new file mode 100644 index 000000000..c46950efc --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLHAMMER.c @@ -0,0 +1,414 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 102304 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlHammerLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlHammerLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLHAMMER_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( max( max( TA_CANDLEAVGPERIOD(BodyShort), TA_CANDLEAVGPERIOD(ShadowLong) ), + TA_CANDLEAVGPERIOD(ShadowVeryShort) ), + TA_CANDLEAVGPERIOD(Near) + ) + 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLHAMMER - Hammer + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlHammer( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlHammer( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlHammer( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLHAMMER( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyPeriodTotal, ShadowLongPeriodTotal, ShadowVeryShortPeriodTotal, NearPeriodTotal; + int i, outIdx, BodyTrailingIdx, ShadowLongTrailingIdx, ShadowVeryShortTrailingIdx, NearTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLHAMMER)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyPeriodTotal = 0; + BodyTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); + ShadowLongPeriodTotal = 0; + ShadowLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowLong); + ShadowVeryShortPeriodTotal = 0; + ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); + NearPeriodTotal = 0; + NearTrailingIdx = startIdx -1 - TA_CANDLEAVGPERIOD(Near); + + i = BodyTrailingIdx; + while( i < startIdx ) { + BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ); + i++; + } + i = ShadowLongTrailingIdx; + while( i < startIdx ) { + ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i ); + i++; + } + i = ShadowVeryShortTrailingIdx; + while( i < startIdx ) { + ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ); + i++; + } + i = NearTrailingIdx; + while( i < startIdx-1 ) { + NearPeriodTotal += TA_CANDLERANGE( Near, i ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - small real body + * - long lower shadow + * - no, or very short, upper shadow + * - body below or near the lows of the previous candle + * The meaning of "short", "long" and "near the lows" is specified with TA_SetCandleSettings; + * outInteger is positive (1 to 100): hammer is always bullish; + * the user should consider that a hammer must appear in a downtrend, while this function does not consider it + */ + outIdx = 0; + do + { + if( TA_REALBODY(i) < TA_CANDLEAVERAGE( BodyShort, BodyPeriodTotal, i ) && // small rb + TA_LOWERSHADOW(i) > TA_CANDLEAVERAGE( ShadowLong, ShadowLongPeriodTotal, i ) && // long lower shadow + TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) && // very short upper shadow + min( inClose[i], inOpen[i] ) <= inLow[i-1] + TA_CANDLEAVERAGE( Near, NearPeriodTotal, i-1 ) // rb near the prior candle's lows + ) + outInteger[outIdx++] = 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ) + - TA_CANDLERANGE( BodyShort, BodyTrailingIdx ); + ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i ) + - TA_CANDLERANGE( ShadowLong, ShadowLongTrailingIdx ); + ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ) + - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx ); + NearPeriodTotal += TA_CANDLERANGE( Near, i-1 ) + - TA_CANDLERANGE( Near, NearTrailingIdx ); + i++; + BodyTrailingIdx++; + ShadowLongTrailingIdx++; + ShadowVeryShortTrailingIdx++; + NearTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlHammer( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlHammer( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLHAMMER( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyPeriodTotal, ShadowLongPeriodTotal, ShadowVeryShortPeriodTotal, NearPeriodTotal; +/* Generated */ int i, outIdx, BodyTrailingIdx, ShadowLongTrailingIdx, ShadowVeryShortTrailingIdx, NearTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLHAMMER)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyPeriodTotal = 0; +/* Generated */ BodyTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); +/* Generated */ ShadowLongPeriodTotal = 0; +/* Generated */ ShadowLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowLong); +/* Generated */ ShadowVeryShortPeriodTotal = 0; +/* Generated */ ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); +/* Generated */ NearPeriodTotal = 0; +/* Generated */ NearTrailingIdx = startIdx -1 - TA_CANDLEAVGPERIOD(Near); +/* Generated */ i = BodyTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = ShadowLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = ShadowVeryShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = NearTrailingIdx; +/* Generated */ while( i < startIdx-1 ) { +/* Generated */ NearPeriodTotal += TA_CANDLERANGE( Near, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i) < TA_CANDLEAVERAGE( BodyShort, BodyPeriodTotal, i ) && // small rb +/* Generated */ TA_LOWERSHADOW(i) > TA_CANDLEAVERAGE( ShadowLong, ShadowLongPeriodTotal, i ) && // long lower shadow +/* Generated */ TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) && // very short upper shadow +/* Generated */ min( inClose[i], inOpen[i] ) <= inLow[i-1] + TA_CANDLEAVERAGE( Near, NearPeriodTotal, i-1 ) // rb near the prior candle's lows +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ) +/* Generated */ - TA_CANDLERANGE( BodyShort, BodyTrailingIdx ); +/* Generated */ ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i ) +/* Generated */ - TA_CANDLERANGE( ShadowLong, ShadowLongTrailingIdx ); +/* Generated */ ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ) +/* Generated */ - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx ); +/* Generated */ NearPeriodTotal += TA_CANDLERANGE( Near, i-1 ) +/* Generated */ - TA_CANDLERANGE( Near, NearTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyTrailingIdx++; +/* Generated */ ShadowLongTrailingIdx++; +/* Generated */ ShadowVeryShortTrailingIdx++; +/* Generated */ NearTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLHANGINGMAN.c b/vendor/ta-lib/src/ta_func/ta_CDLHANGINGMAN.c new file mode 100644 index 000000000..866f7a11a --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLHANGINGMAN.c @@ -0,0 +1,414 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 102304 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlHangingManLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlHangingManLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLHANGINGMAN_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( max( max( TA_CANDLEAVGPERIOD(BodyShort), TA_CANDLEAVGPERIOD(ShadowLong) ), + TA_CANDLEAVGPERIOD(ShadowVeryShort) ), + TA_CANDLEAVGPERIOD(Near) + ) + 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLHANGINGMAN - Hanging Man + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlHangingMan( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlHangingMan( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlHangingMan( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLHANGINGMAN( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyPeriodTotal, ShadowLongPeriodTotal, ShadowVeryShortPeriodTotal, NearPeriodTotal; + int i, outIdx, BodyTrailingIdx, ShadowLongTrailingIdx, ShadowVeryShortTrailingIdx, NearTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLHANGINGMAN)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyPeriodTotal = 0; + BodyTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); + ShadowLongPeriodTotal = 0; + ShadowLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowLong); + ShadowVeryShortPeriodTotal = 0; + ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); + NearPeriodTotal = 0; + NearTrailingIdx = startIdx -1 - TA_CANDLEAVGPERIOD(Near); + + i = BodyTrailingIdx; + while( i < startIdx ) { + BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ); + i++; + } + i = ShadowLongTrailingIdx; + while( i < startIdx ) { + ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i ); + i++; + } + i = ShadowVeryShortTrailingIdx; + while( i < startIdx ) { + ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ); + i++; + } + i = NearTrailingIdx; + while( i < startIdx-1 ) { + NearPeriodTotal += TA_CANDLERANGE( Near, i ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - small real body + * - long lower shadow + * - no, or very short, upper shadow + * - body above or near the highs of the previous candle + * The meaning of "short", "long" and "near the highs" is specified with TA_SetCandleSettings; + * outInteger is negative (-1 to -100): hanging man is always bearish; + * the user should consider that a hanging man must appear in an uptrend, while this function does not consider it + */ + outIdx = 0; + do + { + if( TA_REALBODY(i) < TA_CANDLEAVERAGE( BodyShort, BodyPeriodTotal, i ) && // small rb + TA_LOWERSHADOW(i) > TA_CANDLEAVERAGE( ShadowLong, ShadowLongPeriodTotal, i ) && // long lower shadow + TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) && // very short upper shadow + min( inClose[i], inOpen[i] ) >= inHigh[i-1] - TA_CANDLEAVERAGE( Near, NearPeriodTotal, i-1 ) // rb near the prior candle's highs + ) + outInteger[outIdx++] = -100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ) + - TA_CANDLERANGE( BodyShort, BodyTrailingIdx ); + ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i ) + - TA_CANDLERANGE( ShadowLong, ShadowLongTrailingIdx ); + ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ) + - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx ); + NearPeriodTotal += TA_CANDLERANGE( Near, i-1 ) + - TA_CANDLERANGE( Near, NearTrailingIdx ); + i++; + BodyTrailingIdx++; + ShadowLongTrailingIdx++; + ShadowVeryShortTrailingIdx++; + NearTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlHangingMan( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlHangingMan( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLHANGINGMAN( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyPeriodTotal, ShadowLongPeriodTotal, ShadowVeryShortPeriodTotal, NearPeriodTotal; +/* Generated */ int i, outIdx, BodyTrailingIdx, ShadowLongTrailingIdx, ShadowVeryShortTrailingIdx, NearTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLHANGINGMAN)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyPeriodTotal = 0; +/* Generated */ BodyTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); +/* Generated */ ShadowLongPeriodTotal = 0; +/* Generated */ ShadowLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowLong); +/* Generated */ ShadowVeryShortPeriodTotal = 0; +/* Generated */ ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); +/* Generated */ NearPeriodTotal = 0; +/* Generated */ NearTrailingIdx = startIdx -1 - TA_CANDLEAVGPERIOD(Near); +/* Generated */ i = BodyTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = ShadowLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = ShadowVeryShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = NearTrailingIdx; +/* Generated */ while( i < startIdx-1 ) { +/* Generated */ NearPeriodTotal += TA_CANDLERANGE( Near, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i) < TA_CANDLEAVERAGE( BodyShort, BodyPeriodTotal, i ) && // small rb +/* Generated */ TA_LOWERSHADOW(i) > TA_CANDLEAVERAGE( ShadowLong, ShadowLongPeriodTotal, i ) && // long lower shadow +/* Generated */ TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) && // very short upper shadow +/* Generated */ min( inClose[i], inOpen[i] ) >= inHigh[i-1] - TA_CANDLEAVERAGE( Near, NearPeriodTotal, i-1 ) // rb near the prior candle's highs +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = -100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ) +/* Generated */ - TA_CANDLERANGE( BodyShort, BodyTrailingIdx ); +/* Generated */ ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i ) +/* Generated */ - TA_CANDLERANGE( ShadowLong, ShadowLongTrailingIdx ); +/* Generated */ ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ) +/* Generated */ - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx ); +/* Generated */ NearPeriodTotal += TA_CANDLERANGE( Near, i-1 ) +/* Generated */ - TA_CANDLERANGE( Near, NearTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyTrailingIdx++; +/* Generated */ ShadowLongTrailingIdx++; +/* Generated */ ShadowVeryShortTrailingIdx++; +/* Generated */ NearTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLHARAMI.c b/vendor/ta-lib/src/ta_func/ta_CDLHARAMI.c new file mode 100644 index 000000000..d8ecec8f6 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLHARAMI.c @@ -0,0 +1,366 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 102404 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlHaramiLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlHaramiLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLHARAMI_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( TA_CANDLEAVGPERIOD(BodyShort), TA_CANDLEAVGPERIOD(BodyLong) ) + 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLHARAMI - Harami Pattern + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlHarami( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlHarami( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlHarami( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLHARAMI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyShortPeriodTotal, BodyLongPeriodTotal; + int i, outIdx, BodyShortTrailingIdx, BodyLongTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLHARAMI)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyLongPeriodTotal = 0; + BodyShortPeriodTotal = 0; + BodyLongTrailingIdx = startIdx -1 - TA_CANDLEAVGPERIOD(BodyLong); + BodyShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); + + i = BodyLongTrailingIdx; + while( i < startIdx-1 ) { + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); + i++; + } + i = BodyShortTrailingIdx; + while( i < startIdx ) { + BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: long white (black) real body + * - second candle: short real body totally engulfed by the first + * The meaning of "short" and "long" is specified with TA_SetCandleSettings + * outInteger is positive (1 to 100) when bullish or negative (-1 to -100) when bearish; + * the user should consider that a harami is significant when it appears in a downtrend if bullish or + * in an uptrend when bearish, while this function does not consider the trend + */ + outIdx = 0; + do + { + if( TA_REALBODY(i-1) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-1 ) && // 1st: long + TA_REALBODY(i) <= TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal, i ) && // 2nd: short + max( inClose[i], inOpen[i] ) < max( inClose[i-1], inOpen[i-1] ) && // engulfed by 1st + min( inClose[i], inOpen[i] ) > min( inClose[i-1], inOpen[i-1] ) + ) + outInteger[outIdx++] = -TA_CANDLECOLOR(i-1) * 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-1 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); + BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx ); + i++; + BodyLongTrailingIdx++; + BodyShortTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlHarami( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlHarami( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLHARAMI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyShortPeriodTotal, BodyLongPeriodTotal; +/* Generated */ int i, outIdx, BodyShortTrailingIdx, BodyLongTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLHARAMI)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyLongPeriodTotal = 0; +/* Generated */ BodyShortPeriodTotal = 0; +/* Generated */ BodyLongTrailingIdx = startIdx -1 - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ BodyShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx-1 ) { +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i-1) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-1 ) && // 1st: long +/* Generated */ TA_REALBODY(i) <= TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal, i ) && // 2nd: short +/* Generated */ max( inClose[i], inOpen[i] ) < max( inClose[i-1], inOpen[i-1] ) && // engulfed by 1st +/* Generated */ min( inClose[i], inOpen[i] ) > min( inClose[i-1], inOpen[i-1] ) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = -TA_CANDLECOLOR(i-1) * 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-1 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); +/* Generated */ BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ BodyShortTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLHARAMICROSS.c b/vendor/ta-lib/src/ta_func/ta_CDLHARAMICROSS.c new file mode 100644 index 000000000..a2ee5bfa4 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLHARAMICROSS.c @@ -0,0 +1,366 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 102404 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlHaramiCrossLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlHaramiCrossLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLHARAMICROSS_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( TA_CANDLEAVGPERIOD(BodyDoji), TA_CANDLEAVGPERIOD(BodyLong) ) + 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLHARAMICROSS - Harami Cross Pattern + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlHaramiCross( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlHaramiCross( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlHaramiCross( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLHARAMICROSS( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyDojiPeriodTotal, BodyLongPeriodTotal; + int i, outIdx, BodyDojiTrailingIdx, BodyLongTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLHARAMICROSS)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyLongPeriodTotal = 0; + BodyDojiPeriodTotal = 0; + BodyLongTrailingIdx = startIdx -1 - TA_CANDLEAVGPERIOD(BodyLong); + BodyDojiTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyDoji); + + i = BodyLongTrailingIdx; + while( i < startIdx-1 ) { + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); + i++; + } + i = BodyDojiTrailingIdx; + while( i < startIdx ) { + BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: long white (black) real body + * - second candle: doji totally engulfed by the first + * The meaning of "doji" and "long" is specified with TA_SetCandleSettings + * outInteger is positive (1 to 100) when bullish or negative (-1 to -100) when bearish; + * the user should consider that a harami cross is significant when it appears in a downtrend if bullish or + * in an uptrend when bearish, while this function does not consider the trend + */ + outIdx = 0; + do + { + if( TA_REALBODY(i-1) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-1 ) && // 1st: long + TA_REALBODY(i) <= TA_CANDLEAVERAGE( BodyDoji, BodyDojiPeriodTotal, i ) && // 2nd: doji + max( inClose[i], inOpen[i] ) < max( inClose[i-1], inOpen[i-1] ) && // engulfed by 1st + min( inClose[i], inOpen[i] ) > min( inClose[i-1], inOpen[i-1] ) + ) + outInteger[outIdx++] = -TA_CANDLECOLOR(i-1) * 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-1 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); + BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ) - TA_CANDLERANGE( BodyDoji, BodyDojiTrailingIdx ); + i++; + BodyLongTrailingIdx++; + BodyDojiTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlHaramiCross( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlHaramiCross( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLHARAMICROSS( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyDojiPeriodTotal, BodyLongPeriodTotal; +/* Generated */ int i, outIdx, BodyDojiTrailingIdx, BodyLongTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLHARAMICROSS)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyLongPeriodTotal = 0; +/* Generated */ BodyDojiPeriodTotal = 0; +/* Generated */ BodyLongTrailingIdx = startIdx -1 - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ BodyDojiTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyDoji); +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx-1 ) { +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyDojiTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i-1) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-1 ) && // 1st: long +/* Generated */ TA_REALBODY(i) <= TA_CANDLEAVERAGE( BodyDoji, BodyDojiPeriodTotal, i ) && // 2nd: doji +/* Generated */ max( inClose[i], inOpen[i] ) < max( inClose[i-1], inOpen[i-1] ) && // engulfed by 1st +/* Generated */ min( inClose[i], inOpen[i] ) > min( inClose[i-1], inOpen[i-1] ) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = -TA_CANDLECOLOR(i-1) * 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-1 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); +/* Generated */ BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ) - TA_CANDLERANGE( BodyDoji, BodyDojiTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ BodyDojiTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLHIGHWAVE.c b/vendor/ta-lib/src/ta_func/ta_CDLHIGHWAVE.c new file mode 100644 index 000000000..7a542590b --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLHIGHWAVE.c @@ -0,0 +1,359 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 072404 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlHignWaveLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlHignWaveLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLHIGHWAVE_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( TA_CANDLEAVGPERIOD(BodyShort), TA_CANDLEAVGPERIOD(ShadowVeryLong) ); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLHIGHWAVE - High-Wave Candle + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlHignWave( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlHignWave( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlHignWave( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLHIGHWAVE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyPeriodTotal, ShadowPeriodTotal; + int i, outIdx, BodyTrailingIdx, ShadowTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLHIGHWAVE)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyPeriodTotal = 0; + BodyTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); + ShadowPeriodTotal = 0; + ShadowTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryLong); + + i = BodyTrailingIdx; + while( i < startIdx ) { + BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ); + i++; + } + i = ShadowTrailingIdx; + while( i < startIdx ) { + ShadowPeriodTotal += TA_CANDLERANGE( ShadowVeryLong, i ); + i++; + } + + /* Proceed with the calculation for the requested range. + * Must have: + * - short real body + * - very long upper and lower shadow + * The meaning of "short" and "very long" is specified with TA_SetCandleSettings + * outInteger is positive (1 to 100) when white or negative (-1 to -100) when black; + * it does not mean bullish or bearish + */ + outIdx = 0; + do + { + if( TA_REALBODY(i) < TA_CANDLEAVERAGE( BodyShort, BodyPeriodTotal, i ) && + TA_UPPERSHADOW(i) > TA_CANDLEAVERAGE( ShadowVeryLong, ShadowPeriodTotal, i ) && + TA_LOWERSHADOW(i) > TA_CANDLEAVERAGE( ShadowVeryLong, ShadowPeriodTotal, i ) ) + outInteger[outIdx++] = TA_CANDLECOLOR(i) * 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ) - TA_CANDLERANGE( BodyShort, BodyTrailingIdx ); + ShadowPeriodTotal += TA_CANDLERANGE( ShadowVeryLong, i ) - TA_CANDLERANGE( ShadowVeryLong, ShadowTrailingIdx ); + i++; + BodyTrailingIdx++; + ShadowTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlHignWave( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlHignWave( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLHIGHWAVE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyPeriodTotal, ShadowPeriodTotal; +/* Generated */ int i, outIdx, BodyTrailingIdx, ShadowTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLHIGHWAVE)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyPeriodTotal = 0; +/* Generated */ BodyTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); +/* Generated */ ShadowPeriodTotal = 0; +/* Generated */ ShadowTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryLong); +/* Generated */ i = BodyTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = ShadowTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowPeriodTotal += TA_CANDLERANGE( ShadowVeryLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i) < TA_CANDLEAVERAGE( BodyShort, BodyPeriodTotal, i ) && +/* Generated */ TA_UPPERSHADOW(i) > TA_CANDLEAVERAGE( ShadowVeryLong, ShadowPeriodTotal, i ) && +/* Generated */ TA_LOWERSHADOW(i) > TA_CANDLEAVERAGE( ShadowVeryLong, ShadowPeriodTotal, i ) ) +/* Generated */ outInteger[outIdx++] = TA_CANDLECOLOR(i) * 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ) - TA_CANDLERANGE( BodyShort, BodyTrailingIdx ); +/* Generated */ ShadowPeriodTotal += TA_CANDLERANGE( ShadowVeryLong, i ) - TA_CANDLERANGE( ShadowVeryLong, ShadowTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyTrailingIdx++; +/* Generated */ ShadowTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLHIKKAKE.c b/vendor/ta-lib/src/ta_func/ta_CDLHIKKAKE.c new file mode 100644 index 000000000..2973c4f73 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLHIKKAKE.c @@ -0,0 +1,399 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120305 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlHikkakeLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlHikkakeLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLHIKKAKE_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return 5; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLHIKKAKE - Hikkake Pattern + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlHikkake( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlHikkake( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlHikkake( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLHIKKAKE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + int i, outIdx, lookbackTotal, patternIdx, patternResult; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLHIKKAKE)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + patternIdx = 0; + patternResult = 0; + + i = startIdx - 3; + while( i < startIdx ) { + /* copy here the pattern recognition code below */ + if( inHigh[i-1] < inHigh[i-2] && inLow[i-1] > inLow[i-2] && // 1st + 2nd: lower high and higher low + ( ( inHigh[i] < inHigh[i-1] && inLow[i] < inLow[i-1] ) // (bull) 3rd: lower high and lower low + || + ( inHigh[i] > inHigh[i-1] && inLow[i] > inLow[i-1] ) // (bear) 3rd: higher high and higher low + ) + ) { + patternResult = 100 * ( inHigh[i] < inHigh[i-1] ? 1 : -1 ); + patternIdx = i; + } else + /* search for confirmation if hikkake was no more than 3 bars ago */ + if( i <= patternIdx+3 && + ( ( patternResult > 0 && inClose[i] > inHigh[patternIdx-1] ) // close higher than the high of 2nd + || + ( patternResult < 0 && inClose[i] < inLow[patternIdx-1] ) // close lower than the low of 2nd + ) + ) + patternIdx = 0; + i++; + } + + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first and second candle: inside bar (2nd has lower high and higher low than 1st) + * - third candle: lower high and lower low than 2nd (higher high and higher low than 2nd) + * outInteger[hikkakebar] is positive (1 to 100) or negative (-1 to -100) meaning bullish or bearish hikkake + * Confirmation could come in the next 3 days with: + * - a day that closes higher than the high (lower than the low) of the 2nd candle + * outInteger[confirmationbar] is equal to 100 + the bullish hikkake result or -100 - the bearish hikkake result + * Note: if confirmation and a new hikkake come at the same bar, only the new hikkake is reported (the new hikkake + * overwrites the confirmation of the old hikkake) + */ + outIdx = 0; + do + { + if( inHigh[i-1] < inHigh[i-2] && inLow[i-1] > inLow[i-2] && // 1st + 2nd: lower high and higher low + ( ( inHigh[i] < inHigh[i-1] && inLow[i] < inLow[i-1] ) // (bull) 3rd: lower high and lower low + || + ( inHigh[i] > inHigh[i-1] && inLow[i] > inLow[i-1] ) // (bear) 3rd: higher high and higher low + ) + ) { + patternResult = 100 * ( inHigh[i] < inHigh[i-1] ? 1 : -1 ); + patternIdx = i; + outInteger[outIdx++] = patternResult; + } else + /* search for confirmation if hikkake was no more than 3 bars ago */ + if( i <= patternIdx+3 && + ( ( patternResult > 0 && inClose[i] > inHigh[patternIdx-1] ) // close higher than the high of 2nd + || + ( patternResult < 0 && inClose[i] < inLow[patternIdx-1] ) // close lower than the low of 2nd + ) + ) { + outInteger[outIdx++] = patternResult + 100 * ( patternResult > 0 ? 1 : -1 ); + patternIdx = 0; + } else + outInteger[outIdx++] = 0; + i++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlHikkake( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlHikkake( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLHIKKAKE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int i, outIdx, lookbackTotal, patternIdx, patternResult; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLHIKKAKE)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ patternIdx = 0; +/* Generated */ patternResult = 0; +/* Generated */ i = startIdx - 3; +/* Generated */ while( i < startIdx ) { +/* Generated */ if( inHigh[i-1] < inHigh[i-2] && inLow[i-1] > inLow[i-2] && // 1st + 2nd: lower high and higher low +/* Generated */ ( ( inHigh[i] < inHigh[i-1] && inLow[i] < inLow[i-1] ) // (bull) 3rd: lower high and lower low +/* Generated */ || +/* Generated */ ( inHigh[i] > inHigh[i-1] && inLow[i] > inLow[i-1] ) // (bear) 3rd: higher high and higher low +/* Generated */ ) +/* Generated */ ) { +/* Generated */ patternResult = 100 * ( inHigh[i] < inHigh[i-1] ? 1 : -1 ); +/* Generated */ patternIdx = i; +/* Generated */ } else +/* Generated */ if( i <= patternIdx+3 && +/* Generated */ ( ( patternResult > 0 && inClose[i] > inHigh[patternIdx-1] ) // close higher than the high of 2nd +/* Generated */ || +/* Generated */ ( patternResult < 0 && inClose[i] < inLow[patternIdx-1] ) // close lower than the low of 2nd +/* Generated */ ) +/* Generated */ ) +/* Generated */ patternIdx = 0; +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( inHigh[i-1] < inHigh[i-2] && inLow[i-1] > inLow[i-2] && // 1st + 2nd: lower high and higher low +/* Generated */ ( ( inHigh[i] < inHigh[i-1] && inLow[i] < inLow[i-1] ) // (bull) 3rd: lower high and lower low +/* Generated */ || +/* Generated */ ( inHigh[i] > inHigh[i-1] && inLow[i] > inLow[i-1] ) // (bear) 3rd: higher high and higher low +/* Generated */ ) +/* Generated */ ) { +/* Generated */ patternResult = 100 * ( inHigh[i] < inHigh[i-1] ? 1 : -1 ); +/* Generated */ patternIdx = i; +/* Generated */ outInteger[outIdx++] = patternResult; +/* Generated */ } else +/* Generated */ if( i <= patternIdx+3 && +/* Generated */ ( ( patternResult > 0 && inClose[i] > inHigh[patternIdx-1] ) // close higher than the high of 2nd +/* Generated */ || +/* Generated */ ( patternResult < 0 && inClose[i] < inLow[patternIdx-1] ) // close lower than the low of 2nd +/* Generated */ ) +/* Generated */ ) { +/* Generated */ outInteger[outIdx++] = patternResult + 100 * ( patternResult > 0 ? 1 : -1 ); +/* Generated */ patternIdx = 0; +/* Generated */ } else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ i++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLHIKKAKEMOD.c b/vendor/ta-lib/src/ta_func/ta_CDLHIKKAKEMOD.c new file mode 100644 index 000000000..9fdf49685 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLHIKKAKEMOD.c @@ -0,0 +1,457 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 122605 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlHikkakeModLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlHikkakeModLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLHIKKAKEMOD_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( 1, TA_CANDLEAVGPERIOD(Near) ) + 5; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLHIKKAKEMOD - Modified Hikkake Pattern + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlHikkakeMod( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlHikkakeMod( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlHikkakeMod( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLHIKKAKEMOD( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double NearPeriodTotal; + int i, outIdx, NearTrailingIdx, lookbackTotal, patternIdx, patternResult; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLHIKKAKEMOD)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + NearPeriodTotal = 0; + NearTrailingIdx = startIdx - 3 - TA_CANDLEAVGPERIOD(Near); + i = NearTrailingIdx; + while( i < startIdx - 3 ) { + NearPeriodTotal += TA_CANDLERANGE( Near, i-2 ); + i++; + } + + patternIdx = 0; + patternResult = 0; + + i = startIdx - 3; + while( i < startIdx ) { + /* copy here the pattern recognition code below */ + if( inHigh[i-2] < inHigh[i-3] && inLow[i-2] > inLow[i-3] && // 2nd: lower high and higher low than 1st + inHigh[i-1] < inHigh[i-2] && inLow[i-1] > inLow[i-2] && // 3rd: lower high and higher low than 2nd + ( ( inHigh[i] < inHigh[i-1] && inLow[i] < inLow[i-1] && // (bull) 4th: lower high and lower low + inClose[i-2] <= inLow[i-2] + TA_CANDLEAVERAGE( Near, NearPeriodTotal, i-2 ) + // (bull) 2nd: close near the low + ) + || + ( inHigh[i] > inHigh[i-1] && inLow[i] > inLow[i-1] && // (bear) 4th: higher high and higher low + inClose[i-2] >= inHigh[i-2] - TA_CANDLEAVERAGE( Near, NearPeriodTotal, i-2 ) + // (bull) 2nd: close near the top + ) + ) + ) { + patternResult = 100 * ( inHigh[i] < inHigh[i-1] ? 1 : -1 ); + patternIdx = i; + } else + /* search for confirmation if modified hikkake was no more than 3 bars ago */ + if( i <= patternIdx+3 && + ( ( patternResult > 0 && inClose[i] > inHigh[patternIdx-1] ) // close higher than the high of 3rd + || + ( patternResult < 0 && inClose[i] < inLow[patternIdx-1] ) // close lower than the low of 3rd + ) + ) + patternIdx = 0; + NearPeriodTotal += TA_CANDLERANGE( Near, i-2 ) - TA_CANDLERANGE( Near, NearTrailingIdx-2 ); + NearTrailingIdx++; + i++; + } + + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle + * - second candle: candle with range less than first candle and close near the bottom (near the top) + * - third candle: lower high and higher low than 2nd + * - fourth candle: lower high and lower low (higher high and higher low) than 3rd + * outInteger[hikkake bar] is positive (1 to 100) or negative (-1 to -100) meaning bullish or bearish hikkake + * Confirmation could come in the next 3 days with: + * - a day that closes higher than the high (lower than the low) of the 3rd candle + * outInteger[confirmationbar] is equal to 100 + the bullish hikkake result or -100 - the bearish hikkake result + * Note: if confirmation and a new hikkake come at the same bar, only the new hikkake is reported (the new hikkake + * overwrites the confirmation of the old hikkake); + * the user should consider that modified hikkake is a reversal pattern, while hikkake could be both a reversal + * or a continuation pattern, so bullish (bearish) modified hikkake is significant when appearing in a downtrend + * (uptrend) + */ + outIdx = 0; + do + { + if( inHigh[i-2] < inHigh[i-3] && inLow[i-2] > inLow[i-3] && // 2nd: lower high and higher low than 1st + inHigh[i-1] < inHigh[i-2] && inLow[i-1] > inLow[i-2] && // 3rd: lower high and higher low than 2nd + ( ( inHigh[i] < inHigh[i-1] && inLow[i] < inLow[i-1] && // (bull) 4th: lower high and lower low + inClose[i-2] <= inLow[i-2] + TA_CANDLEAVERAGE( Near, NearPeriodTotal, i-2 ) + // (bull) 2nd: close near the low + ) + || + ( inHigh[i] > inHigh[i-1] && inLow[i] > inLow[i-1] && // (bear) 4th: higher high and higher low + inClose[i-2] >= inHigh[i-2] - TA_CANDLEAVERAGE( Near, NearPeriodTotal, i-2 ) + // (bull) 2nd: close near the top + ) + ) + ) { + patternResult = 100 * ( inHigh[i] < inHigh[i-1] ? 1 : -1 ); + patternIdx = i; + outInteger[outIdx++] = patternResult; + } else + /* search for confirmation if modified hikkake was no more than 3 bars ago */ + if( i <= patternIdx+3 && + ( ( patternResult > 0 && inClose[i] > inHigh[patternIdx-1] ) // close higher than the high of 3rd + || + ( patternResult < 0 && inClose[i] < inLow[patternIdx-1] ) // close lower than the low of 3rd + ) + ) { + outInteger[outIdx++] = patternResult + 100 * ( patternResult > 0 ? 1 : -1 ); + patternIdx = 0; + } else + outInteger[outIdx++] = 0; + NearPeriodTotal += TA_CANDLERANGE( Near, i-2 ) - TA_CANDLERANGE( Near, NearTrailingIdx-2 ); + NearTrailingIdx++; + i++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlHikkakeMod( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlHikkakeMod( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLHIKKAKEMOD( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double NearPeriodTotal; +/* Generated */ int i, outIdx, NearTrailingIdx, lookbackTotal, patternIdx, patternResult; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLHIKKAKEMOD)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ NearPeriodTotal = 0; +/* Generated */ NearTrailingIdx = startIdx - 3 - TA_CANDLEAVGPERIOD(Near); +/* Generated */ i = NearTrailingIdx; +/* Generated */ while( i < startIdx - 3 ) { +/* Generated */ NearPeriodTotal += TA_CANDLERANGE( Near, i-2 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ patternIdx = 0; +/* Generated */ patternResult = 0; +/* Generated */ i = startIdx - 3; +/* Generated */ while( i < startIdx ) { +/* Generated */ if( inHigh[i-2] < inHigh[i-3] && inLow[i-2] > inLow[i-3] && // 2nd: lower high and higher low than 1st +/* Generated */ inHigh[i-1] < inHigh[i-2] && inLow[i-1] > inLow[i-2] && // 3rd: lower high and higher low than 2nd +/* Generated */ ( ( inHigh[i] < inHigh[i-1] && inLow[i] < inLow[i-1] && // (bull) 4th: lower high and lower low +/* Generated */ inClose[i-2] <= inLow[i-2] + TA_CANDLEAVERAGE( Near, NearPeriodTotal, i-2 ) +/* Generated */ // (bull) 2nd: close near the low +/* Generated */ ) +/* Generated */ || +/* Generated */ ( inHigh[i] > inHigh[i-1] && inLow[i] > inLow[i-1] && // (bear) 4th: higher high and higher low +/* Generated */ inClose[i-2] >= inHigh[i-2] - TA_CANDLEAVERAGE( Near, NearPeriodTotal, i-2 ) +/* Generated */ // (bull) 2nd: close near the top +/* Generated */ ) +/* Generated */ ) +/* Generated */ ) { +/* Generated */ patternResult = 100 * ( inHigh[i] < inHigh[i-1] ? 1 : -1 ); +/* Generated */ patternIdx = i; +/* Generated */ } else +/* Generated */ if( i <= patternIdx+3 && +/* Generated */ ( ( patternResult > 0 && inClose[i] > inHigh[patternIdx-1] ) // close higher than the high of 3rd +/* Generated */ || +/* Generated */ ( patternResult < 0 && inClose[i] < inLow[patternIdx-1] ) // close lower than the low of 3rd +/* Generated */ ) +/* Generated */ ) +/* Generated */ patternIdx = 0; +/* Generated */ NearPeriodTotal += TA_CANDLERANGE( Near, i-2 ) - TA_CANDLERANGE( Near, NearTrailingIdx-2 ); +/* Generated */ NearTrailingIdx++; +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( inHigh[i-2] < inHigh[i-3] && inLow[i-2] > inLow[i-3] && // 2nd: lower high and higher low than 1st +/* Generated */ inHigh[i-1] < inHigh[i-2] && inLow[i-1] > inLow[i-2] && // 3rd: lower high and higher low than 2nd +/* Generated */ ( ( inHigh[i] < inHigh[i-1] && inLow[i] < inLow[i-1] && // (bull) 4th: lower high and lower low +/* Generated */ inClose[i-2] <= inLow[i-2] + TA_CANDLEAVERAGE( Near, NearPeriodTotal, i-2 ) +/* Generated */ // (bull) 2nd: close near the low +/* Generated */ ) +/* Generated */ || +/* Generated */ ( inHigh[i] > inHigh[i-1] && inLow[i] > inLow[i-1] && // (bear) 4th: higher high and higher low +/* Generated */ inClose[i-2] >= inHigh[i-2] - TA_CANDLEAVERAGE( Near, NearPeriodTotal, i-2 ) +/* Generated */ // (bull) 2nd: close near the top +/* Generated */ ) +/* Generated */ ) +/* Generated */ ) { +/* Generated */ patternResult = 100 * ( inHigh[i] < inHigh[i-1] ? 1 : -1 ); +/* Generated */ patternIdx = i; +/* Generated */ outInteger[outIdx++] = patternResult; +/* Generated */ } else +/* Generated */ if( i <= patternIdx+3 && +/* Generated */ ( ( patternResult > 0 && inClose[i] > inHigh[patternIdx-1] ) // close higher than the high of 3rd +/* Generated */ || +/* Generated */ ( patternResult < 0 && inClose[i] < inLow[patternIdx-1] ) // close lower than the low of 3rd +/* Generated */ ) +/* Generated */ ) { +/* Generated */ outInteger[outIdx++] = patternResult + 100 * ( patternResult > 0 ? 1 : -1 ); +/* Generated */ patternIdx = 0; +/* Generated */ } else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ NearPeriodTotal += TA_CANDLERANGE( Near, i-2 ) - TA_CANDLERANGE( Near, NearTrailingIdx-2 ); +/* Generated */ NearTrailingIdx++; +/* Generated */ i++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLHOMINGPIGEON.c b/vendor/ta-lib/src/ta_func/ta_CDLHOMINGPIGEON.c new file mode 100644 index 000000000..19c6386c7 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLHOMINGPIGEON.c @@ -0,0 +1,370 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 032005 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlHomingPigeonLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlHomingPigeonLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLHOMINGPIGEON_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( TA_CANDLEAVGPERIOD(BodyShort), TA_CANDLEAVGPERIOD(BodyLong) ) + 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLHOMINGPIGEON - Homing Pigeon + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlHomingPigeon( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlHomingPigeon( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlHomingPigeon( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLHOMINGPIGEON( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyShortPeriodTotal, BodyLongPeriodTotal; + int i, outIdx, BodyShortTrailingIdx, BodyLongTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLHOMINGPIGEON)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyLongPeriodTotal = 0; + BodyShortPeriodTotal = 0; + BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); + BodyShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); + + i = BodyLongTrailingIdx; + while( i < startIdx ) { + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-1 ); + i++; + } + i = BodyShortTrailingIdx; + while( i < startIdx ) { + BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: long black candle + * - second candle: short black real body completely inside the previous day's body + * The meaning of "short" and "long" is specified with TA_SetCandleSettings + * outInteger is positive (1 to 100): homing pigeon is always bullish; + * the user should consider that homing pigeon is significant when it appears in a downtrend, + * while this function does not consider the trend + */ + outIdx = 0; + do + { + if( TA_CANDLECOLOR(i-1) == -1 && // 1st black + TA_CANDLECOLOR(i) == -1 && // 2nd black + TA_REALBODY(i-1) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-1 ) && // 1st long + TA_REALBODY(i) <= TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal, i ) && // 2nd short + inOpen[i] < inOpen[i-1] && // 2nd engulfed by 1st + inClose[i] > inClose[i-1] + ) + outInteger[outIdx++] = 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-1 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-1 ); + BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx ); + i++; + BodyLongTrailingIdx++; + BodyShortTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlHomingPigeon( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlHomingPigeon( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLHOMINGPIGEON( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyShortPeriodTotal, BodyLongPeriodTotal; +/* Generated */ int i, outIdx, BodyShortTrailingIdx, BodyLongTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLHOMINGPIGEON)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyLongPeriodTotal = 0; +/* Generated */ BodyShortPeriodTotal = 0; +/* Generated */ BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ BodyShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_CANDLECOLOR(i-1) == -1 && // 1st black +/* Generated */ TA_CANDLECOLOR(i) == -1 && // 2nd black +/* Generated */ TA_REALBODY(i-1) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-1 ) && // 1st long +/* Generated */ TA_REALBODY(i) <= TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal, i ) && // 2nd short +/* Generated */ inOpen[i] < inOpen[i-1] && // 2nd engulfed by 1st +/* Generated */ inClose[i] > inClose[i-1] +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-1 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-1 ); +/* Generated */ BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ BodyShortTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLIDENTICAL3CROWS.c b/vendor/ta-lib/src/ta_func/ta_CDLIDENTICAL3CROWS.c new file mode 100644 index 000000000..ca38679aa --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLIDENTICAL3CROWS.c @@ -0,0 +1,419 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 103104 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlIdentical3CrowsLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlIdentical3CrowsLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLIDENTICAL3CROWS_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( TA_CANDLEAVGPERIOD(ShadowVeryShort), TA_CANDLEAVGPERIOD(Equal) + ) + 2; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLIDENTICAL3CROWS - Identical Three Crows + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlIdentical3Crows( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlIdentical3Crows( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlIdentical3Crows( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLIDENTICAL3CROWS( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + ARRAY_LOCAL(ShadowVeryShortPeriodTotal,3); + ARRAY_LOCAL(EqualPeriodTotal,3); + int i, outIdx, totIdx, ShadowVeryShortTrailingIdx, EqualTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLIDENTICAL3CROWS)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + ShadowVeryShortPeriodTotal[2] = 0; + ShadowVeryShortPeriodTotal[1] = 0; + ShadowVeryShortPeriodTotal[0] = 0; + ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); + EqualPeriodTotal[2] = 0; + EqualPeriodTotal[1] = 0; + EqualPeriodTotal[0] = 0; + EqualTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Equal); + + i = ShadowVeryShortTrailingIdx; + while( i < startIdx ) { + ShadowVeryShortPeriodTotal[2] += TA_CANDLERANGE( ShadowVeryShort, i-2 ); + ShadowVeryShortPeriodTotal[1] += TA_CANDLERANGE( ShadowVeryShort, i-1 ); + ShadowVeryShortPeriodTotal[0] += TA_CANDLERANGE( ShadowVeryShort, i ); + i++; + } + i = EqualTrailingIdx; + while( i < startIdx ) { + EqualPeriodTotal[2] += TA_CANDLERANGE( Equal, i-2 ); + EqualPeriodTotal[1] += TA_CANDLERANGE( Equal, i-1 ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - three consecutive and declining black candlesticks + * - each candle must have no or very short lower shadow + * - each candle after the first must open at or very close to the prior candle's close + * The meaning of "very short" is specified with TA_SetCandleSettings; + * the meaning of "very close" is specified with TA_SetCandleSettings (Equal); + * outInteger is negative (-1 to -100): identical three crows is always bearish; + * the user should consider that identical 3 crows is significant when it appears after a mature advance or at high levels, + * while this function does not consider it + */ + outIdx = 0; + do + { + if( TA_CANDLECOLOR(i-2) == -1 && // 1st black + // very short lower shadow + TA_LOWERSHADOW(i-2) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[2], i-2 ) && + TA_CANDLECOLOR(i-1) == -1 && // 2nd black + // very short lower shadow + TA_LOWERSHADOW(i-1) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[1], i-1 ) && + TA_CANDLECOLOR(i) == -1 && // 3rd black + // very short lower shadow + TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[0], i ) && + inClose[i-2] > inClose[i-1] && // three declining + inClose[i-1] > inClose[i] && + // 2nd black opens very close to 1st close + inOpen[i-1] <= inClose[i-2] + TA_CANDLEAVERAGE( Equal, EqualPeriodTotal[2], i-2 ) && + inOpen[i-1] >= inClose[i-2] - TA_CANDLEAVERAGE( Equal, EqualPeriodTotal[2], i-2 ) && + // 3rd black opens very close to 2nd close + inOpen[i] <= inClose[i-1] + TA_CANDLEAVERAGE( Equal, EqualPeriodTotal[1], i-1 ) && + inOpen[i] >= inClose[i-1] - TA_CANDLEAVERAGE( Equal, EqualPeriodTotal[1], i-1 ) + ) + outInteger[outIdx++] = -100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + for (totIdx = 2; totIdx >= 0; --totIdx) + ShadowVeryShortPeriodTotal[totIdx] += TA_CANDLERANGE( ShadowVeryShort, i-totIdx ) + - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx-totIdx ); + for (totIdx = 2; totIdx >= 1; --totIdx) + EqualPeriodTotal[totIdx] += TA_CANDLERANGE( Equal, i-totIdx ) + - TA_CANDLERANGE( Equal, EqualTrailingIdx-totIdx ); + i++; + ShadowVeryShortTrailingIdx++; + EqualTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlIdentical3Crows( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlIdentical3Crows( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLIDENTICAL3CROWS( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ARRAY_LOCAL(ShadowVeryShortPeriodTotal,3); +/* Generated */ ARRAY_LOCAL(EqualPeriodTotal,3); +/* Generated */ int i, outIdx, totIdx, ShadowVeryShortTrailingIdx, EqualTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLIDENTICAL3CROWS)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ ShadowVeryShortPeriodTotal[2] = 0; +/* Generated */ ShadowVeryShortPeriodTotal[1] = 0; +/* Generated */ ShadowVeryShortPeriodTotal[0] = 0; +/* Generated */ ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); +/* Generated */ EqualPeriodTotal[2] = 0; +/* Generated */ EqualPeriodTotal[1] = 0; +/* Generated */ EqualPeriodTotal[0] = 0; +/* Generated */ EqualTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Equal); +/* Generated */ i = ShadowVeryShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowVeryShortPeriodTotal[2] += TA_CANDLERANGE( ShadowVeryShort, i-2 ); +/* Generated */ ShadowVeryShortPeriodTotal[1] += TA_CANDLERANGE( ShadowVeryShort, i-1 ); +/* Generated */ ShadowVeryShortPeriodTotal[0] += TA_CANDLERANGE( ShadowVeryShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = EqualTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ EqualPeriodTotal[2] += TA_CANDLERANGE( Equal, i-2 ); +/* Generated */ EqualPeriodTotal[1] += TA_CANDLERANGE( Equal, i-1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_CANDLECOLOR(i-2) == -1 && // 1st black +/* Generated */ // very short lower shadow +/* Generated */ TA_LOWERSHADOW(i-2) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[2], i-2 ) && +/* Generated */ TA_CANDLECOLOR(i-1) == -1 && // 2nd black +/* Generated */ // very short lower shadow +/* Generated */ TA_LOWERSHADOW(i-1) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[1], i-1 ) && +/* Generated */ TA_CANDLECOLOR(i) == -1 && // 3rd black +/* Generated */ // very short lower shadow +/* Generated */ TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[0], i ) && +/* Generated */ inClose[i-2] > inClose[i-1] && // three declining +/* Generated */ inClose[i-1] > inClose[i] && +/* Generated */ // 2nd black opens very close to 1st close +/* Generated */ inOpen[i-1] <= inClose[i-2] + TA_CANDLEAVERAGE( Equal, EqualPeriodTotal[2], i-2 ) && +/* Generated */ inOpen[i-1] >= inClose[i-2] - TA_CANDLEAVERAGE( Equal, EqualPeriodTotal[2], i-2 ) && +/* Generated */ // 3rd black opens very close to 2nd close +/* Generated */ inOpen[i] <= inClose[i-1] + TA_CANDLEAVERAGE( Equal, EqualPeriodTotal[1], i-1 ) && +/* Generated */ inOpen[i] >= inClose[i-1] - TA_CANDLEAVERAGE( Equal, EqualPeriodTotal[1], i-1 ) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = -100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ for (totIdx = 2; totIdx >= 0; --totIdx) +/* Generated */ ShadowVeryShortPeriodTotal[totIdx] += TA_CANDLERANGE( ShadowVeryShort, i-totIdx ) +/* Generated */ - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx-totIdx ); +/* Generated */ for (totIdx = 2; totIdx >= 1; --totIdx) +/* Generated */ EqualPeriodTotal[totIdx] += TA_CANDLERANGE( Equal, i-totIdx ) +/* Generated */ - TA_CANDLERANGE( Equal, EqualTrailingIdx-totIdx ); +/* Generated */ i++; +/* Generated */ ShadowVeryShortTrailingIdx++; +/* Generated */ EqualTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLINNECK.c b/vendor/ta-lib/src/ta_func/ta_CDLINNECK.c new file mode 100644 index 000000000..3d22e1123 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLINNECK.c @@ -0,0 +1,373 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 121104 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlInNeckLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlInNeckLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLINNECK_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( TA_CANDLEAVGPERIOD(Equal), TA_CANDLEAVGPERIOD(BodyLong) + ) + 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLINNECK - In-Neck Pattern + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlInNeck( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlInNeck( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlInNeck( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLINNECK( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double EqualPeriodTotal, BodyLongPeriodTotal; + int i, outIdx, EqualTrailingIdx, BodyLongTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLINNECK)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + EqualPeriodTotal = 0; + EqualTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Equal); + BodyLongPeriodTotal = 0; + BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); + + i = EqualTrailingIdx; + while( i < startIdx ) { + EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ); + i++; + } + i = BodyLongTrailingIdx; + while( i < startIdx ) { + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-1 ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: long black candle + * - second candle: white candle with open below previous day low and close slightly into previous day body + * The meaning of "equal" is specified with TA_SetCandleSettings + * outInteger is negative (-1 to -100): in-neck is always bearish + * the user should consider that in-neck is significant when it appears in a downtrend, while this function + * does not consider it + */ + outIdx = 0; + do + { + if( TA_CANDLECOLOR(i-1) == -1 && // 1st: black + TA_REALBODY(i-1) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-1 ) && // long + TA_CANDLECOLOR(i) == 1 && // 2nd: white + inOpen[i] < inLow[i-1] && // open below prior low + inClose[i] <= inClose[i-1] + TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-1 ) && // close slightly into prior body + inClose[i] >= inClose[i-1] + ) + outInteger[outIdx++] = -100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ) - TA_CANDLERANGE( Equal, EqualTrailingIdx-1 ); + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-1 ) + - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-1 ); + i++; + EqualTrailingIdx++; + BodyLongTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlInNeck( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlInNeck( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLINNECK( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double EqualPeriodTotal, BodyLongPeriodTotal; +/* Generated */ int i, outIdx, EqualTrailingIdx, BodyLongTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLINNECK)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ EqualPeriodTotal = 0; +/* Generated */ EqualTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Equal); +/* Generated */ BodyLongPeriodTotal = 0; +/* Generated */ BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ i = EqualTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_CANDLECOLOR(i-1) == -1 && // 1st: black +/* Generated */ TA_REALBODY(i-1) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-1 ) && // long +/* Generated */ TA_CANDLECOLOR(i) == 1 && // 2nd: white +/* Generated */ inOpen[i] < inLow[i-1] && // open below prior low +/* Generated */ inClose[i] <= inClose[i-1] + TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-1 ) && // close slightly into prior body +/* Generated */ inClose[i] >= inClose[i-1] +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = -100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ) - TA_CANDLERANGE( Equal, EqualTrailingIdx-1 ); +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-1 ) +/* Generated */ - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-1 ); +/* Generated */ i++; +/* Generated */ EqualTrailingIdx++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLINVERTEDHAMMER.c b/vendor/ta-lib/src/ta_func/ta_CDLINVERTEDHAMMER.c new file mode 100644 index 000000000..1e7743f96 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLINVERTEDHAMMER.c @@ -0,0 +1,389 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 103004 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlInvertedHammerLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlInvertedHammerLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLINVERTEDHAMMER_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( max( TA_CANDLEAVGPERIOD(BodyShort), TA_CANDLEAVGPERIOD(ShadowLong) ), + TA_CANDLEAVGPERIOD(ShadowVeryShort) + ) + 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLINVERTEDHAMMER - Inverted Hammer + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlInvertedHammer( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlInvertedHammer( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlInvertedHammer( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLINVERTEDHAMMER( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyPeriodTotal, ShadowLongPeriodTotal, ShadowVeryShortPeriodTotal; + int i, outIdx, BodyTrailingIdx, ShadowLongTrailingIdx, ShadowVeryShortTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLINVERTEDHAMMER)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyPeriodTotal = 0; + BodyTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); + ShadowLongPeriodTotal = 0; + ShadowLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowLong); + ShadowVeryShortPeriodTotal = 0; + ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); + + i = BodyTrailingIdx; + while( i < startIdx ) { + BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ); + i++; + } + i = ShadowLongTrailingIdx; + while( i < startIdx ) { + ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i ); + i++; + } + i = ShadowVeryShortTrailingIdx; + while( i < startIdx ) { + ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ); + i++; + } + + /* Proceed with the calculation for the requested range. + * Must have: + * - small real body + * - long upper shadow + * - no, or very short, lower shadow + * - gap down + * The meaning of "short", "very short" and "long" is specified with TA_SetCandleSettings; + * outInteger is positive (1 to 100): inverted hammer is always bullish; + * the user should consider that an inverted hammer must appear in a downtrend, while this function does not consider it + */ + outIdx = 0; + do + { + if( TA_REALBODY(i) < TA_CANDLEAVERAGE( BodyShort, BodyPeriodTotal, i ) && // small rb + TA_UPPERSHADOW(i) > TA_CANDLEAVERAGE( ShadowLong, ShadowLongPeriodTotal, i ) && // long upper shadow + TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) && // very short lower shadow + TA_REALBODYGAPDOWN(i, i-1) ) // gap down + outInteger[outIdx++] = 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ) + - TA_CANDLERANGE( BodyShort, BodyTrailingIdx ); + ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i ) + - TA_CANDLERANGE( ShadowLong, ShadowLongTrailingIdx ); + ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ) + - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx ); + i++; + BodyTrailingIdx++; + ShadowLongTrailingIdx++; + ShadowVeryShortTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlInvertedHammer( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlInvertedHammer( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLINVERTEDHAMMER( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyPeriodTotal, ShadowLongPeriodTotal, ShadowVeryShortPeriodTotal; +/* Generated */ int i, outIdx, BodyTrailingIdx, ShadowLongTrailingIdx, ShadowVeryShortTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLINVERTEDHAMMER)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyPeriodTotal = 0; +/* Generated */ BodyTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); +/* Generated */ ShadowLongPeriodTotal = 0; +/* Generated */ ShadowLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowLong); +/* Generated */ ShadowVeryShortPeriodTotal = 0; +/* Generated */ ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); +/* Generated */ i = BodyTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = ShadowLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = ShadowVeryShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i) < TA_CANDLEAVERAGE( BodyShort, BodyPeriodTotal, i ) && // small rb +/* Generated */ TA_UPPERSHADOW(i) > TA_CANDLEAVERAGE( ShadowLong, ShadowLongPeriodTotal, i ) && // long upper shadow +/* Generated */ TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) && // very short lower shadow +/* Generated */ TA_REALBODYGAPDOWN(i, i-1) ) // gap down +/* Generated */ outInteger[outIdx++] = 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ) +/* Generated */ - TA_CANDLERANGE( BodyShort, BodyTrailingIdx ); +/* Generated */ ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i ) +/* Generated */ - TA_CANDLERANGE( ShadowLong, ShadowLongTrailingIdx ); +/* Generated */ ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ) +/* Generated */ - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyTrailingIdx++; +/* Generated */ ShadowLongTrailingIdx++; +/* Generated */ ShadowVeryShortTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLKICKING.c b/vendor/ta-lib/src/ta_func/ta_CDLKICKING.c new file mode 100644 index 000000000..ad9a77753 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLKICKING.c @@ -0,0 +1,406 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 010705 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlKickingLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlKickingLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLKICKING_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( TA_CANDLEAVGPERIOD(ShadowVeryShort), TA_CANDLEAVGPERIOD(BodyLong) + ) + 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLKICKING - Kicking + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlKicking( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlKicking( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlKicking( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLKICKING( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + ARRAY_LOCAL(ShadowVeryShortPeriodTotal,2); + ARRAY_LOCAL(BodyLongPeriodTotal,2); + int i, outIdx, totIdx, ShadowVeryShortTrailingIdx, BodyLongTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLKICKING)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + ShadowVeryShortPeriodTotal[1] = 0; + ShadowVeryShortPeriodTotal[0] = 0; + ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); + BodyLongPeriodTotal[1] = 0; + BodyLongPeriodTotal[0] = 0; + BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); + + i = ShadowVeryShortTrailingIdx; + while( i < startIdx ) { + ShadowVeryShortPeriodTotal[1] += TA_CANDLERANGE( ShadowVeryShort, i-1 ); + ShadowVeryShortPeriodTotal[0] += TA_CANDLERANGE( ShadowVeryShort, i ); + i++; + } + i = BodyLongTrailingIdx; + while( i < startIdx ) { + BodyLongPeriodTotal[1] += TA_CANDLERANGE( BodyLong, i-1 ); + BodyLongPeriodTotal[0] += TA_CANDLERANGE( BodyLong, i ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: marubozu + * - second candle: opposite color marubozu + * - gap between the two candles: upside gap if black then white, downside gap if white then black + * The meaning of "long body" and "very short shadow" is specified with TA_SetCandleSettings + * outInteger is positive (1 to 100) when bullish or negative (-1 to -100) when bearish + */ + outIdx = 0; + do + { + if( TA_CANDLECOLOR(i-1) == -TA_CANDLECOLOR(i) && // opposite candles + // 1st marubozu + TA_REALBODY(i-1) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal[1], i-1 ) && + TA_UPPERSHADOW(i-1) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[1], i-1 ) && + TA_LOWERSHADOW(i-1) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[1], i-1 ) && + // 2nd marubozu + TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal[0], i ) && + TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[0], i ) && + TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[0], i ) && + // gap + ( + ( TA_CANDLECOLOR(i-1) == -1 && TA_CANDLEGAPUP(i,i-1) ) + || + ( TA_CANDLECOLOR(i-1) == 1 && TA_CANDLEGAPDOWN(i,i-1) ) + ) + ) + outInteger[outIdx++] = TA_CANDLECOLOR(i) * 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + for (totIdx = 1; totIdx >= 0; --totIdx) { + BodyLongPeriodTotal[totIdx] += TA_CANDLERANGE( BodyLong, i-totIdx ) + - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-totIdx ); + ShadowVeryShortPeriodTotal[totIdx] += TA_CANDLERANGE( ShadowVeryShort, i-totIdx ) + - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx-totIdx ); + } + i++; + ShadowVeryShortTrailingIdx++; + BodyLongTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlKicking( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlKicking( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLKICKING( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ARRAY_LOCAL(ShadowVeryShortPeriodTotal,2); +/* Generated */ ARRAY_LOCAL(BodyLongPeriodTotal,2); +/* Generated */ int i, outIdx, totIdx, ShadowVeryShortTrailingIdx, BodyLongTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLKICKING)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ ShadowVeryShortPeriodTotal[1] = 0; +/* Generated */ ShadowVeryShortPeriodTotal[0] = 0; +/* Generated */ ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); +/* Generated */ BodyLongPeriodTotal[1] = 0; +/* Generated */ BodyLongPeriodTotal[0] = 0; +/* Generated */ BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ i = ShadowVeryShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowVeryShortPeriodTotal[1] += TA_CANDLERANGE( ShadowVeryShort, i-1 ); +/* Generated */ ShadowVeryShortPeriodTotal[0] += TA_CANDLERANGE( ShadowVeryShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyLongPeriodTotal[1] += TA_CANDLERANGE( BodyLong, i-1 ); +/* Generated */ BodyLongPeriodTotal[0] += TA_CANDLERANGE( BodyLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_CANDLECOLOR(i-1) == -TA_CANDLECOLOR(i) && // opposite candles +/* Generated */ // 1st marubozu +/* Generated */ TA_REALBODY(i-1) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal[1], i-1 ) && +/* Generated */ TA_UPPERSHADOW(i-1) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[1], i-1 ) && +/* Generated */ TA_LOWERSHADOW(i-1) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[1], i-1 ) && +/* Generated */ // 2nd marubozu +/* Generated */ TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal[0], i ) && +/* Generated */ TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[0], i ) && +/* Generated */ TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[0], i ) && +/* Generated */ // gap +/* Generated */ ( +/* Generated */ ( TA_CANDLECOLOR(i-1) == -1 && TA_CANDLEGAPUP(i,i-1) ) +/* Generated */ || +/* Generated */ ( TA_CANDLECOLOR(i-1) == 1 && TA_CANDLEGAPDOWN(i,i-1) ) +/* Generated */ ) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = TA_CANDLECOLOR(i) * 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ for (totIdx = 1; totIdx >= 0; --totIdx) { +/* Generated */ BodyLongPeriodTotal[totIdx] += TA_CANDLERANGE( BodyLong, i-totIdx ) +/* Generated */ - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-totIdx ); +/* Generated */ ShadowVeryShortPeriodTotal[totIdx] += TA_CANDLERANGE( ShadowVeryShort, i-totIdx ) +/* Generated */ - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx-totIdx ); +/* Generated */ } +/* Generated */ i++; +/* Generated */ ShadowVeryShortTrailingIdx++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLKICKINGBYLENGTH.c b/vendor/ta-lib/src/ta_func/ta_CDLKICKINGBYLENGTH.c new file mode 100644 index 000000000..f432737fa --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLKICKINGBYLENGTH.c @@ -0,0 +1,407 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 011505 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlKickingByLengthLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlKickingByLengthLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLKICKINGBYLENGTH_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( TA_CANDLEAVGPERIOD(ShadowVeryShort), TA_CANDLEAVGPERIOD(BodyLong) + ) + 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLKICKINGBYLENGTH - Kicking - bull/bear determined by the longer marubozu + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlKickingByLength( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlKickingByLength( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlKickingByLength( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLKICKINGBYLENGTH( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + ARRAY_LOCAL(ShadowVeryShortPeriodTotal,2); + ARRAY_LOCAL(BodyLongPeriodTotal,2); + int i, outIdx, totIdx, ShadowVeryShortTrailingIdx, BodyLongTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLKICKINGBYLENGTH)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + ShadowVeryShortPeriodTotal[1] = 0; + ShadowVeryShortPeriodTotal[0] = 0; + ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); + BodyLongPeriodTotal[1] = 0; + BodyLongPeriodTotal[0] = 0; + BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); + + i = ShadowVeryShortTrailingIdx; + while( i < startIdx ) { + ShadowVeryShortPeriodTotal[1] += TA_CANDLERANGE( ShadowVeryShort, i-1 ); + ShadowVeryShortPeriodTotal[0] += TA_CANDLERANGE( ShadowVeryShort, i ); + i++; + } + i = BodyLongTrailingIdx; + while( i < startIdx ) { + BodyLongPeriodTotal[1] += TA_CANDLERANGE( BodyLong, i-1 ); + BodyLongPeriodTotal[0] += TA_CANDLERANGE( BodyLong, i ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: marubozu + * - second candle: opposite color marubozu + * - gap between the two candles: upside gap if black then white, downside gap if white then black + * The meaning of "long body" and "very short shadow" is specified with TA_SetCandleSettings + * outInteger is positive (1 to 100) when bullish or negative (-1 to -100) when bearish; the longer of the two + * marubozu determines the bullishness or bearishness of this pattern + */ + outIdx = 0; + do + { + if( TA_CANDLECOLOR(i-1) == -TA_CANDLECOLOR(i) && // opposite candles + // 1st marubozu + TA_REALBODY(i-1) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal[1], i-1 ) && + TA_UPPERSHADOW(i-1) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[1], i-1 ) && + TA_LOWERSHADOW(i-1) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[1], i-1 ) && + // 2nd marubozu + TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal[0], i ) && + TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[0], i ) && + TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[0], i ) && + // gap + ( + ( TA_CANDLECOLOR(i-1) == -1 && TA_CANDLEGAPUP(i,i-1) ) + || + ( TA_CANDLECOLOR(i-1) == 1 && TA_CANDLEGAPDOWN(i,i-1) ) + ) + ) + outInteger[outIdx++] = TA_CANDLECOLOR( ( TA_REALBODY(i) > TA_REALBODY(i-1) ? i : i-1 ) ) * 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + for (totIdx = 1; totIdx >= 0; --totIdx) { + BodyLongPeriodTotal[totIdx] += TA_CANDLERANGE( BodyLong, i-totIdx ) + - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-totIdx ); + ShadowVeryShortPeriodTotal[totIdx] += TA_CANDLERANGE( ShadowVeryShort, i-totIdx ) + - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx-totIdx ); + } + i++; + ShadowVeryShortTrailingIdx++; + BodyLongTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlKickingByLength( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlKickingByLength( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLKICKINGBYLENGTH( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ARRAY_LOCAL(ShadowVeryShortPeriodTotal,2); +/* Generated */ ARRAY_LOCAL(BodyLongPeriodTotal,2); +/* Generated */ int i, outIdx, totIdx, ShadowVeryShortTrailingIdx, BodyLongTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLKICKINGBYLENGTH)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ ShadowVeryShortPeriodTotal[1] = 0; +/* Generated */ ShadowVeryShortPeriodTotal[0] = 0; +/* Generated */ ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); +/* Generated */ BodyLongPeriodTotal[1] = 0; +/* Generated */ BodyLongPeriodTotal[0] = 0; +/* Generated */ BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ i = ShadowVeryShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowVeryShortPeriodTotal[1] += TA_CANDLERANGE( ShadowVeryShort, i-1 ); +/* Generated */ ShadowVeryShortPeriodTotal[0] += TA_CANDLERANGE( ShadowVeryShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyLongPeriodTotal[1] += TA_CANDLERANGE( BodyLong, i-1 ); +/* Generated */ BodyLongPeriodTotal[0] += TA_CANDLERANGE( BodyLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_CANDLECOLOR(i-1) == -TA_CANDLECOLOR(i) && // opposite candles +/* Generated */ // 1st marubozu +/* Generated */ TA_REALBODY(i-1) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal[1], i-1 ) && +/* Generated */ TA_UPPERSHADOW(i-1) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[1], i-1 ) && +/* Generated */ TA_LOWERSHADOW(i-1) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[1], i-1 ) && +/* Generated */ // 2nd marubozu +/* Generated */ TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal[0], i ) && +/* Generated */ TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[0], i ) && +/* Generated */ TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal[0], i ) && +/* Generated */ // gap +/* Generated */ ( +/* Generated */ ( TA_CANDLECOLOR(i-1) == -1 && TA_CANDLEGAPUP(i,i-1) ) +/* Generated */ || +/* Generated */ ( TA_CANDLECOLOR(i-1) == 1 && TA_CANDLEGAPDOWN(i,i-1) ) +/* Generated */ ) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = TA_CANDLECOLOR( ( TA_REALBODY(i) > TA_REALBODY(i-1) ? i : i-1 ) ) * 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ for (totIdx = 1; totIdx >= 0; --totIdx) { +/* Generated */ BodyLongPeriodTotal[totIdx] += TA_CANDLERANGE( BodyLong, i-totIdx ) +/* Generated */ - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-totIdx ); +/* Generated */ ShadowVeryShortPeriodTotal[totIdx] += TA_CANDLERANGE( ShadowVeryShort, i-totIdx ) +/* Generated */ - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx-totIdx ); +/* Generated */ } +/* Generated */ i++; +/* Generated */ ShadowVeryShortTrailingIdx++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLLADDERBOTTOM.c b/vendor/ta-lib/src/ta_func/ta_CDLLADDERBOTTOM.c new file mode 100644 index 000000000..d6eb75f22 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLLADDERBOTTOM.c @@ -0,0 +1,361 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * MF Mario Fortier + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 032005 AC Creation + * 041305 MF Minor modification for a compiler warning + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlLadderBottomLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlLadderBottomLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLLADDERBOTTOM_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return TA_CANDLEAVGPERIOD(ShadowVeryShort) + 4; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLLADDERBOTTOM - Ladder Bottom + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlLadderBottom( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlLadderBottom( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlLadderBottom( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLLADDERBOTTOM( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double ShadowVeryShortPeriodTotal; + int i, outIdx, ShadowVeryShortTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLLADDERBOTTOM)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + ShadowVeryShortPeriodTotal = 0; + ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); + + i = ShadowVeryShortTrailingIdx; + while( i < startIdx ) { + ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i-1 ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - three black candlesticks with consecutively lower opens and closes + * - fourth candle: black candle with an upper shadow (it's supposed to be not very short) + * - fifth candle: white candle that opens above prior candle's body and closes above prior candle's high + * The meaning of "very short" is specified with TA_SetCandleSettings + * outInteger is positive (1 to 100): ladder bottom is always bullish; + * the user should consider that ladder bottom is significant when it appears in a downtrend, + * while this function does not consider it + */ + outIdx = 0; + do + { + if( + TA_CANDLECOLOR(i-4) == -1 && TA_CANDLECOLOR(i-3) == -1 && TA_CANDLECOLOR(i-2) == -1 && // 3 black candlesticks + inOpen[i-4] > inOpen[i-3] && inOpen[i-3] > inOpen[i-2] && // with consecutively lower opens + inClose[i-4] > inClose[i-3] && inClose[i-3] > inClose[i-2] && // and closes + TA_CANDLECOLOR(i-1) == -1 && // 4th: black with an upper shadow + TA_UPPERSHADOW(i-1) > TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i-1 ) && + TA_CANDLECOLOR(i) == 1 && // 5th: white + inOpen[i] > inOpen[i-1] && // that opens above prior candle's body + inClose[i] > inHigh[i-1] // and closes above prior candle's high + ) + outInteger[outIdx++] = 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i-1 ) + - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx-1 ); + i++; + ShadowVeryShortTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlLadderBottom( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlLadderBottom( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLLADDERBOTTOM( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double ShadowVeryShortPeriodTotal; +/* Generated */ int i, outIdx, ShadowVeryShortTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLLADDERBOTTOM)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ ShadowVeryShortPeriodTotal = 0; +/* Generated */ ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); +/* Generated */ i = ShadowVeryShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i-1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( +/* Generated */ TA_CANDLECOLOR(i-4) == -1 && TA_CANDLECOLOR(i-3) == -1 && TA_CANDLECOLOR(i-2) == -1 && // 3 black candlesticks +/* Generated */ inOpen[i-4] > inOpen[i-3] && inOpen[i-3] > inOpen[i-2] && // with consecutively lower opens +/* Generated */ inClose[i-4] > inClose[i-3] && inClose[i-3] > inClose[i-2] && // and closes +/* Generated */ TA_CANDLECOLOR(i-1) == -1 && // 4th: black with an upper shadow +/* Generated */ TA_UPPERSHADOW(i-1) > TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i-1 ) && +/* Generated */ TA_CANDLECOLOR(i) == 1 && // 5th: white +/* Generated */ inOpen[i] > inOpen[i-1] && // that opens above prior candle's body +/* Generated */ inClose[i] > inHigh[i-1] // and closes above prior candle's high +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i-1 ) +/* Generated */ - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx-1 ); +/* Generated */ i++; +/* Generated */ ShadowVeryShortTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLLONGLEGGEDDOJI.c b/vendor/ta-lib/src/ta_func/ta_CDLLONGLEGGEDDOJI.c new file mode 100644 index 000000000..3548c687c --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLLONGLEGGEDDOJI.c @@ -0,0 +1,365 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 011505 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlLongLeggedDojiLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlLongLeggedDojiLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLLONGLEGGEDDOJI_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( TA_CANDLEAVGPERIOD(BodyDoji), TA_CANDLEAVGPERIOD(ShadowLong) ); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLLONGLEGGEDDOJI - Long Legged Doji + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlLongLeggedDoji( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlLongLeggedDoji( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlLongLeggedDoji( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLLONGLEGGEDDOJI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyDojiPeriodTotal, ShadowLongPeriodTotal; + int i, outIdx, BodyDojiTrailingIdx, ShadowLongTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLLONGLEGGEDDOJI)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyDojiPeriodTotal = 0; + BodyDojiTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyDoji); + ShadowLongPeriodTotal = 0; + ShadowLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowLong); + + i = BodyDojiTrailingIdx; + while( i < startIdx ) { + BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ); + i++; + } + i = ShadowLongTrailingIdx; + while( i < startIdx ) { + ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i ); + i++; + } + + /* Proceed with the calculation for the requested range. + * + * Must have: + * - doji body + * - one or two long shadows + * The meaning of "doji" is specified with TA_SetCandleSettings + * outInteger is always positive (1 to 100) but this does not mean it is bullish: long legged doji shows uncertainty + */ + outIdx = 0; + do + { + if( TA_REALBODY(i) <= TA_CANDLEAVERAGE( BodyDoji, BodyDojiPeriodTotal, i ) && + ( TA_LOWERSHADOW(i) > TA_CANDLEAVERAGE( ShadowLong, ShadowLongPeriodTotal, i ) + || + TA_UPPERSHADOW(i) > TA_CANDLEAVERAGE( ShadowLong, ShadowLongPeriodTotal, i ) + ) + ) + outInteger[outIdx++] = 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ) - TA_CANDLERANGE( BodyDoji, BodyDojiTrailingIdx ); + ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i ) - TA_CANDLERANGE( ShadowLong, ShadowLongTrailingIdx ); + i++; + BodyDojiTrailingIdx++; + ShadowLongTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlLongLeggedDoji( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlLongLeggedDoji( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLLONGLEGGEDDOJI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyDojiPeriodTotal, ShadowLongPeriodTotal; +/* Generated */ int i, outIdx, BodyDojiTrailingIdx, ShadowLongTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLLONGLEGGEDDOJI)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyDojiPeriodTotal = 0; +/* Generated */ BodyDojiTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyDoji); +/* Generated */ ShadowLongPeriodTotal = 0; +/* Generated */ ShadowLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowLong); +/* Generated */ i = BodyDojiTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = ShadowLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i) <= TA_CANDLEAVERAGE( BodyDoji, BodyDojiPeriodTotal, i ) && +/* Generated */ ( TA_LOWERSHADOW(i) > TA_CANDLEAVERAGE( ShadowLong, ShadowLongPeriodTotal, i ) +/* Generated */ || +/* Generated */ TA_UPPERSHADOW(i) > TA_CANDLEAVERAGE( ShadowLong, ShadowLongPeriodTotal, i ) +/* Generated */ ) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ) - TA_CANDLERANGE( BodyDoji, BodyDojiTrailingIdx ); +/* Generated */ ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i ) - TA_CANDLERANGE( ShadowLong, ShadowLongTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyDojiTrailingIdx++; +/* Generated */ ShadowLongTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLLONGLINE.c b/vendor/ta-lib/src/ta_func/ta_CDLLONGLINE.c new file mode 100644 index 000000000..589de1250 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLLONGLINE.c @@ -0,0 +1,358 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 071704 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlLongLineLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlLongLineLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLLONGLINE_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( TA_CANDLEAVGPERIOD(BodyLong), TA_CANDLEAVGPERIOD(ShadowShort) ); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLLONGLINE - Long Line Candle + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlLongLine( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlLongLine( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlLongLine( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLLONGLINE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyPeriodTotal, ShadowPeriodTotal; + int i, outIdx, BodyTrailingIdx, ShadowTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLLONGLINE)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyPeriodTotal = 0; + BodyTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); + ShadowPeriodTotal = 0; + ShadowTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowShort); + + i = BodyTrailingIdx; + while( i < startIdx ) { + BodyPeriodTotal += TA_CANDLERANGE( BodyLong, i ); + i++; + } + i = ShadowTrailingIdx; + while( i < startIdx ) { + ShadowPeriodTotal += TA_CANDLERANGE( ShadowShort, i ); + i++; + } + + /* Proceed with the calculation for the requested range. + * Must have: + * - long real body + * - short upper and lower shadow + * The meaning of "long" and "short" is specified with TA_SetCandleSettings + * outInteger is positive (1 to 100) when white (bullish), negative (-1 to -100) when black (bearish) + */ + outIdx = 0; + do + { + if( TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyLong, BodyPeriodTotal, i ) && + TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowShort, ShadowPeriodTotal, i ) && + TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowShort, ShadowPeriodTotal, i ) ) + outInteger[outIdx++] = TA_CANDLECOLOR(i) * 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyPeriodTotal += TA_CANDLERANGE( BodyLong, i ) - TA_CANDLERANGE( BodyLong, BodyTrailingIdx ); + ShadowPeriodTotal += TA_CANDLERANGE( ShadowShort, i ) - TA_CANDLERANGE( ShadowShort, ShadowTrailingIdx ); + i++; + BodyTrailingIdx++; + ShadowTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlLongLine( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlLongLine( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLLONGLINE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyPeriodTotal, ShadowPeriodTotal; +/* Generated */ int i, outIdx, BodyTrailingIdx, ShadowTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLLONGLINE)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyPeriodTotal = 0; +/* Generated */ BodyTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ ShadowPeriodTotal = 0; +/* Generated */ ShadowTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowShort); +/* Generated */ i = BodyTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyPeriodTotal += TA_CANDLERANGE( BodyLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = ShadowTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowPeriodTotal += TA_CANDLERANGE( ShadowShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyLong, BodyPeriodTotal, i ) && +/* Generated */ TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowShort, ShadowPeriodTotal, i ) && +/* Generated */ TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowShort, ShadowPeriodTotal, i ) ) +/* Generated */ outInteger[outIdx++] = TA_CANDLECOLOR(i) * 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyPeriodTotal += TA_CANDLERANGE( BodyLong, i ) - TA_CANDLERANGE( BodyLong, BodyTrailingIdx ); +/* Generated */ ShadowPeriodTotal += TA_CANDLERANGE( ShadowShort, i ) - TA_CANDLERANGE( ShadowShort, ShadowTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyTrailingIdx++; +/* Generated */ ShadowTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLMARUBOZU.c b/vendor/ta-lib/src/ta_func/ta_CDLMARUBOZU.c new file mode 100644 index 000000000..9d1cef970 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLMARUBOZU.c @@ -0,0 +1,360 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 010605 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlMarubozuLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlMarubozuLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLMARUBOZU_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( TA_CANDLEAVGPERIOD(BodyLong), TA_CANDLEAVGPERIOD(ShadowVeryShort) ); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLMARUBOZU - Marubozu + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlMarubozu( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlMarubozu( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlMarubozu( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLMARUBOZU( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyLongPeriodTotal, ShadowVeryShortPeriodTotal; + int i, outIdx, BodyLongTrailingIdx, ShadowVeryShortTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLMARUBOZU)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyLongPeriodTotal = 0; + BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); + ShadowVeryShortPeriodTotal = 0; + ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); + + i = BodyLongTrailingIdx; + while( i < startIdx ) { + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); + i++; + } + i = ShadowVeryShortTrailingIdx; + while( i < startIdx ) { + ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ); + i++; + } + + /* Proceed with the calculation for the requested range. + * Must have: + * - long real body + * - no or very short upper and lower shadow + * The meaning of "long" and "very short" is specified with TA_SetCandleSettings + * outInteger is positive (1 to 100) when white (bullish), negative (-1 to -100) when black (bearish) + */ + outIdx = 0; + do + { + if( TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i ) && + TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) && + TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) ) + outInteger[outIdx++] = TA_CANDLECOLOR(i) * 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); + ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ) + - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx ); + i++; + BodyLongTrailingIdx++; + ShadowVeryShortTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlMarubozu( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlMarubozu( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLMARUBOZU( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyLongPeriodTotal, ShadowVeryShortPeriodTotal; +/* Generated */ int i, outIdx, BodyLongTrailingIdx, ShadowVeryShortTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLMARUBOZU)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyLongPeriodTotal = 0; +/* Generated */ BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ ShadowVeryShortPeriodTotal = 0; +/* Generated */ ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = ShadowVeryShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i ) && +/* Generated */ TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) && +/* Generated */ TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) ) +/* Generated */ outInteger[outIdx++] = TA_CANDLECOLOR(i) * 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); +/* Generated */ ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ) +/* Generated */ - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ ShadowVeryShortTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLMATCHINGLOW.c b/vendor/ta-lib/src/ta_func/ta_CDLMATCHINGLOW.c new file mode 100644 index 000000000..3e813d016 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLMATCHINGLOW.c @@ -0,0 +1,346 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 032605 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlMatchingLowLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlMatchingLowLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLMATCHINGLOW_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return TA_CANDLEAVGPERIOD(Equal) + 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLMATCHINGLOW - Matching Low + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlMatchingLow( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlMatchingLow( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlMatchingLow( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLMATCHINGLOW( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double EqualPeriodTotal; + int i, outIdx, EqualTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLMATCHINGLOW)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + EqualPeriodTotal = 0; + EqualTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Equal); + + i = EqualTrailingIdx; + while( i < startIdx ) { + EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: black candle + * - second candle: black candle with the close equal to the previous close + * The meaning of "equal" is specified with TA_SetCandleSettings + * outInteger is always positive (1 to 100): matching low is always bullish; + */ + outIdx = 0; + do + { + if( TA_CANDLECOLOR(i-1) == -1 && // first black + TA_CANDLECOLOR(i) == -1 && // second black + inClose[i] <= inClose[i-1] + TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-1 ) && // 1st and 2nd same close + inClose[i] >= inClose[i-1] - TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-1 ) + ) + outInteger[outIdx++] = 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ) - TA_CANDLERANGE( Equal, EqualTrailingIdx-1 ); + i++; + EqualTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlMatchingLow( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlMatchingLow( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLMATCHINGLOW( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double EqualPeriodTotal; +/* Generated */ int i, outIdx, EqualTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLMATCHINGLOW)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ EqualPeriodTotal = 0; +/* Generated */ EqualTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Equal); +/* Generated */ i = EqualTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_CANDLECOLOR(i-1) == -1 && // first black +/* Generated */ TA_CANDLECOLOR(i) == -1 && // second black +/* Generated */ inClose[i] <= inClose[i-1] + TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-1 ) && // 1st and 2nd same close +/* Generated */ inClose[i] >= inClose[i-1] - TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-1 ) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ) - TA_CANDLERANGE( Equal, EqualTrailingIdx-1 ); +/* Generated */ i++; +/* Generated */ EqualTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLMATHOLD.c b/vendor/ta-lib/src/ta_func/ta_CDLMATHOLD.c new file mode 100644 index 000000000..c9cebdd24 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLMATHOLD.c @@ -0,0 +1,455 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 022005 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlMatHoldLookback( double optInPenetration ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlMatHoldLookback( double optInPenetration ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLMATHOLD_Lookback( double optInPenetration ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( optInPenetration == TA_REAL_DEFAULT ) +/* Generated */ optInPenetration = 5.000000e-1; +/* Generated */ else if( (optInPenetration < 0.000000e+0) ||/* Generated */ (optInPenetration > 3.000000e+37) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + UNUSED_VARIABLE(optInPenetration); + return max( TA_CANDLEAVGPERIOD(BodyShort), TA_CANDLEAVGPERIOD(BodyLong) ) + 4; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLMATHOLD - Mat Hold + * + * Input = Open, High, Low, Close + * Output = int + * + * Optional Parameters + * ------------------- + * optInPenetration:(From 0 to TA_REAL_MAX) + * Percentage of penetration of a candle within another candle + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlMatHold( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlMatHold( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlMatHold( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLMATHOLD( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + ARRAY_LOCAL(BodyPeriodTotal,5); + int i, outIdx, totIdx, BodyShortTrailingIdx, BodyLongTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ if( optInPenetration == TA_REAL_DEFAULT ) +/* Generated */ optInPenetration = 5.000000e-1; +/* Generated */ else if( (optInPenetration < 0.000000e+0) ||/* Generated */ (optInPenetration > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLMATHOLD)(optInPenetration); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyPeriodTotal[4] = 0; + BodyPeriodTotal[3] = 0; + BodyPeriodTotal[2] = 0; + BodyPeriodTotal[1] = 0; + BodyPeriodTotal[0] = 0; + BodyShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); + BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); + + i = BodyShortTrailingIdx; + while( i < startIdx ) { + BodyPeriodTotal[3] += TA_CANDLERANGE( BodyShort, i-3 ); + BodyPeriodTotal[2] += TA_CANDLERANGE( BodyShort, i-2 ); + BodyPeriodTotal[1] += TA_CANDLERANGE( BodyShort, i-1 ); + i++; + } + i = BodyLongTrailingIdx; + while( i < startIdx ) { + BodyPeriodTotal[4] += TA_CANDLERANGE( BodyLong, i-4 ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: long white candle + * - upside gap between the first and the second bodies + * - second candle: small black candle + * - third and fourth candles: falling small real body candlesticks (commonly black) that hold within the long + * white candle's body and are higher than the reaction days of the rising three methods + * - fifth candle: white candle that opens above the previous small candle's close and closes higher than the + * high of the highest reaction day + * The meaning of "short" and "long" is specified with TA_SetCandleSettings; + * "hold within" means "a part of the real body must be within"; + * optInPenetration is the maximum percentage of the first white body the reaction days can penetrate (it is + * to specify how much the reaction days should be "higher than the reaction days of the rising three methods") + * outInteger is positive (1 to 100): mat hold is always bullish + */ + outIdx = 0; + do + { + if( // 1st long, then 3 small + TA_REALBODY(i-4) > TA_CANDLEAVERAGE( BodyLong, BodyPeriodTotal[4], i-4 ) && + TA_REALBODY(i-3) < TA_CANDLEAVERAGE( BodyShort, BodyPeriodTotal[3], i-3 ) && + TA_REALBODY(i-2) < TA_CANDLEAVERAGE( BodyShort, BodyPeriodTotal[2], i-2 ) && + TA_REALBODY(i-1) < TA_CANDLEAVERAGE( BodyShort, BodyPeriodTotal[1], i-1 ) && + // white, black, 2 black or white, white + TA_CANDLECOLOR(i-4) == 1 && + TA_CANDLECOLOR(i-3) == -1 && + TA_CANDLECOLOR(i) == 1 && + // upside gap 1st to 2nd + TA_REALBODYGAPUP(i-3,i-4) && + // 3rd to 4th hold within 1st: a part of the real body must be within 1st real body + min(inOpen[i-2], inClose[i-2]) < inClose[i-4] && + min(inOpen[i-1], inClose[i-1]) < inClose[i-4] && + // reaction days penetrate first body less than optInPenetration percent + min(inOpen[i-2], inClose[i-2]) > inClose[i-4] - TA_REALBODY(i-4) * optInPenetration && + min(inOpen[i-1], inClose[i-1]) > inClose[i-4] - TA_REALBODY(i-4) * optInPenetration && + // 2nd to 4th are falling + max(inClose[i-2], inOpen[i-2]) < inOpen[i-3] && + max(inClose[i-1], inOpen[i-1]) < max(inClose[i-2], inOpen[i-2]) && + // 5th opens above the prior close + inOpen[i] > inClose[i-1] && + // 5th closes above the highest high of the reaction days + inClose[i] > max(max(inHigh[i-3], inHigh[i-2]), inHigh[i-1]) + ) + outInteger[outIdx++] = 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyPeriodTotal[4] += TA_CANDLERANGE( BodyLong, i-4 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-4 ); + for (totIdx = 3; totIdx >= 1; --totIdx) + BodyPeriodTotal[totIdx] += TA_CANDLERANGE( BodyShort, i-totIdx ) + - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx-totIdx ); + i++; + BodyShortTrailingIdx++; + BodyLongTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlMatHold( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlMatHold( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLMATHOLD( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ARRAY_LOCAL(BodyPeriodTotal,5); +/* Generated */ int i, outIdx, totIdx, BodyShortTrailingIdx, BodyLongTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( optInPenetration == TA_REAL_DEFAULT ) +/* Generated */ optInPenetration = 5.000000e-1; +/* Generated */ else if( (optInPenetration < 0.000000e+0) || (optInPenetration > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLMATHOLD)(optInPenetration); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyPeriodTotal[4] = 0; +/* Generated */ BodyPeriodTotal[3] = 0; +/* Generated */ BodyPeriodTotal[2] = 0; +/* Generated */ BodyPeriodTotal[1] = 0; +/* Generated */ BodyPeriodTotal[0] = 0; +/* Generated */ BodyShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); +/* Generated */ BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ i = BodyShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyPeriodTotal[3] += TA_CANDLERANGE( BodyShort, i-3 ); +/* Generated */ BodyPeriodTotal[2] += TA_CANDLERANGE( BodyShort, i-2 ); +/* Generated */ BodyPeriodTotal[1] += TA_CANDLERANGE( BodyShort, i-1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyPeriodTotal[4] += TA_CANDLERANGE( BodyLong, i-4 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( // 1st long, then 3 small +/* Generated */ TA_REALBODY(i-4) > TA_CANDLEAVERAGE( BodyLong, BodyPeriodTotal[4], i-4 ) && +/* Generated */ TA_REALBODY(i-3) < TA_CANDLEAVERAGE( BodyShort, BodyPeriodTotal[3], i-3 ) && +/* Generated */ TA_REALBODY(i-2) < TA_CANDLEAVERAGE( BodyShort, BodyPeriodTotal[2], i-2 ) && +/* Generated */ TA_REALBODY(i-1) < TA_CANDLEAVERAGE( BodyShort, BodyPeriodTotal[1], i-1 ) && +/* Generated */ // white, black, 2 black or white, white +/* Generated */ TA_CANDLECOLOR(i-4) == 1 && +/* Generated */ TA_CANDLECOLOR(i-3) == -1 && +/* Generated */ TA_CANDLECOLOR(i) == 1 && +/* Generated */ // upside gap 1st to 2nd +/* Generated */ TA_REALBODYGAPUP(i-3,i-4) && +/* Generated */ // 3rd to 4th hold within 1st: a part of the real body must be within 1st real body +/* Generated */ min(inOpen[i-2], inClose[i-2]) < inClose[i-4] && +/* Generated */ min(inOpen[i-1], inClose[i-1]) < inClose[i-4] && +/* Generated */ // reaction days penetrate first body less than optInPenetration percent +/* Generated */ min(inOpen[i-2], inClose[i-2]) > inClose[i-4] - TA_REALBODY(i-4) * optInPenetration && +/* Generated */ min(inOpen[i-1], inClose[i-1]) > inClose[i-4] - TA_REALBODY(i-4) * optInPenetration && +/* Generated */ // 2nd to 4th are falling +/* Generated */ max(inClose[i-2], inOpen[i-2]) < inOpen[i-3] && +/* Generated */ max(inClose[i-1], inOpen[i-1]) < max(inClose[i-2], inOpen[i-2]) && +/* Generated */ // 5th opens above the prior close +/* Generated */ inOpen[i] > inClose[i-1] && +/* Generated */ // 5th closes above the highest high of the reaction days +/* Generated */ inClose[i] > max(max(inHigh[i-3], inHigh[i-2]), inHigh[i-1]) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyPeriodTotal[4] += TA_CANDLERANGE( BodyLong, i-4 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-4 ); +/* Generated */ for (totIdx = 3; totIdx >= 1; --totIdx) +/* Generated */ BodyPeriodTotal[totIdx] += TA_CANDLERANGE( BodyShort, i-totIdx ) +/* Generated */ - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx-totIdx ); +/* Generated */ i++; +/* Generated */ BodyShortTrailingIdx++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLMORNINGDOJISTAR.c b/vendor/ta-lib/src/ta_func/ta_CDLMORNINGDOJISTAR.c new file mode 100644 index 000000000..5189c284d --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLMORNINGDOJISTAR.c @@ -0,0 +1,425 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 100304 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlMorningDojiStarLookback( double optInPenetration ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlMorningDojiStarLookback( double optInPenetration ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLMORNINGDOJISTAR_Lookback( double optInPenetration ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( optInPenetration == TA_REAL_DEFAULT ) +/* Generated */ optInPenetration = 3.000000e-1; +/* Generated */ else if( (optInPenetration < 0.000000e+0) ||/* Generated */ (optInPenetration > 3.000000e+37) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + UNUSED_VARIABLE(optInPenetration); + return max( max( TA_CANDLEAVGPERIOD(BodyDoji), TA_CANDLEAVGPERIOD(BodyLong) ), + TA_CANDLEAVGPERIOD(BodyShort) + ) + 2; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLMORNINGDOJISTAR - Morning Doji Star + * + * Input = Open, High, Low, Close + * Output = int + * + * Optional Parameters + * ------------------- + * optInPenetration:(From 0 to TA_REAL_MAX) + * Percentage of penetration of a candle within another candle + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlMorningDojiStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlMorningDojiStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlMorningDojiStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLMORNINGDOJISTAR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyDojiPeriodTotal, BodyLongPeriodTotal, BodyShortPeriodTotal; + int i, outIdx, BodyDojiTrailingIdx, BodyLongTrailingIdx, BodyShortTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ if( optInPenetration == TA_REAL_DEFAULT ) +/* Generated */ optInPenetration = 3.000000e-1; +/* Generated */ else if( (optInPenetration < 0.000000e+0) ||/* Generated */ (optInPenetration > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLMORNINGDOJISTAR)(optInPenetration); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyLongPeriodTotal = 0; + BodyDojiPeriodTotal = 0; + BodyShortPeriodTotal = 0; + BodyLongTrailingIdx = startIdx -2 - TA_CANDLEAVGPERIOD(BodyLong); + BodyDojiTrailingIdx = startIdx -1 - TA_CANDLEAVGPERIOD(BodyDoji); + BodyShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); + + i = BodyLongTrailingIdx; + while( i < startIdx-2 ) { + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); + i++; + } + i = BodyDojiTrailingIdx; + while( i < startIdx-1 ) { + BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ); + i++; + } + i = BodyShortTrailingIdx; + while( i < startIdx ) { + BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: long black real body + * - second candle: doji gapping down + * - third candle: white real body that moves well within the first candle's real body + * The meaning of "doji" and "long" is specified with TA_SetCandleSettings + * The meaning of "moves well within" is specified with optInPenetration and "moves" should mean the real body should + * not be short ("short" is specified with TA_SetCandleSettings) - Greg Morris wants it to be long, someone else want + * it to be relatively long + * outInteger is positive (1 to 100): morning doji star is always bullish; + * the user should consider that a morning star is significant when it appears in a downtrend, + * while this function does not consider the trend + */ + outIdx = 0; + do + { + if( TA_REALBODY(i-2) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-2 ) && // 1st: long + TA_CANDLECOLOR(i-2) == -1 && // black + TA_REALBODY(i-1) <= TA_CANDLEAVERAGE( BodyDoji, BodyDojiPeriodTotal, i-1 ) && // 2nd: doji + TA_REALBODYGAPDOWN(i-1,i-2) && // gapping down + TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal, i ) && // 3rd: longer than short + TA_CANDLECOLOR(i) == 1 && // white real body + inClose[i] > inClose[i-2] + TA_REALBODY(i-2) * optInPenetration // closing well within 1st rb + ) + outInteger[outIdx++] = 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-2 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); + BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i-1 ) - TA_CANDLERANGE( BodyDoji, BodyDojiTrailingIdx ); + BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx ); + i++; + BodyLongTrailingIdx++; + BodyDojiTrailingIdx++; + BodyShortTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlMorningDojiStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlMorningDojiStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLMORNINGDOJISTAR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyDojiPeriodTotal, BodyLongPeriodTotal, BodyShortPeriodTotal; +/* Generated */ int i, outIdx, BodyDojiTrailingIdx, BodyLongTrailingIdx, BodyShortTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( optInPenetration == TA_REAL_DEFAULT ) +/* Generated */ optInPenetration = 3.000000e-1; +/* Generated */ else if( (optInPenetration < 0.000000e+0) || (optInPenetration > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLMORNINGDOJISTAR)(optInPenetration); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyLongPeriodTotal = 0; +/* Generated */ BodyDojiPeriodTotal = 0; +/* Generated */ BodyShortPeriodTotal = 0; +/* Generated */ BodyLongTrailingIdx = startIdx -2 - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ BodyDojiTrailingIdx = startIdx -1 - TA_CANDLEAVGPERIOD(BodyDoji); +/* Generated */ BodyShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx-2 ) { +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyDojiTrailingIdx; +/* Generated */ while( i < startIdx-1 ) { +/* Generated */ BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i-2) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-2 ) && // 1st: long +/* Generated */ TA_CANDLECOLOR(i-2) == -1 && // black +/* Generated */ TA_REALBODY(i-1) <= TA_CANDLEAVERAGE( BodyDoji, BodyDojiPeriodTotal, i-1 ) && // 2nd: doji +/* Generated */ TA_REALBODYGAPDOWN(i-1,i-2) && // gapping down +/* Generated */ TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal, i ) && // 3rd: longer than short +/* Generated */ TA_CANDLECOLOR(i) == 1 && // white real body +/* Generated */ inClose[i] > inClose[i-2] + TA_REALBODY(i-2) * optInPenetration // closing well within 1st rb +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-2 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); +/* Generated */ BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i-1 ) - TA_CANDLERANGE( BodyDoji, BodyDojiTrailingIdx ); +/* Generated */ BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ BodyDojiTrailingIdx++; +/* Generated */ BodyShortTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLMORNINGSTAR.c b/vendor/ta-lib/src/ta_func/ta_CDLMORNINGSTAR.c new file mode 100644 index 000000000..86334e8f0 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLMORNINGSTAR.c @@ -0,0 +1,411 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 100304 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlMorningStarLookback( double optInPenetration ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlMorningStarLookback( double optInPenetration ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLMORNINGSTAR_Lookback( double optInPenetration ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( optInPenetration == TA_REAL_DEFAULT ) +/* Generated */ optInPenetration = 3.000000e-1; +/* Generated */ else if( (optInPenetration < 0.000000e+0) ||/* Generated */ (optInPenetration > 3.000000e+37) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + UNUSED_VARIABLE(optInPenetration); + return max( TA_CANDLEAVGPERIOD(BodyShort), TA_CANDLEAVGPERIOD(BodyLong) ) + 2; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLMORNINGSTAR - Morning Star + * + * Input = Open, High, Low, Close + * Output = int + * + * Optional Parameters + * ------------------- + * optInPenetration:(From 0 to TA_REAL_MAX) + * Percentage of penetration of a candle within another candle + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlMorningStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlMorningStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlMorningStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLMORNINGSTAR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyShortPeriodTotal, BodyLongPeriodTotal, BodyShortPeriodTotal2; + int i, outIdx, BodyShortTrailingIdx, BodyLongTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ if( optInPenetration == TA_REAL_DEFAULT ) +/* Generated */ optInPenetration = 3.000000e-1; +/* Generated */ else if( (optInPenetration < 0.000000e+0) ||/* Generated */ (optInPenetration > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLMORNINGSTAR)(optInPenetration); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyLongPeriodTotal = 0; + BodyShortPeriodTotal = 0; + BodyShortPeriodTotal2 = 0; + BodyLongTrailingIdx = startIdx -2 - TA_CANDLEAVGPERIOD(BodyLong); + BodyShortTrailingIdx = startIdx -1 - TA_CANDLEAVGPERIOD(BodyShort); + + i = BodyLongTrailingIdx; + while( i < startIdx-2 ) { + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); + i++; + } + i = BodyShortTrailingIdx; + while( i < startIdx-1 ) { + BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ); + BodyShortPeriodTotal2 += TA_CANDLERANGE( BodyShort, i+1 ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: long black real body + * - second candle: star (Short real body gapping down) + * - third candle: white real body that moves well within the first candle's real body + * The meaning of "short" and "long" is specified with TA_SetCandleSettings + * The meaning of "moves well within" is specified with optInPenetration and "moves" should mean the real body should + * not be short ("short" is specified with TA_SetCandleSettings) - Greg Morris wants it to be long, someone else want + * it to be relatively long + * outInteger is positive (1 to 100): morning star is always bullish; + * the user should consider that a morning star is significant when it appears in a downtrend, + * while this function does not consider the trend + */ + outIdx = 0; + do + { + if( TA_REALBODY(i-2) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-2 ) && // 1st: long + TA_CANDLECOLOR(i-2) == -1 && // black + TA_REALBODY(i-1) <= TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal, i-1 ) && // 2nd: short + TA_REALBODYGAPDOWN(i-1,i-2) && // gapping down + TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal2, i ) && // 3rd: longer than short + TA_CANDLECOLOR(i) == 1 && // black real body + inClose[i] > inClose[i-2] + TA_REALBODY(i-2) * optInPenetration // closing well within 1st rb + ) + outInteger[outIdx++] = 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-2 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); + BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i-1 ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx ); + BodyShortPeriodTotal2 += TA_CANDLERANGE( BodyShort, i ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx+1 ); + i++; + BodyLongTrailingIdx++; + BodyShortTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlMorningStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlMorningStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLMORNINGSTAR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ double optInPenetration, /* From 0 to TA_REAL_MAX */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyShortPeriodTotal, BodyLongPeriodTotal, BodyShortPeriodTotal2; +/* Generated */ int i, outIdx, BodyShortTrailingIdx, BodyLongTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( optInPenetration == TA_REAL_DEFAULT ) +/* Generated */ optInPenetration = 3.000000e-1; +/* Generated */ else if( (optInPenetration < 0.000000e+0) || (optInPenetration > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLMORNINGSTAR)(optInPenetration); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyLongPeriodTotal = 0; +/* Generated */ BodyShortPeriodTotal = 0; +/* Generated */ BodyShortPeriodTotal2 = 0; +/* Generated */ BodyLongTrailingIdx = startIdx -2 - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ BodyShortTrailingIdx = startIdx -1 - TA_CANDLEAVGPERIOD(BodyShort); +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx-2 ) { +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyShortTrailingIdx; +/* Generated */ while( i < startIdx-1 ) { +/* Generated */ BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ); +/* Generated */ BodyShortPeriodTotal2 += TA_CANDLERANGE( BodyShort, i+1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i-2) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-2 ) && // 1st: long +/* Generated */ TA_CANDLECOLOR(i-2) == -1 && // black +/* Generated */ TA_REALBODY(i-1) <= TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal, i-1 ) && // 2nd: short +/* Generated */ TA_REALBODYGAPDOWN(i-1,i-2) && // gapping down +/* Generated */ TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal2, i ) && // 3rd: longer than short +/* Generated */ TA_CANDLECOLOR(i) == 1 && // black real body +/* Generated */ inClose[i] > inClose[i-2] + TA_REALBODY(i-2) * optInPenetration // closing well within 1st rb +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-2 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); +/* Generated */ BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i-1 ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx ); +/* Generated */ BodyShortPeriodTotal2 += TA_CANDLERANGE( BodyShort, i ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx+1 ); +/* Generated */ i++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ BodyShortTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLONNECK.c b/vendor/ta-lib/src/ta_func/ta_CDLONNECK.c new file mode 100644 index 000000000..6f4bacd09 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLONNECK.c @@ -0,0 +1,373 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 121104 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlOnNeckLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlOnNeckLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLONNECK_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( TA_CANDLEAVGPERIOD(Equal), TA_CANDLEAVGPERIOD(BodyLong) + ) + 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLONNECK - On-Neck Pattern + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlOnNeck( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlOnNeck( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlOnNeck( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLONNECK( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double EqualPeriodTotal, BodyLongPeriodTotal; + int i, outIdx, EqualTrailingIdx, BodyLongTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLONNECK)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + EqualPeriodTotal = 0; + EqualTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Equal); + BodyLongPeriodTotal = 0; + BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); + + i = EqualTrailingIdx; + while( i < startIdx ) { + EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ); + i++; + } + i = BodyLongTrailingIdx; + while( i < startIdx ) { + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-1 ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: long black candle + * - second candle: white candle with open below previous day low and close equal to previous day low + * The meaning of "equal" is specified with TA_SetCandleSettings + * outInteger is negative (-1 to -100): on-neck is always bearish + * the user should consider that on-neck is significant when it appears in a downtrend, while this function + * does not consider it + */ + outIdx = 0; + do + { + if( TA_CANDLECOLOR(i-1) == -1 && // 1st: black + TA_REALBODY(i-1) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-1 ) && // long + TA_CANDLECOLOR(i) == 1 && // 2nd: white + inOpen[i] < inLow[i-1] && // open below prior low + inClose[i] <= inLow[i-1] + TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-1 ) && // close equal to prior low + inClose[i] >= inLow[i-1] - TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-1 ) + ) + outInteger[outIdx++] = -100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ) - TA_CANDLERANGE( Equal, EqualTrailingIdx-1 ); + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-1 ) + - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-1 ); + i++; + EqualTrailingIdx++; + BodyLongTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlOnNeck( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlOnNeck( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLONNECK( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double EqualPeriodTotal, BodyLongPeriodTotal; +/* Generated */ int i, outIdx, EqualTrailingIdx, BodyLongTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLONNECK)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ EqualPeriodTotal = 0; +/* Generated */ EqualTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Equal); +/* Generated */ BodyLongPeriodTotal = 0; +/* Generated */ BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ i = EqualTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_CANDLECOLOR(i-1) == -1 && // 1st: black +/* Generated */ TA_REALBODY(i-1) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-1 ) && // long +/* Generated */ TA_CANDLECOLOR(i) == 1 && // 2nd: white +/* Generated */ inOpen[i] < inLow[i-1] && // open below prior low +/* Generated */ inClose[i] <= inLow[i-1] + TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-1 ) && // close equal to prior low +/* Generated */ inClose[i] >= inLow[i-1] - TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-1 ) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = -100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ) - TA_CANDLERANGE( Equal, EqualTrailingIdx-1 ); +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-1 ) +/* Generated */ - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-1 ); +/* Generated */ i++; +/* Generated */ EqualTrailingIdx++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLPIERCING.c b/vendor/ta-lib/src/ta_func/ta_CDLPIERCING.c new file mode 100644 index 000000000..7d95aaaae --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLPIERCING.c @@ -0,0 +1,363 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120904 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlPiercingLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlPiercingLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLPIERCING_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return TA_CANDLEAVGPERIOD(BodyLong) + 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLPIERCING - Piercing Pattern + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlPiercing( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlPiercing( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlPiercing( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLPIERCING( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + ARRAY_LOCAL(BodyLongPeriodTotal,2); + int i, outIdx, totIdx, BodyLongTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLPIERCING)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyLongPeriodTotal[1] = 0; + BodyLongPeriodTotal[0] = 0; + BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); + + i = BodyLongTrailingIdx; + while( i < startIdx ) { + BodyLongPeriodTotal[1] += TA_CANDLERANGE( BodyLong, i-1 ); + BodyLongPeriodTotal[0] += TA_CANDLERANGE( BodyLong, i ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: long black candle + * - second candle: long white candle with open below previous day low and close at least at 50% of previous day + * real body + * The meaning of "long" is specified with TA_SetCandleSettings + * outInteger is positive (1 to 100): piercing pattern is always bullish + * the user should consider that a piercing pattern is significant when it appears in a downtrend, while + * this function does not consider it + */ + outIdx = 0; + do + { + if( TA_CANDLECOLOR(i-1) == -1 && // 1st: black + TA_REALBODY(i-1) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal[1], i-1 ) && // long + TA_CANDLECOLOR(i) == 1 && // 2nd: white + TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal[0], i ) && // long + inOpen[i] < inLow[i-1] && // open below prior low + inClose[i] < inOpen[i-1] && // close within prior body + inClose[i] > inClose[i-1] + TA_REALBODY(i-1) * 0.5 // above midpoint + ) + outInteger[outIdx++] = 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + for (totIdx = 1; totIdx >= 0; --totIdx) + BodyLongPeriodTotal[totIdx] += TA_CANDLERANGE( BodyLong, i-totIdx ) + - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-totIdx ); + i++; + BodyLongTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlPiercing( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlPiercing( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLPIERCING( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ARRAY_LOCAL(BodyLongPeriodTotal,2); +/* Generated */ int i, outIdx, totIdx, BodyLongTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLPIERCING)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyLongPeriodTotal[1] = 0; +/* Generated */ BodyLongPeriodTotal[0] = 0; +/* Generated */ BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyLongPeriodTotal[1] += TA_CANDLERANGE( BodyLong, i-1 ); +/* Generated */ BodyLongPeriodTotal[0] += TA_CANDLERANGE( BodyLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_CANDLECOLOR(i-1) == -1 && // 1st: black +/* Generated */ TA_REALBODY(i-1) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal[1], i-1 ) && // long +/* Generated */ TA_CANDLECOLOR(i) == 1 && // 2nd: white +/* Generated */ TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal[0], i ) && // long +/* Generated */ inOpen[i] < inLow[i-1] && // open below prior low +/* Generated */ inClose[i] < inOpen[i-1] && // close within prior body +/* Generated */ inClose[i] > inClose[i-1] + TA_REALBODY(i-1) * 0.5 // above midpoint +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ for (totIdx = 1; totIdx >= 0; --totIdx) +/* Generated */ BodyLongPeriodTotal[totIdx] += TA_CANDLERANGE( BodyLong, i-totIdx ) +/* Generated */ - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-totIdx ); +/* Generated */ i++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLRICKSHAWMAN.c b/vendor/ta-lib/src/ta_func/ta_CDLRICKSHAWMAN.c new file mode 100644 index 000000000..798b2632a --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLRICKSHAWMAN.c @@ -0,0 +1,396 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 011505 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlRickshawManLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlRickshawManLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLRICKSHAWMAN_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( max( TA_CANDLEAVGPERIOD(BodyDoji), TA_CANDLEAVGPERIOD(ShadowLong) ), + TA_CANDLEAVGPERIOD(Near) + ); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLRICKSHAWMAN - Rickshaw Man + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlRickshawMan( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlRickshawMan( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlRickshawMan( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLRICKSHAWMAN( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyDojiPeriodTotal, ShadowLongPeriodTotal, NearPeriodTotal; + int i, outIdx, BodyDojiTrailingIdx, ShadowLongTrailingIdx, NearTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLRICKSHAWMAN)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyDojiPeriodTotal = 0; + BodyDojiTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyDoji); + ShadowLongPeriodTotal = 0; + ShadowLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowLong); + NearPeriodTotal = 0; + NearTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Near); + + i = BodyDojiTrailingIdx; + while( i < startIdx ) { + BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ); + i++; + } + i = ShadowLongTrailingIdx; + while( i < startIdx ) { + ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i ); + i++; + } + i = NearTrailingIdx; + while( i < startIdx ) { + NearPeriodTotal += TA_CANDLERANGE( Near, i ); + i++; + } + + /* Proceed with the calculation for the requested range. + * + * Must have: + * - doji body + * - two long shadows + * - body near the midpoint of the high-low range + * The meaning of "doji" and "near" is specified with TA_SetCandleSettings + * outInteger is always positive (1 to 100) but this does not mean it is bullish: rickshaw man shows uncertainty + */ + outIdx = 0; + do + { + if( TA_REALBODY(i) <= TA_CANDLEAVERAGE( BodyDoji, BodyDojiPeriodTotal, i ) && // doji + TA_LOWERSHADOW(i) > TA_CANDLEAVERAGE( ShadowLong, ShadowLongPeriodTotal, i ) && // long shadow + TA_UPPERSHADOW(i) > TA_CANDLEAVERAGE( ShadowLong, ShadowLongPeriodTotal, i ) && // long shadow + ( // body near midpoint + min( inOpen[i], inClose[i] ) + <= inLow[i] + TA_HIGHLOWRANGE(i) / 2 + TA_CANDLEAVERAGE( Near, NearPeriodTotal, i ) + && + max( inOpen[i], inClose[i] ) + >= inLow[i] + TA_HIGHLOWRANGE(i) / 2 - TA_CANDLEAVERAGE( Near, NearPeriodTotal, i ) + ) + ) + outInteger[outIdx++] = 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ) - TA_CANDLERANGE( BodyDoji, BodyDojiTrailingIdx ); + ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i ) - TA_CANDLERANGE( ShadowLong, ShadowLongTrailingIdx ); + NearPeriodTotal += TA_CANDLERANGE( Near, i ) - TA_CANDLERANGE( Near, NearTrailingIdx ); + i++; + BodyDojiTrailingIdx++; + ShadowLongTrailingIdx++; + NearTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlRickshawMan( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlRickshawMan( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLRICKSHAWMAN( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyDojiPeriodTotal, ShadowLongPeriodTotal, NearPeriodTotal; +/* Generated */ int i, outIdx, BodyDojiTrailingIdx, ShadowLongTrailingIdx, NearTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLRICKSHAWMAN)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyDojiPeriodTotal = 0; +/* Generated */ BodyDojiTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyDoji); +/* Generated */ ShadowLongPeriodTotal = 0; +/* Generated */ ShadowLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowLong); +/* Generated */ NearPeriodTotal = 0; +/* Generated */ NearTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Near); +/* Generated */ i = BodyDojiTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = ShadowLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = NearTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ NearPeriodTotal += TA_CANDLERANGE( Near, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i) <= TA_CANDLEAVERAGE( BodyDoji, BodyDojiPeriodTotal, i ) && // doji +/* Generated */ TA_LOWERSHADOW(i) > TA_CANDLEAVERAGE( ShadowLong, ShadowLongPeriodTotal, i ) && // long shadow +/* Generated */ TA_UPPERSHADOW(i) > TA_CANDLEAVERAGE( ShadowLong, ShadowLongPeriodTotal, i ) && // long shadow +/* Generated */ ( // body near midpoint +/* Generated */ min( inOpen[i], inClose[i] ) +/* Generated */ <= inLow[i] + TA_HIGHLOWRANGE(i) / 2 + TA_CANDLEAVERAGE( Near, NearPeriodTotal, i ) +/* Generated */ && +/* Generated */ max( inOpen[i], inClose[i] ) +/* Generated */ >= inLow[i] + TA_HIGHLOWRANGE(i) / 2 - TA_CANDLEAVERAGE( Near, NearPeriodTotal, i ) +/* Generated */ ) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ) - TA_CANDLERANGE( BodyDoji, BodyDojiTrailingIdx ); +/* Generated */ ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i ) - TA_CANDLERANGE( ShadowLong, ShadowLongTrailingIdx ); +/* Generated */ NearPeriodTotal += TA_CANDLERANGE( Near, i ) - TA_CANDLERANGE( Near, NearTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyDojiTrailingIdx++; +/* Generated */ ShadowLongTrailingIdx++; +/* Generated */ NearTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLRISEFALL3METHODS.c b/vendor/ta-lib/src/ta_func/ta_CDLRISEFALL3METHODS.c new file mode 100644 index 000000000..3766281df --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLRISEFALL3METHODS.c @@ -0,0 +1,422 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 020605 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlRiseFall3MethodsLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlRiseFall3MethodsLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLRISEFALL3METHODS_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( TA_CANDLEAVGPERIOD(BodyShort), TA_CANDLEAVGPERIOD(BodyLong) ) + 4; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLRISEFALL3METHODS - Rising/Falling Three Methods + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlRiseFall3Methods( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlRiseFall3Methods( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlRiseFall3Methods( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLRISEFALL3METHODS( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + ARRAY_LOCAL(BodyPeriodTotal,5); + int i, outIdx, totIdx, BodyShortTrailingIdx, BodyLongTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLRISEFALL3METHODS)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyPeriodTotal[4] = 0; + BodyPeriodTotal[3] = 0; + BodyPeriodTotal[2] = 0; + BodyPeriodTotal[1] = 0; + BodyPeriodTotal[0] = 0; + BodyShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); + BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); + + i = BodyShortTrailingIdx; + while( i < startIdx ) { + BodyPeriodTotal[3] += TA_CANDLERANGE( BodyShort, i-3 ); + BodyPeriodTotal[2] += TA_CANDLERANGE( BodyShort, i-2 ); + BodyPeriodTotal[1] += TA_CANDLERANGE( BodyShort, i-1 ); + i++; + } + i = BodyLongTrailingIdx; + while( i < startIdx ) { + BodyPeriodTotal[4] += TA_CANDLERANGE( BodyLong, i-4 ); + BodyPeriodTotal[0] += TA_CANDLERANGE( BodyLong, i ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: long white (black) candlestick + * - then: group of falling (rising) small real body candlesticks (commonly black (white)) that hold within + * the prior long candle's range: ideally they should be three but two or more than three are ok too + * - final candle: long white (black) candle that opens above (below) the previous small candle's close + * and closes above (below) the first long candle's close + * The meaning of "short" and "long" is specified with TA_SetCandleSettings; here only patterns with 3 small candles + * are considered; + * outInteger is positive (1 to 100) or negative (-1 to -100) + */ + outIdx = 0; + do + { + if( // 1st long, then 3 small, 5th long + TA_REALBODY(i-4) > TA_CANDLEAVERAGE( BodyLong, BodyPeriodTotal[4], i-4 ) && + TA_REALBODY(i-3) < TA_CANDLEAVERAGE( BodyShort, BodyPeriodTotal[3], i-3 ) && + TA_REALBODY(i-2) < TA_CANDLEAVERAGE( BodyShort, BodyPeriodTotal[2], i-2 ) && + TA_REALBODY(i-1) < TA_CANDLEAVERAGE( BodyShort, BodyPeriodTotal[1], i-1 ) && + TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyLong, BodyPeriodTotal[0], i ) && + // white, 3 black, white || black, 3 white, black + TA_CANDLECOLOR(i-4) == -TA_CANDLECOLOR(i-3) && + TA_CANDLECOLOR(i-3) == TA_CANDLECOLOR(i-2) && + TA_CANDLECOLOR(i-2) == TA_CANDLECOLOR(i-1) && + TA_CANDLECOLOR(i-1) == -TA_CANDLECOLOR(i) && + // 2nd to 4th hold within 1st: a part of the real body must be within 1st range + min(inOpen[i-3], inClose[i-3]) < inHigh[i-4] && max(inOpen[i-3], inClose[i-3]) > inLow[i-4] && + min(inOpen[i-2], inClose[i-2]) < inHigh[i-4] && max(inOpen[i-2], inClose[i-2]) > inLow[i-4] && + min(inOpen[i-1], inClose[i-1]) < inHigh[i-4] && max(inOpen[i-1], inClose[i-1]) > inLow[i-4] && + // 2nd to 4th are falling (rising) + inClose[i-2] * TA_CANDLECOLOR(i-4) < inClose[i-3] * TA_CANDLECOLOR(i-4) && + inClose[i-1] * TA_CANDLECOLOR(i-4) < inClose[i-2] * TA_CANDLECOLOR(i-4) && + // 5th opens above (below) the prior close + inOpen[i] * TA_CANDLECOLOR(i-4) > inClose[i-1] * TA_CANDLECOLOR(i-4) && + // 5th closes above (below) the 1st close + inClose[i] * TA_CANDLECOLOR(i-4) > inClose[i-4] * TA_CANDLECOLOR(i-4) + ) + outInteger[outIdx++] = 100 * TA_CANDLECOLOR(i-4); + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyPeriodTotal[4] += TA_CANDLERANGE( BodyLong, i-4 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-4 ); + for (totIdx = 3; totIdx >= 1; --totIdx) + BodyPeriodTotal[totIdx] += TA_CANDLERANGE( BodyShort, i-totIdx ) + - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx-totIdx ); + BodyPeriodTotal[0] += TA_CANDLERANGE( BodyLong, i ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); + i++; + BodyShortTrailingIdx++; + BodyLongTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlRiseFall3Methods( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlRiseFall3Methods( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLRISEFALL3METHODS( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ARRAY_LOCAL(BodyPeriodTotal,5); +/* Generated */ int i, outIdx, totIdx, BodyShortTrailingIdx, BodyLongTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLRISEFALL3METHODS)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyPeriodTotal[4] = 0; +/* Generated */ BodyPeriodTotal[3] = 0; +/* Generated */ BodyPeriodTotal[2] = 0; +/* Generated */ BodyPeriodTotal[1] = 0; +/* Generated */ BodyPeriodTotal[0] = 0; +/* Generated */ BodyShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); +/* Generated */ BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ i = BodyShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyPeriodTotal[3] += TA_CANDLERANGE( BodyShort, i-3 ); +/* Generated */ BodyPeriodTotal[2] += TA_CANDLERANGE( BodyShort, i-2 ); +/* Generated */ BodyPeriodTotal[1] += TA_CANDLERANGE( BodyShort, i-1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyPeriodTotal[4] += TA_CANDLERANGE( BodyLong, i-4 ); +/* Generated */ BodyPeriodTotal[0] += TA_CANDLERANGE( BodyLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( // 1st long, then 3 small, 5th long +/* Generated */ TA_REALBODY(i-4) > TA_CANDLEAVERAGE( BodyLong, BodyPeriodTotal[4], i-4 ) && +/* Generated */ TA_REALBODY(i-3) < TA_CANDLEAVERAGE( BodyShort, BodyPeriodTotal[3], i-3 ) && +/* Generated */ TA_REALBODY(i-2) < TA_CANDLEAVERAGE( BodyShort, BodyPeriodTotal[2], i-2 ) && +/* Generated */ TA_REALBODY(i-1) < TA_CANDLEAVERAGE( BodyShort, BodyPeriodTotal[1], i-1 ) && +/* Generated */ TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyLong, BodyPeriodTotal[0], i ) && +/* Generated */ // white, 3 black, white || black, 3 white, black +/* Generated */ TA_CANDLECOLOR(i-4) == -TA_CANDLECOLOR(i-3) && +/* Generated */ TA_CANDLECOLOR(i-3) == TA_CANDLECOLOR(i-2) && +/* Generated */ TA_CANDLECOLOR(i-2) == TA_CANDLECOLOR(i-1) && +/* Generated */ TA_CANDLECOLOR(i-1) == -TA_CANDLECOLOR(i) && +/* Generated */ // 2nd to 4th hold within 1st: a part of the real body must be within 1st range +/* Generated */ min(inOpen[i-3], inClose[i-3]) < inHigh[i-4] && max(inOpen[i-3], inClose[i-3]) > inLow[i-4] && +/* Generated */ min(inOpen[i-2], inClose[i-2]) < inHigh[i-4] && max(inOpen[i-2], inClose[i-2]) > inLow[i-4] && +/* Generated */ min(inOpen[i-1], inClose[i-1]) < inHigh[i-4] && max(inOpen[i-1], inClose[i-1]) > inLow[i-4] && +/* Generated */ // 2nd to 4th are falling (rising) +/* Generated */ inClose[i-2] * TA_CANDLECOLOR(i-4) < inClose[i-3] * TA_CANDLECOLOR(i-4) && +/* Generated */ inClose[i-1] * TA_CANDLECOLOR(i-4) < inClose[i-2] * TA_CANDLECOLOR(i-4) && +/* Generated */ // 5th opens above (below) the prior close +/* Generated */ inOpen[i] * TA_CANDLECOLOR(i-4) > inClose[i-1] * TA_CANDLECOLOR(i-4) && +/* Generated */ // 5th closes above (below) the 1st close +/* Generated */ inClose[i] * TA_CANDLECOLOR(i-4) > inClose[i-4] * TA_CANDLECOLOR(i-4) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = 100 * TA_CANDLECOLOR(i-4); +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyPeriodTotal[4] += TA_CANDLERANGE( BodyLong, i-4 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-4 ); +/* Generated */ for (totIdx = 3; totIdx >= 1; --totIdx) +/* Generated */ BodyPeriodTotal[totIdx] += TA_CANDLERANGE( BodyShort, i-totIdx ) +/* Generated */ - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx-totIdx ); +/* Generated */ BodyPeriodTotal[0] += TA_CANDLERANGE( BodyLong, i ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyShortTrailingIdx++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLSEPARATINGLINES.c b/vendor/ta-lib/src/ta_func/ta_CDLSEPARATINGLINES.c new file mode 100644 index 000000000..0bb52152b --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLSEPARATINGLINES.c @@ -0,0 +1,406 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 011505 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlSeperatingLinesLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlSeperatingLinesLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLSEPARATINGLINES_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( max( TA_CANDLEAVGPERIOD(ShadowVeryShort), TA_CANDLEAVGPERIOD(BodyLong) ), + TA_CANDLEAVGPERIOD(Equal) + ) + 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLSEPARATINGLINES - Separating Lines + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlSeperatingLines( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlSeperatingLines( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlSeperatingLines( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLSEPARATINGLINES( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double ShadowVeryShortPeriodTotal, BodyLongPeriodTotal, EqualPeriodTotal; + int i, outIdx, ShadowVeryShortTrailingIdx, BodyLongTrailingIdx, EqualTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLSEPARATINGLINES)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + ShadowVeryShortPeriodTotal = 0; + ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); + BodyLongPeriodTotal = 0; + BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); + EqualPeriodTotal = 0; + EqualTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Equal); + + i = ShadowVeryShortTrailingIdx; + while( i < startIdx ) { + ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ); + i++; + } + i = BodyLongTrailingIdx; + while( i < startIdx ) { + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); + i++; + } + i = EqualTrailingIdx; + while( i < startIdx ) { + EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: black (white) candle + * - second candle: bullish (bearish) belt hold with the same open as the prior candle + * The meaning of "long body" and "very short shadow" of the belt hold is specified with TA_SetCandleSettings + * outInteger is positive (1 to 100) when bullish or negative (-1 to -100) when bearish; + * the user should consider that separating lines is significant when coming in a trend and the belt hold has + * the same direction of the trend, while this function does not consider it + */ + outIdx = 0; + do + { + if( TA_CANDLECOLOR(i-1) == -TA_CANDLECOLOR(i) && // opposite candles + inOpen[i] <= inOpen[i-1] + TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-1 ) && // same open + inOpen[i] >= inOpen[i-1] - TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-1 ) && + TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i ) && // belt hold: long body + ( + ( TA_CANDLECOLOR(i) == 1 && // with no lower shadow if bullish + TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) + ) + || + ( TA_CANDLECOLOR(i) == -1 && // with no upper shadow if bearish + TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) + ) + ) + ) + outInteger[outIdx++] = TA_CANDLECOLOR(i) * 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ) + - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx ); + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); + EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ) - TA_CANDLERANGE( Equal, EqualTrailingIdx-1 ); + i++; + ShadowVeryShortTrailingIdx++; + BodyLongTrailingIdx++; + EqualTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlSeperatingLines( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlSeperatingLines( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLSEPARATINGLINES( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double ShadowVeryShortPeriodTotal, BodyLongPeriodTotal, EqualPeriodTotal; +/* Generated */ int i, outIdx, ShadowVeryShortTrailingIdx, BodyLongTrailingIdx, EqualTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLSEPARATINGLINES)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ ShadowVeryShortPeriodTotal = 0; +/* Generated */ ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); +/* Generated */ BodyLongPeriodTotal = 0; +/* Generated */ BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ EqualPeriodTotal = 0; +/* Generated */ EqualTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Equal); +/* Generated */ i = ShadowVeryShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = EqualTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_CANDLECOLOR(i-1) == -TA_CANDLECOLOR(i) && // opposite candles +/* Generated */ inOpen[i] <= inOpen[i-1] + TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-1 ) && // same open +/* Generated */ inOpen[i] >= inOpen[i-1] - TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-1 ) && +/* Generated */ TA_REALBODY(i) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i ) && // belt hold: long body +/* Generated */ ( +/* Generated */ ( TA_CANDLECOLOR(i) == 1 && // with no lower shadow if bullish +/* Generated */ TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) +/* Generated */ ) +/* Generated */ || +/* Generated */ ( TA_CANDLECOLOR(i) == -1 && // with no upper shadow if bearish +/* Generated */ TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) +/* Generated */ ) +/* Generated */ ) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = TA_CANDLECOLOR(i) * 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ) +/* Generated */ - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx ); +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); +/* Generated */ EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ) - TA_CANDLERANGE( Equal, EqualTrailingIdx-1 ); +/* Generated */ i++; +/* Generated */ ShadowVeryShortTrailingIdx++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ EqualTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLSHOOTINGSTAR.c b/vendor/ta-lib/src/ta_func/ta_CDLSHOOTINGSTAR.c new file mode 100644 index 000000000..93f5b82fc --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLSHOOTINGSTAR.c @@ -0,0 +1,389 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 103004 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlShootingStarLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlShootingStarLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLSHOOTINGSTAR_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( max( TA_CANDLEAVGPERIOD(BodyShort), TA_CANDLEAVGPERIOD(ShadowLong) ), + TA_CANDLEAVGPERIOD(ShadowVeryShort) + ) + 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLSHOOTINGSTAR - Shooting Star + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlShootingStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlShootingStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlShootingStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLSHOOTINGSTAR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyPeriodTotal, ShadowLongPeriodTotal, ShadowVeryShortPeriodTotal; + int i, outIdx, BodyTrailingIdx, ShadowLongTrailingIdx, ShadowVeryShortTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLSHOOTINGSTAR)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyPeriodTotal = 0; + BodyTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); + ShadowLongPeriodTotal = 0; + ShadowLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowLong); + ShadowVeryShortPeriodTotal = 0; + ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); + + i = BodyTrailingIdx; + while( i < startIdx ) { + BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ); + i++; + } + i = ShadowLongTrailingIdx; + while( i < startIdx ) { + ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i ); + i++; + } + i = ShadowVeryShortTrailingIdx; + while( i < startIdx ) { + ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ); + i++; + } + + /* Proceed with the calculation for the requested range. + * Must have: + * - small real body + * - long upper shadow + * - no, or very short, lower shadow + * - gap up from prior real body + * The meaning of "short", "very short" and "long" is specified with TA_SetCandleSettings; + * outInteger is negative (-1 to -100): shooting star is always bearish; + * the user should consider that a shooting star must appear in an uptrend, while this function does not consider it + */ + outIdx = 0; + do + { + if( TA_REALBODY(i) < TA_CANDLEAVERAGE( BodyShort, BodyPeriodTotal, i ) && // small rb + TA_UPPERSHADOW(i) > TA_CANDLEAVERAGE( ShadowLong, ShadowLongPeriodTotal, i ) && // long upper shadow + TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) && // very short lower shadow + TA_REALBODYGAPUP(i, i-1) ) // gap up + outInteger[outIdx++] = -100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ) + - TA_CANDLERANGE( BodyShort, BodyTrailingIdx ); + ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i ) + - TA_CANDLERANGE( ShadowLong, ShadowLongTrailingIdx ); + ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ) + - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx ); + i++; + BodyTrailingIdx++; + ShadowLongTrailingIdx++; + ShadowVeryShortTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlShootingStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlShootingStar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLSHOOTINGSTAR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyPeriodTotal, ShadowLongPeriodTotal, ShadowVeryShortPeriodTotal; +/* Generated */ int i, outIdx, BodyTrailingIdx, ShadowLongTrailingIdx, ShadowVeryShortTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLSHOOTINGSTAR)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyPeriodTotal = 0; +/* Generated */ BodyTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); +/* Generated */ ShadowLongPeriodTotal = 0; +/* Generated */ ShadowLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowLong); +/* Generated */ ShadowVeryShortPeriodTotal = 0; +/* Generated */ ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); +/* Generated */ i = BodyTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = ShadowLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = ShadowVeryShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i) < TA_CANDLEAVERAGE( BodyShort, BodyPeriodTotal, i ) && // small rb +/* Generated */ TA_UPPERSHADOW(i) > TA_CANDLEAVERAGE( ShadowLong, ShadowLongPeriodTotal, i ) && // long upper shadow +/* Generated */ TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) && // very short lower shadow +/* Generated */ TA_REALBODYGAPUP(i, i-1) ) // gap up +/* Generated */ outInteger[outIdx++] = -100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ) +/* Generated */ - TA_CANDLERANGE( BodyShort, BodyTrailingIdx ); +/* Generated */ ShadowLongPeriodTotal += TA_CANDLERANGE( ShadowLong, i ) +/* Generated */ - TA_CANDLERANGE( ShadowLong, ShadowLongTrailingIdx ); +/* Generated */ ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ) +/* Generated */ - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyTrailingIdx++; +/* Generated */ ShadowLongTrailingIdx++; +/* Generated */ ShadowVeryShortTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLSHORTLINE.c b/vendor/ta-lib/src/ta_func/ta_CDLSHORTLINE.c new file mode 100644 index 000000000..dc9a37632 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLSHORTLINE.c @@ -0,0 +1,359 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 072404 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlShortLineLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlShortLineLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLSHORTLINE_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( TA_CANDLEAVGPERIOD(BodyShort), TA_CANDLEAVGPERIOD(ShadowShort) ); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLSHORTLINE - Short Line Candle + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlShortLine( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlShortLine( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlShortLine( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLSHORTLINE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyPeriodTotal, ShadowPeriodTotal; + int i, outIdx, BodyTrailingIdx, ShadowTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLSHORTLINE)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyPeriodTotal = 0; + BodyTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); + ShadowPeriodTotal = 0; + ShadowTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowShort); + + i = BodyTrailingIdx; + while( i < startIdx ) { + BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ); + i++; + } + i = ShadowTrailingIdx; + while( i < startIdx ) { + ShadowPeriodTotal += TA_CANDLERANGE( ShadowShort, i ); + i++; + } + + /* Proceed with the calculation for the requested range. + * Must have: + * - short real body + * - short upper and lower shadow + * The meaning of "short" is specified with TA_SetCandleSettings + * outInteger is positive (1 to 100) when white, negative (-1 to -100) when black; + * it does not mean bullish or bearish + */ + outIdx = 0; + do + { + if( TA_REALBODY(i) < TA_CANDLEAVERAGE( BodyShort, BodyPeriodTotal, i ) && + TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowShort, ShadowPeriodTotal, i ) && + TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowShort, ShadowPeriodTotal, i ) ) + outInteger[outIdx++] = TA_CANDLECOLOR(i) * 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ) - TA_CANDLERANGE( BodyShort, BodyTrailingIdx ); + ShadowPeriodTotal += TA_CANDLERANGE( ShadowShort, i ) - TA_CANDLERANGE( ShadowShort, ShadowTrailingIdx ); + i++; + BodyTrailingIdx++; + ShadowTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlShortLine( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlShortLine( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLSHORTLINE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyPeriodTotal, ShadowPeriodTotal; +/* Generated */ int i, outIdx, BodyTrailingIdx, ShadowTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLSHORTLINE)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyPeriodTotal = 0; +/* Generated */ BodyTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); +/* Generated */ ShadowPeriodTotal = 0; +/* Generated */ ShadowTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowShort); +/* Generated */ i = BodyTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = ShadowTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowPeriodTotal += TA_CANDLERANGE( ShadowShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i) < TA_CANDLEAVERAGE( BodyShort, BodyPeriodTotal, i ) && +/* Generated */ TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowShort, ShadowPeriodTotal, i ) && +/* Generated */ TA_LOWERSHADOW(i) < TA_CANDLEAVERAGE( ShadowShort, ShadowPeriodTotal, i ) ) +/* Generated */ outInteger[outIdx++] = TA_CANDLECOLOR(i) * 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ) - TA_CANDLERANGE( BodyShort, BodyTrailingIdx ); +/* Generated */ ShadowPeriodTotal += TA_CANDLERANGE( ShadowShort, i ) - TA_CANDLERANGE( ShadowShort, ShadowTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyTrailingIdx++; +/* Generated */ ShadowTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLSPINNINGTOP.c b/vendor/ta-lib/src/ta_func/ta_CDLSPINNINGTOP.c new file mode 100644 index 000000000..024255331 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLSPINNINGTOP.c @@ -0,0 +1,343 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 071804 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlSpinningTopLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlSpinningTopLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLSPINNINGTOP_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return TA_CANDLEAVGPERIOD(BodyShort); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLSPINNINGTOP - Spinning Top + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlSpinningTop( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlSpinningTop( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlSpinningTop( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLSPINNINGTOP( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyPeriodTotal; + int i, outIdx, BodyTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLSPINNINGTOP)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyPeriodTotal = 0; + BodyTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); + + i = BodyTrailingIdx; + while( i < startIdx ) { + BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ); + i++; + } + + /* Proceed with the calculation for the requested range. + * Must have: + * - small real body + * - shadows longer than the real body + * The meaning of "short" is specified with TA_SetCandleSettings + * outInteger is positive (1 to 100) when white or negative (-1 to -100) when black; + * it does not mean bullish or bearish + */ + outIdx = 0; + do + { + if( TA_REALBODY(i) < TA_CANDLEAVERAGE( BodyShort, BodyPeriodTotal, i ) && + TA_UPPERSHADOW(i) > TA_REALBODY(i) && + TA_LOWERSHADOW(i) > TA_REALBODY(i) + ) + outInteger[outIdx++] = TA_CANDLECOLOR(i) * 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ) - TA_CANDLERANGE( BodyShort, BodyTrailingIdx ); + i++; + BodyTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlSpinningTop( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlSpinningTop( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLSPINNINGTOP( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyPeriodTotal; +/* Generated */ int i, outIdx, BodyTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLSPINNINGTOP)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyPeriodTotal = 0; +/* Generated */ BodyTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); +/* Generated */ i = BodyTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i) < TA_CANDLEAVERAGE( BodyShort, BodyPeriodTotal, i ) && +/* Generated */ TA_UPPERSHADOW(i) > TA_REALBODY(i) && +/* Generated */ TA_LOWERSHADOW(i) > TA_REALBODY(i) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = TA_CANDLECOLOR(i) * 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyPeriodTotal += TA_CANDLERANGE( BodyShort, i ) - TA_CANDLERANGE( BodyShort, BodyTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLSTALLEDPATTERN.c b/vendor/ta-lib/src/ta_func/ta_CDLSTALLEDPATTERN.c new file mode 100644 index 000000000..a03d8ecdc --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLSTALLEDPATTERN.c @@ -0,0 +1,456 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120804 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlStalledPatternLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlStalledPatternLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLSTALLEDPATTERN_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( max( TA_CANDLEAVGPERIOD(BodyLong), TA_CANDLEAVGPERIOD(BodyShort) ), + max( TA_CANDLEAVGPERIOD(ShadowVeryShort), TA_CANDLEAVGPERIOD(Near) ) + ) + 2; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLSTALLEDPATTERN - Stalled Pattern + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlStalledPattern( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlStalledPattern( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlStalledPattern( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLSTALLEDPATTERN( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + ARRAY_LOCAL(BodyLongPeriodTotal,3); + ARRAY_LOCAL(NearPeriodTotal,3); + double BodyShortPeriodTotal, ShadowVeryShortPeriodTotal; + int i, outIdx, totIdx, BodyLongTrailingIdx, BodyShortTrailingIdx, ShadowVeryShortTrailingIdx, NearTrailingIdx, + lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLSTALLEDPATTERN)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyLongPeriodTotal[2] = 0; + BodyLongPeriodTotal[1] = 0; + BodyLongPeriodTotal[0] = 0; + BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); + BodyShortPeriodTotal = 0; + BodyShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); + ShadowVeryShortPeriodTotal = 0; + ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); + NearPeriodTotal[2] = 0; + NearPeriodTotal[1] = 0; + NearPeriodTotal[0] = 0; + NearTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Near); + + i = BodyLongTrailingIdx; + while( i < startIdx ) { + BodyLongPeriodTotal[2] += TA_CANDLERANGE( BodyLong, i-2 ); + BodyLongPeriodTotal[1] += TA_CANDLERANGE( BodyLong, i-1 ); + i++; + } + i = BodyShortTrailingIdx; + while( i < startIdx ) { + BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ); + i++; + } + i = ShadowVeryShortTrailingIdx; + while( i < startIdx ) { + ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i-1 ); + i++; + } + i = NearTrailingIdx; + while( i < startIdx ) { + NearPeriodTotal[2] += TA_CANDLERANGE( Near, i-2 ); + NearPeriodTotal[1] += TA_CANDLERANGE( Near, i-1 ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - three white candlesticks with consecutively higher closes + * - first candle: long white + * - second candle: long white with no or very short upper shadow opening within or near the previous white real body + * and closing higher than the prior candle + * - third candle: small white that gaps away or "rides on the shoulder" of the prior long real body (= it's at + * the upper end of the prior real body) + * The meanings of "long", "very short", "short", "near" are specified with TA_SetCandleSettings; + * outInteger is negative (-1 to -100): stalled pattern is always bearish; + * the user should consider that stalled pattern is significant when it appears in uptrend, while this function + * does not consider it + */ + outIdx = 0; + do + { + if( TA_CANDLECOLOR(i-2) == 1 && // 1st white + TA_CANDLECOLOR(i-1) == 1 && // 2nd white + TA_CANDLECOLOR(i) == 1 && // 3rd white + inClose[i] > inClose[i-1] && inClose[i-1] > inClose[i-2] && // consecutive higher closes + TA_REALBODY(i-2) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal[2], i-2 ) && // 1st: long real body + TA_REALBODY(i-1) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal[1], i-1 ) && // 2nd: long real body + // very short upper shadow + TA_UPPERSHADOW(i-1) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i-1 ) && + // opens within/near 1st real body + inOpen[i-1] > inOpen[i-2] && + inOpen[i-1] <= inClose[i-2] + TA_CANDLEAVERAGE( Near, NearPeriodTotal[2], i-2 ) && + TA_REALBODY(i) < TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal, i ) && // 3rd: small real body + // rides on the shoulder of 2nd real body + inOpen[i] >= inClose[i-1] - TA_REALBODY(i) - TA_CANDLEAVERAGE( Near, NearPeriodTotal[1], i-1 ) + ) + outInteger[outIdx++] = -100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + for (totIdx = 2; totIdx >= 1; --totIdx) { + BodyLongPeriodTotal[totIdx] += TA_CANDLERANGE( BodyLong, i-totIdx ) + - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-totIdx ); + NearPeriodTotal[totIdx] += TA_CANDLERANGE( Near, i-totIdx ) + - TA_CANDLERANGE( Near, NearTrailingIdx-totIdx ); + } + BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx ); + ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i-1 ) + - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx-1 ); + i++; + BodyLongTrailingIdx++; + BodyShortTrailingIdx++; + ShadowVeryShortTrailingIdx++; + NearTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlStalledPattern( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlStalledPattern( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLSTALLEDPATTERN( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ARRAY_LOCAL(BodyLongPeriodTotal,3); +/* Generated */ ARRAY_LOCAL(NearPeriodTotal,3); +/* Generated */ double BodyShortPeriodTotal, ShadowVeryShortPeriodTotal; +/* Generated */ int i, outIdx, totIdx, BodyLongTrailingIdx, BodyShortTrailingIdx, ShadowVeryShortTrailingIdx, NearTrailingIdx, +/* Generated */ lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLSTALLEDPATTERN)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyLongPeriodTotal[2] = 0; +/* Generated */ BodyLongPeriodTotal[1] = 0; +/* Generated */ BodyLongPeriodTotal[0] = 0; +/* Generated */ BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ BodyShortPeriodTotal = 0; +/* Generated */ BodyShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); +/* Generated */ ShadowVeryShortPeriodTotal = 0; +/* Generated */ ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); +/* Generated */ NearPeriodTotal[2] = 0; +/* Generated */ NearPeriodTotal[1] = 0; +/* Generated */ NearPeriodTotal[0] = 0; +/* Generated */ NearTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Near); +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyLongPeriodTotal[2] += TA_CANDLERANGE( BodyLong, i-2 ); +/* Generated */ BodyLongPeriodTotal[1] += TA_CANDLERANGE( BodyLong, i-1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = ShadowVeryShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i-1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = NearTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ NearPeriodTotal[2] += TA_CANDLERANGE( Near, i-2 ); +/* Generated */ NearPeriodTotal[1] += TA_CANDLERANGE( Near, i-1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_CANDLECOLOR(i-2) == 1 && // 1st white +/* Generated */ TA_CANDLECOLOR(i-1) == 1 && // 2nd white +/* Generated */ TA_CANDLECOLOR(i) == 1 && // 3rd white +/* Generated */ inClose[i] > inClose[i-1] && inClose[i-1] > inClose[i-2] && // consecutive higher closes +/* Generated */ TA_REALBODY(i-2) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal[2], i-2 ) && // 1st: long real body +/* Generated */ TA_REALBODY(i-1) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal[1], i-1 ) && // 2nd: long real body +/* Generated */ // very short upper shadow +/* Generated */ TA_UPPERSHADOW(i-1) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i-1 ) && +/* Generated */ // opens within/near 1st real body +/* Generated */ inOpen[i-1] > inOpen[i-2] && +/* Generated */ inOpen[i-1] <= inClose[i-2] + TA_CANDLEAVERAGE( Near, NearPeriodTotal[2], i-2 ) && +/* Generated */ TA_REALBODY(i) < TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal, i ) && // 3rd: small real body +/* Generated */ // rides on the shoulder of 2nd real body +/* Generated */ inOpen[i] >= inClose[i-1] - TA_REALBODY(i) - TA_CANDLEAVERAGE( Near, NearPeriodTotal[1], i-1 ) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = -100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ for (totIdx = 2; totIdx >= 1; --totIdx) { +/* Generated */ BodyLongPeriodTotal[totIdx] += TA_CANDLERANGE( BodyLong, i-totIdx ) +/* Generated */ - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-totIdx ); +/* Generated */ NearPeriodTotal[totIdx] += TA_CANDLERANGE( Near, i-totIdx ) +/* Generated */ - TA_CANDLERANGE( Near, NearTrailingIdx-totIdx ); +/* Generated */ } +/* Generated */ BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx ); +/* Generated */ ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i-1 ) +/* Generated */ - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx-1 ); +/* Generated */ i++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ BodyShortTrailingIdx++; +/* Generated */ ShadowVeryShortTrailingIdx++; +/* Generated */ NearTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLSTICKSANDWICH.c b/vendor/ta-lib/src/ta_func/ta_CDLSTICKSANDWICH.c new file mode 100644 index 000000000..bed1fbaf3 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLSTICKSANDWICH.c @@ -0,0 +1,353 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 032005 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlStickSandwhichLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlStickSandwhichLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLSTICKSANDWICH_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return TA_CANDLEAVGPERIOD(Equal) + 2; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLSTICKSANDWICH - Stick Sandwich + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlStickSandwhich( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlStickSandwhich( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlStickSandwhich( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLSTICKSANDWICH( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double EqualPeriodTotal; + int i, outIdx, EqualTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLSTICKSANDWICH)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + EqualPeriodTotal = 0; + EqualTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Equal); + + i = EqualTrailingIdx; + while( i < startIdx ) { + EqualPeriodTotal += TA_CANDLERANGE( Equal, i-2 ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: black candle + * - second candle: white candle that trades only above the prior close (low > prior close) + * - third candle: black candle with the close equal to the first candle's close + * The meaning of "equal" is specified with TA_SetCandleSettings + * outInteger is always positive (1 to 100): stick sandwich is always bullish; + * the user should consider that stick sandwich is significant when coming in a downtrend, + * while this function does not consider it + */ + outIdx = 0; + do + { + if( TA_CANDLECOLOR(i-2) == -1 && // first black + TA_CANDLECOLOR(i-1) == 1 && // second white + TA_CANDLECOLOR(i) == -1 && // third black + inLow[i-1] > inClose[i-2] && // 2nd low > prior close + inClose[i] <= inClose[i-2] + TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-2 ) && // 1st and 3rd same close + inClose[i] >= inClose[i-2] - TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-2 ) + ) + outInteger[outIdx++] = 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + EqualPeriodTotal += TA_CANDLERANGE( Equal, i-2 ) - TA_CANDLERANGE( Equal, EqualTrailingIdx-2 ); + i++; + EqualTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlStickSandwhich( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlStickSandwhich( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLSTICKSANDWICH( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double EqualPeriodTotal; +/* Generated */ int i, outIdx, EqualTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLSTICKSANDWICH)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ EqualPeriodTotal = 0; +/* Generated */ EqualTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Equal); +/* Generated */ i = EqualTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ EqualPeriodTotal += TA_CANDLERANGE( Equal, i-2 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_CANDLECOLOR(i-2) == -1 && // first black +/* Generated */ TA_CANDLECOLOR(i-1) == 1 && // second white +/* Generated */ TA_CANDLECOLOR(i) == -1 && // third black +/* Generated */ inLow[i-1] > inClose[i-2] && // 2nd low > prior close +/* Generated */ inClose[i] <= inClose[i-2] + TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-2 ) && // 1st and 3rd same close +/* Generated */ inClose[i] >= inClose[i-2] - TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-2 ) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ EqualPeriodTotal += TA_CANDLERANGE( Equal, i-2 ) - TA_CANDLERANGE( Equal, EqualTrailingIdx-2 ); +/* Generated */ i++; +/* Generated */ EqualTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLTAKURI.c b/vendor/ta-lib/src/ta_func/ta_CDLTAKURI.c new file mode 100644 index 000000000..c445407a8 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLTAKURI.c @@ -0,0 +1,387 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 011505 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlTakuriLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlTakuriLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLTAKURI_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( max( TA_CANDLEAVGPERIOD(BodyDoji), TA_CANDLEAVGPERIOD(ShadowVeryShort) ), + TA_CANDLEAVGPERIOD(ShadowVeryLong) + ); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLTAKURI - Takuri (Dragonfly Doji with very long lower shadow) + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlTakuri( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlTakuri( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlTakuri( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLTAKURI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyDojiPeriodTotal, ShadowVeryShortPeriodTotal, ShadowVeryLongPeriodTotal; + int i, outIdx, BodyDojiTrailingIdx, ShadowVeryShortTrailingIdx, ShadowVeryLongTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLTAKURI)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyDojiPeriodTotal = 0; + BodyDojiTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyDoji); + ShadowVeryShortPeriodTotal = 0; + ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); + ShadowVeryLongPeriodTotal = 0; + ShadowVeryLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryLong); + + i = BodyDojiTrailingIdx; + while( i < startIdx ) { + BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ); + i++; + } + i = ShadowVeryShortTrailingIdx; + while( i < startIdx ) { + ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ); + i++; + } + i = ShadowVeryLongTrailingIdx; + while( i < startIdx ) { + ShadowVeryLongPeriodTotal += TA_CANDLERANGE( ShadowVeryLong, i ); + i++; + } + + /* Proceed with the calculation for the requested range. + * + * Must have: + * - doji body + * - open and close at the high of the day = no or very short upper shadow + * - very long lower shadow + * The meaning of "doji", "very short" and "very long" is specified with TA_SetCandleSettings + * outInteger is always positive (1 to 100) but this does not mean it is bullish: takuri must be considered + * relatively to the trend + */ + outIdx = 0; + do + { + if( TA_REALBODY(i) <= TA_CANDLEAVERAGE( BodyDoji, BodyDojiPeriodTotal, i ) && + TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) && + TA_LOWERSHADOW(i) > TA_CANDLEAVERAGE( ShadowVeryLong, ShadowVeryLongPeriodTotal, i ) + ) + outInteger[outIdx++] = 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ) - TA_CANDLERANGE( BodyDoji, BodyDojiTrailingIdx ); + ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ) + - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx ); + ShadowVeryLongPeriodTotal += TA_CANDLERANGE( ShadowVeryLong, i ) + - TA_CANDLERANGE( ShadowVeryLong, ShadowVeryLongTrailingIdx ); + i++; + BodyDojiTrailingIdx++; + ShadowVeryShortTrailingIdx++; + ShadowVeryLongTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlTakuri( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlTakuri( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLTAKURI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyDojiPeriodTotal, ShadowVeryShortPeriodTotal, ShadowVeryLongPeriodTotal; +/* Generated */ int i, outIdx, BodyDojiTrailingIdx, ShadowVeryShortTrailingIdx, ShadowVeryLongTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLTAKURI)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyDojiPeriodTotal = 0; +/* Generated */ BodyDojiTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyDoji); +/* Generated */ ShadowVeryShortPeriodTotal = 0; +/* Generated */ ShadowVeryShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryShort); +/* Generated */ ShadowVeryLongPeriodTotal = 0; +/* Generated */ ShadowVeryLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(ShadowVeryLong); +/* Generated */ i = BodyDojiTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = ShadowVeryShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = ShadowVeryLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ ShadowVeryLongPeriodTotal += TA_CANDLERANGE( ShadowVeryLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i) <= TA_CANDLEAVERAGE( BodyDoji, BodyDojiPeriodTotal, i ) && +/* Generated */ TA_UPPERSHADOW(i) < TA_CANDLEAVERAGE( ShadowVeryShort, ShadowVeryShortPeriodTotal, i ) && +/* Generated */ TA_LOWERSHADOW(i) > TA_CANDLEAVERAGE( ShadowVeryLong, ShadowVeryLongPeriodTotal, i ) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyDojiPeriodTotal += TA_CANDLERANGE( BodyDoji, i ) - TA_CANDLERANGE( BodyDoji, BodyDojiTrailingIdx ); +/* Generated */ ShadowVeryShortPeriodTotal += TA_CANDLERANGE( ShadowVeryShort, i ) +/* Generated */ - TA_CANDLERANGE( ShadowVeryShort, ShadowVeryShortTrailingIdx ); +/* Generated */ ShadowVeryLongPeriodTotal += TA_CANDLERANGE( ShadowVeryLong, i ) +/* Generated */ - TA_CANDLERANGE( ShadowVeryLong, ShadowVeryLongTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyDojiTrailingIdx++; +/* Generated */ ShadowVeryShortTrailingIdx++; +/* Generated */ ShadowVeryLongTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLTASUKIGAP.c b/vendor/ta-lib/src/ta_func/ta_CDLTASUKIGAP.c new file mode 100644 index 000000000..389c2c76c --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLTASUKIGAP.c @@ -0,0 +1,385 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 011605 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlTasukiGapLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlTasukiGapLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLTASUKIGAP_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return TA_CANDLEAVGPERIOD(Near) + 2; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLTASUKIGAP - Tasuki Gap + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlTasukiGap( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlTasukiGap( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlTasukiGap( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLTASUKIGAP( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double NearPeriodTotal; + int i, outIdx, NearTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLTASUKIGAP)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + NearPeriodTotal = 0; + NearTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Near); + + i = NearTrailingIdx; + while( i < startIdx ) { + NearPeriodTotal += TA_CANDLERANGE( Near, i-1 ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - upside (downside) gap + * - first candle after the window: white (black) candlestick + * - second candle: black (white) candlestick that opens within the previous real body and closes under (above) + * the previous real body inside the gap + * - the size of two real bodies should be near the same + * The meaning of "near" is specified with TA_SetCandleSettings + * outInteger is positive (1 to 100) when bullish or negative (-1 to -100) when bearish; + * the user should consider that tasuki gap is significant when it appears in a trend, while this function does + * not consider it + */ + outIdx = 0; + do + { + if( + ( + TA_REALBODYGAPUP(i-1,i-2) && // upside gap + TA_CANDLECOLOR(i-1) == 1 && // 1st: white + TA_CANDLECOLOR(i) == -1 && // 2nd: black + inOpen[i] < inClose[i-1] && inOpen[i] > inOpen[i-1] && // that opens within the white rb + inClose[i] < inOpen[i-1] && // and closes under the white rb + inClose[i] > max(inClose[i-2], inOpen[i-2]) && // inside the gap + // size of 2 rb near the same + std_fabs(TA_REALBODY(i-1) - TA_REALBODY(i)) < TA_CANDLEAVERAGE( Near, NearPeriodTotal, i-1 ) + ) || + ( + TA_REALBODYGAPDOWN(i-1,i-2) && // downside gap + TA_CANDLECOLOR(i-1) == -1 && // 1st: black + TA_CANDLECOLOR(i) == 1 && // 2nd: white + inOpen[i] < inOpen[i-1] && inOpen[i] > inClose[i-1] && // that opens within the black rb + inClose[i] > inOpen[i-1] && // and closes above the black rb + inClose[i] < min(inClose[i-2], inOpen[i-2]) && // inside the gap + // size of 2 rb near the same + std_fabs(TA_REALBODY(i-1) - TA_REALBODY(i)) < TA_CANDLEAVERAGE( Near, NearPeriodTotal, i-1 ) + ) + ) + outInteger[outIdx++] = TA_CANDLECOLOR(i-1) * 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + NearPeriodTotal += TA_CANDLERANGE( Near, i-1 ) - TA_CANDLERANGE( Near, NearTrailingIdx-1 ); + i++; + NearTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlTasukiGap( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlTasukiGap( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLTASUKIGAP( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double NearPeriodTotal; +/* Generated */ int i, outIdx, NearTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLTASUKIGAP)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ NearPeriodTotal = 0; +/* Generated */ NearTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Near); +/* Generated */ i = NearTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ NearPeriodTotal += TA_CANDLERANGE( Near, i-1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( +/* Generated */ ( +/* Generated */ TA_REALBODYGAPUP(i-1,i-2) && // upside gap +/* Generated */ TA_CANDLECOLOR(i-1) == 1 && // 1st: white +/* Generated */ TA_CANDLECOLOR(i) == -1 && // 2nd: black +/* Generated */ inOpen[i] < inClose[i-1] && inOpen[i] > inOpen[i-1] && // that opens within the white rb +/* Generated */ inClose[i] < inOpen[i-1] && // and closes under the white rb +/* Generated */ inClose[i] > max(inClose[i-2], inOpen[i-2]) && // inside the gap +/* Generated */ // size of 2 rb near the same +/* Generated */ std_fabs(TA_REALBODY(i-1) - TA_REALBODY(i)) < TA_CANDLEAVERAGE( Near, NearPeriodTotal, i-1 ) +/* Generated */ ) || +/* Generated */ ( +/* Generated */ TA_REALBODYGAPDOWN(i-1,i-2) && // downside gap +/* Generated */ TA_CANDLECOLOR(i-1) == -1 && // 1st: black +/* Generated */ TA_CANDLECOLOR(i) == 1 && // 2nd: white +/* Generated */ inOpen[i] < inOpen[i-1] && inOpen[i] > inClose[i-1] && // that opens within the black rb +/* Generated */ inClose[i] > inOpen[i-1] && // and closes above the black rb +/* Generated */ inClose[i] < min(inClose[i-2], inOpen[i-2]) && // inside the gap +/* Generated */ // size of 2 rb near the same +/* Generated */ std_fabs(TA_REALBODY(i-1) - TA_REALBODY(i)) < TA_CANDLEAVERAGE( Near, NearPeriodTotal, i-1 ) +/* Generated */ ) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = TA_CANDLECOLOR(i-1) * 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ NearPeriodTotal += TA_CANDLERANGE( Near, i-1 ) - TA_CANDLERANGE( Near, NearTrailingIdx-1 ); +/* Generated */ i++; +/* Generated */ NearTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLTHRUSTING.c b/vendor/ta-lib/src/ta_func/ta_CDLTHRUSTING.c new file mode 100644 index 000000000..e8efa7ccc --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLTHRUSTING.c @@ -0,0 +1,375 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 121204 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlThrustingLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlThrustingLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLTHRUSTING_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( TA_CANDLEAVGPERIOD(Equal), TA_CANDLEAVGPERIOD(BodyLong) + ) + 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLTHRUSTING - Thrusting Pattern + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlThrusting( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlThrusting( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlThrusting( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLTHRUSTING( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double EqualPeriodTotal, BodyLongPeriodTotal; + int i, outIdx, EqualTrailingIdx, BodyLongTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLTHRUSTING)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + EqualPeriodTotal = 0; + EqualTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Equal); + BodyLongPeriodTotal = 0; + BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); + + i = EqualTrailingIdx; + while( i < startIdx ) { + EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ); + i++; + } + i = BodyLongTrailingIdx; + while( i < startIdx ) { + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-1 ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: long black candle + * - second candle: white candle with open below previous day low and close into previous day body under the midpoint; + * to differentiate it from in-neck the close should not be equal to the black candle's close + * The meaning of "equal" is specified with TA_SetCandleSettings + * outInteger is negative (-1 to -100): thrusting pattern is always bearish + * the user should consider that the thrusting pattern is significant when it appears in a downtrend and it could be + * even bullish "when coming in an uptrend or occurring twice within several days" (Steve Nison says), while this + * function does not consider the trend + */ + outIdx = 0; + do + { + if( TA_CANDLECOLOR(i-1) == -1 && // 1st: black + TA_REALBODY(i-1) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-1 ) && // long + TA_CANDLECOLOR(i) == 1 && // 2nd: white + inOpen[i] < inLow[i-1] && // open below prior low + inClose[i] > inClose[i-1] + TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-1 ) && // close into prior body + inClose[i] <= inClose[i-1] + TA_REALBODY(i-1) * 0.5 // under the midpoint + ) + outInteger[outIdx++] = -100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ) - TA_CANDLERANGE( Equal, EqualTrailingIdx-1 ); + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-1 ) + - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-1 ); + i++; + EqualTrailingIdx++; + BodyLongTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlThrusting( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlThrusting( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLTHRUSTING( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double EqualPeriodTotal, BodyLongPeriodTotal; +/* Generated */ int i, outIdx, EqualTrailingIdx, BodyLongTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLTHRUSTING)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ EqualPeriodTotal = 0; +/* Generated */ EqualTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(Equal); +/* Generated */ BodyLongPeriodTotal = 0; +/* Generated */ BodyLongTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ i = EqualTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-1 ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_CANDLECOLOR(i-1) == -1 && // 1st: black +/* Generated */ TA_REALBODY(i-1) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-1 ) && // long +/* Generated */ TA_CANDLECOLOR(i) == 1 && // 2nd: white +/* Generated */ inOpen[i] < inLow[i-1] && // open below prior low +/* Generated */ inClose[i] > inClose[i-1] + TA_CANDLEAVERAGE( Equal, EqualPeriodTotal, i-1 ) && // close into prior body +/* Generated */ inClose[i] <= inClose[i-1] + TA_REALBODY(i-1) * 0.5 // under the midpoint +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = -100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ EqualPeriodTotal += TA_CANDLERANGE( Equal, i-1 ) - TA_CANDLERANGE( Equal, EqualTrailingIdx-1 ); +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-1 ) +/* Generated */ - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx-1 ); +/* Generated */ i++; +/* Generated */ EqualTrailingIdx++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLTRISTAR.c b/vendor/ta-lib/src/ta_func/ta_CDLTRISTAR.c new file mode 100644 index 000000000..f65e69430 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLTRISTAR.c @@ -0,0 +1,366 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * CSB Christopher Barnhouse + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 100204 AC Creation + * 051005 CSB,AC Fix #1199526 for out-of-bound write in output. + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlTristarLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlTristarLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLTRISTAR_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return TA_CANDLEAVGPERIOD(BodyDoji) + 2; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLTRISTAR - Tristar Pattern + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlTristar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlTristar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlTristar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLTRISTAR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyPeriodTotal; + int i, outIdx, BodyTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLTRISTAR)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyPeriodTotal = 0; + BodyTrailingIdx = startIdx -2 - TA_CANDLEAVGPERIOD(BodyDoji); + + i = BodyTrailingIdx; + while( i < startIdx-2 ) { + BodyPeriodTotal += TA_CANDLERANGE( BodyDoji, i ); + i++; + } + + /* Proceed with the calculation for the requested range. + * Must have: + * - 3 consecutive doji days + * - the second doji is a star + * The meaning of "doji" is specified with TA_SetCandleSettings + * outInteger is positive (1 to 100) when bullish or negative (-1 to -100) when bearish + */ + i = startIdx; + outIdx = 0; + do + { + if( TA_REALBODY(i-2) <= TA_CANDLEAVERAGE( BodyDoji, BodyPeriodTotal, i-2 ) && // 1st: doji + TA_REALBODY(i-1) <= TA_CANDLEAVERAGE( BodyDoji, BodyPeriodTotal, i-2 ) && // 2nd: doji + TA_REALBODY(i) <= TA_CANDLEAVERAGE( BodyDoji, BodyPeriodTotal, i-2 ) ) { // 3rd: doji + outInteger[outIdx] = 0; + if ( TA_REALBODYGAPUP(i-1,i-2) // 2nd gaps up + && + max(inOpen[i],inClose[i]) < max(inOpen[i-1],inClose[i-1]) // 3rd is not higher than 2nd + ) + outInteger[outIdx] = -100; + if ( TA_REALBODYGAPDOWN(i-1,i-2) // 2nd gaps down + && + min(inOpen[i],inClose[i]) > min(inOpen[i-1],inClose[i-1]) // 3rd is not lower than 2nd + ) + outInteger[outIdx] = +100; + outIdx++; + } + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyPeriodTotal += TA_CANDLERANGE( BodyDoji, i-2 ) - TA_CANDLERANGE( BodyDoji, BodyTrailingIdx ); + i++; + BodyTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlTristar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlTristar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLTRISTAR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyPeriodTotal; +/* Generated */ int i, outIdx, BodyTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLTRISTAR)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyPeriodTotal = 0; +/* Generated */ BodyTrailingIdx = startIdx -2 - TA_CANDLEAVGPERIOD(BodyDoji); +/* Generated */ i = BodyTrailingIdx; +/* Generated */ while( i < startIdx-2 ) { +/* Generated */ BodyPeriodTotal += TA_CANDLERANGE( BodyDoji, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i-2) <= TA_CANDLEAVERAGE( BodyDoji, BodyPeriodTotal, i-2 ) && // 1st: doji +/* Generated */ TA_REALBODY(i-1) <= TA_CANDLEAVERAGE( BodyDoji, BodyPeriodTotal, i-2 ) && // 2nd: doji +/* Generated */ TA_REALBODY(i) <= TA_CANDLEAVERAGE( BodyDoji, BodyPeriodTotal, i-2 ) ) { // 3rd: doji +/* Generated */ outInteger[outIdx] = 0; +/* Generated */ if ( TA_REALBODYGAPUP(i-1,i-2) // 2nd gaps up +/* Generated */ && +/* Generated */ max(inOpen[i],inClose[i]) < max(inOpen[i-1],inClose[i-1]) // 3rd is not higher than 2nd +/* Generated */ ) +/* Generated */ outInteger[outIdx] = -100; +/* Generated */ if ( TA_REALBODYGAPDOWN(i-1,i-2) // 2nd gaps down +/* Generated */ && +/* Generated */ min(inOpen[i],inClose[i]) > min(inOpen[i-1],inClose[i-1]) // 3rd is not lower than 2nd +/* Generated */ ) +/* Generated */ outInteger[outIdx] = +100; +/* Generated */ outIdx++; +/* Generated */ } +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyPeriodTotal += TA_CANDLERANGE( BodyDoji, i-2 ) - TA_CANDLERANGE( BodyDoji, BodyTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLUNIQUE3RIVER.c b/vendor/ta-lib/src/ta_func/ta_CDLUNIQUE3RIVER.c new file mode 100644 index 000000000..53a15684d --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLUNIQUE3RIVER.c @@ -0,0 +1,375 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 022005 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlUnique3RiverLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlUnique3RiverLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLUNIQUE3RIVER_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( TA_CANDLEAVGPERIOD(BodyShort), TA_CANDLEAVGPERIOD(BodyLong) ) + 2; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLUNIQUE3RIVER - Unique 3 River + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlUnique3River( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlUnique3River( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlUnique3River( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLUNIQUE3RIVER( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyShortPeriodTotal, BodyLongPeriodTotal; + int i, outIdx, BodyShortTrailingIdx, BodyLongTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLUNIQUE3RIVER)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyLongPeriodTotal = 0; + BodyShortPeriodTotal = 0; + BodyLongTrailingIdx = startIdx -2 - TA_CANDLEAVGPERIOD(BodyLong); + BodyShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); + + i = BodyLongTrailingIdx; + while( i < startIdx-2 ) { + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); + i++; + } + i = BodyShortTrailingIdx; + while( i < startIdx ) { + BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: long black candle + * - second candle: black harami candle with a lower low than the first candle's low + * - third candle: small white candle with open not lower than the second candle's low, better if its open and + * close are under the second candle's close + * The meaning of "short" and "long" is specified with TA_SetCandleSettings + * outInteger is positive (1 to 100): unique 3 river is always bullish and should appear in a downtrend + * to be significant, while this function does not consider the trend + */ + outIdx = 0; + do + { + if( TA_REALBODY(i-2) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-2 ) && // 1st: long + TA_CANDLECOLOR(i-2) == -1 && // black + TA_CANDLECOLOR(i-1) == -1 && // 2nd: black + inClose[i-1] > inClose[i-2] && inOpen[i-1] <= inOpen[i-2] && // harami + inLow[i-1] < inLow[i-2] && // lower low + TA_REALBODY(i) < TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal, i ) && // 3rd: short + TA_CANDLECOLOR(i) == 1 && // white + inOpen[i] > inLow[i-1] // open not lower + ) + outInteger[outIdx++] = 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-2 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); + BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx ); + i++; + BodyLongTrailingIdx++; + BodyShortTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlUnique3River( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlUnique3River( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLUNIQUE3RIVER( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyShortPeriodTotal, BodyLongPeriodTotal; +/* Generated */ int i, outIdx, BodyShortTrailingIdx, BodyLongTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLUNIQUE3RIVER)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyLongPeriodTotal = 0; +/* Generated */ BodyShortPeriodTotal = 0; +/* Generated */ BodyLongTrailingIdx = startIdx -2 - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ BodyShortTrailingIdx = startIdx - TA_CANDLEAVGPERIOD(BodyShort); +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx-2 ) { +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyShortTrailingIdx; +/* Generated */ while( i < startIdx ) { +/* Generated */ BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_REALBODY(i-2) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-2 ) && // 1st: long +/* Generated */ TA_CANDLECOLOR(i-2) == -1 && // black +/* Generated */ TA_CANDLECOLOR(i-1) == -1 && // 2nd: black +/* Generated */ inClose[i-1] > inClose[i-2] && inOpen[i-1] <= inOpen[i-2] && // harami +/* Generated */ inLow[i-1] < inLow[i-2] && // lower low +/* Generated */ TA_REALBODY(i) < TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal, i ) && // 3rd: short +/* Generated */ TA_CANDLECOLOR(i) == 1 && // white +/* Generated */ inOpen[i] > inLow[i-1] // open not lower +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-2 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); +/* Generated */ BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ BodyShortTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLUPSIDEGAP2CROWS.c b/vendor/ta-lib/src/ta_func/ta_CDLUPSIDEGAP2CROWS.c new file mode 100644 index 000000000..191e29e1e --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLUPSIDEGAP2CROWS.c @@ -0,0 +1,377 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 110104 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlUpsideGap2CrowsLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlUpsideGap2CrowsLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLUPSIDEGAP2CROWS_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return max( TA_CANDLEAVGPERIOD(BodyShort), TA_CANDLEAVGPERIOD(BodyLong) ) + 2; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLUPSIDEGAP2CROWS - Upside Gap Two Crows + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlUpsideGap2Crows( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlUpsideGap2Crows( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlUpsideGap2Crows( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLUPSIDEGAP2CROWS( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double BodyShortPeriodTotal, BodyLongPeriodTotal; + int i, outIdx, BodyShortTrailingIdx, BodyLongTrailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLUPSIDEGAP2CROWS)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + BodyLongPeriodTotal = 0; + BodyShortPeriodTotal = 0; + BodyLongTrailingIdx = startIdx -2 - TA_CANDLEAVGPERIOD(BodyLong); + BodyShortTrailingIdx = startIdx -1 - TA_CANDLEAVGPERIOD(BodyShort); + + i = BodyLongTrailingIdx; + while( i < startIdx-2 ) { + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); + i++; + } + i = BodyShortTrailingIdx; + while( i < startIdx-1 ) { + BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ); + i++; + } + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: white candle, usually long + * - second candle: small black real body + * - gap between the first and the second candle's real bodies + * - third candle: black candle with a real body that engulfs the preceding candle + * and closes above the white candle's close + * The meaning of "short" and "long" is specified with TA_SetCandleSettings + * outInteger is negative (-1 to -100): upside gap two crows is always bearish; + * the user should consider that an upside gap two crows is significant when it appears in an uptrend, + * while this function does not consider the trend + */ + outIdx = 0; + do + { + if( TA_CANDLECOLOR(i-2) == 1 && // 1st: white + TA_REALBODY(i-2) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-2 ) && // long + TA_CANDLECOLOR(i-1) == -1 && // 2nd: black + TA_REALBODY(i-1) <= TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal, i-1 ) && // short + TA_REALBODYGAPUP(i-1,i-2) && // gapping up + TA_CANDLECOLOR(i) == -1 && // 3rd: black + inOpen[i] > inOpen[i-1] && inClose[i] < inClose[i-1] && // 3rd: engulfing prior rb + inClose[i] > inClose[i-2] // closing above 1st + ) + outInteger[outIdx++] = -100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-2 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); + BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i-1 ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx ); + i++; + BodyLongTrailingIdx++; + BodyShortTrailingIdx++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlUpsideGap2Crows( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlUpsideGap2Crows( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLUPSIDEGAP2CROWS( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double BodyShortPeriodTotal, BodyLongPeriodTotal; +/* Generated */ int i, outIdx, BodyShortTrailingIdx, BodyLongTrailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLUPSIDEGAP2CROWS)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ BodyLongPeriodTotal = 0; +/* Generated */ BodyShortPeriodTotal = 0; +/* Generated */ BodyLongTrailingIdx = startIdx -2 - TA_CANDLEAVGPERIOD(BodyLong); +/* Generated */ BodyShortTrailingIdx = startIdx -1 - TA_CANDLEAVGPERIOD(BodyShort); +/* Generated */ i = BodyLongTrailingIdx; +/* Generated */ while( i < startIdx-2 ) { +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = BodyShortTrailingIdx; +/* Generated */ while( i < startIdx-1 ) { +/* Generated */ BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i ); +/* Generated */ i++; +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_CANDLECOLOR(i-2) == 1 && // 1st: white +/* Generated */ TA_REALBODY(i-2) > TA_CANDLEAVERAGE( BodyLong, BodyLongPeriodTotal, i-2 ) && // long +/* Generated */ TA_CANDLECOLOR(i-1) == -1 && // 2nd: black +/* Generated */ TA_REALBODY(i-1) <= TA_CANDLEAVERAGE( BodyShort, BodyShortPeriodTotal, i-1 ) && // short +/* Generated */ TA_REALBODYGAPUP(i-1,i-2) && // gapping up +/* Generated */ TA_CANDLECOLOR(i) == -1 && // 3rd: black +/* Generated */ inOpen[i] > inOpen[i-1] && inClose[i] < inClose[i-1] && // 3rd: engulfing prior rb +/* Generated */ inClose[i] > inClose[i-2] // closing above 1st +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = -100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ BodyLongPeriodTotal += TA_CANDLERANGE( BodyLong, i-2 ) - TA_CANDLERANGE( BodyLong, BodyLongTrailingIdx ); +/* Generated */ BodyShortPeriodTotal += TA_CANDLERANGE( BodyShort, i-1 ) - TA_CANDLERANGE( BodyShort, BodyShortTrailingIdx ); +/* Generated */ i++; +/* Generated */ BodyLongTrailingIdx++; +/* Generated */ BodyShortTrailingIdx++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CDLXSIDEGAP3METHODS.c b/vendor/ta-lib/src/ta_func/ta_CDLXSIDEGAP3METHODS.c new file mode 100644 index 000000000..3a6b5be5a --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CDLXSIDEGAP3METHODS.c @@ -0,0 +1,350 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 011605 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CdlXSideGap3MethodsLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cdlXSideGap3MethodsLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CDLXSIDEGAP3METHODS_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return 2; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CDLXSIDEGAP3METHODS - Upside/Downside Gap Three Methods + * + * Input = Open, High, Low, Close + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::CdlXSideGap3Methods( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inOpen, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlXSideGap3Methods( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlXSideGap3Methods( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inOpen[], +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CDLXSIDEGAP3METHODS( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inOpen[], +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + int i, outIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + + lookbackTotal = LOOKBACK_CALL(CDLXSIDEGAP3METHODS)(); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + i = startIdx; + + /* Proceed with the calculation for the requested range. + * Must have: + * - first candle: white (black) candle + * - second candle: white (black) candle + * - upside (downside) gap between the first and the second real bodies + * - third candle: black (white) candle that opens within the second real body and closes within the first real body + * outInteger is positive (1 to 100) when bullish or negative (-1 to -100) when bearish; + * the user should consider that up/downside gap 3 methods is significant when it appears in a trend, while this + * function does not consider it + */ + outIdx = 0; + do + { + if( TA_CANDLECOLOR(i-2) == TA_CANDLECOLOR(i-1) && // 1st and 2nd of same color + TA_CANDLECOLOR(i-1) == -TA_CANDLECOLOR(i) && // 3rd opposite color + inOpen[i] < max(inClose[i-1], inOpen[i-1]) && // 3rd opens within 2nd rb + inOpen[i] > min(inClose[i-1], inOpen[i-1]) && + inClose[i] < max(inClose[i-2], inOpen[i-2]) && // 3rd closes within 1st rb + inClose[i] > min(inClose[i-2], inOpen[i-2]) && + ( ( + TA_CANDLECOLOR(i-2) == 1 && // when 1st is white + TA_REALBODYGAPUP(i-1,i-2) // upside gap + ) || + ( + TA_CANDLECOLOR(i-2) == -1 && // when 1st is black + TA_REALBODYGAPDOWN(i-1,i-2) // downside gap + ) + ) + ) + outInteger[outIdx++] = TA_CANDLECOLOR(i-2) * 100; + else + outInteger[outIdx++] = 0; + /* add the current range and subtract the first range: this is done after the pattern recognition + * when avgPeriod is not 0, that means "compare with the previous candles" (it excludes the current candle) + */ + i++; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::CdlXSideGap3Methods( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inOpen, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cdlXSideGap3Methods( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inOpen[], +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CDLXSIDEGAP3METHODS( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inOpen[], +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int i, outIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inOpen||!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(CDLXSIDEGAP3METHODS)(); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ i = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ if( TA_CANDLECOLOR(i-2) == TA_CANDLECOLOR(i-1) && // 1st and 2nd of same color +/* Generated */ TA_CANDLECOLOR(i-1) == -TA_CANDLECOLOR(i) && // 3rd opposite color +/* Generated */ inOpen[i] < max(inClose[i-1], inOpen[i-1]) && // 3rd opens within 2nd rb +/* Generated */ inOpen[i] > min(inClose[i-1], inOpen[i-1]) && +/* Generated */ inClose[i] < max(inClose[i-2], inOpen[i-2]) && // 3rd closes within 1st rb +/* Generated */ inClose[i] > min(inClose[i-2], inOpen[i-2]) && +/* Generated */ ( ( +/* Generated */ TA_CANDLECOLOR(i-2) == 1 && // when 1st is white +/* Generated */ TA_REALBODYGAPUP(i-1,i-2) // upside gap +/* Generated */ ) || +/* Generated */ ( +/* Generated */ TA_CANDLECOLOR(i-2) == -1 && // when 1st is black +/* Generated */ TA_REALBODYGAPDOWN(i-1,i-2) // downside gap +/* Generated */ ) +/* Generated */ ) +/* Generated */ ) +/* Generated */ outInteger[outIdx++] = TA_CANDLECOLOR(i-2) * 100; +/* Generated */ else +/* Generated */ outInteger[outIdx++] = 0; +/* Generated */ i++; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CEIL.c b/vendor/ta-lib/src/ta_func/ta_CEIL.c new file mode 100644 index 000000000..65542d18d --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CEIL.c @@ -0,0 +1,241 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 090807 MF Initial Version + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CeilLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int ceilLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CEIL_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CEIL - Vector Ceil + * + * Input = double + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Ceil( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Ceil( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode ceil( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CEIL( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx; + int i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Default return values */ + for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) + { + outReal[outIdx] = std_ceil(inReal[i]); + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Ceil( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode ceil( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CEIL( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx; +/* Generated */ int i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) +/* Generated */ { +/* Generated */ outReal[outIdx] = std_ceil(inReal[i]); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CMO.c b/vendor/ta-lib/src/ta_func/ta_CMO.c new file mode 100644 index 000000000..3bab2039e --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CMO.c @@ -0,0 +1,595 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * BT Barry Tsung + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112605 MF Initial version. + * 021806 MF,BT Fix #1434450 reported by BT. + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CmoLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cmoLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CMO_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int retValue; + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + retValue = optInTimePeriod + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_CMO,Cmo); + if( TA_GLOBALS_COMPATIBILITY == ENUM_VALUE(Compatibility,TA_COMPATIBILITY_METASTOCK,Metastock) ) + retValue--; + + return retValue; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CMO - Chande Momentum Oscillator + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Cmo( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Cmo( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cmo( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CMO( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx; + + int today, lookbackTotal, unstablePeriod, i; + double prevGain, prevLoss, prevValue, savePrevValue; + double tempValue1, tempValue2, tempValue3, tempValue4; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* CMO calculation is mostly identical to RSI. + * + * The only difference is in the last step of calculation: + * + * RSI = gain / (gain+loss) + * CMO = (gain-loss) / (gain+loss) + * + * See the RSI function for potentially some more info + * on this algo. + */ + + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + + /* Adjust startIdx to account for the lookback period. */ + lookbackTotal = LOOKBACK_CALL(CMO)( optInTimePeriod ); + + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + + outIdx = 0; /* Index into the output. */ + + /* Trap special case where the period is '1'. + * In that case, just copy the input into the + * output for the requested range (as-is !) + */ + if( optInTimePeriod == 1 ) + { + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + i = (endIdx-startIdx)+1; + VALUE_HANDLE_DEREF(outNBElement) = i; + #if defined( USE_SUBARRAY ) && !defined( USE_SINGLE_PRECISION_INPUT ) + ARRAY_MEMMOVE( outReal, 0, (inReal->mDataArray), (inReal->mOffset)+startIdx, i ); + #else + ARRAY_MEMMOVE( outReal, 0, inReal, startIdx, i ); + #endif + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Accumulate Wilder's "Average Gain" and "Average Loss" + * among the initial period. + */ + today = startIdx-lookbackTotal; + prevValue = inReal[today]; + + unstablePeriod = TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_CMO,Cmo); + + /* If there is no unstable period, + * calculate the 'additional' initial + * price bar who is particuliar to + * metastock. + * If there is an unstable period, + * no need to calculate since this + * first value will be surely skip. + */ + if( (unstablePeriod == 0) && + (TA_GLOBALS_COMPATIBILITY == ENUM_VALUE(Compatibility,TA_COMPATIBILITY_METASTOCK,Metastock))) + { + /* Preserve prevValue because it may get + * overwritten by the output. + *(because output ptr could be the same as input ptr). + */ + savePrevValue = prevValue; + + /* No unstable period, so must calculate first output + * particular to Metastock. + * (Metastock re-use the first price bar, so there + * is no loss/gain at first. Beats me why they + * are doing all this). + */ + prevGain = 0.0; + prevLoss = 0.0; + for( i=optInTimePeriod; i > 0; i-- ) + { + tempValue1 = inReal[today++]; + tempValue2 = tempValue1 - prevValue; + prevValue = tempValue1; + if( tempValue2 < 0 ) + prevLoss -= tempValue2; + else + prevGain += tempValue2; + } + + + tempValue1 = prevLoss/optInTimePeriod; + tempValue2 = prevGain/optInTimePeriod; + tempValue3 = tempValue2-tempValue1; + tempValue4 = tempValue1+tempValue2; + + /* Write the output. */ + if( !TA_IS_ZERO(tempValue4) ) + outReal[outIdx++] = 100*(tempValue3/tempValue4); + else + outReal[outIdx++] = 0.0; + + /* Are we done? */ + if( today > endIdx ) + { + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Start over for the next price bar. */ + today -= optInTimePeriod; + prevValue = savePrevValue; + } + + + /* Remaining of the processing is identical + * for both Classic calculation and Metastock. + */ + prevGain = 0.0; + prevLoss = 0.0; + today++; + for( i=optInTimePeriod; i > 0; i-- ) + { + tempValue1 = inReal[today++]; + tempValue2 = tempValue1 - prevValue; + prevValue = tempValue1; + if( tempValue2 < 0 ) + prevLoss -= tempValue2; + else + prevGain += tempValue2; + } + + + /* Subsequent prevLoss and prevGain are smoothed + * using the previous values (Wilder's approach). + * 1) Multiply the previous by 'period-1'. + * 2) Add today value. + * 3) Divide by 'period'. + */ + prevLoss /= optInTimePeriod; + prevGain /= optInTimePeriod; + + /* Often documentation present the RSI calculation as follow: + * RSI = 100 - (100 / 1 + (prevGain/prevLoss)) + * + * The following is equivalent: + * RSI = 100 * (prevGain/(prevGain+prevLoss)) + * + * The second equation is used here for speed optimization. + */ + if( today > startIdx ) + { + tempValue1 = prevGain+prevLoss; + if( !TA_IS_ZERO(tempValue1) ) + outReal[outIdx++] = 100.0*((prevGain-prevLoss)/tempValue1); + else + outReal[outIdx++] = 0.0; + } + else + { + /* Skip the unstable period. Do the processing + * but do not write it in the output. + */ + while( today < startIdx ) + { + tempValue1 = inReal[today]; + tempValue2 = tempValue1 - prevValue; + prevValue = tempValue1; + + prevLoss *= (optInTimePeriod-1); + prevGain *= (optInTimePeriod-1); + if( tempValue2 < 0 ) + prevLoss -= tempValue2; + else + prevGain += tempValue2; + + prevLoss /= optInTimePeriod; + prevGain /= optInTimePeriod; + + today++; + } + } + + /* Unstable period skipped... now continue + * processing if needed. + */ + while( today <= endIdx ) + { + tempValue1 = inReal[today++]; + tempValue2 = tempValue1 - prevValue; + prevValue = tempValue1; + + prevLoss *= (optInTimePeriod-1); + prevGain *= (optInTimePeriod-1); + if( tempValue2 < 0 ) + prevLoss -= tempValue2; + else + prevGain += tempValue2; + + prevLoss /= optInTimePeriod; + prevGain /= optInTimePeriod; + tempValue1 = prevGain+prevLoss; + if( !TA_IS_ZERO(tempValue1) ) + outReal[outIdx++] = 100.0*((prevGain-prevLoss)/tempValue1); + else + outReal[outIdx++] = 0.0; + } + + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Cmo( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cmo( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CMO( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx; +/* Generated */ int today, lookbackTotal, unstablePeriod, i; +/* Generated */ double prevGain, prevLoss, prevValue, savePrevValue; +/* Generated */ double tempValue1, tempValue2, tempValue3, tempValue4; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ lookbackTotal = LOOKBACK_CALL(CMO)( optInTimePeriod ); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ outIdx = 0; +/* Generated */ if( optInTimePeriod == 1 ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ i = (endIdx-startIdx)+1; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = i; +/* Generated */ #if defined( USE_SUBARRAY ) && !defined( USE_SINGLE_PRECISION_INPUT ) +/* Generated */ ARRAY_MEMMOVE( outReal, 0, (inReal->mDataArray), (inReal->mOffset)+startIdx, i ); +/* Generated */ #else +/* Generated */ ARRAY_MEMMOVE( outReal, 0, inReal, startIdx, i ); +/* Generated */ #endif +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ today = startIdx-lookbackTotal; +/* Generated */ prevValue = inReal[today]; +/* Generated */ unstablePeriod = TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_CMO,Cmo); +/* Generated */ if( (unstablePeriod == 0) && +/* Generated */ (TA_GLOBALS_COMPATIBILITY == ENUM_VALUE(Compatibility,TA_COMPATIBILITY_METASTOCK,Metastock))) +/* Generated */ { +/* Generated */ savePrevValue = prevValue; +/* Generated */ prevGain = 0.0; +/* Generated */ prevLoss = 0.0; +/* Generated */ for( i=optInTimePeriod; i > 0; i-- ) +/* Generated */ { +/* Generated */ tempValue1 = inReal[today++]; +/* Generated */ tempValue2 = tempValue1 - prevValue; +/* Generated */ prevValue = tempValue1; +/* Generated */ if( tempValue2 < 0 ) +/* Generated */ prevLoss -= tempValue2; +/* Generated */ else +/* Generated */ prevGain += tempValue2; +/* Generated */ } +/* Generated */ tempValue1 = prevLoss/optInTimePeriod; +/* Generated */ tempValue2 = prevGain/optInTimePeriod; +/* Generated */ tempValue3 = tempValue2-tempValue1; +/* Generated */ tempValue4 = tempValue1+tempValue2; +/* Generated */ if( !TA_IS_ZERO(tempValue4) ) +/* Generated */ outReal[outIdx++] = 100*(tempValue3/tempValue4); +/* Generated */ else +/* Generated */ outReal[outIdx++] = 0.0; +/* Generated */ if( today > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ today -= optInTimePeriod; +/* Generated */ prevValue = savePrevValue; +/* Generated */ } +/* Generated */ prevGain = 0.0; +/* Generated */ prevLoss = 0.0; +/* Generated */ today++; +/* Generated */ for( i=optInTimePeriod; i > 0; i-- ) +/* Generated */ { +/* Generated */ tempValue1 = inReal[today++]; +/* Generated */ tempValue2 = tempValue1 - prevValue; +/* Generated */ prevValue = tempValue1; +/* Generated */ if( tempValue2 < 0 ) +/* Generated */ prevLoss -= tempValue2; +/* Generated */ else +/* Generated */ prevGain += tempValue2; +/* Generated */ } +/* Generated */ prevLoss /= optInTimePeriod; +/* Generated */ prevGain /= optInTimePeriod; +/* Generated */ if( today > startIdx ) +/* Generated */ { +/* Generated */ tempValue1 = prevGain+prevLoss; +/* Generated */ if( !TA_IS_ZERO(tempValue1) ) +/* Generated */ outReal[outIdx++] = 100.0*((prevGain-prevLoss)/tempValue1); +/* Generated */ else +/* Generated */ outReal[outIdx++] = 0.0; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ while( today < startIdx ) +/* Generated */ { +/* Generated */ tempValue1 = inReal[today]; +/* Generated */ tempValue2 = tempValue1 - prevValue; +/* Generated */ prevValue = tempValue1; +/* Generated */ prevLoss *= (optInTimePeriod-1); +/* Generated */ prevGain *= (optInTimePeriod-1); +/* Generated */ if( tempValue2 < 0 ) +/* Generated */ prevLoss -= tempValue2; +/* Generated */ else +/* Generated */ prevGain += tempValue2; +/* Generated */ prevLoss /= optInTimePeriod; +/* Generated */ prevGain /= optInTimePeriod; +/* Generated */ today++; +/* Generated */ } +/* Generated */ } +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ tempValue1 = inReal[today++]; +/* Generated */ tempValue2 = tempValue1 - prevValue; +/* Generated */ prevValue = tempValue1; +/* Generated */ prevLoss *= (optInTimePeriod-1); +/* Generated */ prevGain *= (optInTimePeriod-1); +/* Generated */ if( tempValue2 < 0 ) +/* Generated */ prevLoss -= tempValue2; +/* Generated */ else +/* Generated */ prevGain += tempValue2; +/* Generated */ prevLoss /= optInTimePeriod; +/* Generated */ prevGain /= optInTimePeriod; +/* Generated */ tempValue1 = prevGain+prevLoss; +/* Generated */ if( !TA_IS_ZERO(tempValue1) ) +/* Generated */ outReal[outIdx++] = 100.0*((prevGain-prevLoss)/tempValue1); +/* Generated */ else +/* Generated */ outReal[outIdx++] = 0.0; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_CORREL.c b/vendor/ta-lib/src/ta_func/ta_CORREL.c new file mode 100644 index 000000000..fc7d6a2de --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_CORREL.c @@ -0,0 +1,404 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120802 MF Template creation. + * 101003 MF Initial Coding + * 062804 MF Resolve div by zero bug on limit case. + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CorrelLookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int correlLookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_CORREL_Lookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return optInTimePeriod-1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_CORREL - Pearson's Correlation Coefficient (r) + * + * Input = double, double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Correl( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal0, +/* Generated */ SubArray^ inReal1, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Correl( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal0, +/* Generated */ cli::array^ inReal1, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode correl( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal0[], +/* Generated */ double inReal1[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_CORREL( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal0[], +/* Generated */ const double inReal1[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + double sumXY, sumX, sumY, sumX2, sumY2, x, y, trailingX, trailingY; + double tempReal; + int lookbackTotal, today, trailingIdx, outIdx; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal0 ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !inReal1 ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Move up the start index if there is not + * enough initial data. + */ + lookbackTotal = optInTimePeriod-1; + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + trailingIdx = startIdx - lookbackTotal; + + /* Calculate the initial values. */ + sumXY = sumX = sumY = sumX2 = sumY2 = 0.0; + for( today=trailingIdx; today <= startIdx; today++ ) + { + x = inReal0[today]; + sumX += x; + sumX2 += x*x; + + y = inReal1[today]; + sumXY += x*y; + sumY += y; + sumY2 += y*y; + } + + /* Write the first output. + * Save first the trailing values since the input + * and output might be the same array, + */ + trailingX = inReal0[trailingIdx]; + trailingY = inReal1[trailingIdx++]; + tempReal = (sumX2-((sumX*sumX)/optInTimePeriod)) * (sumY2-((sumY*sumY)/optInTimePeriod)); + if( !TA_IS_ZERO_OR_NEG(tempReal) ) + outReal[0] = (sumXY-((sumX*sumY)/optInTimePeriod)) / std_sqrt(tempReal); + else + outReal[0] = 0.0; + + /* Tight loop to do subsequent values. */ + outIdx = 1; + while( today <= endIdx ) + { + /* Remove trailing values */ + sumX -= trailingX; + sumX2 -= trailingX*trailingX; + + sumXY -= trailingX*trailingY; + sumY -= trailingY; + sumY2 -= trailingY*trailingY; + + /* Add new values */ + x = inReal0[today]; + sumX += x; + sumX2 += x*x; + + y = inReal1[today++]; + sumXY += x*y; + sumY += y; + sumY2 += y*y; + + /* Output new coefficient. + * Save first the trailing values since the input + * and output might be the same array, + */ + trailingX = inReal0[trailingIdx]; + trailingY = inReal1[trailingIdx++]; + tempReal = (sumX2-((sumX*sumX)/optInTimePeriod)) * (sumY2-((sumY*sumY)/optInTimePeriod)); + if( !TA_IS_ZERO_OR_NEG(tempReal) ) + outReal[outIdx++] = (sumXY-((sumX*sumY)/optInTimePeriod)) / std_sqrt(tempReal); + else + outReal[outIdx++] = 0.0; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Correl( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal0, +/* Generated */ cli::array^ inReal1, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode correl( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal0[], +/* Generated */ float inReal1[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_CORREL( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal0[], +/* Generated */ const float inReal1[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double sumXY, sumX, sumY, sumX2, sumY2, x, y, trailingX, trailingY; +/* Generated */ double tempReal; +/* Generated */ int lookbackTotal, today, trailingIdx, outIdx; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal0 ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !inReal1 ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = optInTimePeriod-1; +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ trailingIdx = startIdx - lookbackTotal; +/* Generated */ sumXY = sumX = sumY = sumX2 = sumY2 = 0.0; +/* Generated */ for( today=trailingIdx; today <= startIdx; today++ ) +/* Generated */ { +/* Generated */ x = inReal0[today]; +/* Generated */ sumX += x; +/* Generated */ sumX2 += x*x; +/* Generated */ y = inReal1[today]; +/* Generated */ sumXY += x*y; +/* Generated */ sumY += y; +/* Generated */ sumY2 += y*y; +/* Generated */ } +/* Generated */ trailingX = inReal0[trailingIdx]; +/* Generated */ trailingY = inReal1[trailingIdx++]; +/* Generated */ tempReal = (sumX2-((sumX*sumX)/optInTimePeriod)) * (sumY2-((sumY*sumY)/optInTimePeriod)); +/* Generated */ if( !TA_IS_ZERO_OR_NEG(tempReal) ) +/* Generated */ outReal[0] = (sumXY-((sumX*sumY)/optInTimePeriod)) / std_sqrt(tempReal); +/* Generated */ else +/* Generated */ outReal[0] = 0.0; +/* Generated */ outIdx = 1; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ sumX -= trailingX; +/* Generated */ sumX2 -= trailingX*trailingX; +/* Generated */ sumXY -= trailingX*trailingY; +/* Generated */ sumY -= trailingY; +/* Generated */ sumY2 -= trailingY*trailingY; +/* Generated */ x = inReal0[today]; +/* Generated */ sumX += x; +/* Generated */ sumX2 += x*x; +/* Generated */ y = inReal1[today++]; +/* Generated */ sumXY += x*y; +/* Generated */ sumY += y; +/* Generated */ sumY2 += y*y; +/* Generated */ trailingX = inReal0[trailingIdx]; +/* Generated */ trailingY = inReal1[trailingIdx++]; +/* Generated */ tempReal = (sumX2-((sumX*sumX)/optInTimePeriod)) * (sumY2-((sumY*sumY)/optInTimePeriod)); +/* Generated */ if( !TA_IS_ZERO_OR_NEG(tempReal) ) +/* Generated */ outReal[outIdx++] = (sumXY-((sumX*sumY)/optInTimePeriod)) / std_sqrt(tempReal); +/* Generated */ else +/* Generated */ outReal[outIdx++] = 0.0; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_COS.c b/vendor/ta-lib/src/ta_func/ta_COS.c new file mode 100644 index 000000000..3de979510 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_COS.c @@ -0,0 +1,241 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 090807 MF Initial Version + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CosLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int cosLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_COS_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_COS - Vector Trigonometric Cos + * + * Input = double + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Cos( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Cos( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cos( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_COS( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx; + int i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Default return values */ + for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) + { + outReal[outIdx] = std_cos(inReal[i]); + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Cos( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cos( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_COS( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx; +/* Generated */ int i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) +/* Generated */ { +/* Generated */ outReal[outIdx] = std_cos(inReal[i]); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_COSH.c b/vendor/ta-lib/src/ta_func/ta_COSH.c new file mode 100644 index 000000000..47b6b45f1 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_COSH.c @@ -0,0 +1,241 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 090807 MF Initial Version + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::CoshLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int coshLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_COSH_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_COSH - Vector Trigonometric Cosh + * + * Input = double + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Cosh( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Cosh( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cosh( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_COSH( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx; + int i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Default return values */ + for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) + { + outReal[outIdx] = std_cosh(inReal[i]); + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Cosh( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode cosh( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_COSH( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx; +/* Generated */ int i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) +/* Generated */ { +/* Generated */ outReal[outIdx] = std_cosh(inReal[i]); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_DEMA.c b/vendor/ta-lib/src/ta_func/ta_DEMA.c new file mode 100644 index 000000000..c7153dfa5 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_DEMA.c @@ -0,0 +1,487 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 010102 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::DemaLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int demaLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_DEMA_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + /* Get lookback for one EMA. + * Multiply by two (because double smoothing). + */ + return LOOKBACK_CALL(EMA)( optInTimePeriod ) * 2; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_DEMA - Double Exponential Moving Average + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Dema( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Dema( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode dema( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_DEMA( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + ARRAY_REF(firstEMA); + ARRAY_REF(secondEMA); + double k; + VALUE_HANDLE_INT(firstEMABegIdx); + VALUE_HANDLE_INT(firstEMANbElement); + VALUE_HANDLE_INT(secondEMABegIdx); + VALUE_HANDLE_INT(secondEMANbElement); + int tempInt, outIdx, firstEMAIdx, lookbackTotal, lookbackEMA; + ENUM_DECLARATION(RetCode) retCode; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* For an explanation of this function, please read + * + * Stocks & Commodities V. 12:1 (11-19): + * Smoothing Data With Faster Moving Averages + * Stocks & Commodities V. 12:2 (72-80): + * Smoothing Data With Less Lag + * + * Both magazine articles written by Patrick G. Mulloy + * + * Essentially, a DEMA of time serie 't' is: + * EMA2 = EMA(EMA(t,period),period) + * DEMA = 2*EMA(t,period)- EMA2 + * + * DEMA offers a moving average with less lags then the + * traditional EMA. + * + * Do not confuse a DEMA with the EMA2. Both are called + * "Double EMA" in the litterature, but EMA2 is a simple + * EMA of an EMA, while DEMA is a compostie of a single + * EMA with EMA2. + * + * TEMA is very similar (and from the same author). + */ + + /* Will change only on success. */ + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + + /* Adjust startIdx to account for the lookback period. */ + lookbackEMA = LOOKBACK_CALL(EMA)( optInTimePeriod ); + lookbackTotal = lookbackEMA * 2; + + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + + /* Allocate a temporary buffer for the firstEMA. + * + * When possible, re-use the outputBuffer for temp + * calculation. + */ + #if defined(USE_SINGLE_PRECISION_INPUT) || defined( USE_SUBARRAY ) + tempInt = lookbackTotal+(endIdx-startIdx)+1; + ARRAY_ALLOC(firstEMA, tempInt ); + #if !defined( _JAVA ) + if( !firstEMA ) + return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); + #endif + #else + if( inReal == outReal ) + firstEMA = outReal; + else + { + tempInt = lookbackTotal+(endIdx-startIdx)+1; + ARRAY_ALLOC(firstEMA, tempInt ); + #if !defined( _JAVA ) + if( !firstEMA ) + return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); + #endif + } + #endif + + /* Calculate the first EMA */ + k = PER_TO_K(optInTimePeriod); + retCode = FUNCTION_CALL(INT_EMA)( startIdx-lookbackEMA, endIdx, inReal, + optInTimePeriod, k, + VALUE_HANDLE_OUT(firstEMABegIdx), VALUE_HANDLE_OUT(firstEMANbElement), + firstEMA ); + + /* Verify for failure or if not enough data after + * calculating the first EMA. + */ + if( (retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success)) || (VALUE_HANDLE_GET(firstEMANbElement) == 0) ) + { + ARRAY_FREE_COND( firstEMA != outReal, firstEMA ); + return retCode; + } + + /* Allocate a temporary buffer for storing the EMA of the EMA. */ + ARRAY_ALLOC(secondEMA, VALUE_HANDLE_GET(firstEMANbElement)); + + #if !defined( _JAVA ) + if( !secondEMA ) + { + ARRAY_FREE_COND( firstEMA != outReal, firstEMA ); + return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); + } + #endif + + retCode = FUNCTION_CALL_DOUBLE(INT_EMA)( 0, VALUE_HANDLE_GET(firstEMANbElement)-1, firstEMA, + optInTimePeriod, k, + VALUE_HANDLE_OUT(secondEMABegIdx), VALUE_HANDLE_OUT(secondEMANbElement), + secondEMA ); + + /* Return empty output on failure or if not enough data after + * calculating the second EMA. + */ + if( (retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success)) || (VALUE_HANDLE_GET(secondEMANbElement) == 0) ) + { + #if defined(USE_SINGLE_PRECISION_INPUT) + ARRAY_FREE( firstEMA ); + #else + ARRAY_FREE_COND( firstEMA != outReal, firstEMA ); + #endif + ARRAY_FREE( secondEMA ); + return retCode; + } + + /* Iterate through the second EMA and write the DEMA into + * the output. + */ + firstEMAIdx = VALUE_HANDLE_GET(secondEMABegIdx); + outIdx = 0; + while( outIdx < VALUE_HANDLE_GET(secondEMANbElement) ) + { + outReal[outIdx] = (2.0*firstEMA[firstEMAIdx++]) - secondEMA[outIdx]; + outIdx++; + } + + #if defined(USE_SINGLE_PRECISION_INPUT) + ARRAY_FREE( firstEMA ); + #else + ARRAY_FREE_COND( firstEMA != outReal, firstEMA ); + #endif + ARRAY_FREE( secondEMA ); + + /* Succeed. Indicate where the output starts relative to + * the caller input. + */ + VALUE_HANDLE_DEREF(outBegIdx) = VALUE_HANDLE_GET(firstEMABegIdx) + VALUE_HANDLE_GET(secondEMABegIdx); + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Dema( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode dema( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_DEMA( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ARRAY_REF(firstEMA); +/* Generated */ ARRAY_REF(secondEMA); +/* Generated */ double k; +/* Generated */ VALUE_HANDLE_INT(firstEMABegIdx); +/* Generated */ VALUE_HANDLE_INT(firstEMANbElement); +/* Generated */ VALUE_HANDLE_INT(secondEMABegIdx); +/* Generated */ VALUE_HANDLE_INT(secondEMANbElement); +/* Generated */ int tempInt, outIdx, firstEMAIdx, lookbackTotal, lookbackEMA; +/* Generated */ ENUM_DECLARATION(RetCode) retCode; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ lookbackEMA = LOOKBACK_CALL(EMA)( optInTimePeriod ); +/* Generated */ lookbackTotal = lookbackEMA * 2; +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ #if defined(USE_SINGLE_PRECISION_INPUT) || defined( USE_SUBARRAY ) +/* Generated */ tempInt = lookbackTotal+(endIdx-startIdx)+1; +/* Generated */ ARRAY_ALLOC(firstEMA, tempInt ); +/* Generated */ #if !defined( _JAVA ) +/* Generated */ if( !firstEMA ) +/* Generated */ return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); +/* Generated */ #endif +/* Generated */ #else +/* Generated */ if( inReal == outReal ) +/* Generated */ firstEMA = outReal; +/* Generated */ else +/* Generated */ { +/* Generated */ tempInt = lookbackTotal+(endIdx-startIdx)+1; +/* Generated */ ARRAY_ALLOC(firstEMA, tempInt ); +/* Generated */ #if !defined( _JAVA ) +/* Generated */ if( !firstEMA ) +/* Generated */ return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); +/* Generated */ #endif +/* Generated */ } +/* Generated */ #endif +/* Generated */ k = PER_TO_K(optInTimePeriod); +/* Generated */ retCode = FUNCTION_CALL(INT_EMA)( startIdx-lookbackEMA, endIdx, inReal, +/* Generated */ optInTimePeriod, k, +/* Generated */ VALUE_HANDLE_OUT(firstEMABegIdx), VALUE_HANDLE_OUT(firstEMANbElement), +/* Generated */ firstEMA ); +/* Generated */ if( (retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success)) || (VALUE_HANDLE_GET(firstEMANbElement) == 0) ) +/* Generated */ { +/* Generated */ ARRAY_FREE_COND( firstEMA != outReal, firstEMA ); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ ARRAY_ALLOC(secondEMA, VALUE_HANDLE_GET(firstEMANbElement)); +/* Generated */ #if !defined( _JAVA ) +/* Generated */ if( !secondEMA ) +/* Generated */ { +/* Generated */ ARRAY_FREE_COND( firstEMA != outReal, firstEMA ); +/* Generated */ return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); +/* Generated */ } +/* Generated */ #endif +/* Generated */ retCode = FUNCTION_CALL_DOUBLE(INT_EMA)( 0, VALUE_HANDLE_GET(firstEMANbElement)-1, firstEMA, +/* Generated */ optInTimePeriod, k, +/* Generated */ VALUE_HANDLE_OUT(secondEMABegIdx), VALUE_HANDLE_OUT(secondEMANbElement), +/* Generated */ secondEMA ); +/* Generated */ if( (retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success)) || (VALUE_HANDLE_GET(secondEMANbElement) == 0) ) +/* Generated */ { +/* Generated */ #if defined(USE_SINGLE_PRECISION_INPUT) +/* Generated */ ARRAY_FREE( firstEMA ); +/* Generated */ #else +/* Generated */ ARRAY_FREE_COND( firstEMA != outReal, firstEMA ); +/* Generated */ #endif +/* Generated */ ARRAY_FREE( secondEMA ); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ firstEMAIdx = VALUE_HANDLE_GET(secondEMABegIdx); +/* Generated */ outIdx = 0; +/* Generated */ while( outIdx < VALUE_HANDLE_GET(secondEMANbElement) ) +/* Generated */ { +/* Generated */ outReal[outIdx] = (2.0*firstEMA[firstEMAIdx++]) - secondEMA[outIdx]; +/* Generated */ outIdx++; +/* Generated */ } +/* Generated */ #if defined(USE_SINGLE_PRECISION_INPUT) +/* Generated */ ARRAY_FREE( firstEMA ); +/* Generated */ #else +/* Generated */ ARRAY_FREE_COND( firstEMA != outReal, firstEMA ); +/* Generated */ #endif +/* Generated */ ARRAY_FREE( secondEMA ); +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = VALUE_HANDLE_GET(firstEMABegIdx) + VALUE_HANDLE_GET(secondEMABegIdx); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_DIV.c b/vendor/ta-lib/src/ta_func/ta_DIV.c new file mode 100644 index 000000000..e195a39bc --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_DIV.c @@ -0,0 +1,250 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 090807 MF Initial Version + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::DivLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int divLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_DIV_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_DIV - Vector Arithmetic Div + * + * Input = double, double + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Div( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal0, +/* Generated */ SubArray^ inReal1, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Div( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal0, +/* Generated */ cli::array^ inReal1, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode div( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal0[], +/* Generated */ double inReal1[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_DIV( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal0[], +/* Generated */ const double inReal1[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx; + int i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal0 ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !inReal1 ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Default return values */ + for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) + { + outReal[outIdx] = inReal0[i]/inReal1[i]; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Div( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal0, +/* Generated */ cli::array^ inReal1, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode div( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal0[], +/* Generated */ float inReal1[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_DIV( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal0[], +/* Generated */ const float inReal1[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx; +/* Generated */ int i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal0 ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !inReal1 ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) +/* Generated */ { +/* Generated */ outReal[outIdx] = inReal0[i]/inReal1[i]; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_DX.c b/vendor/ta-lib/src/ta_func/ta_DX.c new file mode 100644 index 000000000..8c3bb1ffe --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_DX.c @@ -0,0 +1,692 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * AM Adrian Michel + * MIF Mirek Fontan (mira@fontan.cz) + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 010802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * 082303 MF Fix #792298. Remove rounding. Bug reported by AM. + * 062704 MF Fix #965557. Div by zero bug reported by MIF. + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::DxLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int dxLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_DX_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + if( optInTimePeriod > 1 ) + return optInTimePeriod + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_DX,Dx); + else + return 2; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_DX - Directional Movement Index + * + * Input = High, Low, Close + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Dx( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Dx( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode dx( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_DX( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int today, lookbackTotal, outIdx; + double prevHigh, prevLow, prevClose; + double prevMinusDM, prevPlusDM, prevTR; + double tempReal, tempReal2, diffP, diffM; + double minusDI, plusDI; + + int i; + + #define TRUE_RANGE(TH,TL,YC,OUT) {\ + OUT = TH-TL; \ + tempReal2 = std_fabs(TH-YC); \ + if( tempReal2 > OUT ) \ + OUT = tempReal2; \ + tempReal2 = std_fabs(TL-YC); \ + if( tempReal2 > OUT ) \ + OUT = tempReal2; \ + } + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* + * The DM1 (one period) is base on the largest part of + * today's range that is outside of yesterdays range. + * + * The following 7 cases explain how the +DM and -DM are + * calculated on one period: + * + * Case 1: Case 2: + * C| A| + * | | C| + * | +DM1 = (C-A) B| | +DM1 = 0 + * | -DM1 = 0 | -DM1 = (B-D) + * A| | D| + * | D| + * B| + * + * Case 3: Case 4: + * C| C| + * | A| | + * | +DM1 = (C-A) | | +DM1 = 0 + * | -DM1 = 0 B| | -DM1 = (B-D) + * A| | | + * | | D| + * B| | + * D| + * + * Case 5: Case 6: + * A| A| C| + * | C| +DM1 = 0 | | +DM1 = 0 + * | | -DM1 = 0 | | -DM1 = 0 + * | D| | | + * B| B| D| + * + * + * Case 7: + * + * C| + * A| | + * | | +DM=0 + * B| | -DM=0 + * D| + * + * In case 3 and 4, the rule is that the smallest delta between + * (C-A) and (B-D) determine which of +DM or -DM is zero. + * + * In case 7, (C-A) and (B-D) are equal, so both +DM and -DM are + * zero. + * + * The rules remain the same when A=B and C=D (when the highs + * equal the lows). + * + * When calculating the DM over a period > 1, the one-period DM + * for the desired period are initialy sum. In other word, + * for a -DM14, sum the -DM1 for the first 14 days (that's + * 13 values because there is no DM for the first day!) + * Subsequent DM are calculated using the Wilder's + * smoothing approach: + * + * Previous -DM14 + * Today's -DM14 = Previous -DM14 - -------------- + Today's -DM1 + * 14 + * + * Calculation of a -DI14 is as follow: + * + * -DM14 + * -DI14 = -------- + * TR14 + * + * Calculation of the TR14 is: + * + * Previous TR14 + * Today's TR14 = Previous TR14 - -------------- + Today's TR1 + * 14 + * + * The first TR14 is the summation of the first 14 TR1. See the + * TA_TRANGE function on how to calculate the true range. + * + * Calculation of the DX14 is: + * + * diffDI = ABS( (-DI14) - (+DI14) ) + * sumDI = (-DI14) + (+DI14) + * + * DX14 = 100 * (diffDI / sumDI) + * + * Reference: + * New Concepts In Technical Trading Systems, J. Welles Wilder Jr + */ + + /* Original implementation from Wilder's book was doing some integer + * rounding in its calculations. + * + * This was understandable in the context that at the time the book + * was written, most user were doing the calculation by hand. + * + * For a computer, rounding is unnecessary (and even problematic when inputs + * are close to 1). + * + * TA-Lib does not do the rounding. Still, if you want to reproduce Wilder's examples, + * you can comment out the following #undef/#define and rebuild the library. + */ + #undef round_pos + #define round_pos(x) (x) + + if( optInTimePeriod > 1 ) + lookbackTotal = optInTimePeriod + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_DX,Dx); + else + lookbackTotal = 2; + + /* Adjust startIdx to account for the lookback period. */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Indicate where the next output should be put + * in the outReal. + */ + outIdx = 0; + + /* Process the initial DM and TR */ + VALUE_HANDLE_DEREF(outBegIdx) = today = startIdx; + + prevMinusDM = 0.0; + prevPlusDM = 0.0; + prevTR = 0.0; + today = startIdx - lookbackTotal; + prevHigh = inHigh[today]; + prevLow = inLow[today]; + prevClose = inClose[today]; + i = optInTimePeriod-1; + while( i-- > 0 ) + { + today++; + tempReal = inHigh[today]; + diffP = tempReal-prevHigh; /* Plus Delta */ + prevHigh = tempReal; + + tempReal = inLow[today]; + diffM = prevLow-tempReal; /* Minus Delta */ + prevLow = tempReal; + + if( (diffM > 0) && (diffP < diffM) ) + { + /* Case 2 and 4: +DM=0,-DM=diffM */ + prevMinusDM += diffM; + } + else if( (diffP > 0) && (diffP > diffM) ) + { + /* Case 1 and 3: +DM=diffP,-DM=0 */ + prevPlusDM += diffP; + } + + TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); + prevTR += tempReal; + prevClose = inClose[today]; + } + + /* Skip the unstable period. Note that this loop must be executed + * at least ONCE to calculate the first DI. + */ + i = TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_DX,Dx) + 1; + while( i-- != 0 ) + { + /* Calculate the prevMinusDM and prevPlusDM */ + today++; + tempReal = inHigh[today]; + diffP = tempReal-prevHigh; /* Plus Delta */ + prevHigh = tempReal; + + tempReal = inLow[today]; + diffM = prevLow-tempReal; /* Minus Delta */ + prevLow = tempReal; + + prevMinusDM -= prevMinusDM/optInTimePeriod; + prevPlusDM -= prevPlusDM/optInTimePeriod; + + if( (diffM > 0) && (diffP < diffM) ) + { + /* Case 2 and 4: +DM=0,-DM=diffM */ + prevMinusDM += diffM; + } + else if( (diffP > 0) && (diffP > diffM) ) + { + /* Case 1 and 3: +DM=diffP,-DM=0 */ + prevPlusDM += diffP; + } + + /* Calculate the prevTR */ + TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); + prevTR = prevTR - (prevTR/optInTimePeriod) + tempReal; + prevClose = inClose[today]; + } + + /* Write the first DX output */ + if( !TA_IS_ZERO(prevTR) ) + { + minusDI = round_pos(100.0*(prevMinusDM/prevTR)); + plusDI = round_pos(100.0*(prevPlusDM/prevTR)); + tempReal = minusDI+plusDI; + if( !TA_IS_ZERO(tempReal) ) + outReal[0] = round_pos( 100.0 * (std_fabs(minusDI-plusDI)/tempReal) ); + else + outReal[0] = 0.0; + } + else + outReal[0] = 0.0; + outIdx = 1; + + while( today < endIdx ) + { + /* Calculate the prevMinusDM and prevPlusDM */ + today++; + tempReal = inHigh[today]; + diffP = tempReal-prevHigh; /* Plus Delta */ + prevHigh = tempReal; + + tempReal = inLow[today]; + diffM = prevLow-tempReal; /* Minus Delta */ + prevLow = tempReal; + + prevMinusDM -= prevMinusDM/optInTimePeriod; + prevPlusDM -= prevPlusDM/optInTimePeriod; + + if( (diffM > 0) && (diffP < diffM) ) + { + /* Case 2 and 4: +DM=0,-DM=diffM */ + prevMinusDM += diffM; + } + else if( (diffP > 0) && (diffP > diffM) ) + { + /* Case 1 and 3: +DM=diffP,-DM=0 */ + prevPlusDM += diffP; + } + + /* Calculate the prevTR */ + TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); + prevTR = prevTR - (prevTR/optInTimePeriod) + tempReal; + prevClose = inClose[today]; + + /* Calculate the DX. The value is rounded (see Wilder book). */ + if( !TA_IS_ZERO(prevTR)) + { + minusDI = round_pos(100.0*(prevMinusDM/prevTR)); + plusDI = round_pos(100.0*(prevPlusDM/prevTR)); + /* This loop is just to accumulate the initial DX */ + tempReal = minusDI+plusDI; + if( !TA_IS_ZERO(tempReal)) + outReal[outIdx] = round_pos( 100.0 * (std_fabs(minusDI-plusDI)/tempReal) ); + else + outReal[outIdx] = outReal[outIdx-1]; + } + else + outReal[outIdx] = outReal[outIdx-1]; + outIdx++; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Dx( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode dx( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_DX( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int today, lookbackTotal, outIdx; +/* Generated */ double prevHigh, prevLow, prevClose; +/* Generated */ double prevMinusDM, prevPlusDM, prevTR; +/* Generated */ double tempReal, tempReal2, diffP, diffM; +/* Generated */ double minusDI, plusDI; +/* Generated */ int i; +/* Generated */ #define TRUE_RANGE(TH,TL,YC,OUT) {\ +/* Generated */ OUT = TH-TL; \ +/* Generated */ tempReal2 = std_fabs(TH-YC); \ +/* Generated */ if( tempReal2 > OUT ) \ +/* Generated */ OUT = tempReal2; \ +/* Generated */ tempReal2 = std_fabs(TL-YC); \ +/* Generated */ if( tempReal2 > OUT ) \ +/* Generated */ OUT = tempReal2; \ +/* Generated */ } +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ #undef round_pos +/* Generated */ #define round_pos(x) (x) +/* Generated */ if( optInTimePeriod > 1 ) +/* Generated */ lookbackTotal = optInTimePeriod + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_DX,Dx); +/* Generated */ else +/* Generated */ lookbackTotal = 2; +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = today = startIdx; +/* Generated */ prevMinusDM = 0.0; +/* Generated */ prevPlusDM = 0.0; +/* Generated */ prevTR = 0.0; +/* Generated */ today = startIdx - lookbackTotal; +/* Generated */ prevHigh = inHigh[today]; +/* Generated */ prevLow = inLow[today]; +/* Generated */ prevClose = inClose[today]; +/* Generated */ i = optInTimePeriod-1; +/* Generated */ while( i-- > 0 ) +/* Generated */ { +/* Generated */ today++; +/* Generated */ tempReal = inHigh[today]; +/* Generated */ diffP = tempReal-prevHigh; +/* Generated */ prevHigh = tempReal; +/* Generated */ tempReal = inLow[today]; +/* Generated */ diffM = prevLow-tempReal; +/* Generated */ prevLow = tempReal; +/* Generated */ if( (diffM > 0) && (diffP < diffM) ) +/* Generated */ { +/* Generated */ prevMinusDM += diffM; +/* Generated */ } +/* Generated */ else if( (diffP > 0) && (diffP > diffM) ) +/* Generated */ { +/* Generated */ prevPlusDM += diffP; +/* Generated */ } +/* Generated */ TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); +/* Generated */ prevTR += tempReal; +/* Generated */ prevClose = inClose[today]; +/* Generated */ } +/* Generated */ i = TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_DX,Dx) + 1; +/* Generated */ while( i-- != 0 ) +/* Generated */ { +/* Generated */ today++; +/* Generated */ tempReal = inHigh[today]; +/* Generated */ diffP = tempReal-prevHigh; +/* Generated */ prevHigh = tempReal; +/* Generated */ tempReal = inLow[today]; +/* Generated */ diffM = prevLow-tempReal; +/* Generated */ prevLow = tempReal; +/* Generated */ prevMinusDM -= prevMinusDM/optInTimePeriod; +/* Generated */ prevPlusDM -= prevPlusDM/optInTimePeriod; +/* Generated */ if( (diffM > 0) && (diffP < diffM) ) +/* Generated */ { +/* Generated */ prevMinusDM += diffM; +/* Generated */ } +/* Generated */ else if( (diffP > 0) && (diffP > diffM) ) +/* Generated */ { +/* Generated */ prevPlusDM += diffP; +/* Generated */ } +/* Generated */ TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); +/* Generated */ prevTR = prevTR - (prevTR/optInTimePeriod) + tempReal; +/* Generated */ prevClose = inClose[today]; +/* Generated */ } +/* Generated */ if( !TA_IS_ZERO(prevTR) ) +/* Generated */ { +/* Generated */ minusDI = round_pos(100.0*(prevMinusDM/prevTR)); +/* Generated */ plusDI = round_pos(100.0*(prevPlusDM/prevTR)); +/* Generated */ tempReal = minusDI+plusDI; +/* Generated */ if( !TA_IS_ZERO(tempReal) ) +/* Generated */ outReal[0] = round_pos( 100.0 * (std_fabs(minusDI-plusDI)/tempReal) ); +/* Generated */ else +/* Generated */ outReal[0] = 0.0; +/* Generated */ } +/* Generated */ else +/* Generated */ outReal[0] = 0.0; +/* Generated */ outIdx = 1; +/* Generated */ while( today < endIdx ) +/* Generated */ { +/* Generated */ today++; +/* Generated */ tempReal = inHigh[today]; +/* Generated */ diffP = tempReal-prevHigh; +/* Generated */ prevHigh = tempReal; +/* Generated */ tempReal = inLow[today]; +/* Generated */ diffM = prevLow-tempReal; +/* Generated */ prevLow = tempReal; +/* Generated */ prevMinusDM -= prevMinusDM/optInTimePeriod; +/* Generated */ prevPlusDM -= prevPlusDM/optInTimePeriod; +/* Generated */ if( (diffM > 0) && (diffP < diffM) ) +/* Generated */ { +/* Generated */ prevMinusDM += diffM; +/* Generated */ } +/* Generated */ else if( (diffP > 0) && (diffP > diffM) ) +/* Generated */ { +/* Generated */ prevPlusDM += diffP; +/* Generated */ } +/* Generated */ TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); +/* Generated */ prevTR = prevTR - (prevTR/optInTimePeriod) + tempReal; +/* Generated */ prevClose = inClose[today]; +/* Generated */ if( !TA_IS_ZERO(prevTR)) +/* Generated */ { +/* Generated */ minusDI = round_pos(100.0*(prevMinusDM/prevTR)); +/* Generated */ plusDI = round_pos(100.0*(prevPlusDM/prevTR)); +/* Generated */ tempReal = minusDI+plusDI; +/* Generated */ if( !TA_IS_ZERO(tempReal)) +/* Generated */ outReal[outIdx] = round_pos( 100.0 * (std_fabs(minusDI-plusDI)/tempReal) ); +/* Generated */ else +/* Generated */ outReal[outIdx] = outReal[outIdx-1]; +/* Generated */ } +/* Generated */ else +/* Generated */ outReal[outIdx] = outReal[outIdx-1]; +/* Generated */ outIdx++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_EMA.c b/vendor/ta-lib/src/ta_func/ta_EMA.c new file mode 100644 index 000000000..c528b88e0 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_EMA.c @@ -0,0 +1,493 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::EmaLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int emaLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_EMA_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return optInTimePeriod - 1 + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_EMA,Ema); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_EMA - Exponential Moving Average + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Ema( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Ema( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode ema( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_EMA( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Simply call the internal implementation of the EMA. */ + return FUNCTION_CALL(INT_EMA)( startIdx, endIdx, inReal, + optInTimePeriod, + PER_TO_K( optInTimePeriod ), + outBegIdx, outNBElement, outReal ); +} + +/* Internal implementation can be called from any other TA function. + * + * Faster because there is no parameter check, but it is a double + * edge sword. + * + * The optInK_1 and optInTimePeriod are usually tightly coupled: + * + * optInK_1 = 2 / (optInTimePeriod + 1). + * + * These values are going to be related by this equation 99.9% of the + * time... but there is some exception, this is why both must be provided. + * + * The macro PER_TO_K is equivalent to the above formula. + */ +#if defined( _MANAGED ) && defined( USE_SUBARRAY ) && !defined(USE_SINGLE_PRECISION_INPUT) + enum class Core::RetCode Core::TA_INT_EMA( int startIdx, + int endIdx, + SubArray^ inReal, + int optInTimePeriod, + double optInK_1, + [Out]int% outBegIdx, + [Out]int% outNBElement, + cli::array^ outReal ) +#elif defined( _MANAGED ) + enum class Core::RetCode Core::TA_INT_EMA( int startIdx, + int endIdx, + cli::array^ inReal, + int optInTimePeriod, + double optInK_1, + [Out]int% outBegIdx, + [Out]int% outNBElement, + cli::array^ outReal ) +#elif defined( _JAVA ) +public RetCode TA_INT_EMA( int startIdx, + int endIdx, + INPUT_TYPE []inReal, + int optInTimePeriod, /* From 1 to TA_INTEGER_MAX */ + double optInK_1, /* Ratio for calculation of EMA. */ + MInteger outBegIdx, + MInteger outNBElement, + double []outReal ) + +#else +TA_RetCode TA_PREFIX(INT_EMA)( int startIdx, + int endIdx, + const INPUT_TYPE *inReal, + int optInTimePeriod, /* From 1 to TA_INTEGER_MAX */ + double optInK_1, /* Ratio for calculation of EMA. */ + int *outBegIdx, + int *outNBElement, + double *outReal ) +#endif +{ + double tempReal, prevMA; + int i, today, outIdx, lookbackTotal; + + /* Ususally, optInK_1 = 2 / (optInTimePeriod + 1), + * but sometime there is exception. This + * is why both value are parameters. + */ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + lookbackTotal = LOOKBACK_CALL(EMA)( optInTimePeriod ); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + /* Do the EMA calculation using tight loops. */ + + /* The first EMA is calculated differently. It + * then become the seed for subsequent EMA. + * + * The algorithm for this seed vary widely. + * Only 3 are implemented here: + * + * TA_MA_CLASSIC: + * Use a simple MA of the first 'period'. + * This is the approach most widely documented. + * + * TA_MA_METASTOCK: + * Use first price bar value as a seed + * from the begining of all the available + * data. + * + * TA_MA_TRADESTATION: + * Use 4th price bar as a seed, except when + * period is 1 who use 2th price bar or something + * like that... (not an obvious one...). + */ + if( TA_GLOBALS_COMPATIBILITY == ENUM_VALUE(Compatibility,TA_COMPATIBILITY_DEFAULT,Default) ) + { + today = startIdx-lookbackTotal; + i = optInTimePeriod; + tempReal = 0.0; + while( i-- > 0 ) + tempReal += inReal[today++]; + + prevMA = tempReal / optInTimePeriod; + } + else + { + prevMA = inReal[0]; + today = 1; + + /* !!! Tradestation not supported yet. + case TA_MA_TRADESTATION: + prevMA = inReal[startIdx-1]; + if( optInTimePeriod == 1 ) + VALUE_HANDLE_DEREF(outBegIdx)_0 = 1; + else + VALUE_HANDLE_DEREF(outBegIdx)_0 = 3; + */ + } + + /* At this point, prevMA is the first EMA (the seed for + * the rest). + * 'today' keep track of where the processing is within the + * input. + */ + + /* Skip the unstable period. Do the processing + * but do not write it in the output. + */ + while( today <= startIdx ) + prevMA = ((inReal[today++]-prevMA)*optInK_1) + prevMA; + + /* Write the first value. */ + outReal[0] = prevMA; + outIdx = 1; + + /* Calculate the remaining range. */ + while( today <= endIdx ) + { + prevMA = ((inReal[today++]-prevMA)*optInK_1) + prevMA; + outReal[outIdx++] = prevMA; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Ema( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode ema( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_EMA( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ return FUNCTION_CALL(INT_EMA)( startIdx, endIdx, inReal, +/* Generated */ optInTimePeriod, +/* Generated */ PER_TO_K( optInTimePeriod ), +/* Generated */ outBegIdx, outNBElement, outReal ); +/* Generated */ } +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) && !defined(USE_SINGLE_PRECISION_INPUT) +/* Generated */ enum class Core::RetCode Core::TA_INT_EMA( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, +/* Generated */ double optInK_1, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::TA_INT_EMA( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, +/* Generated */ double optInK_1, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode TA_INT_EMA( int startIdx, +/* Generated */ int endIdx, +/* Generated */ INPUT_TYPE []inReal, +/* Generated */ int optInTimePeriod, +/* Generated */ double optInK_1, +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double []outReal ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_PREFIX(INT_EMA)( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const INPUT_TYPE *inReal, +/* Generated */ int optInTimePeriod, +/* Generated */ double optInK_1, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double *outReal ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double tempReal, prevMA; +/* Generated */ int i, today, outIdx, lookbackTotal; +/* Generated */ lookbackTotal = LOOKBACK_CALL(EMA)( optInTimePeriod ); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ if( TA_GLOBALS_COMPATIBILITY == ENUM_VALUE(Compatibility,TA_COMPATIBILITY_DEFAULT,Default) ) +/* Generated */ { +/* Generated */ today = startIdx-lookbackTotal; +/* Generated */ i = optInTimePeriod; +/* Generated */ tempReal = 0.0; +/* Generated */ while( i-- > 0 ) +/* Generated */ tempReal += inReal[today++]; +/* Generated */ prevMA = tempReal / optInTimePeriod; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ prevMA = inReal[0]; +/* Generated */ today = 1; +/* Generated */ } +/* Generated */ while( today <= startIdx ) +/* Generated */ prevMA = ((inReal[today++]-prevMA)*optInK_1) + prevMA; +/* Generated */ outReal[0] = prevMA; +/* Generated */ outIdx = 1; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ prevMA = ((inReal[today++]-prevMA)*optInK_1) + prevMA; +/* Generated */ outReal[outIdx++] = prevMA; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_EXP.c b/vendor/ta-lib/src/ta_func/ta_EXP.c new file mode 100644 index 000000000..3d8c4e51a --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_EXP.c @@ -0,0 +1,241 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 090807 MF Initial Version + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::ExpLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int expLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_EXP_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_EXP - Vector Arithmetic Exp + * + * Input = double + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Exp( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Exp( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode exp( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_EXP( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx; + int i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Default return values */ + for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) + { + outReal[outIdx] = std_exp(inReal[i]); + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Exp( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode exp( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_EXP( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx; +/* Generated */ int i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) +/* Generated */ { +/* Generated */ outReal[outIdx] = std_exp(inReal[i]); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_FLOOR.c b/vendor/ta-lib/src/ta_func/ta_FLOOR.c new file mode 100644 index 000000000..d90110940 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_FLOOR.c @@ -0,0 +1,241 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 090807 MF Initial Version + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::FloorLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int floorLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_FLOOR_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_FLOOR - Vector Floor + * + * Input = double + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Floor( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Floor( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode floor( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_FLOOR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx; + int i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Default return values */ + for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) + { + outReal[outIdx] = std_floor(inReal[i]); + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Floor( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode floor( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_FLOOR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx; +/* Generated */ int i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) +/* Generated */ { +/* Generated */ outReal[outIdx] = std_floor(inReal[i]); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_HT_DCPERIOD.c b/vendor/ta-lib/src/ta_func/ta_HT_DCPERIOD.c new file mode 100644 index 000000000..7bd66f128 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_HT_DCPERIOD.c @@ -0,0 +1,561 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::HtDcPeriodLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int htDcPeriodLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_HT_DCPERIOD_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + /* See TA_MAMA_Lookback for an explanation of these */ + return 32 + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_HT_DCPERIOD,HtDcPeriod); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_HT_DCPERIOD - Hilbert Transform - Dominant Cycle Period + * + * Input = double + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::HtDcPeriod( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::HtDcPeriod( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode htDcPeriod( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_HT_DCPERIOD( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + + int outIdx, i; + int lookbackTotal, today; + double tempReal, tempReal2; + + double adjustedPrevPeriod, period; + + /* Variable used for the price smoother (a weighted moving average). */ + int trailingWMAIdx; + double periodWMASum, periodWMASub, trailingWMAValue; + double smoothedValue; + + /* Variables used for the Hilbert Transormation */ + CONSTANT_DOUBLE(a) = 0.0962; + CONSTANT_DOUBLE(b) = 0.5769; + double hilbertTempReal; + int hilbertIdx; + + HILBERT_VARIABLES( detrender ); + HILBERT_VARIABLES( Q1 ); + HILBERT_VARIABLES( jI ); + HILBERT_VARIABLES( jQ ); + + double Q2, I2, prevQ2, prevI2, Re, Im; + + double I1ForOddPrev2, I1ForOddPrev3; + double I1ForEvenPrev2, I1ForEvenPrev3; + + double rad2Deg; + + double todayValue, smoothPeriod; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Constant */ + rad2Deg = 180.0 / (4.0 * std_atan(1)); + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + lookbackTotal = 32 + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_HT_DCPERIOD,HtDcPeriod); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + /* Initialize the price smoother, which is simply a weighted + * moving average of the price. + * To understand this algorithm, I strongly suggest to understand + * first how TA_WMA is done. + */ + trailingWMAIdx = startIdx - lookbackTotal; + today = trailingWMAIdx; + + /* Initialization is same as WMA, except loop is unrolled + * for speed optimization. + */ + tempReal = inReal[today++]; + periodWMASub = tempReal; + periodWMASum = tempReal; + tempReal = inReal[today++]; + periodWMASub += tempReal; + periodWMASum += tempReal*2.0; + tempReal = inReal[today++]; + periodWMASub += tempReal; + periodWMASum += tempReal*3.0; + + trailingWMAValue = 0.0; + + /* Subsequent WMA value are evaluated by using + * the DO_PRICE_WMA macro. + */ + #define DO_PRICE_WMA(varNewPrice,varToStoreSmoothedValue) { \ + periodWMASub += varNewPrice; \ + periodWMASub -= trailingWMAValue; \ + periodWMASum += varNewPrice*4.0; \ + trailingWMAValue = inReal[trailingWMAIdx++]; \ + varToStoreSmoothedValue = periodWMASum*0.1; \ + periodWMASum -= periodWMASub; \ + } + + i = 9; + do + { + tempReal = inReal[today++]; + DO_PRICE_WMA(tempReal,smoothedValue); + } while( --i != 0); + + /* Initialize the circular buffers used by the hilbert + * transform logic. + * A buffer is used for odd day and another for even days. + * This minimize the number of memory access and floating point + * operations needed (note also that by using static circular buffer, + * no large dynamic memory allocation is needed for storing + * intermediate calculation!). + */ + hilbertIdx = 0; + + INIT_HILBERT_VARIABLES(detrender); + INIT_HILBERT_VARIABLES(Q1); + INIT_HILBERT_VARIABLES(jI); + INIT_HILBERT_VARIABLES(jQ); + + period = 0.0; + outIdx = 0; + + prevI2 = prevQ2 = 0.0; + Re = Im = 0.0; + I1ForOddPrev3 = I1ForEvenPrev3 = 0.0; + I1ForOddPrev2 = I1ForEvenPrev2 = 0.0; + smoothPeriod = 0.0; + + /* The code is speed optimized and is most likely very + * hard to follow if you do not already know well the + * original algorithm. + * To understadn better, it is strongly suggested to look + * first at the Excel implementation in "test_MAMA.xls" included + * in this package. + */ + while( today <= endIdx ) + { + adjustedPrevPeriod = (0.075*period)+0.54; + + todayValue = inReal[today]; + DO_PRICE_WMA(todayValue,smoothedValue); + + if( (today%2) == 0 ) + { + /* Do the Hilbert Transforms for even price bar */ + DO_HILBERT_EVEN(detrender,smoothedValue); + DO_HILBERT_EVEN(Q1,detrender); + DO_HILBERT_EVEN(jI,I1ForEvenPrev3); + DO_HILBERT_EVEN(jQ,Q1); + if( ++hilbertIdx == 3 ) + hilbertIdx = 0; + + Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); + I2 = (0.2*(I1ForEvenPrev3 - jQ)) + (0.8*prevI2); + + /* The variable I1 is the detrender delayed for + * 3 price bars. + * + * Save the current detrender value for being + * used by the "odd" logic later. + */ + I1ForOddPrev3 = I1ForOddPrev2; + I1ForOddPrev2 = detrender; + } + else + { + /* Do the Hilbert Transforms for odd price bar */ + DO_HILBERT_ODD(detrender,smoothedValue); + DO_HILBERT_ODD(Q1,detrender); + DO_HILBERT_ODD(jI,I1ForOddPrev3); + DO_HILBERT_ODD(jQ,Q1); + + Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); + I2 = (0.2*(I1ForOddPrev3 - jQ)) + (0.8*prevI2); + + /* The varaiable I1 is the detrender delayed for + * 3 price bars. + * + * Save the current detrender value for being + * used by the "even" logic later. + */ + I1ForEvenPrev3 = I1ForEvenPrev2; + I1ForEvenPrev2 = detrender; + } + + /* Adjust the period for next price bar */ + Re = (0.2*((I2*prevI2)+(Q2*prevQ2)))+(0.8*Re); + Im = (0.2*((I2*prevQ2)-(Q2*prevI2)))+(0.8*Im); + prevQ2 = Q2; + prevI2 = I2; + tempReal = period; + if( (Im != 0.0) && (Re != 0.0) ) + period = 360.0 / (std_atan(Im/Re)*rad2Deg); + tempReal2 = 1.5*tempReal; + if( period > tempReal2) + period = tempReal2; + tempReal2 = 0.67*tempReal; + if( period < tempReal2 ) + period = tempReal2; + if( period < 6 ) + period = 6; + else if( period > 50 ) + period = 50; + period = (0.2*period) + (0.8 * tempReal); + + smoothPeriod = (0.33*period)+(0.67*smoothPeriod); + + if( today >= startIdx ) + { + outReal[outIdx++] = smoothPeriod; + } + + /* Ooof... let's do the next price bar now! */ + today++; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::HtDcPeriod( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode htDcPeriod( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_HT_DCPERIOD( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx, i; +/* Generated */ int lookbackTotal, today; +/* Generated */ double tempReal, tempReal2; +/* Generated */ double adjustedPrevPeriod, period; +/* Generated */ int trailingWMAIdx; +/* Generated */ double periodWMASum, periodWMASub, trailingWMAValue; +/* Generated */ double smoothedValue; +/* Generated */ CONSTANT_DOUBLE(a) = 0.0962; +/* Generated */ CONSTANT_DOUBLE(b) = 0.5769; +/* Generated */ double hilbertTempReal; +/* Generated */ int hilbertIdx; +/* Generated */ HILBERT_VARIABLES( detrender ); +/* Generated */ HILBERT_VARIABLES( Q1 ); +/* Generated */ HILBERT_VARIABLES( jI ); +/* Generated */ HILBERT_VARIABLES( jQ ); +/* Generated */ double Q2, I2, prevQ2, prevI2, Re, Im; +/* Generated */ double I1ForOddPrev2, I1ForOddPrev3; +/* Generated */ double I1ForEvenPrev2, I1ForEvenPrev3; +/* Generated */ double rad2Deg; +/* Generated */ double todayValue, smoothPeriod; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ rad2Deg = 180.0 / (4.0 * std_atan(1)); +/* Generated */ lookbackTotal = 32 + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_HT_DCPERIOD,HtDcPeriod); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ trailingWMAIdx = startIdx - lookbackTotal; +/* Generated */ today = trailingWMAIdx; +/* Generated */ tempReal = inReal[today++]; +/* Generated */ periodWMASub = tempReal; +/* Generated */ periodWMASum = tempReal; +/* Generated */ tempReal = inReal[today++]; +/* Generated */ periodWMASub += tempReal; +/* Generated */ periodWMASum += tempReal*2.0; +/* Generated */ tempReal = inReal[today++]; +/* Generated */ periodWMASub += tempReal; +/* Generated */ periodWMASum += tempReal*3.0; +/* Generated */ trailingWMAValue = 0.0; +/* Generated */ #define DO_PRICE_WMA(varNewPrice,varToStoreSmoothedValue) { \ +/* Generated */ periodWMASub += varNewPrice; \ +/* Generated */ periodWMASub -= trailingWMAValue; \ +/* Generated */ periodWMASum += varNewPrice*4.0; \ +/* Generated */ trailingWMAValue = inReal[trailingWMAIdx++]; \ +/* Generated */ varToStoreSmoothedValue = periodWMASum*0.1; \ +/* Generated */ periodWMASum -= periodWMASub; \ +/* Generated */ } +/* Generated */ i = 9; +/* Generated */ do +/* Generated */ { +/* Generated */ tempReal = inReal[today++]; +/* Generated */ DO_PRICE_WMA(tempReal,smoothedValue); +/* Generated */ } while( --i != 0); +/* Generated */ hilbertIdx = 0; +/* Generated */ INIT_HILBERT_VARIABLES(detrender); +/* Generated */ INIT_HILBERT_VARIABLES(Q1); +/* Generated */ INIT_HILBERT_VARIABLES(jI); +/* Generated */ INIT_HILBERT_VARIABLES(jQ); +/* Generated */ period = 0.0; +/* Generated */ outIdx = 0; +/* Generated */ prevI2 = prevQ2 = 0.0; +/* Generated */ Re = Im = 0.0; +/* Generated */ I1ForOddPrev3 = I1ForEvenPrev3 = 0.0; +/* Generated */ I1ForOddPrev2 = I1ForEvenPrev2 = 0.0; +/* Generated */ smoothPeriod = 0.0; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ adjustedPrevPeriod = (0.075*period)+0.54; +/* Generated */ todayValue = inReal[today]; +/* Generated */ DO_PRICE_WMA(todayValue,smoothedValue); +/* Generated */ if( (today%2) == 0 ) +/* Generated */ { +/* Generated */ DO_HILBERT_EVEN(detrender,smoothedValue); +/* Generated */ DO_HILBERT_EVEN(Q1,detrender); +/* Generated */ DO_HILBERT_EVEN(jI,I1ForEvenPrev3); +/* Generated */ DO_HILBERT_EVEN(jQ,Q1); +/* Generated */ if( ++hilbertIdx == 3 ) +/* Generated */ hilbertIdx = 0; +/* Generated */ Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); +/* Generated */ I2 = (0.2*(I1ForEvenPrev3 - jQ)) + (0.8*prevI2); +/* Generated */ I1ForOddPrev3 = I1ForOddPrev2; +/* Generated */ I1ForOddPrev2 = detrender; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ DO_HILBERT_ODD(detrender,smoothedValue); +/* Generated */ DO_HILBERT_ODD(Q1,detrender); +/* Generated */ DO_HILBERT_ODD(jI,I1ForOddPrev3); +/* Generated */ DO_HILBERT_ODD(jQ,Q1); +/* Generated */ Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); +/* Generated */ I2 = (0.2*(I1ForOddPrev3 - jQ)) + (0.8*prevI2); +/* Generated */ I1ForEvenPrev3 = I1ForEvenPrev2; +/* Generated */ I1ForEvenPrev2 = detrender; +/* Generated */ } +/* Generated */ Re = (0.2*((I2*prevI2)+(Q2*prevQ2)))+(0.8*Re); +/* Generated */ Im = (0.2*((I2*prevQ2)-(Q2*prevI2)))+(0.8*Im); +/* Generated */ prevQ2 = Q2; +/* Generated */ prevI2 = I2; +/* Generated */ tempReal = period; +/* Generated */ if( (Im != 0.0) && (Re != 0.0) ) +/* Generated */ period = 360.0 / (std_atan(Im/Re)*rad2Deg); +/* Generated */ tempReal2 = 1.5*tempReal; +/* Generated */ if( period > tempReal2) +/* Generated */ period = tempReal2; +/* Generated */ tempReal2 = 0.67*tempReal; +/* Generated */ if( period < tempReal2 ) +/* Generated */ period = tempReal2; +/* Generated */ if( period < 6 ) +/* Generated */ period = 6; +/* Generated */ else if( period > 50 ) +/* Generated */ period = 50; +/* Generated */ period = (0.2*period) + (0.8 * tempReal); +/* Generated */ smoothPeriod = (0.33*period)+(0.67*smoothPeriod); +/* Generated */ if( today >= startIdx ) +/* Generated */ { +/* Generated */ outReal[outIdx++] = smoothPeriod; +/* Generated */ } +/* Generated */ today++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_HT_DCPHASE.c b/vendor/ta-lib/src/ta_func/ta_HT_DCPHASE.c new file mode 100644 index 000000000..647833203 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_HT_DCPHASE.c @@ -0,0 +1,679 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::HtDcPhaseLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int htDcPhaseLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_HT_DCPHASE_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + /* 31 input are skip + * +32 output are skip to account for misc lookback + * --- + * 63 Total Lookback + * + * 31 is for being compatible with Tradestation. + * See TA_MAMA_Lookback for an explanation of the "32". + */ + return 63 + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_HT_DCPHASE,HtDcPhase); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_HT_DCPHASE - Hilbert Transform - Dominant Cycle Phase + * + * Input = double + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::HtDcPhase( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::HtDcPhase( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode htDcPhase( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_HT_DCPHASE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx, i; + int lookbackTotal, today; + double tempReal, tempReal2; + + double adjustedPrevPeriod, period; + + /* Variable used for the price smoother (a weighted moving average). */ + int trailingWMAIdx; + double periodWMASum, periodWMASub, trailingWMAValue; + double smoothedValue; + + /* Variables used for the Hilbert Transormation */ + CONSTANT_DOUBLE(a) = 0.0962; + CONSTANT_DOUBLE(b) = 0.5769; + double hilbertTempReal; + int hilbertIdx; + + HILBERT_VARIABLES( detrender ); + HILBERT_VARIABLES( Q1 ); + HILBERT_VARIABLES( jI ); + HILBERT_VARIABLES( jQ ); + + double Q2, I2, prevQ2, prevI2, Re, Im; + + double I1ForOddPrev2, I1ForOddPrev3; + double I1ForEvenPrev2, I1ForEvenPrev3; + + double rad2Deg, constDeg2RadBy360; + + double todayValue, smoothPeriod; + + /* Varaible used to keep track of the previous + * smooth price. In the case of this algorithm, + * we will never need more than 50 values. + */ + #define SMOOTH_PRICE_SIZE 50 + CIRCBUF_PROLOG(smoothPrice,double,SMOOTH_PRICE_SIZE); + int idx; + + /* Variable used to calculate the dominant cycle phase */ + int DCPeriodInt; + double DCPhase, DCPeriod, imagPart, realPart; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + CIRCBUF_INIT_LOCAL_ONLY(smoothPrice,double); + + /* Constant */ + tempReal = std_atan(1); + rad2Deg = 45.0/tempReal; + constDeg2RadBy360 = tempReal*8.0; + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + lookbackTotal = 63 + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_HT_DCPHASE,HtDcPhase); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + /* Initialize the price smoother, which is simply a weighted + * moving average of the price. + * To understand this algorithm, I strongly suggest to understand + * first how TA_WMA is done. + */ + trailingWMAIdx = startIdx - lookbackTotal; + today = trailingWMAIdx; + + /* Initialization is same as WMA, except loop is unrolled + * for speed optimization. + */ + tempReal = inReal[today++]; + periodWMASub = tempReal; + periodWMASum = tempReal; + tempReal = inReal[today++]; + periodWMASub += tempReal; + periodWMASum += tempReal*2.0; + tempReal = inReal[today++]; + periodWMASub += tempReal; + periodWMASum += tempReal*3.0; + + trailingWMAValue = 0.0; + + /* Subsequent WMA value are evaluated by using + * the DO_PRICE_WMA macro. + */ + #define DO_PRICE_WMA(varNewPrice,varToStoreSmoothedValue) { \ + periodWMASub += varNewPrice; \ + periodWMASub -= trailingWMAValue; \ + periodWMASum += varNewPrice*4.0; \ + trailingWMAValue = inReal[trailingWMAIdx++]; \ + varToStoreSmoothedValue = periodWMASum*0.1; \ + periodWMASum -= periodWMASub; \ + } + + i = 34; + do + { + tempReal = inReal[today++]; + DO_PRICE_WMA(tempReal,smoothedValue); + } while( --i != 0); + + /* Initialize the circular buffers used by the hilbert + * transform logic. + * A buffer is used for odd day and another for even days. + * This minimize the number of memory access and floating point + * operations needed (note also that by using static circular buffer, + * no large dynamic memory allocation is needed for storing + * intermediate calculation!). + */ + hilbertIdx = 0; + + INIT_HILBERT_VARIABLES(detrender); + INIT_HILBERT_VARIABLES(Q1); + INIT_HILBERT_VARIABLES(jI); + INIT_HILBERT_VARIABLES(jQ); + + period = 0.0; + outIdx = 0; + + prevI2 = prevQ2 = 0.0; + Re = Im = 0.0; + I1ForOddPrev3 = I1ForEvenPrev3 = 0.0; + I1ForOddPrev2 = I1ForEvenPrev2 = 0.0; + smoothPeriod = 0.0; + + for( i=0; i < SMOOTH_PRICE_SIZE; i++ ) + smoothPrice[i] = 0.0; + + /* The code is speed optimized and is most likely very + * hard to follow if you do not already know well the + * original algorithm. + * To understadn better, it is strongly suggested to look + * first at the Excel implementation in "test_MAMA.xls" included + * in this package. + */ + DCPhase = 0.0; + while( today <= endIdx ) + { + adjustedPrevPeriod = (0.075*period)+0.54; + + todayValue = inReal[today]; + DO_PRICE_WMA(todayValue,smoothedValue); + + /* Remember the smoothedValue into the smoothPrice + * circular buffer. + */ + smoothPrice[smoothPrice_Idx] = smoothedValue; + + if( (today%2) == 0 ) + { + /* Do the Hilbert Transforms for even price bar */ + DO_HILBERT_EVEN(detrender,smoothedValue); + DO_HILBERT_EVEN(Q1,detrender); + DO_HILBERT_EVEN(jI,I1ForEvenPrev3); + DO_HILBERT_EVEN(jQ,Q1); + if( ++hilbertIdx == 3 ) + hilbertIdx = 0; + + Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); + I2 = (0.2*(I1ForEvenPrev3 - jQ)) + (0.8*prevI2); + + /* The variable I1 is the detrender delayed for + * 3 price bars. + * + * Save the current detrender value for being + * used by the "odd" logic later. + */ + I1ForOddPrev3 = I1ForOddPrev2; + I1ForOddPrev2 = detrender; + } + else + { + /* Do the Hilbert Transforms for odd price bar */ + DO_HILBERT_ODD(detrender,smoothedValue); + DO_HILBERT_ODD(Q1,detrender); + DO_HILBERT_ODD(jI,I1ForOddPrev3); + DO_HILBERT_ODD(jQ,Q1); + + Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); + I2 = (0.2*(I1ForOddPrev3 - jQ)) + (0.8*prevI2); + + /* The varaiable I1 is the detrender delayed for + * 3 price bars. + * + * Save the current detrender value for being + * used by the "even" logic later. + */ + I1ForEvenPrev3 = I1ForEvenPrev2; + I1ForEvenPrev2 = detrender; + } + + /* Adjust the period for next price bar */ + Re = (0.2*((I2*prevI2)+(Q2*prevQ2)))+(0.8*Re); + Im = (0.2*((I2*prevQ2)-(Q2*prevI2)))+(0.8*Im); + prevQ2 = Q2; + prevI2 = I2; + tempReal = period; + if( (Im != 0.0) && (Re != 0.0) ) + period = 360.0 / (std_atan(Im/Re)*rad2Deg); + tempReal2 = 1.5*tempReal; + if( period > tempReal2) + period = tempReal2; + tempReal2 = 0.67*tempReal; + if( period < tempReal2 ) + period = tempReal2; + if( period < 6 ) + period = 6; + else if( period > 50 ) + period = 50; + period = (0.2*period) + (0.8 * tempReal); + + smoothPeriod = (0.33*period)+(0.67*smoothPeriod); + + /* Compute Dominant Cycle Phase */ + DCPeriod = smoothPeriod+0.5; + DCPeriodInt = (int)DCPeriod; + realPart = 0.0; + imagPart = 0.0; + + /* idx is used to iterate for up to 50 of the last + * value of smoothPrice. + */ + idx = smoothPrice_Idx; + for( i=0; i < DCPeriodInt; i++ ) + { + tempReal = ((double)i*constDeg2RadBy360)/(double)DCPeriodInt; + tempReal2 = smoothPrice[idx]; + realPart += std_sin(tempReal)*tempReal2; + imagPart += std_cos(tempReal)*tempReal2; + if( idx == 0 ) + idx = SMOOTH_PRICE_SIZE-1; + else + idx--; + } + + tempReal = std_fabs(imagPart); + if( tempReal > 0.0 ) + DCPhase = std_atan(realPart/imagPart)*rad2Deg; + else if( tempReal <= 0.01 ) + { + if( realPart < 0.0 ) + DCPhase -= 90.0; + else if( realPart > 0.0 ) + DCPhase += 90.0; + } + DCPhase += 90.0; + + /* Compensate for one bar lag of the weighted moving average */ + DCPhase += 360.0 / smoothPeriod; + if( imagPart < 0.0 ) + DCPhase += 180.0; + if( DCPhase > 315.0 ) + DCPhase -= 360.0; + + if( today >= startIdx ) + { + outReal[outIdx++] = DCPhase; + } + + /* Ooof... let's do the next price bar now! */ + CIRCBUF_NEXT(smoothPrice); + today++; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::HtDcPhase( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode htDcPhase( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_HT_DCPHASE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx, i; +/* Generated */ int lookbackTotal, today; +/* Generated */ double tempReal, tempReal2; +/* Generated */ double adjustedPrevPeriod, period; +/* Generated */ int trailingWMAIdx; +/* Generated */ double periodWMASum, periodWMASub, trailingWMAValue; +/* Generated */ double smoothedValue; +/* Generated */ CONSTANT_DOUBLE(a) = 0.0962; +/* Generated */ CONSTANT_DOUBLE(b) = 0.5769; +/* Generated */ double hilbertTempReal; +/* Generated */ int hilbertIdx; +/* Generated */ HILBERT_VARIABLES( detrender ); +/* Generated */ HILBERT_VARIABLES( Q1 ); +/* Generated */ HILBERT_VARIABLES( jI ); +/* Generated */ HILBERT_VARIABLES( jQ ); +/* Generated */ double Q2, I2, prevQ2, prevI2, Re, Im; +/* Generated */ double I1ForOddPrev2, I1ForOddPrev3; +/* Generated */ double I1ForEvenPrev2, I1ForEvenPrev3; +/* Generated */ double rad2Deg, constDeg2RadBy360; +/* Generated */ double todayValue, smoothPeriod; +/* Generated */ #define SMOOTH_PRICE_SIZE 50 +/* Generated */ CIRCBUF_PROLOG(smoothPrice,double,SMOOTH_PRICE_SIZE); +/* Generated */ int idx; +/* Generated */ int DCPeriodInt; +/* Generated */ double DCPhase, DCPeriod, imagPart, realPart; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ CIRCBUF_INIT_LOCAL_ONLY(smoothPrice,double); +/* Generated */ tempReal = std_atan(1); +/* Generated */ rad2Deg = 45.0/tempReal; +/* Generated */ constDeg2RadBy360 = tempReal*8.0; +/* Generated */ lookbackTotal = 63 + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_HT_DCPHASE,HtDcPhase); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ trailingWMAIdx = startIdx - lookbackTotal; +/* Generated */ today = trailingWMAIdx; +/* Generated */ tempReal = inReal[today++]; +/* Generated */ periodWMASub = tempReal; +/* Generated */ periodWMASum = tempReal; +/* Generated */ tempReal = inReal[today++]; +/* Generated */ periodWMASub += tempReal; +/* Generated */ periodWMASum += tempReal*2.0; +/* Generated */ tempReal = inReal[today++]; +/* Generated */ periodWMASub += tempReal; +/* Generated */ periodWMASum += tempReal*3.0; +/* Generated */ trailingWMAValue = 0.0; +/* Generated */ #define DO_PRICE_WMA(varNewPrice,varToStoreSmoothedValue) { \ +/* Generated */ periodWMASub += varNewPrice; \ +/* Generated */ periodWMASub -= trailingWMAValue; \ +/* Generated */ periodWMASum += varNewPrice*4.0; \ +/* Generated */ trailingWMAValue = inReal[trailingWMAIdx++]; \ +/* Generated */ varToStoreSmoothedValue = periodWMASum*0.1; \ +/* Generated */ periodWMASum -= periodWMASub; \ +/* Generated */ } +/* Generated */ i = 34; +/* Generated */ do +/* Generated */ { +/* Generated */ tempReal = inReal[today++]; +/* Generated */ DO_PRICE_WMA(tempReal,smoothedValue); +/* Generated */ } while( --i != 0); +/* Generated */ hilbertIdx = 0; +/* Generated */ INIT_HILBERT_VARIABLES(detrender); +/* Generated */ INIT_HILBERT_VARIABLES(Q1); +/* Generated */ INIT_HILBERT_VARIABLES(jI); +/* Generated */ INIT_HILBERT_VARIABLES(jQ); +/* Generated */ period = 0.0; +/* Generated */ outIdx = 0; +/* Generated */ prevI2 = prevQ2 = 0.0; +/* Generated */ Re = Im = 0.0; +/* Generated */ I1ForOddPrev3 = I1ForEvenPrev3 = 0.0; +/* Generated */ I1ForOddPrev2 = I1ForEvenPrev2 = 0.0; +/* Generated */ smoothPeriod = 0.0; +/* Generated */ for( i=0; i < SMOOTH_PRICE_SIZE; i++ ) +/* Generated */ smoothPrice[i] = 0.0; +/* Generated */ DCPhase = 0.0; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ adjustedPrevPeriod = (0.075*period)+0.54; +/* Generated */ todayValue = inReal[today]; +/* Generated */ DO_PRICE_WMA(todayValue,smoothedValue); +/* Generated */ smoothPrice[smoothPrice_Idx] = smoothedValue; +/* Generated */ if( (today%2) == 0 ) +/* Generated */ { +/* Generated */ DO_HILBERT_EVEN(detrender,smoothedValue); +/* Generated */ DO_HILBERT_EVEN(Q1,detrender); +/* Generated */ DO_HILBERT_EVEN(jI,I1ForEvenPrev3); +/* Generated */ DO_HILBERT_EVEN(jQ,Q1); +/* Generated */ if( ++hilbertIdx == 3 ) +/* Generated */ hilbertIdx = 0; +/* Generated */ Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); +/* Generated */ I2 = (0.2*(I1ForEvenPrev3 - jQ)) + (0.8*prevI2); +/* Generated */ I1ForOddPrev3 = I1ForOddPrev2; +/* Generated */ I1ForOddPrev2 = detrender; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ DO_HILBERT_ODD(detrender,smoothedValue); +/* Generated */ DO_HILBERT_ODD(Q1,detrender); +/* Generated */ DO_HILBERT_ODD(jI,I1ForOddPrev3); +/* Generated */ DO_HILBERT_ODD(jQ,Q1); +/* Generated */ Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); +/* Generated */ I2 = (0.2*(I1ForOddPrev3 - jQ)) + (0.8*prevI2); +/* Generated */ I1ForEvenPrev3 = I1ForEvenPrev2; +/* Generated */ I1ForEvenPrev2 = detrender; +/* Generated */ } +/* Generated */ Re = (0.2*((I2*prevI2)+(Q2*prevQ2)))+(0.8*Re); +/* Generated */ Im = (0.2*((I2*prevQ2)-(Q2*prevI2)))+(0.8*Im); +/* Generated */ prevQ2 = Q2; +/* Generated */ prevI2 = I2; +/* Generated */ tempReal = period; +/* Generated */ if( (Im != 0.0) && (Re != 0.0) ) +/* Generated */ period = 360.0 / (std_atan(Im/Re)*rad2Deg); +/* Generated */ tempReal2 = 1.5*tempReal; +/* Generated */ if( period > tempReal2) +/* Generated */ period = tempReal2; +/* Generated */ tempReal2 = 0.67*tempReal; +/* Generated */ if( period < tempReal2 ) +/* Generated */ period = tempReal2; +/* Generated */ if( period < 6 ) +/* Generated */ period = 6; +/* Generated */ else if( period > 50 ) +/* Generated */ period = 50; +/* Generated */ period = (0.2*period) + (0.8 * tempReal); +/* Generated */ smoothPeriod = (0.33*period)+(0.67*smoothPeriod); +/* Generated */ DCPeriod = smoothPeriod+0.5; +/* Generated */ DCPeriodInt = (int)DCPeriod; +/* Generated */ realPart = 0.0; +/* Generated */ imagPart = 0.0; +/* Generated */ idx = smoothPrice_Idx; +/* Generated */ for( i=0; i < DCPeriodInt; i++ ) +/* Generated */ { +/* Generated */ tempReal = ((double)i*constDeg2RadBy360)/(double)DCPeriodInt; +/* Generated */ tempReal2 = smoothPrice[idx]; +/* Generated */ realPart += std_sin(tempReal)*tempReal2; +/* Generated */ imagPart += std_cos(tempReal)*tempReal2; +/* Generated */ if( idx == 0 ) +/* Generated */ idx = SMOOTH_PRICE_SIZE-1; +/* Generated */ else +/* Generated */ idx--; +/* Generated */ } +/* Generated */ tempReal = std_fabs(imagPart); +/* Generated */ if( tempReal > 0.0 ) +/* Generated */ DCPhase = std_atan(realPart/imagPart)*rad2Deg; +/* Generated */ else if( tempReal <= 0.01 ) +/* Generated */ { +/* Generated */ if( realPart < 0.0 ) +/* Generated */ DCPhase -= 90.0; +/* Generated */ else if( realPart > 0.0 ) +/* Generated */ DCPhase += 90.0; +/* Generated */ } +/* Generated */ DCPhase += 90.0; +/* Generated */ DCPhase += 360.0 / smoothPeriod; +/* Generated */ if( imagPart < 0.0 ) +/* Generated */ DCPhase += 180.0; +/* Generated */ if( DCPhase > 315.0 ) +/* Generated */ DCPhase -= 360.0; +/* Generated */ if( today >= startIdx ) +/* Generated */ { +/* Generated */ outReal[outIdx++] = DCPhase; +/* Generated */ } +/* Generated */ CIRCBUF_NEXT(smoothPrice); +/* Generated */ today++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_HT_PHASOR.c b/vendor/ta-lib/src/ta_func/ta_HT_PHASOR.c new file mode 100644 index 000000000..ec56e824f --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_HT_PHASOR.c @@ -0,0 +1,581 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::HtPhasorLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int htPhasorLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_HT_PHASOR_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + /* See TA_MAMA_Lookback for an explanation of these */ + return 32 + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_HT_PHASOR,HtPhasor); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_HT_PHASOR - Hilbert Transform - Phasor Components + * + * Input = double + * Output = double, double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::HtPhasor( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInPhase, +/* Generated */ cli::array^ outQuadrature ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::HtPhasor( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInPhase, +/* Generated */ cli::array^ outQuadrature ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode htPhasor( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outInPhase[], +/* Generated */ double outQuadrature[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_HT_PHASOR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outInPhase[], +/* Generated */ double outQuadrature[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + + int outIdx, i; + int lookbackTotal, today; + double tempReal, tempReal2; + + double adjustedPrevPeriod, period; + + /* Variable used for the price smoother (a weighted moving average). */ + int trailingWMAIdx; + double periodWMASum, periodWMASub, trailingWMAValue; + double smoothedValue; + + /* Variables used for the Hilbert Transormation */ + CONSTANT_DOUBLE(a) = 0.0962; + CONSTANT_DOUBLE(b) = 0.5769; + double hilbertTempReal; + int hilbertIdx; + + HILBERT_VARIABLES( detrender ); + HILBERT_VARIABLES( Q1 ); + HILBERT_VARIABLES( jI ); + HILBERT_VARIABLES( jQ ); + + double Q2, I2, prevQ2, prevI2, Re, Im; + + double I1ForOddPrev2, I1ForOddPrev3; + double I1ForEvenPrev2, I1ForEvenPrev3; + + double rad2Deg; + + double todayValue; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInPhase ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( !outQuadrature ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Constant */ + rad2Deg = 180.0 / (4.0 * std_atan(1)); + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + lookbackTotal = 32 + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_HT_PHASOR,HtPhasor); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + /* Initialize the price smoother, which is simply a weighted + * moving average of the price. + * To understand this algorithm, I strongly suggest to understand + * first how TA_WMA is done. + */ + trailingWMAIdx = startIdx - lookbackTotal; + today = trailingWMAIdx; + + /* Initialization is same as WMA, except loop is unrolled + * for speed optimization. + */ + tempReal = inReal[today++]; + periodWMASub = tempReal; + periodWMASum = tempReal; + tempReal = inReal[today++]; + periodWMASub += tempReal; + periodWMASum += tempReal*2.0; + tempReal = inReal[today++]; + periodWMASub += tempReal; + periodWMASum += tempReal*3.0; + + trailingWMAValue = 0.0; + + /* Subsequent WMA value are evaluated by using + * the DO_PRICE_WMA macro. + */ + #define DO_PRICE_WMA(varNewPrice,varToStoreSmoothedValue) { \ + periodWMASub += varNewPrice; \ + periodWMASub -= trailingWMAValue; \ + periodWMASum += varNewPrice*4.0; \ + trailingWMAValue = inReal[trailingWMAIdx++]; \ + varToStoreSmoothedValue = periodWMASum*0.1; \ + periodWMASum -= periodWMASub; \ + } + + i = 9; + do + { + tempReal = inReal[today++]; + DO_PRICE_WMA(tempReal,smoothedValue); + } while( --i != 0); + + /* Initialize the circular buffers used by the hilbert + * transform logic. + * A buffer is used for odd day and another for even days. + * This minimize the number of memory access and floating point + * operations needed (note also that by using static circular buffer, + * no large dynamic memory allocation is needed for storing + * intermediate calculation!). + */ + hilbertIdx = 0; + + INIT_HILBERT_VARIABLES(detrender); + INIT_HILBERT_VARIABLES(Q1); + INIT_HILBERT_VARIABLES(jI); + INIT_HILBERT_VARIABLES(jQ); + + period = 0.0; + outIdx = 0; + + prevI2 = prevQ2 = 0.0; + Re = Im = 0.0; + I1ForOddPrev3 = I1ForEvenPrev3 = 0.0; + I1ForOddPrev2 = I1ForEvenPrev2 = 0.0; + + /* The code is speed optimized and is most likely very + * hard to follow if you do not already know well the + * original algorithm. + * To understadn better, it is strongly suggested to look + * first at the Excel implementation in "test_MAMA.xls" included + * in this package. + */ + while( today <= endIdx ) + { + adjustedPrevPeriod = (0.075*period)+0.54; + + todayValue = inReal[today]; + DO_PRICE_WMA(todayValue,smoothedValue); + + if( (today%2) == 0 ) + { + /* Do the Hilbert Transforms for even price bar */ + DO_HILBERT_EVEN(detrender,smoothedValue); + DO_HILBERT_EVEN(Q1,detrender); + if( today >= startIdx ) + { + outQuadrature[outIdx] = Q1; + outInPhase[outIdx++] = I1ForEvenPrev3; + } + DO_HILBERT_EVEN(jI,I1ForEvenPrev3); + DO_HILBERT_EVEN(jQ,Q1); + if( ++hilbertIdx == 3 ) + hilbertIdx = 0; + + Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); + I2 = (0.2*(I1ForEvenPrev3 - jQ)) + (0.8*prevI2); + + /* The variable I1 is the detrender delayed for + * 3 price bars. + * + * Save the current detrender value for being + * used by the "odd" logic later. + */ + I1ForOddPrev3 = I1ForOddPrev2; + I1ForOddPrev2 = detrender; + + } + else + { + /* Do the Hilbert Transforms for odd price bar */ + DO_HILBERT_ODD(detrender,smoothedValue); + DO_HILBERT_ODD(Q1,detrender); + if( today >= startIdx ) + { + outQuadrature[outIdx] = Q1; + outInPhase[outIdx++] = I1ForOddPrev3; + } + DO_HILBERT_ODD(jI,I1ForOddPrev3); + DO_HILBERT_ODD(jQ,Q1); + + Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); + I2 = (0.2*(I1ForOddPrev3 - jQ)) + (0.8*prevI2); + + /* The varaiable I1 is the detrender delayed for + * 3 price bars. + * + * Save the current detrender value for being + * used by the "even" logic later. + */ + I1ForEvenPrev3 = I1ForEvenPrev2; + I1ForEvenPrev2 = detrender; + } + + /* Adjust the period for next price bar */ + Re = (0.2*((I2*prevI2)+(Q2*prevQ2)))+(0.8*Re); + Im = (0.2*((I2*prevQ2)-(Q2*prevI2)))+(0.8*Im); + prevQ2 = Q2; + prevI2 = I2; + tempReal = period; + if( (Im != 0.0) && (Re != 0.0) ) + period = 360.0 / (std_atan(Im/Re)*rad2Deg); + tempReal2 = 1.5*tempReal; + if( period > tempReal2) + period = tempReal2; + tempReal2 = 0.67*tempReal; + if( period < tempReal2 ) + period = tempReal2; + if( period < 6 ) + period = 6; + else if( period > 50 ) + period = 50; + period = (0.2*period) + (0.8 * tempReal); + + /* Ooof... let's do the next price bar now! */ + today++; + } + + /* Default return values */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::HtPhasor( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInPhase, +/* Generated */ cli::array^ outQuadrature ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode htPhasor( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outInPhase[], +/* Generated */ double outQuadrature[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_HT_PHASOR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outInPhase[], +/* Generated */ double outQuadrature[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx, i; +/* Generated */ int lookbackTotal, today; +/* Generated */ double tempReal, tempReal2; +/* Generated */ double adjustedPrevPeriod, period; +/* Generated */ int trailingWMAIdx; +/* Generated */ double periodWMASum, periodWMASub, trailingWMAValue; +/* Generated */ double smoothedValue; +/* Generated */ CONSTANT_DOUBLE(a) = 0.0962; +/* Generated */ CONSTANT_DOUBLE(b) = 0.5769; +/* Generated */ double hilbertTempReal; +/* Generated */ int hilbertIdx; +/* Generated */ HILBERT_VARIABLES( detrender ); +/* Generated */ HILBERT_VARIABLES( Q1 ); +/* Generated */ HILBERT_VARIABLES( jI ); +/* Generated */ HILBERT_VARIABLES( jQ ); +/* Generated */ double Q2, I2, prevQ2, prevI2, Re, Im; +/* Generated */ double I1ForOddPrev2, I1ForOddPrev3; +/* Generated */ double I1ForEvenPrev2, I1ForEvenPrev3; +/* Generated */ double rad2Deg; +/* Generated */ double todayValue; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInPhase ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !outQuadrature ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ rad2Deg = 180.0 / (4.0 * std_atan(1)); +/* Generated */ lookbackTotal = 32 + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_HT_PHASOR,HtPhasor); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ trailingWMAIdx = startIdx - lookbackTotal; +/* Generated */ today = trailingWMAIdx; +/* Generated */ tempReal = inReal[today++]; +/* Generated */ periodWMASub = tempReal; +/* Generated */ periodWMASum = tempReal; +/* Generated */ tempReal = inReal[today++]; +/* Generated */ periodWMASub += tempReal; +/* Generated */ periodWMASum += tempReal*2.0; +/* Generated */ tempReal = inReal[today++]; +/* Generated */ periodWMASub += tempReal; +/* Generated */ periodWMASum += tempReal*3.0; +/* Generated */ trailingWMAValue = 0.0; +/* Generated */ #define DO_PRICE_WMA(varNewPrice,varToStoreSmoothedValue) { \ +/* Generated */ periodWMASub += varNewPrice; \ +/* Generated */ periodWMASub -= trailingWMAValue; \ +/* Generated */ periodWMASum += varNewPrice*4.0; \ +/* Generated */ trailingWMAValue = inReal[trailingWMAIdx++]; \ +/* Generated */ varToStoreSmoothedValue = periodWMASum*0.1; \ +/* Generated */ periodWMASum -= periodWMASub; \ +/* Generated */ } +/* Generated */ i = 9; +/* Generated */ do +/* Generated */ { +/* Generated */ tempReal = inReal[today++]; +/* Generated */ DO_PRICE_WMA(tempReal,smoothedValue); +/* Generated */ } while( --i != 0); +/* Generated */ hilbertIdx = 0; +/* Generated */ INIT_HILBERT_VARIABLES(detrender); +/* Generated */ INIT_HILBERT_VARIABLES(Q1); +/* Generated */ INIT_HILBERT_VARIABLES(jI); +/* Generated */ INIT_HILBERT_VARIABLES(jQ); +/* Generated */ period = 0.0; +/* Generated */ outIdx = 0; +/* Generated */ prevI2 = prevQ2 = 0.0; +/* Generated */ Re = Im = 0.0; +/* Generated */ I1ForOddPrev3 = I1ForEvenPrev3 = 0.0; +/* Generated */ I1ForOddPrev2 = I1ForEvenPrev2 = 0.0; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ adjustedPrevPeriod = (0.075*period)+0.54; +/* Generated */ todayValue = inReal[today]; +/* Generated */ DO_PRICE_WMA(todayValue,smoothedValue); +/* Generated */ if( (today%2) == 0 ) +/* Generated */ { +/* Generated */ DO_HILBERT_EVEN(detrender,smoothedValue); +/* Generated */ DO_HILBERT_EVEN(Q1,detrender); +/* Generated */ if( today >= startIdx ) +/* Generated */ { +/* Generated */ outQuadrature[outIdx] = Q1; +/* Generated */ outInPhase[outIdx++] = I1ForEvenPrev3; +/* Generated */ } +/* Generated */ DO_HILBERT_EVEN(jI,I1ForEvenPrev3); +/* Generated */ DO_HILBERT_EVEN(jQ,Q1); +/* Generated */ if( ++hilbertIdx == 3 ) +/* Generated */ hilbertIdx = 0; +/* Generated */ Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); +/* Generated */ I2 = (0.2*(I1ForEvenPrev3 - jQ)) + (0.8*prevI2); +/* Generated */ I1ForOddPrev3 = I1ForOddPrev2; +/* Generated */ I1ForOddPrev2 = detrender; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ DO_HILBERT_ODD(detrender,smoothedValue); +/* Generated */ DO_HILBERT_ODD(Q1,detrender); +/* Generated */ if( today >= startIdx ) +/* Generated */ { +/* Generated */ outQuadrature[outIdx] = Q1; +/* Generated */ outInPhase[outIdx++] = I1ForOddPrev3; +/* Generated */ } +/* Generated */ DO_HILBERT_ODD(jI,I1ForOddPrev3); +/* Generated */ DO_HILBERT_ODD(jQ,Q1); +/* Generated */ Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); +/* Generated */ I2 = (0.2*(I1ForOddPrev3 - jQ)) + (0.8*prevI2); +/* Generated */ I1ForEvenPrev3 = I1ForEvenPrev2; +/* Generated */ I1ForEvenPrev2 = detrender; +/* Generated */ } +/* Generated */ Re = (0.2*((I2*prevI2)+(Q2*prevQ2)))+(0.8*Re); +/* Generated */ Im = (0.2*((I2*prevQ2)-(Q2*prevI2)))+(0.8*Im); +/* Generated */ prevQ2 = Q2; +/* Generated */ prevI2 = I2; +/* Generated */ tempReal = period; +/* Generated */ if( (Im != 0.0) && (Re != 0.0) ) +/* Generated */ period = 360.0 / (std_atan(Im/Re)*rad2Deg); +/* Generated */ tempReal2 = 1.5*tempReal; +/* Generated */ if( period > tempReal2) +/* Generated */ period = tempReal2; +/* Generated */ tempReal2 = 0.67*tempReal; +/* Generated */ if( period < tempReal2 ) +/* Generated */ period = tempReal2; +/* Generated */ if( period < 6 ) +/* Generated */ period = 6; +/* Generated */ else if( period > 50 ) +/* Generated */ period = 50; +/* Generated */ period = (0.2*period) + (0.8 * tempReal); +/* Generated */ today++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_HT_SINE.c b/vendor/ta-lib/src/ta_func/ta_HT_SINE.c new file mode 100644 index 000000000..109143ec4 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_HT_SINE.c @@ -0,0 +1,695 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::HtSineLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int htSineLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_HT_SINE_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + /* 31 input are skip + * +32 output are skip to account for misc lookback + * --- + * 63 Total Lookback + * + * 31 is for being compatible with Tradestation. + * See TA_MAMA_Lookback for an explanation of the "32". + */ + return 63 + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_HT_SINE,HtSine); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_HT_SINE - Hilbert Transform - SineWave + * + * Input = double + * Output = double, double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::HtSine( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outSine, +/* Generated */ cli::array^ outLeadSine ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::HtSine( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outSine, +/* Generated */ cli::array^ outLeadSine ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode htSine( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outSine[], +/* Generated */ double outLeadSine[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_HT_SINE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outSine[], +/* Generated */ double outLeadSine[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx, i; + int lookbackTotal, today; + double tempReal, tempReal2; + + double adjustedPrevPeriod, period; + + /* Variable used for the price smoother (a weighted moving average). */ + int trailingWMAIdx; + double periodWMASum, periodWMASub, trailingWMAValue; + double smoothedValue; + + /* Variables used for the Hilbert Transormation */ + CONSTANT_DOUBLE(a) = 0.0962; + CONSTANT_DOUBLE(b) = 0.5769; + double hilbertTempReal; + int hilbertIdx; + + HILBERT_VARIABLES( detrender ); + HILBERT_VARIABLES( Q1 ); + HILBERT_VARIABLES( jI ); + HILBERT_VARIABLES( jQ ); + + double Q2, I2, prevQ2, prevI2, Re, Im; + + double I1ForOddPrev2, I1ForOddPrev3; + double I1ForEvenPrev2, I1ForEvenPrev3; + + double rad2Deg, deg2Rad, constDeg2RadBy360; + + double todayValue, smoothPeriod; + + /* Varaible used to keep track of the previous + * smooth price. In the case of this algorithm, + * we will never need more than 50 values. + */ + #define SMOOTH_PRICE_SIZE 50 + CIRCBUF_PROLOG(smoothPrice,double,SMOOTH_PRICE_SIZE); + int idx; + + /* Variable used to calculate the dominant cycle phase */ + int DCPeriodInt; + double DCPhase, DCPeriod, imagPart, realPart; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outSine ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( !outLeadSine ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + CIRCBUF_INIT_LOCAL_ONLY(smoothPrice,double); + + /* The following could be replaced by constant eventually. */ + tempReal = std_atan(1); + rad2Deg = 45.0/tempReal; + deg2Rad = 1.0/rad2Deg; + constDeg2RadBy360 = tempReal*8.0; + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + lookbackTotal = 63 + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_HT_SINE,HtSine); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + /* Initialize the price smoother, which is simply a weighted + * moving average of the price. + * To understand this algorithm, I strongly suggest to understand + * first how TA_WMA is done. + */ + trailingWMAIdx = startIdx - lookbackTotal; + today = trailingWMAIdx; + + /* Initialization is same as WMA, except loop is unrolled + * for speed optimization. + */ + tempReal = inReal[today++]; + periodWMASub = tempReal; + periodWMASum = tempReal; + tempReal = inReal[today++]; + periodWMASub += tempReal; + periodWMASum += tempReal*2.0; + tempReal = inReal[today++]; + periodWMASub += tempReal; + periodWMASum += tempReal*3.0; + + trailingWMAValue = 0.0; + + /* Subsequent WMA value are evaluated by using + * the DO_PRICE_WMA macro. + */ + #define DO_PRICE_WMA(varNewPrice,varToStoreSmoothedValue) { \ + periodWMASub += varNewPrice; \ + periodWMASub -= trailingWMAValue; \ + periodWMASum += varNewPrice*4.0; \ + trailingWMAValue = inReal[trailingWMAIdx++]; \ + varToStoreSmoothedValue = periodWMASum*0.1; \ + periodWMASum -= periodWMASub; \ + } + + i = 34; + do + { + tempReal = inReal[today++]; + DO_PRICE_WMA(tempReal,smoothedValue); + } while( --i != 0); + + /* Initialize the circular buffers used by the hilbert + * transform logic. + * A buffer is used for odd day and another for even days. + * This minimize the number of memory access and floating point + * operations needed (note also that by using static circular buffer, + * no large dynamic memory allocation is needed for storing + * intermediate calculation!). + */ + hilbertIdx = 0; + + INIT_HILBERT_VARIABLES(detrender); + INIT_HILBERT_VARIABLES(Q1); + INIT_HILBERT_VARIABLES(jI); + INIT_HILBERT_VARIABLES(jQ); + + period = 0.0; + outIdx = 0; + + prevI2 = prevQ2 = 0.0; + Re = Im = 0.0; + I1ForOddPrev3 = I1ForEvenPrev3 = 0.0; + I1ForOddPrev2 = I1ForEvenPrev2 = 0.0; + smoothPeriod = 0.0; + + for( i=0; i < SMOOTH_PRICE_SIZE; i++ ) + smoothPrice[i] = 0.0; + + /* The code is speed optimized and is most likely very + * hard to follow if you do not already know well the + * original algorithm. + * To understadn better, it is strongly suggested to look + * first at the Excel implementation in "test_MAMA.xls" included + * in this package. + */ + DCPhase = 0.0; + while( today <= endIdx ) + { + adjustedPrevPeriod = (0.075*period)+0.54; + + todayValue = inReal[today]; + DO_PRICE_WMA(todayValue,smoothedValue); + + /* Remember the smoothedValue into the smoothPrice + * circular buffer. + */ + smoothPrice[smoothPrice_Idx] = smoothedValue; + + if( (today%2) == 0 ) + { + /* Do the Hilbert Transforms for even price bar */ + DO_HILBERT_EVEN(detrender,smoothedValue); + DO_HILBERT_EVEN(Q1,detrender); + DO_HILBERT_EVEN(jI,I1ForEvenPrev3); + DO_HILBERT_EVEN(jQ,Q1); + if( ++hilbertIdx == 3 ) + hilbertIdx = 0; + + Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); + I2 = (0.2*(I1ForEvenPrev3 - jQ)) + (0.8*prevI2); + + /* The variable I1 is the detrender delayed for + * 3 price bars. + * + * Save the current detrender value for being + * used by the "odd" logic later. + */ + I1ForOddPrev3 = I1ForOddPrev2; + I1ForOddPrev2 = detrender; + } + else + { + /* Do the Hilbert Transforms for odd price bar */ + DO_HILBERT_ODD(detrender,smoothedValue); + DO_HILBERT_ODD(Q1,detrender); + DO_HILBERT_ODD(jI,I1ForOddPrev3); + DO_HILBERT_ODD(jQ,Q1); + + Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); + I2 = (0.2*(I1ForOddPrev3 - jQ)) + (0.8*prevI2); + + /* The varaiable I1 is the detrender delayed for + * 3 price bars. + * + * Save the current detrender value for being + * used by the "even" logic later. + */ + I1ForEvenPrev3 = I1ForEvenPrev2; + I1ForEvenPrev2 = detrender; + } + + /* Adjust the period for next price bar */ + Re = (0.2*((I2*prevI2)+(Q2*prevQ2)))+(0.8*Re); + Im = (0.2*((I2*prevQ2)-(Q2*prevI2)))+(0.8*Im); + prevQ2 = Q2; + prevI2 = I2; + tempReal = period; + if( (Im != 0.0) && (Re != 0.0) ) + period = 360.0 / (std_atan(Im/Re)*rad2Deg); + tempReal2 = 1.5*tempReal; + if( period > tempReal2) + period = tempReal2; + tempReal2 = 0.67*tempReal; + if( period < tempReal2 ) + period = tempReal2; + if( period < 6 ) + period = 6; + else if( period > 50 ) + period = 50; + period = (0.2*period) + (0.8 * tempReal); + + smoothPeriod = (0.33*period)+(0.67*smoothPeriod); + + /* Compute Dominant Cycle Phase */ + DCPeriod = smoothPeriod+0.5; + DCPeriodInt = (int)DCPeriod; + realPart = 0.0; + imagPart = 0.0; + + /* idx is used to iterate for up to 50 of the last + * value of smoothPrice. + */ + idx = smoothPrice_Idx; + for( i=0; i < DCPeriodInt; i++ ) + { + tempReal = ((double)i*constDeg2RadBy360)/(double)DCPeriodInt; + tempReal2 = smoothPrice[idx]; + realPart += std_sin(tempReal)*tempReal2; + imagPart += std_cos(tempReal)*tempReal2; + if( idx == 0 ) + idx = SMOOTH_PRICE_SIZE-1; + else + idx--; + } + + tempReal = std_fabs(imagPart); + if( tempReal > 0.0 ) + DCPhase = std_atan(realPart/imagPart)*rad2Deg; + else if( tempReal <= 0.01 ) + { + if( realPart < 0.0 ) + DCPhase -= 90.0; + else if( realPart > 0.0 ) + DCPhase += 90.0; + } + DCPhase += 90.0; + + /* Compensate for one bar lag of the weighted moving average */ + DCPhase += 360.0 / smoothPeriod; + if( imagPart < 0.0 ) + DCPhase += 180.0; + if( DCPhase > 315.0 ) + DCPhase -= 360.0; + + if( today >= startIdx ) + { + outSine[outIdx] = std_sin(DCPhase*deg2Rad); + outLeadSine[outIdx++] = std_sin((DCPhase+45)*deg2Rad); + } + + /* Ooof... let's do the next price bar now! */ + CIRCBUF_NEXT(smoothPrice); + today++; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::HtSine( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outSine, +/* Generated */ cli::array^ outLeadSine ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode htSine( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outSine[], +/* Generated */ double outLeadSine[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_HT_SINE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outSine[], +/* Generated */ double outLeadSine[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx, i; +/* Generated */ int lookbackTotal, today; +/* Generated */ double tempReal, tempReal2; +/* Generated */ double adjustedPrevPeriod, period; +/* Generated */ int trailingWMAIdx; +/* Generated */ double periodWMASum, periodWMASub, trailingWMAValue; +/* Generated */ double smoothedValue; +/* Generated */ CONSTANT_DOUBLE(a) = 0.0962; +/* Generated */ CONSTANT_DOUBLE(b) = 0.5769; +/* Generated */ double hilbertTempReal; +/* Generated */ int hilbertIdx; +/* Generated */ HILBERT_VARIABLES( detrender ); +/* Generated */ HILBERT_VARIABLES( Q1 ); +/* Generated */ HILBERT_VARIABLES( jI ); +/* Generated */ HILBERT_VARIABLES( jQ ); +/* Generated */ double Q2, I2, prevQ2, prevI2, Re, Im; +/* Generated */ double I1ForOddPrev2, I1ForOddPrev3; +/* Generated */ double I1ForEvenPrev2, I1ForEvenPrev3; +/* Generated */ double rad2Deg, deg2Rad, constDeg2RadBy360; +/* Generated */ double todayValue, smoothPeriod; +/* Generated */ #define SMOOTH_PRICE_SIZE 50 +/* Generated */ CIRCBUF_PROLOG(smoothPrice,double,SMOOTH_PRICE_SIZE); +/* Generated */ int idx; +/* Generated */ int DCPeriodInt; +/* Generated */ double DCPhase, DCPeriod, imagPart, realPart; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outSine ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !outLeadSine ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ CIRCBUF_INIT_LOCAL_ONLY(smoothPrice,double); +/* Generated */ tempReal = std_atan(1); +/* Generated */ rad2Deg = 45.0/tempReal; +/* Generated */ deg2Rad = 1.0/rad2Deg; +/* Generated */ constDeg2RadBy360 = tempReal*8.0; +/* Generated */ lookbackTotal = 63 + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_HT_SINE,HtSine); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ trailingWMAIdx = startIdx - lookbackTotal; +/* Generated */ today = trailingWMAIdx; +/* Generated */ tempReal = inReal[today++]; +/* Generated */ periodWMASub = tempReal; +/* Generated */ periodWMASum = tempReal; +/* Generated */ tempReal = inReal[today++]; +/* Generated */ periodWMASub += tempReal; +/* Generated */ periodWMASum += tempReal*2.0; +/* Generated */ tempReal = inReal[today++]; +/* Generated */ periodWMASub += tempReal; +/* Generated */ periodWMASum += tempReal*3.0; +/* Generated */ trailingWMAValue = 0.0; +/* Generated */ #define DO_PRICE_WMA(varNewPrice,varToStoreSmoothedValue) { \ +/* Generated */ periodWMASub += varNewPrice; \ +/* Generated */ periodWMASub -= trailingWMAValue; \ +/* Generated */ periodWMASum += varNewPrice*4.0; \ +/* Generated */ trailingWMAValue = inReal[trailingWMAIdx++]; \ +/* Generated */ varToStoreSmoothedValue = periodWMASum*0.1; \ +/* Generated */ periodWMASum -= periodWMASub; \ +/* Generated */ } +/* Generated */ i = 34; +/* Generated */ do +/* Generated */ { +/* Generated */ tempReal = inReal[today++]; +/* Generated */ DO_PRICE_WMA(tempReal,smoothedValue); +/* Generated */ } while( --i != 0); +/* Generated */ hilbertIdx = 0; +/* Generated */ INIT_HILBERT_VARIABLES(detrender); +/* Generated */ INIT_HILBERT_VARIABLES(Q1); +/* Generated */ INIT_HILBERT_VARIABLES(jI); +/* Generated */ INIT_HILBERT_VARIABLES(jQ); +/* Generated */ period = 0.0; +/* Generated */ outIdx = 0; +/* Generated */ prevI2 = prevQ2 = 0.0; +/* Generated */ Re = Im = 0.0; +/* Generated */ I1ForOddPrev3 = I1ForEvenPrev3 = 0.0; +/* Generated */ I1ForOddPrev2 = I1ForEvenPrev2 = 0.0; +/* Generated */ smoothPeriod = 0.0; +/* Generated */ for( i=0; i < SMOOTH_PRICE_SIZE; i++ ) +/* Generated */ smoothPrice[i] = 0.0; +/* Generated */ DCPhase = 0.0; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ adjustedPrevPeriod = (0.075*period)+0.54; +/* Generated */ todayValue = inReal[today]; +/* Generated */ DO_PRICE_WMA(todayValue,smoothedValue); +/* Generated */ smoothPrice[smoothPrice_Idx] = smoothedValue; +/* Generated */ if( (today%2) == 0 ) +/* Generated */ { +/* Generated */ DO_HILBERT_EVEN(detrender,smoothedValue); +/* Generated */ DO_HILBERT_EVEN(Q1,detrender); +/* Generated */ DO_HILBERT_EVEN(jI,I1ForEvenPrev3); +/* Generated */ DO_HILBERT_EVEN(jQ,Q1); +/* Generated */ if( ++hilbertIdx == 3 ) +/* Generated */ hilbertIdx = 0; +/* Generated */ Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); +/* Generated */ I2 = (0.2*(I1ForEvenPrev3 - jQ)) + (0.8*prevI2); +/* Generated */ I1ForOddPrev3 = I1ForOddPrev2; +/* Generated */ I1ForOddPrev2 = detrender; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ DO_HILBERT_ODD(detrender,smoothedValue); +/* Generated */ DO_HILBERT_ODD(Q1,detrender); +/* Generated */ DO_HILBERT_ODD(jI,I1ForOddPrev3); +/* Generated */ DO_HILBERT_ODD(jQ,Q1); +/* Generated */ Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); +/* Generated */ I2 = (0.2*(I1ForOddPrev3 - jQ)) + (0.8*prevI2); +/* Generated */ I1ForEvenPrev3 = I1ForEvenPrev2; +/* Generated */ I1ForEvenPrev2 = detrender; +/* Generated */ } +/* Generated */ Re = (0.2*((I2*prevI2)+(Q2*prevQ2)))+(0.8*Re); +/* Generated */ Im = (0.2*((I2*prevQ2)-(Q2*prevI2)))+(0.8*Im); +/* Generated */ prevQ2 = Q2; +/* Generated */ prevI2 = I2; +/* Generated */ tempReal = period; +/* Generated */ if( (Im != 0.0) && (Re != 0.0) ) +/* Generated */ period = 360.0 / (std_atan(Im/Re)*rad2Deg); +/* Generated */ tempReal2 = 1.5*tempReal; +/* Generated */ if( period > tempReal2) +/* Generated */ period = tempReal2; +/* Generated */ tempReal2 = 0.67*tempReal; +/* Generated */ if( period < tempReal2 ) +/* Generated */ period = tempReal2; +/* Generated */ if( period < 6 ) +/* Generated */ period = 6; +/* Generated */ else if( period > 50 ) +/* Generated */ period = 50; +/* Generated */ period = (0.2*period) + (0.8 * tempReal); +/* Generated */ smoothPeriod = (0.33*period)+(0.67*smoothPeriod); +/* Generated */ DCPeriod = smoothPeriod+0.5; +/* Generated */ DCPeriodInt = (int)DCPeriod; +/* Generated */ realPart = 0.0; +/* Generated */ imagPart = 0.0; +/* Generated */ idx = smoothPrice_Idx; +/* Generated */ for( i=0; i < DCPeriodInt; i++ ) +/* Generated */ { +/* Generated */ tempReal = ((double)i*constDeg2RadBy360)/(double)DCPeriodInt; +/* Generated */ tempReal2 = smoothPrice[idx]; +/* Generated */ realPart += std_sin(tempReal)*tempReal2; +/* Generated */ imagPart += std_cos(tempReal)*tempReal2; +/* Generated */ if( idx == 0 ) +/* Generated */ idx = SMOOTH_PRICE_SIZE-1; +/* Generated */ else +/* Generated */ idx--; +/* Generated */ } +/* Generated */ tempReal = std_fabs(imagPart); +/* Generated */ if( tempReal > 0.0 ) +/* Generated */ DCPhase = std_atan(realPart/imagPart)*rad2Deg; +/* Generated */ else if( tempReal <= 0.01 ) +/* Generated */ { +/* Generated */ if( realPart < 0.0 ) +/* Generated */ DCPhase -= 90.0; +/* Generated */ else if( realPart > 0.0 ) +/* Generated */ DCPhase += 90.0; +/* Generated */ } +/* Generated */ DCPhase += 90.0; +/* Generated */ DCPhase += 360.0 / smoothPeriod; +/* Generated */ if( imagPart < 0.0 ) +/* Generated */ DCPhase += 180.0; +/* Generated */ if( DCPhase > 315.0 ) +/* Generated */ DCPhase -= 360.0; +/* Generated */ if( today >= startIdx ) +/* Generated */ { +/* Generated */ outSine[outIdx] = std_sin(DCPhase*deg2Rad); +/* Generated */ outLeadSine[outIdx++] = std_sin((DCPhase+45)*deg2Rad); +/* Generated */ } +/* Generated */ CIRCBUF_NEXT(smoothPrice); +/* Generated */ today++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_HT_TRENDLINE.c b/vendor/ta-lib/src/ta_func/ta_HT_TRENDLINE.c new file mode 100644 index 000000000..a70903f68 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_HT_TRENDLINE.c @@ -0,0 +1,641 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::HtTrendlineLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int htTrendlineLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_HT_TRENDLINE_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + /* 31 input are skip + * +32 output are skip to account for misc lookback + * --- + * 63 Total Lookback + * + * 31 is for being compatible with Tradestation. + * See TA_MAMA_Lookback for an explanation of the "32". + */ + return 63 + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_HT_TRENDLINE,HtTrendline); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_HT_TRENDLINE - Hilbert Transform - Instantaneous Trendline + * + * Input = double + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::HtTrendline( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::HtTrendline( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode htTrendline( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_HT_TRENDLINE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx, i; + int lookbackTotal, today; + double tempReal, tempReal2; + + double adjustedPrevPeriod, period; + + /* Variable used for the price smoother (a weighted moving average). */ + int trailingWMAIdx; + double periodWMASum, periodWMASub, trailingWMAValue; + double smoothedValue; + + /* Variable to keep track of the last 3 ITrend */ + double iTrend1, iTrend2, iTrend3; + + /* Variables used for the Hilbert Transormation */ + CONSTANT_DOUBLE(a) = 0.0962; + CONSTANT_DOUBLE(b) = 0.5769; + double hilbertTempReal; + int hilbertIdx; + + HILBERT_VARIABLES( detrender ); + HILBERT_VARIABLES( Q1 ); + HILBERT_VARIABLES( jI ); + HILBERT_VARIABLES( jQ ); + + double Q2, I2, prevQ2, prevI2, Re, Im; + + double I1ForOddPrev2, I1ForOddPrev3; + double I1ForEvenPrev2, I1ForEvenPrev3; + + double rad2Deg; + + double todayValue, smoothPeriod; + + /* Variable used to keep track of the previous + * smooth price. In the case of this algorithm, + * we will never need more than 50 values. + */ + #define SMOOTH_PRICE_SIZE 50 + CIRCBUF_PROLOG(smoothPrice,double,SMOOTH_PRICE_SIZE); + int idx; + + /* Variable used to calculate the dominant cycle phase */ + int DCPeriodInt; + double DCPeriod; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + CIRCBUF_INIT_LOCAL_ONLY(smoothPrice,double); + + iTrend1 = iTrend2 = iTrend3 = 0.0; + + /* Constant */ + tempReal = std_atan(1); + rad2Deg = 45.0/tempReal; + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + lookbackTotal = 63 + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_HT_TRENDLINE,HtTrendline); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + /* Initialize the price smoother, which is simply a weighted + * moving average of the price. + * To understand this algorithm, I strongly suggest to understand + * first how TA_WMA is done. + */ + trailingWMAIdx = startIdx - lookbackTotal; + today = trailingWMAIdx; + + /* Initialization is same as WMA, except loop is unrolled + * for speed optimization. + */ + tempReal = inReal[today++]; + periodWMASub = tempReal; + periodWMASum = tempReal; + tempReal = inReal[today++]; + periodWMASub += tempReal; + periodWMASum += tempReal*2.0; + tempReal = inReal[today++]; + periodWMASub += tempReal; + periodWMASum += tempReal*3.0; + + trailingWMAValue = 0.0; + + /* Subsequent WMA value are evaluated by using + * the DO_PRICE_WMA macro. + */ + #define DO_PRICE_WMA(varNewPrice,varToStoreSmoothedValue) { \ + periodWMASub += varNewPrice; \ + periodWMASub -= trailingWMAValue; \ + periodWMASum += varNewPrice*4.0; \ + trailingWMAValue = inReal[trailingWMAIdx++]; \ + varToStoreSmoothedValue = periodWMASum*0.1; \ + periodWMASum -= periodWMASub; \ + } + + i = 34; + do + { + tempReal = inReal[today++]; + DO_PRICE_WMA(tempReal,smoothedValue); + } while( --i != 0); + + /* Initialize the circular buffers used by the hilbert + * transform logic. + * A buffer is used for odd day and another for even days. + * This minimize the number of memory access and floating point + * operations needed (note also that by using static circular buffer, + * no large dynamic memory allocation is needed for storing + * intermediate calculation!). + */ + hilbertIdx = 0; + + INIT_HILBERT_VARIABLES(detrender); + INIT_HILBERT_VARIABLES(Q1); + INIT_HILBERT_VARIABLES(jI); + INIT_HILBERT_VARIABLES(jQ); + + period = 0.0; + outIdx = 0; + + prevI2 = prevQ2 = 0.0; + Re = Im = 0.0; + I1ForOddPrev3 = I1ForEvenPrev3 = 0.0; + I1ForOddPrev2 = I1ForEvenPrev2 = 0.0; + smoothPeriod = 0.0; + + for( i=0; i < SMOOTH_PRICE_SIZE; i++ ) + smoothPrice[i] = 0.0; + + /* The code is speed optimized and is most likely very + * hard to follow if you do not already know well the + * original algorithm. + * To understadn better, it is strongly suggested to look + * first at the Excel implementation in "test_MAMA.xls" included + * in this package. + */ + while( today <= endIdx ) + { + adjustedPrevPeriod = (0.075*period)+0.54; + + todayValue = inReal[today]; + DO_PRICE_WMA(todayValue,smoothedValue); + + /* Remember the smoothedValue into the smoothPrice + * circular buffer. + */ + smoothPrice[smoothPrice_Idx] = smoothedValue; + + if( (today%2) == 0 ) + { + /* Do the Hilbert Transforms for even price bar */ + DO_HILBERT_EVEN(detrender,smoothedValue); + DO_HILBERT_EVEN(Q1,detrender); + DO_HILBERT_EVEN(jI,I1ForEvenPrev3); + DO_HILBERT_EVEN(jQ,Q1); + if( ++hilbertIdx == 3 ) + hilbertIdx = 0; + + Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); + I2 = (0.2*(I1ForEvenPrev3 - jQ)) + (0.8*prevI2); + + /* The variable I1 is the detrender delayed for + * 3 price bars. + * + * Save the current detrender value for being + * used by the "odd" logic later. + */ + I1ForOddPrev3 = I1ForOddPrev2; + I1ForOddPrev2 = detrender; + } + else + { + /* Do the Hilbert Transforms for odd price bar */ + DO_HILBERT_ODD(detrender,smoothedValue); + DO_HILBERT_ODD(Q1,detrender); + DO_HILBERT_ODD(jI,I1ForOddPrev3); + DO_HILBERT_ODD(jQ,Q1); + + Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); + I2 = (0.2*(I1ForOddPrev3 - jQ)) + (0.8*prevI2); + + /* The varaiable I1 is the detrender delayed for + * 3 price bars. + * + * Save the current detrender value for being + * used by the "even" logic later. + */ + I1ForEvenPrev3 = I1ForEvenPrev2; + I1ForEvenPrev2 = detrender; + } + + /* Adjust the period for next price bar */ + Re = (0.2*((I2*prevI2)+(Q2*prevQ2)))+(0.8*Re); + Im = (0.2*((I2*prevQ2)-(Q2*prevI2)))+(0.8*Im); + prevQ2 = Q2; + prevI2 = I2; + tempReal = period; + if( (Im != 0.0) && (Re != 0.0) ) + period = 360.0 / (std_atan(Im/Re)*rad2Deg); + tempReal2 = 1.5*tempReal; + if( period > tempReal2) + period = tempReal2; + tempReal2 = 0.67*tempReal; + if( period < tempReal2 ) + period = tempReal2; + if( period < 6 ) + period = 6; + else if( period > 50 ) + period = 50; + period = (0.2*period) + (0.8 * tempReal); + + smoothPeriod = (0.33*period)+(0.67*smoothPeriod); + + /* Compute Trendline */ + DCPeriod = smoothPeriod+0.5; + DCPeriodInt = (int)DCPeriod; + + /* idx is used to iterate for up to 50 of the last + * value of smoothPrice. + */ + idx = today; + tempReal = 0.0; + for( i=0; i < DCPeriodInt; i++ ) + tempReal += inReal[idx--]; + + if( DCPeriodInt > 0 ) + tempReal = tempReal/(double)DCPeriodInt; + + tempReal2 = (4.0*tempReal + 3.0*iTrend1 + 2.0*iTrend2 + iTrend3) / 10.0; + iTrend3 = iTrend2; + iTrend2 = iTrend1; + iTrend1 = tempReal; + + if( today >= startIdx ) + { + outReal[outIdx++] = tempReal2; + } + + /* Ooof... let's do the next price bar now! */ + CIRCBUF_NEXT(smoothPrice); + today++; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::HtTrendline( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode htTrendline( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_HT_TRENDLINE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx, i; +/* Generated */ int lookbackTotal, today; +/* Generated */ double tempReal, tempReal2; +/* Generated */ double adjustedPrevPeriod, period; +/* Generated */ int trailingWMAIdx; +/* Generated */ double periodWMASum, periodWMASub, trailingWMAValue; +/* Generated */ double smoothedValue; +/* Generated */ double iTrend1, iTrend2, iTrend3; +/* Generated */ CONSTANT_DOUBLE(a) = 0.0962; +/* Generated */ CONSTANT_DOUBLE(b) = 0.5769; +/* Generated */ double hilbertTempReal; +/* Generated */ int hilbertIdx; +/* Generated */ HILBERT_VARIABLES( detrender ); +/* Generated */ HILBERT_VARIABLES( Q1 ); +/* Generated */ HILBERT_VARIABLES( jI ); +/* Generated */ HILBERT_VARIABLES( jQ ); +/* Generated */ double Q2, I2, prevQ2, prevI2, Re, Im; +/* Generated */ double I1ForOddPrev2, I1ForOddPrev3; +/* Generated */ double I1ForEvenPrev2, I1ForEvenPrev3; +/* Generated */ double rad2Deg; +/* Generated */ double todayValue, smoothPeriod; +/* Generated */ #define SMOOTH_PRICE_SIZE 50 +/* Generated */ CIRCBUF_PROLOG(smoothPrice,double,SMOOTH_PRICE_SIZE); +/* Generated */ int idx; +/* Generated */ int DCPeriodInt; +/* Generated */ double DCPeriod; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ CIRCBUF_INIT_LOCAL_ONLY(smoothPrice,double); +/* Generated */ iTrend1 = iTrend2 = iTrend3 = 0.0; +/* Generated */ tempReal = std_atan(1); +/* Generated */ rad2Deg = 45.0/tempReal; +/* Generated */ lookbackTotal = 63 + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_HT_TRENDLINE,HtTrendline); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ trailingWMAIdx = startIdx - lookbackTotal; +/* Generated */ today = trailingWMAIdx; +/* Generated */ tempReal = inReal[today++]; +/* Generated */ periodWMASub = tempReal; +/* Generated */ periodWMASum = tempReal; +/* Generated */ tempReal = inReal[today++]; +/* Generated */ periodWMASub += tempReal; +/* Generated */ periodWMASum += tempReal*2.0; +/* Generated */ tempReal = inReal[today++]; +/* Generated */ periodWMASub += tempReal; +/* Generated */ periodWMASum += tempReal*3.0; +/* Generated */ trailingWMAValue = 0.0; +/* Generated */ #define DO_PRICE_WMA(varNewPrice,varToStoreSmoothedValue) { \ +/* Generated */ periodWMASub += varNewPrice; \ +/* Generated */ periodWMASub -= trailingWMAValue; \ +/* Generated */ periodWMASum += varNewPrice*4.0; \ +/* Generated */ trailingWMAValue = inReal[trailingWMAIdx++]; \ +/* Generated */ varToStoreSmoothedValue = periodWMASum*0.1; \ +/* Generated */ periodWMASum -= periodWMASub; \ +/* Generated */ } +/* Generated */ i = 34; +/* Generated */ do +/* Generated */ { +/* Generated */ tempReal = inReal[today++]; +/* Generated */ DO_PRICE_WMA(tempReal,smoothedValue); +/* Generated */ } while( --i != 0); +/* Generated */ hilbertIdx = 0; +/* Generated */ INIT_HILBERT_VARIABLES(detrender); +/* Generated */ INIT_HILBERT_VARIABLES(Q1); +/* Generated */ INIT_HILBERT_VARIABLES(jI); +/* Generated */ INIT_HILBERT_VARIABLES(jQ); +/* Generated */ period = 0.0; +/* Generated */ outIdx = 0; +/* Generated */ prevI2 = prevQ2 = 0.0; +/* Generated */ Re = Im = 0.0; +/* Generated */ I1ForOddPrev3 = I1ForEvenPrev3 = 0.0; +/* Generated */ I1ForOddPrev2 = I1ForEvenPrev2 = 0.0; +/* Generated */ smoothPeriod = 0.0; +/* Generated */ for( i=0; i < SMOOTH_PRICE_SIZE; i++ ) +/* Generated */ smoothPrice[i] = 0.0; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ adjustedPrevPeriod = (0.075*period)+0.54; +/* Generated */ todayValue = inReal[today]; +/* Generated */ DO_PRICE_WMA(todayValue,smoothedValue); +/* Generated */ smoothPrice[smoothPrice_Idx] = smoothedValue; +/* Generated */ if( (today%2) == 0 ) +/* Generated */ { +/* Generated */ DO_HILBERT_EVEN(detrender,smoothedValue); +/* Generated */ DO_HILBERT_EVEN(Q1,detrender); +/* Generated */ DO_HILBERT_EVEN(jI,I1ForEvenPrev3); +/* Generated */ DO_HILBERT_EVEN(jQ,Q1); +/* Generated */ if( ++hilbertIdx == 3 ) +/* Generated */ hilbertIdx = 0; +/* Generated */ Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); +/* Generated */ I2 = (0.2*(I1ForEvenPrev3 - jQ)) + (0.8*prevI2); +/* Generated */ I1ForOddPrev3 = I1ForOddPrev2; +/* Generated */ I1ForOddPrev2 = detrender; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ DO_HILBERT_ODD(detrender,smoothedValue); +/* Generated */ DO_HILBERT_ODD(Q1,detrender); +/* Generated */ DO_HILBERT_ODD(jI,I1ForOddPrev3); +/* Generated */ DO_HILBERT_ODD(jQ,Q1); +/* Generated */ Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); +/* Generated */ I2 = (0.2*(I1ForOddPrev3 - jQ)) + (0.8*prevI2); +/* Generated */ I1ForEvenPrev3 = I1ForEvenPrev2; +/* Generated */ I1ForEvenPrev2 = detrender; +/* Generated */ } +/* Generated */ Re = (0.2*((I2*prevI2)+(Q2*prevQ2)))+(0.8*Re); +/* Generated */ Im = (0.2*((I2*prevQ2)-(Q2*prevI2)))+(0.8*Im); +/* Generated */ prevQ2 = Q2; +/* Generated */ prevI2 = I2; +/* Generated */ tempReal = period; +/* Generated */ if( (Im != 0.0) && (Re != 0.0) ) +/* Generated */ period = 360.0 / (std_atan(Im/Re)*rad2Deg); +/* Generated */ tempReal2 = 1.5*tempReal; +/* Generated */ if( period > tempReal2) +/* Generated */ period = tempReal2; +/* Generated */ tempReal2 = 0.67*tempReal; +/* Generated */ if( period < tempReal2 ) +/* Generated */ period = tempReal2; +/* Generated */ if( period < 6 ) +/* Generated */ period = 6; +/* Generated */ else if( period > 50 ) +/* Generated */ period = 50; +/* Generated */ period = (0.2*period) + (0.8 * tempReal); +/* Generated */ smoothPeriod = (0.33*period)+(0.67*smoothPeriod); +/* Generated */ DCPeriod = smoothPeriod+0.5; +/* Generated */ DCPeriodInt = (int)DCPeriod; +/* Generated */ idx = today; +/* Generated */ tempReal = 0.0; +/* Generated */ for( i=0; i < DCPeriodInt; i++ ) +/* Generated */ tempReal += inReal[idx--]; +/* Generated */ if( DCPeriodInt > 0 ) +/* Generated */ tempReal = tempReal/(double)DCPeriodInt; +/* Generated */ tempReal2 = (4.0*tempReal + 3.0*iTrend1 + 2.0*iTrend2 + iTrend3) / 10.0; +/* Generated */ iTrend3 = iTrend2; +/* Generated */ iTrend2 = iTrend1; +/* Generated */ iTrend1 = tempReal; +/* Generated */ if( today >= startIdx ) +/* Generated */ { +/* Generated */ outReal[outIdx++] = tempReal2; +/* Generated */ } +/* Generated */ CIRCBUF_NEXT(smoothPrice); +/* Generated */ today++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_HT_TRENDMODE.c b/vendor/ta-lib/src/ta_func/ta_HT_TRENDMODE.c new file mode 100644 index 000000000..cbceb127b --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_HT_TRENDMODE.c @@ -0,0 +1,794 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::HtTrendModeLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int htTrendModeLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_HT_TRENDMODE_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + /* 31 input are skip + * +32 output are skip to account for misc lookback + * --- + * 63 Total Lookback + * + * 31 is for being compatible with Tradestation. + * See TA_MAMA_Lookback for an explanation of the "32". + */ + return 63 + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_HT_TRENDMODE,HtTrendMode); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_HT_TRENDMODE - Hilbert Transform - Trend vs Cycle Mode + * + * Input = double + * Output = int + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::HtTrendMode( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::HtTrendMode( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode htTrendMode( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_HT_TRENDMODE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx, i; + int lookbackTotal, today; + double tempReal, tempReal2; + + double adjustedPrevPeriod, period; + + /* Variable used for the price smoother (a weighted moving average). */ + int trailingWMAIdx; + double periodWMASum, periodWMASub, trailingWMAValue; + double smoothedValue; + + /* Variable to keep track of the last 3 ITrend */ + double iTrend1, iTrend2, iTrend3; + + /* Variables used for the Hilbert Transormation */ + CONSTANT_DOUBLE(a) = 0.0962; + CONSTANT_DOUBLE(b) = 0.5769; + double hilbertTempReal; + int hilbertIdx; + + HILBERT_VARIABLES( detrender ); + HILBERT_VARIABLES( Q1 ); + HILBERT_VARIABLES( jI ); + HILBERT_VARIABLES( jQ ); + + double Q2, I2, prevQ2, prevI2, Re, Im; + + double I1ForOddPrev2, I1ForOddPrev3; + double I1ForEvenPrev2, I1ForEvenPrev3; + + double rad2Deg, deg2Rad, constDeg2RadBy360; + + double todayValue, smoothPeriod; + + /* Variable used to keep track of the previous + * smooth price. In the case of this algorithm, + * we will never need more than 50 values. + */ + #define SMOOTH_PRICE_SIZE 50 + CIRCBUF_PROLOG(smoothPrice,double,SMOOTH_PRICE_SIZE); + int idx; + + /* Variable used to calculate the dominant cycle phase */ + int DCPeriodInt; + double DCPhase, DCPeriod, imagPart, realPart; + + /* Variable used to calculate the trend mode */ + int daysInTrend, trend; + double prevDCPhase, trendline; + double prevSine, prevLeadSine, sine, leadSine; + + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + CIRCBUF_INIT_LOCAL_ONLY(smoothPrice,double); + + iTrend1 = iTrend2 = iTrend3 = 0.0; + daysInTrend = 0; + prevDCPhase = DCPhase = 0.0; + prevSine = sine = 0.0; + prevLeadSine = leadSine = 0.0; + + /* The following could be replaced by constant eventually. */ + tempReal = std_atan(1); + rad2Deg = 45.0/tempReal; + deg2Rad = 1.0/rad2Deg; + constDeg2RadBy360 = tempReal*8.0; + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + lookbackTotal = 63 + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_HT_TRENDMODE,HtTrendMode); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + /* Initialize the price smoother, which is simply a weighted + * moving average of the price. + * To understand this algorithm, I strongly suggest to understand + * first how TA_WMA is done. + */ + trailingWMAIdx = startIdx - lookbackTotal; + today = trailingWMAIdx; + + /* Initialization is same as WMA, except loop is unrolled + * for speed optimization. + */ + tempReal = inReal[today++]; + periodWMASub = tempReal; + periodWMASum = tempReal; + tempReal = inReal[today++]; + periodWMASub += tempReal; + periodWMASum += tempReal*2.0; + tempReal = inReal[today++]; + periodWMASub += tempReal; + periodWMASum += tempReal*3.0; + + trailingWMAValue = 0.0; + + /* Subsequent WMA value are evaluated by using + * the DO_PRICE_WMA macro. + */ + #define DO_PRICE_WMA(varNewPrice,varToStoreSmoothedValue) { \ + periodWMASub += varNewPrice; \ + periodWMASub -= trailingWMAValue; \ + periodWMASum += varNewPrice*4.0; \ + trailingWMAValue = inReal[trailingWMAIdx++]; \ + varToStoreSmoothedValue = periodWMASum*0.1; \ + periodWMASum -= periodWMASub; \ + } + + i = 34; + do + { + tempReal = inReal[today++]; + DO_PRICE_WMA(tempReal,smoothedValue); + } while( --i != 0); + + /* Initialize the circular buffers used by the hilbert + * transform logic. + * A buffer is used for odd day and another for even days. + * This minimize the number of memory access and floating point + * operations needed (note also that by using static circular buffer, + * no large dynamic memory allocation is needed for storing + * intermediate calculation!). + */ + hilbertIdx = 0; + + INIT_HILBERT_VARIABLES(detrender); + INIT_HILBERT_VARIABLES(Q1); + INIT_HILBERT_VARIABLES(jI); + INIT_HILBERT_VARIABLES(jQ); + + period = 0.0; + outIdx = 0; + + prevI2 = prevQ2 = 0.0; + Re = Im = 0.0; + I1ForOddPrev3 = I1ForEvenPrev3 = 0.0; + I1ForOddPrev2 = I1ForEvenPrev2 = 0.0; + smoothPeriod = 0.0; + + for( i=0; i < SMOOTH_PRICE_SIZE; i++ ) + smoothPrice[i] = 0.0; + + /* The code is speed optimized and is most likely very + * hard to follow if you do not already know well the + * original algorithm. + * To understadn better, it is strongly suggested to look + * first at the Excel implementation in "test_MAMA.xls" included + * in this package. + */ + DCPhase = 0.0; + while( today <= endIdx ) + { + adjustedPrevPeriod = (0.075*period)+0.54; + + todayValue = inReal[today]; + DO_PRICE_WMA(todayValue,smoothedValue); + + /* Remember the smoothedValue into the smoothPrice + * circular buffer. + */ + smoothPrice[smoothPrice_Idx] = smoothedValue; + + if( (today%2) == 0 ) + { + /* Do the Hilbert Transforms for even price bar */ + DO_HILBERT_EVEN(detrender,smoothedValue); + DO_HILBERT_EVEN(Q1,detrender); + DO_HILBERT_EVEN(jI,I1ForEvenPrev3); + DO_HILBERT_EVEN(jQ,Q1); + if( ++hilbertIdx == 3 ) + hilbertIdx = 0; + + Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); + I2 = (0.2*(I1ForEvenPrev3 - jQ)) + (0.8*prevI2); + + /* The variable I1 is the detrender delayed for + * 3 price bars. + * + * Save the current detrender value for being + * used by the "odd" logic later. + */ + I1ForOddPrev3 = I1ForOddPrev2; + I1ForOddPrev2 = detrender; + } + else + { + /* Do the Hilbert Transforms for odd price bar */ + DO_HILBERT_ODD(detrender,smoothedValue); + DO_HILBERT_ODD(Q1,detrender); + DO_HILBERT_ODD(jI,I1ForOddPrev3); + DO_HILBERT_ODD(jQ,Q1); + + Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); + I2 = (0.2*(I1ForOddPrev3 - jQ)) + (0.8*prevI2); + + /* The varaiable I1 is the detrender delayed for + * 3 price bars. + * + * Save the current detrender value for being + * used by the "even" logic later. + */ + I1ForEvenPrev3 = I1ForEvenPrev2; + I1ForEvenPrev2 = detrender; + } + + /* Adjust the period for next price bar */ + Re = (0.2*((I2*prevI2)+(Q2*prevQ2)))+(0.8*Re); + Im = (0.2*((I2*prevQ2)-(Q2*prevI2)))+(0.8*Im); + prevQ2 = Q2; + prevI2 = I2; + tempReal = period; + if( (Im != 0.0) && (Re != 0.0) ) + period = 360.0 / (std_atan(Im/Re)*rad2Deg); + tempReal2 = 1.5*tempReal; + if( period > tempReal2) + period = tempReal2; + tempReal2 = 0.67*tempReal; + if( period < tempReal2 ) + period = tempReal2; + if( period < 6 ) + period = 6; + else if( period > 50 ) + period = 50; + period = (0.2*period) + (0.8 * tempReal); + + smoothPeriod = (0.33*period)+(0.67*smoothPeriod); + + /* Compute Dominant Cycle Phase */ + prevDCPhase = DCPhase; + DCPeriod = smoothPeriod+0.5; + DCPeriodInt = (int)DCPeriod; + realPart = 0.0; + imagPart = 0.0; + + /* idx is used to iterate for up to 50 of the last + * value of smoothPrice. + */ + idx = smoothPrice_Idx; + for( i=0; i < DCPeriodInt; i++ ) + { + tempReal = ((double)i*constDeg2RadBy360)/(double)DCPeriodInt; + tempReal2 = smoothPrice[idx]; + realPart += std_sin(tempReal)*tempReal2; + imagPart += std_cos(tempReal)*tempReal2; + if( idx == 0 ) + idx = SMOOTH_PRICE_SIZE-1; + else + idx--; + } + + tempReal = std_fabs(imagPart); + if( tempReal > 0.0 ) + DCPhase = std_atan(realPart/imagPart)*rad2Deg; + else if( tempReal <= 0.01 ) + { + if( realPart < 0.0 ) + DCPhase -= 90.0; + else if( realPart > 0.0 ) + DCPhase += 90.0; + } + DCPhase += 90.0; + + /* Compensate for one bar lag of the weighted moving average */ + DCPhase += 360.0 / smoothPeriod; + if( imagPart < 0.0 ) + DCPhase += 180.0; + if( DCPhase > 315.0 ) + DCPhase -= 360.0; + + prevSine = sine; + prevLeadSine = leadSine; + sine = std_sin(DCPhase*deg2Rad); + leadSine = std_sin((DCPhase+45)*deg2Rad); + + /* Compute Trendline */ + DCPeriod = smoothPeriod+0.5; + DCPeriodInt = (int)DCPeriod; + + /* idx is used to iterate for up to 50 of the last + * value of smoothPrice. + */ + idx = today; + tempReal = 0.0; + for( i=0; i < DCPeriodInt; i++ ) + tempReal += inReal[idx--]; + + if( DCPeriodInt > 0 ) + tempReal = tempReal/(double)DCPeriodInt; + + trendline = (4.0*tempReal + 3.0*iTrend1 + 2.0*iTrend2 + iTrend3) / 10.0; + iTrend3 = iTrend2; + iTrend2 = iTrend1; + iTrend1 = tempReal; + + /* Compute the trend Mode , and assume trend by default */ + trend = 1; + + /* Measure days in trend from last crossing of the SineWave Indicator lines */ + if( ((sine > leadSine) && (prevSine <= prevLeadSine)) || + ((sine < leadSine) && (prevSine >= prevLeadSine)) ) + { + daysInTrend = 0; + trend = 0; + } + + daysInTrend++; + + if( daysInTrend < (0.5*smoothPeriod) ) + trend = 0; + + tempReal = DCPhase - prevDCPhase; + if( (smoothPeriod != 0.0) && + ((tempReal > (0.67*360.0/smoothPeriod)) && (tempReal < (1.5*360.0/smoothPeriod))) ) + { + trend = 0; + } + + tempReal = smoothPrice[smoothPrice_Idx]; + if( (trendline != 0.0) && (std_fabs( (tempReal - trendline)/trendline ) >= 0.015) ) + trend = 1; + + if( today >= startIdx ) + { + outInteger[outIdx++] = trend; + } + + /* Ooof... let's do the next price bar now! */ + CIRCBUF_NEXT(smoothPrice); + today++; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::HtTrendMode( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode htTrendMode( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_HT_TRENDMODE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx, i; +/* Generated */ int lookbackTotal, today; +/* Generated */ double tempReal, tempReal2; +/* Generated */ double adjustedPrevPeriod, period; +/* Generated */ int trailingWMAIdx; +/* Generated */ double periodWMASum, periodWMASub, trailingWMAValue; +/* Generated */ double smoothedValue; +/* Generated */ double iTrend1, iTrend2, iTrend3; +/* Generated */ CONSTANT_DOUBLE(a) = 0.0962; +/* Generated */ CONSTANT_DOUBLE(b) = 0.5769; +/* Generated */ double hilbertTempReal; +/* Generated */ int hilbertIdx; +/* Generated */ HILBERT_VARIABLES( detrender ); +/* Generated */ HILBERT_VARIABLES( Q1 ); +/* Generated */ HILBERT_VARIABLES( jI ); +/* Generated */ HILBERT_VARIABLES( jQ ); +/* Generated */ double Q2, I2, prevQ2, prevI2, Re, Im; +/* Generated */ double I1ForOddPrev2, I1ForOddPrev3; +/* Generated */ double I1ForEvenPrev2, I1ForEvenPrev3; +/* Generated */ double rad2Deg, deg2Rad, constDeg2RadBy360; +/* Generated */ double todayValue, smoothPeriod; +/* Generated */ #define SMOOTH_PRICE_SIZE 50 +/* Generated */ CIRCBUF_PROLOG(smoothPrice,double,SMOOTH_PRICE_SIZE); +/* Generated */ int idx; +/* Generated */ int DCPeriodInt; +/* Generated */ double DCPhase, DCPeriod, imagPart, realPart; +/* Generated */ int daysInTrend, trend; +/* Generated */ double prevDCPhase, trendline; +/* Generated */ double prevSine, prevLeadSine, sine, leadSine; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ CIRCBUF_INIT_LOCAL_ONLY(smoothPrice,double); +/* Generated */ iTrend1 = iTrend2 = iTrend3 = 0.0; +/* Generated */ daysInTrend = 0; +/* Generated */ prevDCPhase = DCPhase = 0.0; +/* Generated */ prevSine = sine = 0.0; +/* Generated */ prevLeadSine = leadSine = 0.0; +/* Generated */ tempReal = std_atan(1); +/* Generated */ rad2Deg = 45.0/tempReal; +/* Generated */ deg2Rad = 1.0/rad2Deg; +/* Generated */ constDeg2RadBy360 = tempReal*8.0; +/* Generated */ lookbackTotal = 63 + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_HT_TRENDMODE,HtTrendMode); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ trailingWMAIdx = startIdx - lookbackTotal; +/* Generated */ today = trailingWMAIdx; +/* Generated */ tempReal = inReal[today++]; +/* Generated */ periodWMASub = tempReal; +/* Generated */ periodWMASum = tempReal; +/* Generated */ tempReal = inReal[today++]; +/* Generated */ periodWMASub += tempReal; +/* Generated */ periodWMASum += tempReal*2.0; +/* Generated */ tempReal = inReal[today++]; +/* Generated */ periodWMASub += tempReal; +/* Generated */ periodWMASum += tempReal*3.0; +/* Generated */ trailingWMAValue = 0.0; +/* Generated */ #define DO_PRICE_WMA(varNewPrice,varToStoreSmoothedValue) { \ +/* Generated */ periodWMASub += varNewPrice; \ +/* Generated */ periodWMASub -= trailingWMAValue; \ +/* Generated */ periodWMASum += varNewPrice*4.0; \ +/* Generated */ trailingWMAValue = inReal[trailingWMAIdx++]; \ +/* Generated */ varToStoreSmoothedValue = periodWMASum*0.1; \ +/* Generated */ periodWMASum -= periodWMASub; \ +/* Generated */ } +/* Generated */ i = 34; +/* Generated */ do +/* Generated */ { +/* Generated */ tempReal = inReal[today++]; +/* Generated */ DO_PRICE_WMA(tempReal,smoothedValue); +/* Generated */ } while( --i != 0); +/* Generated */ hilbertIdx = 0; +/* Generated */ INIT_HILBERT_VARIABLES(detrender); +/* Generated */ INIT_HILBERT_VARIABLES(Q1); +/* Generated */ INIT_HILBERT_VARIABLES(jI); +/* Generated */ INIT_HILBERT_VARIABLES(jQ); +/* Generated */ period = 0.0; +/* Generated */ outIdx = 0; +/* Generated */ prevI2 = prevQ2 = 0.0; +/* Generated */ Re = Im = 0.0; +/* Generated */ I1ForOddPrev3 = I1ForEvenPrev3 = 0.0; +/* Generated */ I1ForOddPrev2 = I1ForEvenPrev2 = 0.0; +/* Generated */ smoothPeriod = 0.0; +/* Generated */ for( i=0; i < SMOOTH_PRICE_SIZE; i++ ) +/* Generated */ smoothPrice[i] = 0.0; +/* Generated */ DCPhase = 0.0; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ adjustedPrevPeriod = (0.075*period)+0.54; +/* Generated */ todayValue = inReal[today]; +/* Generated */ DO_PRICE_WMA(todayValue,smoothedValue); +/* Generated */ smoothPrice[smoothPrice_Idx] = smoothedValue; +/* Generated */ if( (today%2) == 0 ) +/* Generated */ { +/* Generated */ DO_HILBERT_EVEN(detrender,smoothedValue); +/* Generated */ DO_HILBERT_EVEN(Q1,detrender); +/* Generated */ DO_HILBERT_EVEN(jI,I1ForEvenPrev3); +/* Generated */ DO_HILBERT_EVEN(jQ,Q1); +/* Generated */ if( ++hilbertIdx == 3 ) +/* Generated */ hilbertIdx = 0; +/* Generated */ Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); +/* Generated */ I2 = (0.2*(I1ForEvenPrev3 - jQ)) + (0.8*prevI2); +/* Generated */ I1ForOddPrev3 = I1ForOddPrev2; +/* Generated */ I1ForOddPrev2 = detrender; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ DO_HILBERT_ODD(detrender,smoothedValue); +/* Generated */ DO_HILBERT_ODD(Q1,detrender); +/* Generated */ DO_HILBERT_ODD(jI,I1ForOddPrev3); +/* Generated */ DO_HILBERT_ODD(jQ,Q1); +/* Generated */ Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); +/* Generated */ I2 = (0.2*(I1ForOddPrev3 - jQ)) + (0.8*prevI2); +/* Generated */ I1ForEvenPrev3 = I1ForEvenPrev2; +/* Generated */ I1ForEvenPrev2 = detrender; +/* Generated */ } +/* Generated */ Re = (0.2*((I2*prevI2)+(Q2*prevQ2)))+(0.8*Re); +/* Generated */ Im = (0.2*((I2*prevQ2)-(Q2*prevI2)))+(0.8*Im); +/* Generated */ prevQ2 = Q2; +/* Generated */ prevI2 = I2; +/* Generated */ tempReal = period; +/* Generated */ if( (Im != 0.0) && (Re != 0.0) ) +/* Generated */ period = 360.0 / (std_atan(Im/Re)*rad2Deg); +/* Generated */ tempReal2 = 1.5*tempReal; +/* Generated */ if( period > tempReal2) +/* Generated */ period = tempReal2; +/* Generated */ tempReal2 = 0.67*tempReal; +/* Generated */ if( period < tempReal2 ) +/* Generated */ period = tempReal2; +/* Generated */ if( period < 6 ) +/* Generated */ period = 6; +/* Generated */ else if( period > 50 ) +/* Generated */ period = 50; +/* Generated */ period = (0.2*period) + (0.8 * tempReal); +/* Generated */ smoothPeriod = (0.33*period)+(0.67*smoothPeriod); +/* Generated */ prevDCPhase = DCPhase; +/* Generated */ DCPeriod = smoothPeriod+0.5; +/* Generated */ DCPeriodInt = (int)DCPeriod; +/* Generated */ realPart = 0.0; +/* Generated */ imagPart = 0.0; +/* Generated */ idx = smoothPrice_Idx; +/* Generated */ for( i=0; i < DCPeriodInt; i++ ) +/* Generated */ { +/* Generated */ tempReal = ((double)i*constDeg2RadBy360)/(double)DCPeriodInt; +/* Generated */ tempReal2 = smoothPrice[idx]; +/* Generated */ realPart += std_sin(tempReal)*tempReal2; +/* Generated */ imagPart += std_cos(tempReal)*tempReal2; +/* Generated */ if( idx == 0 ) +/* Generated */ idx = SMOOTH_PRICE_SIZE-1; +/* Generated */ else +/* Generated */ idx--; +/* Generated */ } +/* Generated */ tempReal = std_fabs(imagPart); +/* Generated */ if( tempReal > 0.0 ) +/* Generated */ DCPhase = std_atan(realPart/imagPart)*rad2Deg; +/* Generated */ else if( tempReal <= 0.01 ) +/* Generated */ { +/* Generated */ if( realPart < 0.0 ) +/* Generated */ DCPhase -= 90.0; +/* Generated */ else if( realPart > 0.0 ) +/* Generated */ DCPhase += 90.0; +/* Generated */ } +/* Generated */ DCPhase += 90.0; +/* Generated */ DCPhase += 360.0 / smoothPeriod; +/* Generated */ if( imagPart < 0.0 ) +/* Generated */ DCPhase += 180.0; +/* Generated */ if( DCPhase > 315.0 ) +/* Generated */ DCPhase -= 360.0; +/* Generated */ prevSine = sine; +/* Generated */ prevLeadSine = leadSine; +/* Generated */ sine = std_sin(DCPhase*deg2Rad); +/* Generated */ leadSine = std_sin((DCPhase+45)*deg2Rad); +/* Generated */ DCPeriod = smoothPeriod+0.5; +/* Generated */ DCPeriodInt = (int)DCPeriod; +/* Generated */ idx = today; +/* Generated */ tempReal = 0.0; +/* Generated */ for( i=0; i < DCPeriodInt; i++ ) +/* Generated */ tempReal += inReal[idx--]; +/* Generated */ if( DCPeriodInt > 0 ) +/* Generated */ tempReal = tempReal/(double)DCPeriodInt; +/* Generated */ trendline = (4.0*tempReal + 3.0*iTrend1 + 2.0*iTrend2 + iTrend3) / 10.0; +/* Generated */ iTrend3 = iTrend2; +/* Generated */ iTrend2 = iTrend1; +/* Generated */ iTrend1 = tempReal; +/* Generated */ trend = 1; +/* Generated */ if( ((sine > leadSine) && (prevSine <= prevLeadSine)) || +/* Generated */ ((sine < leadSine) && (prevSine >= prevLeadSine)) ) +/* Generated */ { +/* Generated */ daysInTrend = 0; +/* Generated */ trend = 0; +/* Generated */ } +/* Generated */ daysInTrend++; +/* Generated */ if( daysInTrend < (0.5*smoothPeriod) ) +/* Generated */ trend = 0; +/* Generated */ tempReal = DCPhase - prevDCPhase; +/* Generated */ if( (smoothPeriod != 0.0) && +/* Generated */ ((tempReal > (0.67*360.0/smoothPeriod)) && (tempReal < (1.5*360.0/smoothPeriod))) ) +/* Generated */ { +/* Generated */ trend = 0; +/* Generated */ } +/* Generated */ tempReal = smoothPrice[smoothPrice_Idx]; +/* Generated */ if( (trendline != 0.0) && (std_fabs( (tempReal - trendline)/trendline ) >= 0.015) ) +/* Generated */ trend = 1; +/* Generated */ if( today >= startIdx ) +/* Generated */ { +/* Generated */ outInteger[outIdx++] = trend; +/* Generated */ } +/* Generated */ CIRCBUF_NEXT(smoothPrice); +/* Generated */ today++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_KAMA.c b/vendor/ta-lib/src/ta_func/ta_KAMA.c new file mode 100644 index 000000000..eb1884289 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_KAMA.c @@ -0,0 +1,497 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * 062704 MF Fix limit case to avoid divid by zero (or by + * a value close to zero induce by the imprecision + * of floating points). + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::KamaLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int kamaLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_KAMA_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return optInTimePeriod + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_KAMA,Kama); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_KAMA - Kaufman Adaptive Moving Average + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Kama( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Kama( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode kama( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_KAMA( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + + CONSTANT_DOUBLE(constMax) = 2.0/(30.0+1.0); + CONSTANT_DOUBLE(constDiff) = 2.0/(2.0+1.0) - constMax; + + double tempReal, tempReal2; + double sumROC1, periodROC, prevKAMA; + int i, today, outIdx, lookbackTotal; + int trailingIdx; + double trailingValue; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Default return values */ + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + lookbackTotal = optInTimePeriod + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_KAMA,Kama); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Initialize the variables by going through + * the lookback period. + */ + sumROC1 = 0.0; + today = startIdx-lookbackTotal; + trailingIdx = today; + i = optInTimePeriod; + while( i-- > 0 ) + { + tempReal = inReal[today++]; + tempReal -= inReal[today]; + sumROC1 += std_fabs(tempReal); + } + + /* At this point sumROC1 represent the + * summation of the 1-day price difference + * over the (optInTimePeriod-1) + */ + + /* Calculate the first KAMA */ + + /* The yesterday price is used here as the previous KAMA. */ + prevKAMA = inReal[today-1]; + + tempReal = inReal[today]; + tempReal2 = inReal[trailingIdx++]; + periodROC = tempReal-tempReal2; + + /* Save the trailing value. Do this because inReal + * and outReal can be pointers to the same buffer. + */ + trailingValue = tempReal2; + + /* Calculate the efficiency ratio */ + if( (sumROC1 <= periodROC) || TA_IS_ZERO(sumROC1)) + tempReal = 1.0; + else + tempReal = std_fabs(periodROC/sumROC1); + + /* Calculate the smoothing constant */ + tempReal = (tempReal*constDiff)+constMax; + tempReal *= tempReal; + + /* Calculate the KAMA like an EMA, using the + * smoothing constant as the adaptive factor. + */ + prevKAMA = ((inReal[today++]-prevKAMA)*tempReal) + prevKAMA; + + /* 'today' keep track of where the processing is within the + * input. + */ + + /* Skip the unstable period. Do the whole processing + * needed for KAMA, but do not write it in the output. + */ + while( today <= startIdx ) + { + tempReal = inReal[today]; + tempReal2 = inReal[trailingIdx++]; + periodROC = tempReal-tempReal2; + + /* Adjust sumROC1: + * - Remove trailing ROC1 + * - Add new ROC1 + */ + sumROC1 -= std_fabs(trailingValue-tempReal2); + sumROC1 += std_fabs(tempReal-inReal[today-1]); + + /* Save the trailing value. Do this because inReal + * and outReal can be pointers to the same buffer. + */ + trailingValue = tempReal2; + + /* Calculate the efficiency ratio */ + if( (sumROC1 <= periodROC) || TA_IS_ZERO(sumROC1) ) + tempReal = 1.0; + else + tempReal = std_fabs(periodROC/sumROC1); + + /* Calculate the smoothing constant */ + tempReal = (tempReal*constDiff)+constMax; + tempReal *= tempReal; + + /* Calculate the KAMA like an EMA, using the + * smoothing constant as the adaptive factor. + */ + prevKAMA = ((inReal[today++]-prevKAMA)*tempReal) + prevKAMA; + } + + /* Write the first value. */ + outReal[0] = prevKAMA; + outIdx = 1; + VALUE_HANDLE_DEREF(outBegIdx) = today-1; + + /* Do the KAMA calculation for the requested range. */ + while( today <= endIdx ) + { + tempReal = inReal[today]; + tempReal2 = inReal[trailingIdx++]; + periodROC = tempReal-tempReal2; + + /* Adjust sumROC1: + * - Remove trailing ROC1 + * - Add new ROC1 + */ + sumROC1 -= std_fabs(trailingValue-tempReal2); + sumROC1 += std_fabs(tempReal-inReal[today-1]); + + /* Save the trailing value. Do this because inReal + * and outReal can be pointers to the same buffer. + */ + trailingValue = tempReal2; + + /* Calculate the efficiency ratio */ + if( (sumROC1 <= periodROC) || TA_IS_ZERO(sumROC1) ) + tempReal = 1.0; + else + tempReal = std_fabs(periodROC / sumROC1); + + /* Calculate the smoothing constant */ + tempReal = (tempReal*constDiff)+constMax; + tempReal *= tempReal; + + /* Calculate the KAMA like an EMA, using the + * smoothing constant as the adaptive factor. + */ + prevKAMA = ((inReal[today++]-prevKAMA)*tempReal) + prevKAMA; + outReal[outIdx++] = prevKAMA; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Kama( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode kama( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_KAMA( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ CONSTANT_DOUBLE(constMax) = 2.0/(30.0+1.0); +/* Generated */ CONSTANT_DOUBLE(constDiff) = 2.0/(2.0+1.0) - constMax; +/* Generated */ double tempReal, tempReal2; +/* Generated */ double sumROC1, periodROC, prevKAMA; +/* Generated */ int i, today, outIdx, lookbackTotal; +/* Generated */ int trailingIdx; +/* Generated */ double trailingValue; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ lookbackTotal = optInTimePeriod + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_KAMA,Kama); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ sumROC1 = 0.0; +/* Generated */ today = startIdx-lookbackTotal; +/* Generated */ trailingIdx = today; +/* Generated */ i = optInTimePeriod; +/* Generated */ while( i-- > 0 ) +/* Generated */ { +/* Generated */ tempReal = inReal[today++]; +/* Generated */ tempReal -= inReal[today]; +/* Generated */ sumROC1 += std_fabs(tempReal); +/* Generated */ } +/* Generated */ prevKAMA = inReal[today-1]; +/* Generated */ tempReal = inReal[today]; +/* Generated */ tempReal2 = inReal[trailingIdx++]; +/* Generated */ periodROC = tempReal-tempReal2; +/* Generated */ trailingValue = tempReal2; +/* Generated */ if( (sumROC1 <= periodROC) || TA_IS_ZERO(sumROC1)) +/* Generated */ tempReal = 1.0; +/* Generated */ else +/* Generated */ tempReal = std_fabs(periodROC/sumROC1); +/* Generated */ tempReal = (tempReal*constDiff)+constMax; +/* Generated */ tempReal *= tempReal; +/* Generated */ prevKAMA = ((inReal[today++]-prevKAMA)*tempReal) + prevKAMA; +/* Generated */ while( today <= startIdx ) +/* Generated */ { +/* Generated */ tempReal = inReal[today]; +/* Generated */ tempReal2 = inReal[trailingIdx++]; +/* Generated */ periodROC = tempReal-tempReal2; +/* Generated */ sumROC1 -= std_fabs(trailingValue-tempReal2); +/* Generated */ sumROC1 += std_fabs(tempReal-inReal[today-1]); +/* Generated */ trailingValue = tempReal2; +/* Generated */ if( (sumROC1 <= periodROC) || TA_IS_ZERO(sumROC1) ) +/* Generated */ tempReal = 1.0; +/* Generated */ else +/* Generated */ tempReal = std_fabs(periodROC/sumROC1); +/* Generated */ tempReal = (tempReal*constDiff)+constMax; +/* Generated */ tempReal *= tempReal; +/* Generated */ prevKAMA = ((inReal[today++]-prevKAMA)*tempReal) + prevKAMA; +/* Generated */ } +/* Generated */ outReal[0] = prevKAMA; +/* Generated */ outIdx = 1; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = today-1; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ tempReal = inReal[today]; +/* Generated */ tempReal2 = inReal[trailingIdx++]; +/* Generated */ periodROC = tempReal-tempReal2; +/* Generated */ sumROC1 -= std_fabs(trailingValue-tempReal2); +/* Generated */ sumROC1 += std_fabs(tempReal-inReal[today-1]); +/* Generated */ trailingValue = tempReal2; +/* Generated */ if( (sumROC1 <= periodROC) || TA_IS_ZERO(sumROC1) ) +/* Generated */ tempReal = 1.0; +/* Generated */ else +/* Generated */ tempReal = std_fabs(periodROC / sumROC1); +/* Generated */ tempReal = (tempReal*constDiff)+constMax; +/* Generated */ tempReal *= tempReal; +/* Generated */ prevKAMA = ((inReal[today++]-prevKAMA)*tempReal) + prevKAMA; +/* Generated */ outReal[outIdx++] = prevKAMA; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_LINEARREG.c b/vendor/ta-lib/src/ta_func/ta_LINEARREG.c new file mode 100644 index 000000000..579186784 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_LINEARREG.c @@ -0,0 +1,354 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * JP John Price + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 070203 JP Initial. + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::LinearRegLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int linearRegLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_LINEARREG_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return optInTimePeriod-1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_LINEARREG - Linear Regression + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::LinearReg( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::LinearReg( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode linearReg( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_LINEARREG( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx; + + int today, lookbackTotal; + double SumX, SumXY, SumY, SumXSqr, Divisor; + + double m, b; + int i; + + double tempValue1; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Linear Regression is a concept also known as the + * "least squares method" or "best fit." Linear + * Regression attempts to fit a straight line between + * several data points in such a way that distance + * between each data point and the line is minimized. + * + * For each point, a straight line over the specified + * previous bar period is determined in terms + * of y = b + m*x: + * + * TA_LINEARREG : Returns b+m*(period-1) + * TA_LINEARREG_SLOPE : Returns 'm' + * TA_LINEARREG_ANGLE : Returns 'm' in degree. + * TA_LINEARREG_INTERCEPT: Returns 'b' + * TA_TSF : Returns b+m*(period) + */ + + /* Adjust startIdx to account for the lookback period. */ + lookbackTotal = LOOKBACK_CALL(LINEARREG)( optInTimePeriod ); + + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + outIdx = 0; /* Index into the output. */ + today = startIdx; + + SumX = optInTimePeriod * ( optInTimePeriod - 1 ) * 0.5; + SumXSqr = optInTimePeriod * ( optInTimePeriod - 1 ) * ( 2 * optInTimePeriod - 1 ) / 6; + Divisor = SumX * SumX - optInTimePeriod * SumXSqr; + + while( today <= endIdx ) + { + SumXY = 0; + SumY = 0; + for( i = optInTimePeriod; i-- != 0; ) + { + SumY += tempValue1 = inReal[today - i]; + SumXY += (double)i * tempValue1; + } + m = ( optInTimePeriod * SumXY - SumX * SumY) / Divisor; + b = ( SumY - m * SumX ) / (double)optInTimePeriod; + outReal[outIdx++] = b + m * (double)(optInTimePeriod-1); + today++; + } + + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::LinearReg( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode linearReg( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_LINEARREG( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx; +/* Generated */ int today, lookbackTotal; +/* Generated */ double SumX, SumXY, SumY, SumXSqr, Divisor; +/* Generated */ double m, b; +/* Generated */ int i; +/* Generated */ double tempValue1; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(LINEARREG)( optInTimePeriod ); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ today = startIdx; +/* Generated */ SumX = optInTimePeriod * ( optInTimePeriod - 1 ) * 0.5; +/* Generated */ SumXSqr = optInTimePeriod * ( optInTimePeriod - 1 ) * ( 2 * optInTimePeriod - 1 ) / 6; +/* Generated */ Divisor = SumX * SumX - optInTimePeriod * SumXSqr; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ SumXY = 0; +/* Generated */ SumY = 0; +/* Generated */ for( i = optInTimePeriod; i-- != 0; ) +/* Generated */ { +/* Generated */ SumY += tempValue1 = inReal[today - i]; +/* Generated */ SumXY += (double)i * tempValue1; +/* Generated */ } +/* Generated */ m = ( optInTimePeriod * SumXY - SumX * SumY) / Divisor; +/* Generated */ b = ( SumY - m * SumX ) / (double)optInTimePeriod; +/* Generated */ outReal[outIdx++] = b + m * (double)(optInTimePeriod-1); +/* Generated */ today++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_LINEARREG_ANGLE.c b/vendor/ta-lib/src/ta_func/ta_LINEARREG_ANGLE.c new file mode 100644 index 000000000..0f72e1923 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_LINEARREG_ANGLE.c @@ -0,0 +1,354 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * JP John Price + * MF Mario Fortier + * AM Adrian Michel + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 070203 JP Initial. + * 072106 MF,AM Fix #1526632. Add missing atan(). + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::LinearRegAngleLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int linearRegAngleLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_LINEARREG_ANGLE_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return optInTimePeriod-1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_LINEARREG_ANGLE - Linear Regression Angle + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::LinearRegAngle( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::LinearRegAngle( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode linearRegAngle( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_LINEARREG_ANGLE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx; + + int today, lookbackTotal; + double SumX, SumXY, SumY, SumXSqr, Divisor; + + double m; + + int i; + + double tempValue1; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Linear Regression is a concept also known as the + * "least squares method" or "best fit." Linear + * Regression attempts to fit a straight line between + * several data points in such a way that distance + * between each data point and the line is minimized. + * + * For each point, a straight line over the specified + * previous bar period is determined in terms + * of y = b + m*x: + * + * TA_LINEARREG : Returns b+m*(period-1) + * TA_LINEARREG_SLOPE : Returns 'm' + * TA_LINEARREG_ANGLE : Returns 'm' in degree. + * TA_LINEARREG_INTERCEPT: Returns 'b' + * TA_TSF : Returns b+m*(period) + */ + + /* Adjust startIdx to account for the lookback period. */ + lookbackTotal = LOOKBACK_CALL(LINEARREG_ANGLE)( optInTimePeriod ); + + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + outIdx = 0; /* Index into the output. */ + today = startIdx; + + SumX = optInTimePeriod * ( optInTimePeriod - 1 ) * 0.5; + SumXSqr = optInTimePeriod * ( optInTimePeriod - 1 ) * ( 2 * optInTimePeriod - 1 ) / 6; + Divisor = SumX * SumX - optInTimePeriod * SumXSqr; + + while( today <= endIdx ) + { + SumXY = 0; + SumY = 0; + for( i = optInTimePeriod; i-- != 0; ) + { + SumY += tempValue1 = inReal[today - i]; + SumXY += (double)i * tempValue1; + } + m = ( optInTimePeriod * SumXY - SumX * SumY) / Divisor; + outReal[outIdx++] = std_atan(m) * ( 180.0 / PI ); + today++; + } + + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::LinearRegAngle( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode linearRegAngle( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_LINEARREG_ANGLE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx; +/* Generated */ int today, lookbackTotal; +/* Generated */ double SumX, SumXY, SumY, SumXSqr, Divisor; +/* Generated */ double m; +/* Generated */ int i; +/* Generated */ double tempValue1; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(LINEARREG_ANGLE)( optInTimePeriod ); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ today = startIdx; +/* Generated */ SumX = optInTimePeriod * ( optInTimePeriod - 1 ) * 0.5; +/* Generated */ SumXSqr = optInTimePeriod * ( optInTimePeriod - 1 ) * ( 2 * optInTimePeriod - 1 ) / 6; +/* Generated */ Divisor = SumX * SumX - optInTimePeriod * SumXSqr; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ SumXY = 0; +/* Generated */ SumY = 0; +/* Generated */ for( i = optInTimePeriod; i-- != 0; ) +/* Generated */ { +/* Generated */ SumY += tempValue1 = inReal[today - i]; +/* Generated */ SumXY += (double)i * tempValue1; +/* Generated */ } +/* Generated */ m = ( optInTimePeriod * SumXY - SumX * SumY) / Divisor; +/* Generated */ outReal[outIdx++] = std_atan(m) * ( 180.0 / PI ); +/* Generated */ today++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_LINEARREG_INTERCEPT.c b/vendor/ta-lib/src/ta_func/ta_LINEARREG_INTERCEPT.c new file mode 100644 index 000000000..858fa6239 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_LINEARREG_INTERCEPT.c @@ -0,0 +1,352 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * JP John Price + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 070203 JP Initial. + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::LinearRegInterceptLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int linearRegInterceptLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_LINEARREG_INTERCEPT_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return optInTimePeriod-1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_LINEARREG_INTERCEPT - Linear Regression Intercept + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::LinearRegIntercept( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::LinearRegIntercept( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode linearRegIntercept( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_LINEARREG_INTERCEPT( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx; + + int today, lookbackTotal; + double SumX, SumXY, SumY, SumXSqr, Divisor; + + double m; + int i; + + double tempValue1; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Linear Regression is a concept also known as the + * "least squares method" or "best fit." Linear + * Regression attempts to fit a straight line between + * several data points in such a way that distance + * between each data point and the line is minimized. + * + * For each point, a straight line over the specified + * previous bar period is determined in terms + * of y = b + m*x: + * + * TA_LINEARREG : Returns b+m*(period-1) + * TA_LINEARREG_SLOPE : Returns 'm' + * TA_LINEARREG_ANGLE : Returns 'm' in degree. + * TA_LINEARREG_INTERCEPT: Returns 'b' + * TA_TSF : Returns b+m*(period) + */ + + /* Adjust startIdx to account for the lookback period. */ + lookbackTotal = LOOKBACK_CALL(LINEARREG_INTERCEPT)( optInTimePeriod ); + + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + outIdx = 0; /* Index into the output. */ + today = startIdx; + + SumX = optInTimePeriod * ( optInTimePeriod - 1 ) * 0.5; + SumXSqr = optInTimePeriod * ( optInTimePeriod - 1 ) * ( 2 * optInTimePeriod - 1 ) / 6; + Divisor = SumX * SumX - optInTimePeriod * SumXSqr; + + while( today <= endIdx ) + { + SumXY = 0; + SumY = 0; + for( i = optInTimePeriod; i-- != 0; ) + { + SumY += tempValue1 = inReal[today - i]; + SumXY += (double)i * tempValue1; + } + m = ( optInTimePeriod * SumXY - SumX * SumY) / Divisor; + outReal[outIdx++] = ( SumY - m * SumX ) / (double)optInTimePeriod; + today++; + } + + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::LinearRegIntercept( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode linearRegIntercept( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_LINEARREG_INTERCEPT( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx; +/* Generated */ int today, lookbackTotal; +/* Generated */ double SumX, SumXY, SumY, SumXSqr, Divisor; +/* Generated */ double m; +/* Generated */ int i; +/* Generated */ double tempValue1; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(LINEARREG_INTERCEPT)( optInTimePeriod ); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ today = startIdx; +/* Generated */ SumX = optInTimePeriod * ( optInTimePeriod - 1 ) * 0.5; +/* Generated */ SumXSqr = optInTimePeriod * ( optInTimePeriod - 1 ) * ( 2 * optInTimePeriod - 1 ) / 6; +/* Generated */ Divisor = SumX * SumX - optInTimePeriod * SumXSqr; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ SumXY = 0; +/* Generated */ SumY = 0; +/* Generated */ for( i = optInTimePeriod; i-- != 0; ) +/* Generated */ { +/* Generated */ SumY += tempValue1 = inReal[today - i]; +/* Generated */ SumXY += (double)i * tempValue1; +/* Generated */ } +/* Generated */ m = ( optInTimePeriod * SumXY - SumX * SumY) / Divisor; +/* Generated */ outReal[outIdx++] = ( SumY - m * SumX ) / (double)optInTimePeriod; +/* Generated */ today++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_LINEARREG_SLOPE.c b/vendor/ta-lib/src/ta_func/ta_LINEARREG_SLOPE.c new file mode 100644 index 000000000..7c7c683c9 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_LINEARREG_SLOPE.c @@ -0,0 +1,348 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * JP John Price + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 070203 JP Initial. + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::LinearRegSlopeLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int linearRegSlopeLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_LINEARREG_SLOPE_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return optInTimePeriod-1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_LINEARREG_SLOPE - Linear Regression Slope + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::LinearRegSlope( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::LinearRegSlope( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode linearRegSlope( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_LINEARREG_SLOPE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx; + + int today, lookbackTotal; + double SumX, SumXY, SumY, SumXSqr, Divisor; + + int i; + + double tempValue1; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Linear Regression is a concept also known as the + * "least squares method" or "best fit." Linear + * Regression attempts to fit a straight line between + * several data points in such a way that distance + * between each data point and the line is minimized. + * + * For each point, a straight line over the specified + * previous bar period is determined in terms + * of y = b + m*x: + * + * TA_LINEARREG : Returns b+m*(period-1) + * TA_LINEARREG_SLOPE : Returns 'm' + * TA_LINEARREG_ANGLE : Returns 'm' in degree. + * TA_LINEARREG_INTERCEPT: Returns 'b' + * TA_TSF : Returns b+m*(period) + */ + + /* Adjust startIdx to account for the lookback period. */ + lookbackTotal = LOOKBACK_CALL(LINEARREG_SLOPE)( optInTimePeriod ); + + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + outIdx = 0; /* Index into the output. */ + today = startIdx; + + SumX = optInTimePeriod * ( optInTimePeriod - 1 ) * 0.5; + SumXSqr = optInTimePeriod * ( optInTimePeriod - 1 ) * ( 2 * optInTimePeriod - 1 ) / 6; + Divisor = SumX * SumX - optInTimePeriod * SumXSqr; + + while( today <= endIdx ) + { + SumXY = 0; + SumY = 0; + for( i = optInTimePeriod; i-- != 0; ) + { + SumY += tempValue1 = inReal[today - i]; + SumXY += (double)i * tempValue1; + } + outReal[outIdx++] = ( optInTimePeriod * SumXY - SumX * SumY) / Divisor; + today++; + } + + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::LinearRegSlope( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode linearRegSlope( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_LINEARREG_SLOPE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx; +/* Generated */ int today, lookbackTotal; +/* Generated */ double SumX, SumXY, SumY, SumXSqr, Divisor; +/* Generated */ int i; +/* Generated */ double tempValue1; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(LINEARREG_SLOPE)( optInTimePeriod ); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ today = startIdx; +/* Generated */ SumX = optInTimePeriod * ( optInTimePeriod - 1 ) * 0.5; +/* Generated */ SumXSqr = optInTimePeriod * ( optInTimePeriod - 1 ) * ( 2 * optInTimePeriod - 1 ) / 6; +/* Generated */ Divisor = SumX * SumX - optInTimePeriod * SumXSqr; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ SumXY = 0; +/* Generated */ SumY = 0; +/* Generated */ for( i = optInTimePeriod; i-- != 0; ) +/* Generated */ { +/* Generated */ SumY += tempValue1 = inReal[today - i]; +/* Generated */ SumXY += (double)i * tempValue1; +/* Generated */ } +/* Generated */ outReal[outIdx++] = ( optInTimePeriod * SumXY - SumX * SumY) / Divisor; +/* Generated */ today++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_LN.c b/vendor/ta-lib/src/ta_func/ta_LN.c new file mode 100644 index 000000000..8a55c4e29 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_LN.c @@ -0,0 +1,241 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 090807 MF Initial Version + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::LnLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int lnLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_LN_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_LN - Vector Log Natural + * + * Input = double + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Ln( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Ln( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode ln( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_LN( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx; + int i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Default return values */ + for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) + { + outReal[outIdx] = std_log(inReal[i]); + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Ln( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode ln( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_LN( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx; +/* Generated */ int i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) +/* Generated */ { +/* Generated */ outReal[outIdx] = std_log(inReal[i]); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_LOG10.c b/vendor/ta-lib/src/ta_func/ta_LOG10.c new file mode 100644 index 000000000..108b72f97 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_LOG10.c @@ -0,0 +1,241 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 090807 MF Initial Version + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::Log10Lookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int log10Lookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_LOG10_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_LOG10 - Vector Log10 + * + * Input = double + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Log10( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Log10( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode log10( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_LOG10( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx; + int i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Default return values */ + for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) + { + outReal[outIdx] = std_log10(inReal[i]); + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Log10( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode log10( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_LOG10( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx; +/* Generated */ int i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) +/* Generated */ { +/* Generated */ outReal[outIdx] = std_log10(inReal[i]); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_MA.c b/vendor/ta-lib/src/ta_func/ta_MA.c new file mode 100644 index 000000000..6b9c9f537 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_MA.c @@ -0,0 +1,476 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF Template creation. + * 022203 MF Add MAMA + * 040503 MF Add T3 + * 052603 MF Adapt code to compile with .NET Managed C++ + * 111603 MF Allow period of 1. Just copy input into output. + * 060907 MF Use TA_SMA/TA_EMA instead of internal implementation. + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::MovingAverageLookback( int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MAType optInMAType ) /* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int movingAverageLookback( int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MAType optInMAType ) /* Generated */ +/* Generated */ #else +/* Generated */ int TA_MA_Lookback( int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ TA_MAType optInMAType ) /* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int retValue; + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInMAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInMAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInMAType < 0) || ((int)optInMAType > 8) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* !defined(_MANAGED) && !defined(_JAVA)*/ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + if( optInTimePeriod <= 1 ) + return 0; + + switch( optInMAType ) + { + case ENUM_CASE(MAType, TA_MAType_SMA, Sma ): + retValue = LOOKBACK_CALL(SMA)( optInTimePeriod ); + break; + + case ENUM_CASE(MAType, TA_MAType_EMA, Ema): + retValue = LOOKBACK_CALL(EMA)( optInTimePeriod ); + break; + + case ENUM_CASE(MAType, TA_MAType_WMA, Wma): + retValue = LOOKBACK_CALL(WMA)( optInTimePeriod ); + break; + + case ENUM_CASE(MAType, TA_MAType_DEMA, Dema): + retValue = LOOKBACK_CALL(DEMA)( optInTimePeriod ); + break; + + case ENUM_CASE(MAType, TA_MAType_TEMA, Tema ): + retValue = LOOKBACK_CALL(TEMA)( optInTimePeriod ); + break; + + case ENUM_CASE(MAType, TA_MAType_TRIMA, Trima ): + retValue = LOOKBACK_CALL(TRIMA)( optInTimePeriod ); + break; + + case ENUM_CASE(MAType, TA_MAType_KAMA, Kama ): + retValue = LOOKBACK_CALL(KAMA)( optInTimePeriod ); + break; + + case ENUM_CASE(MAType, TA_MAType_MAMA, Mama ): + retValue = LOOKBACK_CALL(MAMA)( 0.5, 0.05 ); + break; + + case ENUM_CASE(MAType, TA_MAType_T3, T3): + retValue = LOOKBACK_CALL(T3)( optInTimePeriod, 0.7 ); + break; + + default: + retValue = 0; + } + + return retValue; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_MA - Moving average + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * optInMAType: + * Type of Moving Average + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::MovingAverage( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MAType optInMAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::MovingAverage( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MAType optInMAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode movingAverage( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MAType optInMAType, +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_MA( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ TA_MAType optInMAType, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + ARRAY_REF(dummyBuffer); + ENUM_DECLARATION(RetCode) retCode; + + int nbElement; + int outIdx, todayIdx; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInMAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInMAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInMAType < 0) || ((int)optInMAType > 8) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_MANAGED) && !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + if( optInTimePeriod == 1 ) + { + nbElement = endIdx-startIdx+1; + VALUE_HANDLE_DEREF(outNBElement) = nbElement; + for( todayIdx=startIdx, outIdx=0; outIdx < nbElement; outIdx++, todayIdx++ ) + outReal[outIdx] = inReal[todayIdx]; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + /* Simply forward the job to the corresponding TA function. */ + switch( optInMAType ) + { + case ENUM_CASE(MAType, TA_MAType_SMA, Sma): + retCode = FUNCTION_CALL(SMA)( startIdx, endIdx, inReal, optInTimePeriod, + outBegIdx, outNBElement, outReal ); + break; + + case ENUM_CASE(MAType, TA_MAType_EMA, Ema): + retCode = FUNCTION_CALL(EMA)( startIdx, endIdx, inReal, optInTimePeriod, + outBegIdx, outNBElement, outReal ); + break; + + case ENUM_CASE(MAType, TA_MAType_WMA, Wma): + retCode = FUNCTION_CALL(WMA)( startIdx, endIdx, inReal, optInTimePeriod, + outBegIdx, outNBElement, outReal ); + break; + + case ENUM_CASE(MAType, TA_MAType_DEMA, Dema): + retCode = FUNCTION_CALL(DEMA)( startIdx, endIdx, inReal, optInTimePeriod, + outBegIdx, outNBElement, outReal ); + break; + + case ENUM_CASE(MAType, TA_MAType_TEMA, Tema): + retCode = FUNCTION_CALL(TEMA)( startIdx, endIdx, inReal, optInTimePeriod, + outBegIdx, outNBElement, outReal ); + break; + + case ENUM_CASE(MAType, TA_MAType_TRIMA, Trima): + retCode = FUNCTION_CALL(TRIMA)( startIdx, endIdx, inReal, optInTimePeriod, + outBegIdx, outNBElement, outReal ); + break; + + case ENUM_CASE(MAType, TA_MAType_KAMA, Kama): + retCode = FUNCTION_CALL(KAMA)( startIdx, endIdx, inReal, optInTimePeriod, + outBegIdx, outNBElement, outReal ); + break; + + case ENUM_CASE(MAType, TA_MAType_MAMA, Mama): + /* The optInTimePeriod is ignored and the FAMA output of the MAMA + * is ignored. + */ + ARRAY_ALLOC(dummyBuffer, (endIdx-startIdx+1) ); + + #if !defined( _JAVA ) + if( !dummyBuffer ) + return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); + #endif + + retCode = FUNCTION_CALL(MAMA)( startIdx, endIdx, inReal, 0.5, 0.05, + outBegIdx, outNBElement, + outReal, dummyBuffer ); + + ARRAY_FREE( dummyBuffer ); + break; + + case ENUM_CASE(MAType, TA_MAType_T3, T3 ): + retCode = FUNCTION_CALL(T3)( startIdx, endIdx, inReal, + optInTimePeriod, 0.7, + outBegIdx, outNBElement, outReal ); + break; + + default: + retCode = ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); + break; + } + + return retCode; +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::MovingAverage( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MAType optInMAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode movingAverage( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MAType optInMAType, +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_MA( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ TA_MAType optInMAType, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ARRAY_REF(dummyBuffer); +/* Generated */ ENUM_DECLARATION(RetCode) retCode; +/* Generated */ int nbElement; +/* Generated */ int outIdx, todayIdx; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInMAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInMAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInMAType < 0) || ((int)optInMAType > 8) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ if( optInTimePeriod == 1 ) +/* Generated */ { +/* Generated */ nbElement = endIdx-startIdx+1; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = nbElement; +/* Generated */ for( todayIdx=startIdx, outIdx=0; outIdx < nbElement; outIdx++, todayIdx++ ) +/* Generated */ outReal[outIdx] = inReal[todayIdx]; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ switch( optInMAType ) +/* Generated */ { +/* Generated */ case ENUM_CASE(MAType, TA_MAType_SMA, Sma): +/* Generated */ retCode = FUNCTION_CALL(SMA)( startIdx, endIdx, inReal, optInTimePeriod, +/* Generated */ outBegIdx, outNBElement, outReal ); +/* Generated */ break; +/* Generated */ case ENUM_CASE(MAType, TA_MAType_EMA, Ema): +/* Generated */ retCode = FUNCTION_CALL(EMA)( startIdx, endIdx, inReal, optInTimePeriod, +/* Generated */ outBegIdx, outNBElement, outReal ); +/* Generated */ break; +/* Generated */ case ENUM_CASE(MAType, TA_MAType_WMA, Wma): +/* Generated */ retCode = FUNCTION_CALL(WMA)( startIdx, endIdx, inReal, optInTimePeriod, +/* Generated */ outBegIdx, outNBElement, outReal ); +/* Generated */ break; +/* Generated */ case ENUM_CASE(MAType, TA_MAType_DEMA, Dema): +/* Generated */ retCode = FUNCTION_CALL(DEMA)( startIdx, endIdx, inReal, optInTimePeriod, +/* Generated */ outBegIdx, outNBElement, outReal ); +/* Generated */ break; +/* Generated */ case ENUM_CASE(MAType, TA_MAType_TEMA, Tema): +/* Generated */ retCode = FUNCTION_CALL(TEMA)( startIdx, endIdx, inReal, optInTimePeriod, +/* Generated */ outBegIdx, outNBElement, outReal ); +/* Generated */ break; +/* Generated */ case ENUM_CASE(MAType, TA_MAType_TRIMA, Trima): +/* Generated */ retCode = FUNCTION_CALL(TRIMA)( startIdx, endIdx, inReal, optInTimePeriod, +/* Generated */ outBegIdx, outNBElement, outReal ); +/* Generated */ break; +/* Generated */ case ENUM_CASE(MAType, TA_MAType_KAMA, Kama): +/* Generated */ retCode = FUNCTION_CALL(KAMA)( startIdx, endIdx, inReal, optInTimePeriod, +/* Generated */ outBegIdx, outNBElement, outReal ); +/* Generated */ break; +/* Generated */ case ENUM_CASE(MAType, TA_MAType_MAMA, Mama): +/* Generated */ ARRAY_ALLOC(dummyBuffer, (endIdx-startIdx+1) ); +/* Generated */ #if !defined( _JAVA ) +/* Generated */ if( !dummyBuffer ) +/* Generated */ return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); +/* Generated */ #endif +/* Generated */ retCode = FUNCTION_CALL(MAMA)( startIdx, endIdx, inReal, 0.5, 0.05, +/* Generated */ outBegIdx, outNBElement, +/* Generated */ outReal, dummyBuffer ); +/* Generated */ ARRAY_FREE( dummyBuffer ); +/* Generated */ break; +/* Generated */ case ENUM_CASE(MAType, TA_MAType_T3, T3 ): +/* Generated */ retCode = FUNCTION_CALL(T3)( startIdx, endIdx, inReal, +/* Generated */ optInTimePeriod, 0.7, +/* Generated */ outBegIdx, outNBElement, outReal ); +/* Generated */ break; +/* Generated */ default: +/* Generated */ retCode = ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ break; +/* Generated */ } +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_MACD.c b/vendor/ta-lib/src/ta_func/ta_MACD.c new file mode 100644 index 000000000..08af78989 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_MACD.c @@ -0,0 +1,783 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * JPP JP Pienaar (j.pienaar@mci.co.za) + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * 080403 JPP Fix #767653 for logic when swapping periods. + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::MacdLookback( int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSignalPeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int macdLookback( int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSignalPeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_MACD_Lookback( int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSignalPeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int tempInteger; + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInFastPeriod. */ +/* Generated */ if( (int)optInFastPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastPeriod = 12; +/* Generated */ else if( ((int)optInFastPeriod < 2) || ((int)optInFastPeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ /* min/max are checked for optInSlowPeriod. */ +/* Generated */ if( (int)optInSlowPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowPeriod = 26; +/* Generated */ else if( ((int)optInSlowPeriod < 2) || ((int)optInSlowPeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ /* min/max are checked for optInSignalPeriod. */ +/* Generated */ if( (int)optInSignalPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInSignalPeriod = 9; +/* Generated */ else if( ((int)optInSignalPeriod < 1) || ((int)optInSignalPeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + /* The lookback is driven by the signal line output. + * + * (must also account for the initial data consume + * by the slow period). + */ + + /* Make sure slow is really slower than + * the fast period! if not, swap... + */ + if( optInSlowPeriod < optInFastPeriod ) + { + /* swap */ + tempInteger = optInSlowPeriod; + optInSlowPeriod = optInFastPeriod; + optInFastPeriod = tempInteger; + } + + return LOOKBACK_CALL(EMA)( optInSlowPeriod ) + + LOOKBACK_CALL(EMA)( optInSignalPeriod ); +} + + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_MACD - Moving Average Convergence/Divergence + * + * Input = double + * Output = double, double, double + * + * Optional Parameters + * ------------------- + * optInFastPeriod:(From 2 to 100000) + * Number of period for the fast MA + * + * optInSlowPeriod:(From 2 to 100000) + * Number of period for the slow MA + * + * optInSignalPeriod:(From 1 to 100000) + * Smoothing for the signal line (nb of period) + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Macd( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSignalPeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outMACD, +/* Generated */ cli::array^ outMACDSignal, +/* Generated */ cli::array^ outMACDHist ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Macd( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSignalPeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outMACD, +/* Generated */ cli::array^ outMACDSignal, +/* Generated */ cli::array^ outMACDHist ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode macd( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSignalPeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outMACD[], +/* Generated */ double outMACDSignal[], +/* Generated */ double outMACDHist[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_MACD( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSignalPeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outMACD[], +/* Generated */ double outMACDSignal[], +/* Generated */ double outMACDHist[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInFastPeriod. */ +/* Generated */ if( (int)optInFastPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastPeriod = 12; +/* Generated */ else if( ((int)optInFastPeriod < 2) || ((int)optInFastPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ /* min/max are checked for optInSlowPeriod. */ +/* Generated */ if( (int)optInSlowPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowPeriod = 26; +/* Generated */ else if( ((int)optInSlowPeriod < 2) || ((int)optInSlowPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ /* min/max are checked for optInSignalPeriod. */ +/* Generated */ if( (int)optInSignalPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInSignalPeriod = 9; +/* Generated */ else if( ((int)optInSignalPeriod < 1) || ((int)optInSignalPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outMACD ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( !outMACDSignal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( !outMACDHist ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + return FUNCTION_CALL(INT_MACD)( startIdx, endIdx, inReal, + optInFastPeriod, + optInSlowPeriod, + optInSignalPeriod, + outBegIdx, + outNBElement, + outMACD, + outMACDSignal, + outMACDHist ); +} + +#if defined( _MANAGED ) && defined( USE_SUBARRAY ) && !defined( USE_SINGLE_PRECISION_INPUT ) + enum class Core::RetCode Core::TA_INT_MACD( int startIdx, + int endIdx, + SubArray^ inReal, + int optInFastPeriod, /* 0 is fix 12 */ + int optInSlowPeriod, /* 0 is fix 26 */ + int optInSignalPeriod_2, + [Out]int% outBegIdx, + [Out]int% outNBElement, + cli::array^ outMACD, + cli::array^ outMACDSignal, + cli::array^ outMACDHist ) +#elif defined( _MANAGED ) + enum class Core::RetCode Core::TA_INT_MACD( int startIdx, + int endIdx, + cli::array^ inReal, + int optInFastPeriod, /* 0 is fix 12 */ + int optInSlowPeriod, /* 0 is fix 26 */ + int optInSignalPeriod_2, + [Out]int% outBegIdx, + [Out]int% outNBElement, + cli::array^ outMACD, + cli::array^ outMACDSignal, + cli::array^ outMACDHist ) +#elif defined( _JAVA ) +RetCode TA_INT_MACD( int startIdx, + int endIdx, + INPUT_TYPE inReal[], + int optInFastPeriod, /* 0 is fix 12 */ + int optInSlowPeriod, /* 0 is fix 26 */ + int optInSignalPeriod_2, + MInteger outBegIdx, + MInteger outNBElement, + double outMACD[], + double outMACDSignal[], + double outMACDHist[] ) + +#else +TA_RetCode TA_PREFIX(INT_MACD)( int startIdx, + int endIdx, + const INPUT_TYPE inReal[], + int optInFastPeriod, /* 0 is fix 12 */ + int optInSlowPeriod, /* 0 is fix 26 */ + int optInSignalPeriod_2, + int *outBegIdx, + int *outNBElement, + double outMACD[], + double outMACDSignal[], + double outMACDHist[] ) +#endif +{ + ARRAY_REF(slowEMABuffer); + ARRAY_REF(fastEMABuffer); + double k1, k2; + ENUM_DECLARATION(RetCode) retCode; + int tempInteger; + VALUE_HANDLE_INT(outBegIdx1); + VALUE_HANDLE_INT(outNbElement1); + VALUE_HANDLE_INT(outBegIdx2); + VALUE_HANDLE_INT(outNbElement2); + int lookbackTotal, lookbackSignal; + int i; + + /* !!! A lot of speed optimization could be done + * !!! with this function. + * !!! + * !!! A better approach would be to use TA_INT_EMA + * !!! just to get the seeding values for the + * !!! fast and slow EMA. Then process the difference + * !!! in an allocated buffer until enough data is + * !!! available for the first signal value. + * !!! From that point all the processing can + * !!! be done in a tight loop. + * !!! + * !!! That approach will have the following + * !!! advantage: + * !!! 1) One mem allocation needed instead of two. + * !!! 2) The mem allocation size will be only the + * !!! signal lookback period instead of the + * !!! whole range of data. + * !!! 3) Processing will be done in a tight loop. + * !!! allowing to avoid a lot of memory store-load + * !!! operation. + * !!! 4) The memcpy at the end will be eliminated! + * !!! + * !!! If only I had time.... + */ + + /* Make sure slow is really slower than + * the fast period! if not, swap... + */ + if( optInSlowPeriod < optInFastPeriod ) + { + /* swap */ + tempInteger = optInSlowPeriod; + optInSlowPeriod = optInFastPeriod; + optInFastPeriod = tempInteger; + } + + /* Catch special case for fix 26/12 MACD. */ + if( optInSlowPeriod != 0 ) + k1 = PER_TO_K(optInSlowPeriod); + else + { + optInSlowPeriod = 26; + k1 = (double)0.075; /* Fix 26 */ + } + + if( optInFastPeriod != 0 ) + k2 = PER_TO_K(optInFastPeriod); + else + { + optInFastPeriod = 12; + k2 = (double)0.15; /* Fix 12 */ + } + + lookbackSignal = LOOKBACK_CALL(EMA)( optInSignalPeriod_2 ); + + /* Move up the start index if there is not + * enough initial data. + */ + lookbackTotal = lookbackSignal; + lookbackTotal += LOOKBACK_CALL(EMA)( optInSlowPeriod ); + + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Allocate intermediate buffer for fast/slow EMA. */ + tempInteger = (endIdx-startIdx)+1+lookbackSignal; + ARRAY_ALLOC( fastEMABuffer, tempInteger ); + #if !defined( _JAVA ) + if( !fastEMABuffer ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); + } + #endif + + ARRAY_ALLOC( slowEMABuffer, tempInteger ); + #if !defined( _JAVA ) + if( !slowEMABuffer ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + ARRAY_FREE( fastEMABuffer ); + return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); + } + #endif + + /* Calculate the slow EMA. + * + * Move back the startIdx to get enough data + * for the signal period. That way, once the + * signal calculation is done, all the output + * will start at the requested 'startIdx'. + */ + tempInteger = startIdx-lookbackSignal; + retCode = FUNCTION_CALL(INT_EMA)( tempInteger, endIdx, + inReal, optInSlowPeriod, k1, + VALUE_HANDLE_OUT(outBegIdx1), VALUE_HANDLE_OUT(outNbElement1), slowEMABuffer ); + + if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + ARRAY_FREE( fastEMABuffer ); + ARRAY_FREE( slowEMABuffer ); + return retCode; + } + + /* Calculate the fast EMA. */ + retCode = FUNCTION_CALL(INT_EMA)( tempInteger, endIdx, + inReal, optInFastPeriod, k2, + VALUE_HANDLE_OUT(outBegIdx2), VALUE_HANDLE_OUT(outNbElement2), fastEMABuffer ); + + if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + ARRAY_FREE( fastEMABuffer ); + ARRAY_FREE( slowEMABuffer ); + return retCode; + } + + /* Parano tests. Will be removed eventually. */ + if( (VALUE_HANDLE_GET(outBegIdx1) != tempInteger) || + (VALUE_HANDLE_GET(outBegIdx2) != tempInteger) || + (VALUE_HANDLE_GET(outNbElement1) != VALUE_HANDLE_GET(outNbElement2)) || + (VALUE_HANDLE_GET(outNbElement1) != (endIdx-startIdx)+1+lookbackSignal) ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + ARRAY_FREE( fastEMABuffer ); + ARRAY_FREE( slowEMABuffer ); + return TA_INTERNAL_ERROR(119); + } + + /* Calculate (fast EMA) - (slow EMA). */ + for( i=0; i < VALUE_HANDLE_GET(outNbElement1); i++ ) + fastEMABuffer[i] = fastEMABuffer[i] - slowEMABuffer[i]; + + + /* Copy the result into the output for the caller. */ + ARRAY_MEMMOVE( outMACD, 0, fastEMABuffer, lookbackSignal, (endIdx-startIdx)+1 ); + + /* Calculate the signal/trigger line. */ + retCode = FUNCTION_CALL_DOUBLE(INT_EMA)( 0, VALUE_HANDLE_GET(outNbElement1)-1, + fastEMABuffer, optInSignalPeriod_2, PER_TO_K(optInSignalPeriod_2), + VALUE_HANDLE_OUT(outBegIdx2), VALUE_HANDLE_OUT(outNbElement2), outMACDSignal ); + + + ARRAY_FREE( fastEMABuffer ); + ARRAY_FREE( slowEMABuffer ); + + if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return retCode; + } + + /* Calculate the histogram. */ + for( i=0; i < VALUE_HANDLE_GET(outNbElement2); i++ ) + outMACDHist[i] = outMACD[i]-outMACDSignal[i]; + + + /* All done! Indicate the output limits and return success. */ + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = VALUE_HANDLE_GET(outNbElement2); + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Macd( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSignalPeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outMACD, +/* Generated */ cli::array^ outMACDSignal, +/* Generated */ cli::array^ outMACDHist ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode macd( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSignalPeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outMACD[], +/* Generated */ double outMACDSignal[], +/* Generated */ double outMACDHist[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_MACD( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSignalPeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outMACD[], +/* Generated */ double outMACDSignal[], +/* Generated */ double outMACDHist[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInFastPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastPeriod = 12; +/* Generated */ else if( ((int)optInFastPeriod < 2) || ((int)optInFastPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( (int)optInSlowPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowPeriod = 26; +/* Generated */ else if( ((int)optInSlowPeriod < 2) || ((int)optInSlowPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( (int)optInSignalPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInSignalPeriod = 9; +/* Generated */ else if( ((int)optInSignalPeriod < 1) || ((int)optInSignalPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outMACD ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !outMACDSignal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !outMACDHist ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ return FUNCTION_CALL(INT_MACD)( startIdx, endIdx, inReal, +/* Generated */ optInFastPeriod, +/* Generated */ optInSlowPeriod, +/* Generated */ optInSignalPeriod, +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ outMACD, +/* Generated */ outMACDSignal, +/* Generated */ outMACDHist ); +/* Generated */ } +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) && !defined( USE_SINGLE_PRECISION_INPUT ) +/* Generated */ enum class Core::RetCode Core::TA_INT_MACD( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInFastPeriod, +/* Generated */ int optInSlowPeriod, +/* Generated */ int optInSignalPeriod_2, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outMACD, +/* Generated */ cli::array^ outMACDSignal, +/* Generated */ cli::array^ outMACDHist ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::TA_INT_MACD( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInFastPeriod, +/* Generated */ int optInSlowPeriod, +/* Generated */ int optInSignalPeriod_2, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outMACD, +/* Generated */ cli::array^ outMACDSignal, +/* Generated */ cli::array^ outMACDHist ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ RetCode TA_INT_MACD( int startIdx, +/* Generated */ int endIdx, +/* Generated */ INPUT_TYPE inReal[], +/* Generated */ int optInFastPeriod, +/* Generated */ int optInSlowPeriod, +/* Generated */ int optInSignalPeriod_2, +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outMACD[], +/* Generated */ double outMACDSignal[], +/* Generated */ double outMACDHist[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_PREFIX(INT_MACD)( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const INPUT_TYPE inReal[], +/* Generated */ int optInFastPeriod, +/* Generated */ int optInSlowPeriod, +/* Generated */ int optInSignalPeriod_2, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outMACD[], +/* Generated */ double outMACDSignal[], +/* Generated */ double outMACDHist[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ARRAY_REF(slowEMABuffer); +/* Generated */ ARRAY_REF(fastEMABuffer); +/* Generated */ double k1, k2; +/* Generated */ ENUM_DECLARATION(RetCode) retCode; +/* Generated */ int tempInteger; +/* Generated */ VALUE_HANDLE_INT(outBegIdx1); +/* Generated */ VALUE_HANDLE_INT(outNbElement1); +/* Generated */ VALUE_HANDLE_INT(outBegIdx2); +/* Generated */ VALUE_HANDLE_INT(outNbElement2); +/* Generated */ int lookbackTotal, lookbackSignal; +/* Generated */ int i; +/* Generated */ if( optInSlowPeriod < optInFastPeriod ) +/* Generated */ { +/* Generated */ tempInteger = optInSlowPeriod; +/* Generated */ optInSlowPeriod = optInFastPeriod; +/* Generated */ optInFastPeriod = tempInteger; +/* Generated */ } +/* Generated */ if( optInSlowPeriod != 0 ) +/* Generated */ k1 = PER_TO_K(optInSlowPeriod); +/* Generated */ else +/* Generated */ { +/* Generated */ optInSlowPeriod = 26; +/* Generated */ k1 = (double)0.075; +/* Generated */ } +/* Generated */ if( optInFastPeriod != 0 ) +/* Generated */ k2 = PER_TO_K(optInFastPeriod); +/* Generated */ else +/* Generated */ { +/* Generated */ optInFastPeriod = 12; +/* Generated */ k2 = (double)0.15; +/* Generated */ } +/* Generated */ lookbackSignal = LOOKBACK_CALL(EMA)( optInSignalPeriod_2 ); +/* Generated */ lookbackTotal = lookbackSignal; +/* Generated */ lookbackTotal += LOOKBACK_CALL(EMA)( optInSlowPeriod ); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ tempInteger = (endIdx-startIdx)+1+lookbackSignal; +/* Generated */ ARRAY_ALLOC( fastEMABuffer, tempInteger ); +/* Generated */ #if !defined( _JAVA ) +/* Generated */ if( !fastEMABuffer ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); +/* Generated */ } +/* Generated */ #endif +/* Generated */ ARRAY_ALLOC( slowEMABuffer, tempInteger ); +/* Generated */ #if !defined( _JAVA ) +/* Generated */ if( !slowEMABuffer ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ ARRAY_FREE( fastEMABuffer ); +/* Generated */ return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); +/* Generated */ } +/* Generated */ #endif +/* Generated */ tempInteger = startIdx-lookbackSignal; +/* Generated */ retCode = FUNCTION_CALL(INT_EMA)( tempInteger, endIdx, +/* Generated */ inReal, optInSlowPeriod, k1, +/* Generated */ VALUE_HANDLE_OUT(outBegIdx1), VALUE_HANDLE_OUT(outNbElement1), slowEMABuffer ); +/* Generated */ if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ ARRAY_FREE( fastEMABuffer ); +/* Generated */ ARRAY_FREE( slowEMABuffer ); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ retCode = FUNCTION_CALL(INT_EMA)( tempInteger, endIdx, +/* Generated */ inReal, optInFastPeriod, k2, +/* Generated */ VALUE_HANDLE_OUT(outBegIdx2), VALUE_HANDLE_OUT(outNbElement2), fastEMABuffer ); +/* Generated */ if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ ARRAY_FREE( fastEMABuffer ); +/* Generated */ ARRAY_FREE( slowEMABuffer ); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ if( (VALUE_HANDLE_GET(outBegIdx1) != tempInteger) || +/* Generated */ (VALUE_HANDLE_GET(outBegIdx2) != tempInteger) || +/* Generated */ (VALUE_HANDLE_GET(outNbElement1) != VALUE_HANDLE_GET(outNbElement2)) || +/* Generated */ (VALUE_HANDLE_GET(outNbElement1) != (endIdx-startIdx)+1+lookbackSignal) ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ ARRAY_FREE( fastEMABuffer ); +/* Generated */ ARRAY_FREE( slowEMABuffer ); +/* Generated */ return TA_INTERNAL_ERROR(119); +/* Generated */ } +/* Generated */ for( i=0; i < VALUE_HANDLE_GET(outNbElement1); i++ ) +/* Generated */ fastEMABuffer[i] = fastEMABuffer[i] - slowEMABuffer[i]; +/* Generated */ ARRAY_MEMMOVE( outMACD, 0, fastEMABuffer, lookbackSignal, (endIdx-startIdx)+1 ); +/* Generated */ retCode = FUNCTION_CALL_DOUBLE(INT_EMA)( 0, VALUE_HANDLE_GET(outNbElement1)-1, +/* Generated */ fastEMABuffer, optInSignalPeriod_2, PER_TO_K(optInSignalPeriod_2), +/* Generated */ VALUE_HANDLE_OUT(outBegIdx2), VALUE_HANDLE_OUT(outNbElement2), outMACDSignal ); +/* Generated */ ARRAY_FREE( fastEMABuffer ); +/* Generated */ ARRAY_FREE( slowEMABuffer ); +/* Generated */ if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ for( i=0; i < VALUE_HANDLE_GET(outNbElement2); i++ ) +/* Generated */ outMACDHist[i] = outMACD[i]-outMACDSignal[i]; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = VALUE_HANDLE_GET(outNbElement2); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_MACDEXT.c b/vendor/ta-lib/src/ta_func/ta_MACDEXT.c new file mode 100644 index 000000000..0389cb950 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_MACDEXT.c @@ -0,0 +1,703 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 010802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::MacdExtLookback( int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInFastMAType, +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInSlowMAType, +/* Generated */ int optInSignalPeriod, /* From 1 to 100000 */ +/* Generated */ MAType optInSignalMAType ) /* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int macdExtLookback( int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInFastMAType, +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInSlowMAType, +/* Generated */ int optInSignalPeriod, /* From 1 to 100000 */ +/* Generated */ MAType optInSignalMAType ) /* Generated */ +/* Generated */ #else +/* Generated */ int TA_MACDEXT_Lookback( int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ TA_MAType optInFastMAType, +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ TA_MAType optInSlowMAType, +/* Generated */ int optInSignalPeriod, /* From 1 to 100000 */ +/* Generated */ TA_MAType optInSignalMAType ) /* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int tempInteger, lookbackLargest; + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInFastPeriod. */ +/* Generated */ if( (int)optInFastPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastPeriod = 12; +/* Generated */ else if( ((int)optInFastPeriod < 2) || ((int)optInFastPeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInFastMAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastMAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInFastMAType < 0) || ((int)optInFastMAType > 8) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* !defined(_MANAGED) && !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInSlowPeriod. */ +/* Generated */ if( (int)optInSlowPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowPeriod = 26; +/* Generated */ else if( ((int)optInSlowPeriod < 2) || ((int)optInSlowPeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInSlowMAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowMAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInSlowMAType < 0) || ((int)optInSlowMAType > 8) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* !defined(_MANAGED) && !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInSignalPeriod. */ +/* Generated */ if( (int)optInSignalPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInSignalPeriod = 9; +/* Generated */ else if( ((int)optInSignalPeriod < 1) || ((int)optInSignalPeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInSignalMAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInSignalMAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInSignalMAType < 0) || ((int)optInSignalMAType > 8) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* !defined(_MANAGED) && !defined(_JAVA)*/ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + /* Find the MA with the largest lookback */ + lookbackLargest = LOOKBACK_CALL(MA)( optInFastPeriod, optInFastMAType ); + tempInteger = LOOKBACK_CALL(MA)( optInSlowPeriod, optInSlowMAType ); + if( tempInteger > lookbackLargest ) + lookbackLargest = tempInteger; + + /* Add to the largest MA lookback the signal line lookback */ + return lookbackLargest + LOOKBACK_CALL(MA)( optInSignalPeriod, optInSignalMAType ); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_MACDEXT - MACD with controllable MA type + * + * Input = double + * Output = double, double, double + * + * Optional Parameters + * ------------------- + * optInFastPeriod:(From 2 to 100000) + * Number of period for the fast MA + * + * optInFastMAType: + * Type of Moving Average for fast MA + * + * optInSlowPeriod:(From 2 to 100000) + * Number of period for the slow MA + * + * optInSlowMAType: + * Type of Moving Average for slow MA + * + * optInSignalPeriod:(From 1 to 100000) + * Smoothing for the signal line (nb of period) + * + * optInSignalMAType: + * Type of Moving Average for signal line + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::MacdExt( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInFastMAType, +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInSlowMAType, +/* Generated */ int optInSignalPeriod, /* From 1 to 100000 */ +/* Generated */ MAType optInSignalMAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outMACD, +/* Generated */ cli::array^ outMACDSignal, +/* Generated */ cli::array^ outMACDHist ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::MacdExt( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInFastMAType, +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInSlowMAType, +/* Generated */ int optInSignalPeriod, /* From 1 to 100000 */ +/* Generated */ MAType optInSignalMAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outMACD, +/* Generated */ cli::array^ outMACDSignal, +/* Generated */ cli::array^ outMACDHist ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode macdExt( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInFastMAType, +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInSlowMAType, +/* Generated */ int optInSignalPeriod, /* From 1 to 100000 */ +/* Generated */ MAType optInSignalMAType, +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outMACD[], +/* Generated */ double outMACDSignal[], +/* Generated */ double outMACDHist[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_MACDEXT( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ TA_MAType optInFastMAType, +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ TA_MAType optInSlowMAType, +/* Generated */ int optInSignalPeriod, /* From 1 to 100000 */ +/* Generated */ TA_MAType optInSignalMAType, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outMACD[], +/* Generated */ double outMACDSignal[], +/* Generated */ double outMACDHist[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + ARRAY_REF( slowMABuffer ); + ARRAY_REF( fastMABuffer ); + ENUM_DECLARATION(RetCode) retCode; + int tempInteger; + VALUE_HANDLE_INT(outBegIdx1); + VALUE_HANDLE_INT(outNbElement1); + VALUE_HANDLE_INT(outBegIdx2); + VALUE_HANDLE_INT(outNbElement2); + int lookbackTotal, lookbackSignal, lookbackLargest; + int i; + ENUM_DECLARATION(MAType) tempMAType; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInFastPeriod. */ +/* Generated */ if( (int)optInFastPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastPeriod = 12; +/* Generated */ else if( ((int)optInFastPeriod < 2) || ((int)optInFastPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInFastMAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastMAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInFastMAType < 0) || ((int)optInFastMAType > 8) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_MANAGED) && !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInSlowPeriod. */ +/* Generated */ if( (int)optInSlowPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowPeriod = 26; +/* Generated */ else if( ((int)optInSlowPeriod < 2) || ((int)optInSlowPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInSlowMAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowMAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInSlowMAType < 0) || ((int)optInSlowMAType > 8) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_MANAGED) && !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInSignalPeriod. */ +/* Generated */ if( (int)optInSignalPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInSignalPeriod = 9; +/* Generated */ else if( ((int)optInSignalPeriod < 1) || ((int)optInSignalPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInSignalMAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInSignalMAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInSignalMAType < 0) || ((int)optInSignalMAType > 8) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_MANAGED) && !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outMACD ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( !outMACDSignal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( !outMACDHist ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Make sure slow is really slower than + * the fast period! if not, swap... + */ + if( optInSlowPeriod < optInFastPeriod ) + { + /* swap period */ + tempInteger = optInSlowPeriod; + optInSlowPeriod = optInFastPeriod; + optInFastPeriod = tempInteger; + /* swap type */ + tempMAType = optInSlowMAType; + optInSlowMAType = optInFastMAType; + optInFastMAType = tempMAType; + } + + /* Find the MA with the largest lookback */ + lookbackLargest = LOOKBACK_CALL(MA)( optInFastPeriod, optInFastMAType ); + tempInteger = LOOKBACK_CALL(MA)( optInSlowPeriod, optInSlowMAType ); + if( tempInteger > lookbackLargest ) + lookbackLargest = tempInteger; + + /* Add the lookback needed for the signal line */ + lookbackSignal = LOOKBACK_CALL(MA)( optInSignalPeriod, optInSignalMAType ); + lookbackTotal = lookbackSignal+lookbackLargest; + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Allocate intermediate buffer for fast/slow MA. */ + tempInteger = (endIdx-startIdx)+1+lookbackSignal; + ARRAY_ALLOC( fastMABuffer, tempInteger ); + #if !defined( _JAVA ) + if( !fastMABuffer ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); + } + #endif + + ARRAY_ALLOC( slowMABuffer, tempInteger ); + #if !defined( _JAVA ) + if( !slowMABuffer ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + ARRAY_FREE( fastMABuffer ); + return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); + } + #endif + + /* Calculate the slow MA. + * + * Move back the startIdx to get enough data + * for the signal period. That way, once the + * signal calculation is done, all the output + * will start at the requested 'startIdx'. + */ + tempInteger = startIdx-lookbackSignal; + retCode = FUNCTION_CALL(MA)( tempInteger, endIdx, + inReal, optInSlowPeriod, optInSlowMAType, + VALUE_HANDLE_OUT(outBegIdx1), VALUE_HANDLE_OUT(outNbElement1), + slowMABuffer ); + + if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + ARRAY_FREE( fastMABuffer ); + ARRAY_FREE( slowMABuffer ); + return retCode; + } + + /* Calculate the fast MA. */ + retCode = FUNCTION_CALL(MA)( tempInteger, endIdx, + inReal, optInFastPeriod, optInFastMAType, + VALUE_HANDLE_OUT(outBegIdx2), VALUE_HANDLE_OUT(outNbElement2), + fastMABuffer ); + + if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + ARRAY_FREE( fastMABuffer ); + ARRAY_FREE( slowMABuffer ); + return retCode; + } + + /* Parano tests. Will be removed eventually. */ + if( (VALUE_HANDLE_GET(outBegIdx1) != tempInteger) || + (VALUE_HANDLE_GET(outBegIdx2) != tempInteger) || + (VALUE_HANDLE_GET(outNbElement1) != VALUE_HANDLE_GET(outNbElement2)) || + (VALUE_HANDLE_GET(outNbElement1) != (endIdx-startIdx)+1+lookbackSignal) ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + ARRAY_FREE( fastMABuffer ); + ARRAY_FREE( slowMABuffer ); + return TA_INTERNAL_ERROR(119); + } + + /* Calculate (fast MA) - (slow MA). */ + for( i=0; i < VALUE_HANDLE_GET(outNbElement1); i++ ) + fastMABuffer[i] = fastMABuffer[i] - slowMABuffer[i]; + + /* Copy the result into the output for the caller. */ + ARRAY_MEMMOVE( outMACD, 0, fastMABuffer, lookbackSignal, (endIdx-startIdx)+1 ); + + /* Calculate the signal/trigger line. */ + retCode = FUNCTION_CALL_DOUBLE(MA)( 0, VALUE_HANDLE_GET(outNbElement1)-1, + fastMABuffer, optInSignalPeriod, optInSignalMAType, + VALUE_HANDLE_OUT(outBegIdx2), VALUE_HANDLE_OUT(outNbElement2), outMACDSignal ); + + ARRAY_FREE( fastMABuffer ); + ARRAY_FREE( slowMABuffer ); + + if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return retCode; + } + + /* Calculate the histogram. */ + for( i=0; i < VALUE_HANDLE_GET(outNbElement2); i++ ) + outMACDHist[i] = outMACD[i]-outMACDSignal[i]; + + /* All done! Indicate the output limits and return success. */ + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = VALUE_HANDLE_GET(outNbElement2); + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::MacdExt( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInFastMAType, +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInSlowMAType, +/* Generated */ int optInSignalPeriod, /* From 1 to 100000 */ +/* Generated */ MAType optInSignalMAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outMACD, +/* Generated */ cli::array^ outMACDSignal, +/* Generated */ cli::array^ outMACDHist ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode macdExt( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInFastMAType, +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInSlowMAType, +/* Generated */ int optInSignalPeriod, /* From 1 to 100000 */ +/* Generated */ MAType optInSignalMAType, +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outMACD[], +/* Generated */ double outMACDSignal[], +/* Generated */ double outMACDHist[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_MACDEXT( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ TA_MAType optInFastMAType, +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ TA_MAType optInSlowMAType, +/* Generated */ int optInSignalPeriod, /* From 1 to 100000 */ +/* Generated */ TA_MAType optInSignalMAType, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outMACD[], +/* Generated */ double outMACDSignal[], +/* Generated */ double outMACDHist[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ARRAY_REF( slowMABuffer ); +/* Generated */ ARRAY_REF( fastMABuffer ); +/* Generated */ ENUM_DECLARATION(RetCode) retCode; +/* Generated */ int tempInteger; +/* Generated */ VALUE_HANDLE_INT(outBegIdx1); +/* Generated */ VALUE_HANDLE_INT(outNbElement1); +/* Generated */ VALUE_HANDLE_INT(outBegIdx2); +/* Generated */ VALUE_HANDLE_INT(outNbElement2); +/* Generated */ int lookbackTotal, lookbackSignal, lookbackLargest; +/* Generated */ int i; +/* Generated */ ENUM_DECLARATION(MAType) tempMAType; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInFastPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastPeriod = 12; +/* Generated */ else if( ((int)optInFastPeriod < 2) || ((int)optInFastPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInFastMAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastMAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInFastMAType < 0) || ((int)optInFastMAType > 8) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInSlowPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowPeriod = 26; +/* Generated */ else if( ((int)optInSlowPeriod < 2) || ((int)optInSlowPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInSlowMAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowMAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInSlowMAType < 0) || ((int)optInSlowMAType > 8) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInSignalPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInSignalPeriod = 9; +/* Generated */ else if( ((int)optInSignalPeriod < 1) || ((int)optInSignalPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInSignalMAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInSignalMAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInSignalMAType < 0) || ((int)optInSignalMAType > 8) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outMACD ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !outMACDSignal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !outMACDHist ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ if( optInSlowPeriod < optInFastPeriod ) +/* Generated */ { +/* Generated */ tempInteger = optInSlowPeriod; +/* Generated */ optInSlowPeriod = optInFastPeriod; +/* Generated */ optInFastPeriod = tempInteger; +/* Generated */ tempMAType = optInSlowMAType; +/* Generated */ optInSlowMAType = optInFastMAType; +/* Generated */ optInFastMAType = tempMAType; +/* Generated */ } +/* Generated */ lookbackLargest = LOOKBACK_CALL(MA)( optInFastPeriod, optInFastMAType ); +/* Generated */ tempInteger = LOOKBACK_CALL(MA)( optInSlowPeriod, optInSlowMAType ); +/* Generated */ if( tempInteger > lookbackLargest ) +/* Generated */ lookbackLargest = tempInteger; +/* Generated */ lookbackSignal = LOOKBACK_CALL(MA)( optInSignalPeriod, optInSignalMAType ); +/* Generated */ lookbackTotal = lookbackSignal+lookbackLargest; +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ tempInteger = (endIdx-startIdx)+1+lookbackSignal; +/* Generated */ ARRAY_ALLOC( fastMABuffer, tempInteger ); +/* Generated */ #if !defined( _JAVA ) +/* Generated */ if( !fastMABuffer ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); +/* Generated */ } +/* Generated */ #endif +/* Generated */ ARRAY_ALLOC( slowMABuffer, tempInteger ); +/* Generated */ #if !defined( _JAVA ) +/* Generated */ if( !slowMABuffer ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ ARRAY_FREE( fastMABuffer ); +/* Generated */ return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); +/* Generated */ } +/* Generated */ #endif +/* Generated */ tempInteger = startIdx-lookbackSignal; +/* Generated */ retCode = FUNCTION_CALL(MA)( tempInteger, endIdx, +/* Generated */ inReal, optInSlowPeriod, optInSlowMAType, +/* Generated */ VALUE_HANDLE_OUT(outBegIdx1), VALUE_HANDLE_OUT(outNbElement1), +/* Generated */ slowMABuffer ); +/* Generated */ if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ ARRAY_FREE( fastMABuffer ); +/* Generated */ ARRAY_FREE( slowMABuffer ); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ retCode = FUNCTION_CALL(MA)( tempInteger, endIdx, +/* Generated */ inReal, optInFastPeriod, optInFastMAType, +/* Generated */ VALUE_HANDLE_OUT(outBegIdx2), VALUE_HANDLE_OUT(outNbElement2), +/* Generated */ fastMABuffer ); +/* Generated */ if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ ARRAY_FREE( fastMABuffer ); +/* Generated */ ARRAY_FREE( slowMABuffer ); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ if( (VALUE_HANDLE_GET(outBegIdx1) != tempInteger) || +/* Generated */ (VALUE_HANDLE_GET(outBegIdx2) != tempInteger) || +/* Generated */ (VALUE_HANDLE_GET(outNbElement1) != VALUE_HANDLE_GET(outNbElement2)) || +/* Generated */ (VALUE_HANDLE_GET(outNbElement1) != (endIdx-startIdx)+1+lookbackSignal) ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ ARRAY_FREE( fastMABuffer ); +/* Generated */ ARRAY_FREE( slowMABuffer ); +/* Generated */ return TA_INTERNAL_ERROR(119); +/* Generated */ } +/* Generated */ for( i=0; i < VALUE_HANDLE_GET(outNbElement1); i++ ) +/* Generated */ fastMABuffer[i] = fastMABuffer[i] - slowMABuffer[i]; +/* Generated */ ARRAY_MEMMOVE( outMACD, 0, fastMABuffer, lookbackSignal, (endIdx-startIdx)+1 ); +/* Generated */ retCode = FUNCTION_CALL_DOUBLE(MA)( 0, VALUE_HANDLE_GET(outNbElement1)-1, +/* Generated */ fastMABuffer, optInSignalPeriod, optInSignalMAType, +/* Generated */ VALUE_HANDLE_OUT(outBegIdx2), VALUE_HANDLE_OUT(outNbElement2), outMACDSignal ); +/* Generated */ ARRAY_FREE( fastMABuffer ); +/* Generated */ ARRAY_FREE( slowMABuffer ); +/* Generated */ if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ for( i=0; i < VALUE_HANDLE_GET(outNbElement2); i++ ) +/* Generated */ outMACDHist[i] = outMACD[i]-outMACDSignal[i]; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = VALUE_HANDLE_GET(outNbElement2); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_MACDFIX.c b/vendor/ta-lib/src/ta_func/ta_MACDFIX.c new file mode 100644 index 000000000..78c2e1a4a --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_MACDFIX.c @@ -0,0 +1,301 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::MacdFixLookback( int optInSignalPeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int macdFixLookback( int optInSignalPeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_MACDFIX_Lookback( int optInSignalPeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInSignalPeriod. */ +/* Generated */ if( (int)optInSignalPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInSignalPeriod = 9; +/* Generated */ else if( ((int)optInSignalPeriod < 1) || ((int)optInSignalPeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + /* The lookback is driven by the signal line output. + * + * (must also account for the initial data consume + * by the fix 26 period EMA). + */ + return LOOKBACK_CALL(EMA)( 26 ) + + LOOKBACK_CALL(EMA)( optInSignalPeriod ); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_MACDFIX - Moving Average Convergence/Divergence Fix 12/26 + * + * Input = double + * Output = double, double, double + * + * Optional Parameters + * ------------------- + * optInSignalPeriod:(From 1 to 100000) + * Smoothing for the signal line (nb of period) + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::MacdFix( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInSignalPeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outMACD, +/* Generated */ cli::array^ outMACDSignal, +/* Generated */ cli::array^ outMACDHist ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::MacdFix( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInSignalPeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outMACD, +/* Generated */ cli::array^ outMACDSignal, +/* Generated */ cli::array^ outMACDHist ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode macdFix( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInSignalPeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outMACD[], +/* Generated */ double outMACDSignal[], +/* Generated */ double outMACDHist[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_MACDFIX( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInSignalPeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outMACD[], +/* Generated */ double outMACDSignal[], +/* Generated */ double outMACDHist[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInSignalPeriod. */ +/* Generated */ if( (int)optInSignalPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInSignalPeriod = 9; +/* Generated */ else if( ((int)optInSignalPeriod < 1) || ((int)optInSignalPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outMACD ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( !outMACDSignal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( !outMACDHist ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + return FUNCTION_CALL(INT_MACD)( startIdx, endIdx, inReal, + 0, /* 0 indicate fix 12 == 0.15 for optInFastPeriod */ + 0, /* 0 indicate fix 26 == 0.075 for optInSlowPeriod */ + optInSignalPeriod, + outBegIdx, + outNBElement, + outMACD, + outMACDSignal, + outMACDHist ); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::MacdFix( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInSignalPeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outMACD, +/* Generated */ cli::array^ outMACDSignal, +/* Generated */ cli::array^ outMACDHist ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode macdFix( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInSignalPeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outMACD[], +/* Generated */ double outMACDSignal[], +/* Generated */ double outMACDHist[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_MACDFIX( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInSignalPeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outMACD[], +/* Generated */ double outMACDSignal[], +/* Generated */ double outMACDHist[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInSignalPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInSignalPeriod = 9; +/* Generated */ else if( ((int)optInSignalPeriod < 1) || ((int)optInSignalPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outMACD ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !outMACDSignal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !outMACDHist ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ return FUNCTION_CALL(INT_MACD)( startIdx, endIdx, inReal, +/* Generated */ 0, +/* Generated */ 0, +/* Generated */ optInSignalPeriod, +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ outMACD, +/* Generated */ outMACDSignal, +/* Generated */ outMACDHist ); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_MAMA.c b/vendor/ta-lib/src/ta_func/ta_MAMA.c new file mode 100644 index 000000000..cb6b5476b --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_MAMA.c @@ -0,0 +1,714 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120802 MF Template creation. + * 023003 MF Initial Coding of MAMA. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::MamaLookback( double optInFastLimit, /* From 0.01 to 0.99 */ +/* Generated */ double optInSlowLimit ) /* From 0.01 to 0.99 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int mamaLookback( double optInFastLimit, /* From 0.01 to 0.99 */ +/* Generated */ double optInSlowLimit ) /* From 0.01 to 0.99 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_MAMA_Lookback( double optInFastLimit, /* From 0.01 to 0.99 */ +/* Generated */ double optInSlowLimit ) /* From 0.01 to 0.99 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( optInFastLimit == TA_REAL_DEFAULT ) +/* Generated */ optInFastLimit = 5.000000e-1; +/* Generated */ else if( (optInFastLimit < 1.000000e-2) ||/* Generated */ (optInFastLimit > 9.900000e-1) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ if( optInSlowLimit == TA_REAL_DEFAULT ) +/* Generated */ optInSlowLimit = 5.000000e-2; +/* Generated */ else if( (optInSlowLimit < 1.000000e-2) ||/* Generated */ (optInSlowLimit > 9.900000e-1) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + /* The two parameters are not a factor to determine + * the lookback, but are still requested for + * consistency with all other Lookback functions. + */ + UNUSED_VARIABLE(optInFastLimit); + UNUSED_VARIABLE(optInSlowLimit); + + /* Lookback is a fix amount + the unstable period. + * + * + * The fix lookback is 32 and is establish as follow: + * + * 12 price bar to be compatible with the implementation + * of TradeStation found in John Ehlers book. + * 6 price bars for the Detrender + * 6 price bars for Q1 + * 3 price bars for jI + * 3 price bars for jQ + * 1 price bar for Re/Im + * 1 price bar for the Delta Phase + * ------- + * 32 Total + */ + + return 32 + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_MAMA,Mama); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_MAMA - MESA Adaptive Moving Average + * + * Input = double + * Output = double, double + * + * Optional Parameters + * ------------------- + * optInFastLimit:(From 0.01 to 0.99) + * Upper limit use in the adaptive algorithm + * + * optInSlowLimit:(From 0.01 to 0.99) + * Lower limit use in the adaptive algorithm + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Mama( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ double optInFastLimit, /* From 0.01 to 0.99 */ +/* Generated */ double optInSlowLimit, /* From 0.01 to 0.99 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outMAMA, +/* Generated */ cli::array^ outFAMA ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Mama( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ double optInFastLimit, /* From 0.01 to 0.99 */ +/* Generated */ double optInSlowLimit, /* From 0.01 to 0.99 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outMAMA, +/* Generated */ cli::array^ outFAMA ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode mama( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ double optInFastLimit, /* From 0.01 to 0.99 */ +/* Generated */ double optInSlowLimit, /* From 0.01 to 0.99 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outMAMA[], +/* Generated */ double outFAMA[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_MAMA( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ double optInFastLimit, /* From 0.01 to 0.99 */ +/* Generated */ double optInSlowLimit, /* From 0.01 to 0.99 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outMAMA[], +/* Generated */ double outFAMA[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + + int outIdx, i; + int lookbackTotal, today; + double tempReal, tempReal2; + + double adjustedPrevPeriod, period; + + /* Variable used for the price smoother (a weighted moving average). */ + int trailingWMAIdx; + double periodWMASum, periodWMASub, trailingWMAValue; + double smoothedValue; + + /* Variables used for the Hilbert Transormation */ + CONSTANT_DOUBLE(a) = 0.0962; + CONSTANT_DOUBLE(b) = 0.5769; + double hilbertTempReal; + int hilbertIdx; + + HILBERT_VARIABLES( detrender ); + HILBERT_VARIABLES( Q1 ); + HILBERT_VARIABLES( jI ); + HILBERT_VARIABLES( jQ ); + + double Q2, I2, prevQ2, prevI2, Re, Im; + + double I1ForOddPrev2, I1ForOddPrev3; + double I1ForEvenPrev2, I1ForEvenPrev3; + + double rad2Deg; + + double mama,fama,todayValue,prevPhase; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ if( optInFastLimit == TA_REAL_DEFAULT ) +/* Generated */ optInFastLimit = 5.000000e-1; +/* Generated */ else if( (optInFastLimit < 1.000000e-2) ||/* Generated */ (optInFastLimit > 9.900000e-1) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( optInSlowLimit == TA_REAL_DEFAULT ) +/* Generated */ optInSlowLimit = 5.000000e-2; +/* Generated */ else if( (optInSlowLimit < 1.000000e-2) ||/* Generated */ (optInSlowLimit > 9.900000e-1) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outMAMA ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( !outFAMA ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Constant */ + rad2Deg = 180.0 / (4.0 * std_atan(1)); + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + lookbackTotal = 32 + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_MAMA,Mama); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + /* Initialize the price smoother, which is simply a weighted + * moving average of the price. + * To understand this algorithm, I strongly suggest to understand + * first how TA_WMA is done. + */ + trailingWMAIdx = startIdx - lookbackTotal; + today = trailingWMAIdx; + + /* Initialization is same as WMA, except loop is unrolled + * for speed optimization. + */ + tempReal = inReal[today++]; + periodWMASub = tempReal; + periodWMASum = tempReal; + tempReal = inReal[today++]; + periodWMASub += tempReal; + periodWMASum += tempReal*2.0; + tempReal = inReal[today++]; + periodWMASub += tempReal; + periodWMASum += tempReal*3.0; + + trailingWMAValue = 0.0; + + /* Subsequent WMA value are evaluated by using + * the DO_PRICE_WMA macro. + */ + #define DO_PRICE_WMA(varNewPrice,varToStoreSmoothedValue) { \ + periodWMASub += varNewPrice; \ + periodWMASub -= trailingWMAValue; \ + periodWMASum += varNewPrice*4.0; \ + trailingWMAValue = inReal[trailingWMAIdx++]; \ + varToStoreSmoothedValue = periodWMASum*0.1; \ + periodWMASum -= periodWMASub; \ + } + + i = 9; + do + { + tempReal = inReal[today++]; + DO_PRICE_WMA(tempReal,smoothedValue); + } while( --i != 0); + + /* Initialize the circular buffers used by the hilbert + * transform logic. + * A buffer is used for odd day and another for even days. + * This minimize the number of memory access and floating point + * operations needed (note also that by using static circular buffer, + * no large dynamic memory allocation is needed for storing + * intermediate calculation!). + */ + hilbertIdx = 0; + + INIT_HILBERT_VARIABLES(detrender); + INIT_HILBERT_VARIABLES(Q1); + INIT_HILBERT_VARIABLES(jI); + INIT_HILBERT_VARIABLES(jQ); + + period = 0.0; + outIdx = 0; + + prevI2 = prevQ2 = 0.0; + Re = Im = 0.0; + mama = fama = 0.0; + I1ForOddPrev3 = I1ForEvenPrev3 = 0.0; + I1ForOddPrev2 = I1ForEvenPrev2 = 0.0; + + prevPhase = 0.0; + + /* The code is speed optimized and is most likely very + * hard to follow if you do not already know well the + * original algorithm. + * To understadn better, it is strongly suggested to look + * first at the Excel implementation in "test_MAMA.xls" included + * in this package. + */ + while( today <= endIdx ) + { + adjustedPrevPeriod = (0.075*period)+0.54; + + todayValue = inReal[today]; + DO_PRICE_WMA(todayValue,smoothedValue); + + if( (today%2) == 0 ) + { + /* Do the Hilbert Transforms for even price bar */ + DO_HILBERT_EVEN(detrender,smoothedValue); + DO_HILBERT_EVEN(Q1,detrender); + DO_HILBERT_EVEN(jI,I1ForEvenPrev3); + DO_HILBERT_EVEN(jQ,Q1); + if( ++hilbertIdx == 3 ) + hilbertIdx = 0; + + Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); + I2 = (0.2*(I1ForEvenPrev3 - jQ)) + (0.8*prevI2); + + /* The variable I1 is the detrender delayed for + * 3 price bars. + * + * Save the current detrender value for being + * used by the "odd" logic later. + */ + I1ForOddPrev3 = I1ForOddPrev2; + I1ForOddPrev2 = detrender; + + /* Put Alpha in tempReal2 */ + if( I1ForEvenPrev3 != 0.0 ) + tempReal2 = (std_atan(Q1/I1ForEvenPrev3)*rad2Deg); + else + tempReal2 = 0.0; + } + else + { + /* Do the Hilbert Transforms for odd price bar */ + DO_HILBERT_ODD(detrender,smoothedValue); + DO_HILBERT_ODD(Q1,detrender); + DO_HILBERT_ODD(jI,I1ForOddPrev3); + DO_HILBERT_ODD(jQ,Q1); + + Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); + I2 = (0.2*(I1ForOddPrev3 - jQ)) + (0.8*prevI2); + + /* The varaiable I1 is the detrender delayed for + * 3 price bars. + * + * Save the current detrender value for being + * used by the "odd" logic later. + */ + I1ForEvenPrev3 = I1ForEvenPrev2; + I1ForEvenPrev2 = detrender; + + /* Put Alpha in tempReal2 */ + if( I1ForOddPrev3 != 0.0 ) + tempReal2 = (std_atan(Q1/I1ForOddPrev3)*rad2Deg); + else + tempReal2 = 0.0; + } + + /* Put Delta Phase into tempReal */ + tempReal = prevPhase - tempReal2; + prevPhase = tempReal2; + if( tempReal < 1.0 ) + tempReal = 1.0; + + /* Put Alpha into tempReal */ + if( tempReal > 1.0 ) + { + tempReal = optInFastLimit/tempReal; + if( tempReal < optInSlowLimit ) + tempReal = optInSlowLimit; + } + else + { + tempReal = optInFastLimit; + } + + /* Calculate MAMA, FAMA */ + mama = (tempReal*todayValue)+((1-tempReal)*mama); + tempReal *= 0.5; + fama = (tempReal*mama)+((1-tempReal)*fama); + if( today >= startIdx ) + { + outMAMA[outIdx] = mama; + outFAMA[outIdx++] = fama; + } + + /* Adjust the period for next price bar */ + Re = (0.2*((I2*prevI2)+(Q2*prevQ2)))+(0.8*Re); + Im = (0.2*((I2*prevQ2)-(Q2*prevI2)))+(0.8*Im); + prevQ2 = Q2; + prevI2 = I2; + tempReal = period; + if( (Im != 0.0) && (Re != 0.0) ) + period = 360.0 / (std_atan(Im/Re)*rad2Deg); + tempReal2 = 1.5*tempReal; + if( period > tempReal2) + period = tempReal2; + tempReal2 = 0.67*tempReal; + if( period < tempReal2 ) + period = tempReal2; + if( period < 6 ) + period = 6; + else if( period > 50 ) + period = 50; + period = (0.2*period) + (0.8 * tempReal); + + /* Ooof... let's do the next price bar now! */ + today++; + } + + /* Default return values */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Mama( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ double optInFastLimit, /* From 0.01 to 0.99 */ +/* Generated */ double optInSlowLimit, /* From 0.01 to 0.99 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outMAMA, +/* Generated */ cli::array^ outFAMA ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode mama( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ double optInFastLimit, /* From 0.01 to 0.99 */ +/* Generated */ double optInSlowLimit, /* From 0.01 to 0.99 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outMAMA[], +/* Generated */ double outFAMA[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_MAMA( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ double optInFastLimit, /* From 0.01 to 0.99 */ +/* Generated */ double optInSlowLimit, /* From 0.01 to 0.99 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outMAMA[], +/* Generated */ double outFAMA[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx, i; +/* Generated */ int lookbackTotal, today; +/* Generated */ double tempReal, tempReal2; +/* Generated */ double adjustedPrevPeriod, period; +/* Generated */ int trailingWMAIdx; +/* Generated */ double periodWMASum, periodWMASub, trailingWMAValue; +/* Generated */ double smoothedValue; +/* Generated */ CONSTANT_DOUBLE(a) = 0.0962; +/* Generated */ CONSTANT_DOUBLE(b) = 0.5769; +/* Generated */ double hilbertTempReal; +/* Generated */ int hilbertIdx; +/* Generated */ HILBERT_VARIABLES( detrender ); +/* Generated */ HILBERT_VARIABLES( Q1 ); +/* Generated */ HILBERT_VARIABLES( jI ); +/* Generated */ HILBERT_VARIABLES( jQ ); +/* Generated */ double Q2, I2, prevQ2, prevI2, Re, Im; +/* Generated */ double I1ForOddPrev2, I1ForOddPrev3; +/* Generated */ double I1ForEvenPrev2, I1ForEvenPrev3; +/* Generated */ double rad2Deg; +/* Generated */ double mama,fama,todayValue,prevPhase; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( optInFastLimit == TA_REAL_DEFAULT ) +/* Generated */ optInFastLimit = 5.000000e-1; +/* Generated */ else if( (optInFastLimit < 1.000000e-2) || (optInFastLimit > 9.900000e-1) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( optInSlowLimit == TA_REAL_DEFAULT ) +/* Generated */ optInSlowLimit = 5.000000e-2; +/* Generated */ else if( (optInSlowLimit < 1.000000e-2) || (optInSlowLimit > 9.900000e-1) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outMAMA ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !outFAMA ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ rad2Deg = 180.0 / (4.0 * std_atan(1)); +/* Generated */ lookbackTotal = 32 + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_MAMA,Mama); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ trailingWMAIdx = startIdx - lookbackTotal; +/* Generated */ today = trailingWMAIdx; +/* Generated */ tempReal = inReal[today++]; +/* Generated */ periodWMASub = tempReal; +/* Generated */ periodWMASum = tempReal; +/* Generated */ tempReal = inReal[today++]; +/* Generated */ periodWMASub += tempReal; +/* Generated */ periodWMASum += tempReal*2.0; +/* Generated */ tempReal = inReal[today++]; +/* Generated */ periodWMASub += tempReal; +/* Generated */ periodWMASum += tempReal*3.0; +/* Generated */ trailingWMAValue = 0.0; +/* Generated */ #define DO_PRICE_WMA(varNewPrice,varToStoreSmoothedValue) { \ +/* Generated */ periodWMASub += varNewPrice; \ +/* Generated */ periodWMASub -= trailingWMAValue; \ +/* Generated */ periodWMASum += varNewPrice*4.0; \ +/* Generated */ trailingWMAValue = inReal[trailingWMAIdx++]; \ +/* Generated */ varToStoreSmoothedValue = periodWMASum*0.1; \ +/* Generated */ periodWMASum -= periodWMASub; \ +/* Generated */ } +/* Generated */ i = 9; +/* Generated */ do +/* Generated */ { +/* Generated */ tempReal = inReal[today++]; +/* Generated */ DO_PRICE_WMA(tempReal,smoothedValue); +/* Generated */ } while( --i != 0); +/* Generated */ hilbertIdx = 0; +/* Generated */ INIT_HILBERT_VARIABLES(detrender); +/* Generated */ INIT_HILBERT_VARIABLES(Q1); +/* Generated */ INIT_HILBERT_VARIABLES(jI); +/* Generated */ INIT_HILBERT_VARIABLES(jQ); +/* Generated */ period = 0.0; +/* Generated */ outIdx = 0; +/* Generated */ prevI2 = prevQ2 = 0.0; +/* Generated */ Re = Im = 0.0; +/* Generated */ mama = fama = 0.0; +/* Generated */ I1ForOddPrev3 = I1ForEvenPrev3 = 0.0; +/* Generated */ I1ForOddPrev2 = I1ForEvenPrev2 = 0.0; +/* Generated */ prevPhase = 0.0; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ adjustedPrevPeriod = (0.075*period)+0.54; +/* Generated */ todayValue = inReal[today]; +/* Generated */ DO_PRICE_WMA(todayValue,smoothedValue); +/* Generated */ if( (today%2) == 0 ) +/* Generated */ { +/* Generated */ DO_HILBERT_EVEN(detrender,smoothedValue); +/* Generated */ DO_HILBERT_EVEN(Q1,detrender); +/* Generated */ DO_HILBERT_EVEN(jI,I1ForEvenPrev3); +/* Generated */ DO_HILBERT_EVEN(jQ,Q1); +/* Generated */ if( ++hilbertIdx == 3 ) +/* Generated */ hilbertIdx = 0; +/* Generated */ Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); +/* Generated */ I2 = (0.2*(I1ForEvenPrev3 - jQ)) + (0.8*prevI2); +/* Generated */ I1ForOddPrev3 = I1ForOddPrev2; +/* Generated */ I1ForOddPrev2 = detrender; +/* Generated */ if( I1ForEvenPrev3 != 0.0 ) +/* Generated */ tempReal2 = (std_atan(Q1/I1ForEvenPrev3)*rad2Deg); +/* Generated */ else +/* Generated */ tempReal2 = 0.0; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ DO_HILBERT_ODD(detrender,smoothedValue); +/* Generated */ DO_HILBERT_ODD(Q1,detrender); +/* Generated */ DO_HILBERT_ODD(jI,I1ForOddPrev3); +/* Generated */ DO_HILBERT_ODD(jQ,Q1); +/* Generated */ Q2 = (0.2*(Q1 + jI)) + (0.8*prevQ2); +/* Generated */ I2 = (0.2*(I1ForOddPrev3 - jQ)) + (0.8*prevI2); +/* Generated */ I1ForEvenPrev3 = I1ForEvenPrev2; +/* Generated */ I1ForEvenPrev2 = detrender; +/* Generated */ if( I1ForOddPrev3 != 0.0 ) +/* Generated */ tempReal2 = (std_atan(Q1/I1ForOddPrev3)*rad2Deg); +/* Generated */ else +/* Generated */ tempReal2 = 0.0; +/* Generated */ } +/* Generated */ tempReal = prevPhase - tempReal2; +/* Generated */ prevPhase = tempReal2; +/* Generated */ if( tempReal < 1.0 ) +/* Generated */ tempReal = 1.0; +/* Generated */ if( tempReal > 1.0 ) +/* Generated */ { +/* Generated */ tempReal = optInFastLimit/tempReal; +/* Generated */ if( tempReal < optInSlowLimit ) +/* Generated */ tempReal = optInSlowLimit; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ tempReal = optInFastLimit; +/* Generated */ } +/* Generated */ mama = (tempReal*todayValue)+((1-tempReal)*mama); +/* Generated */ tempReal *= 0.5; +/* Generated */ fama = (tempReal*mama)+((1-tempReal)*fama); +/* Generated */ if( today >= startIdx ) +/* Generated */ { +/* Generated */ outMAMA[outIdx] = mama; +/* Generated */ outFAMA[outIdx++] = fama; +/* Generated */ } +/* Generated */ Re = (0.2*((I2*prevI2)+(Q2*prevQ2)))+(0.8*Re); +/* Generated */ Im = (0.2*((I2*prevQ2)-(Q2*prevI2)))+(0.8*Im); +/* Generated */ prevQ2 = Q2; +/* Generated */ prevI2 = I2; +/* Generated */ tempReal = period; +/* Generated */ if( (Im != 0.0) && (Re != 0.0) ) +/* Generated */ period = 360.0 / (std_atan(Im/Re)*rad2Deg); +/* Generated */ tempReal2 = 1.5*tempReal; +/* Generated */ if( period > tempReal2) +/* Generated */ period = tempReal2; +/* Generated */ tempReal2 = 0.67*tempReal; +/* Generated */ if( period < tempReal2 ) +/* Generated */ period = tempReal2; +/* Generated */ if( period < 6 ) +/* Generated */ period = 6; +/* Generated */ else if( period > 50 ) +/* Generated */ period = 50; +/* Generated */ period = (0.2*period) + (0.8 * tempReal); +/* Generated */ today++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_MAVP.c b/vendor/ta-lib/src/ta_func/ta_MAVP.c new file mode 100644 index 000000000..79c2fdb6e --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_MAVP.c @@ -0,0 +1,492 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 021807 MF Initial Version + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::MovingAverageVariablePeriodLookback( int optInMinPeriod, /* From 2 to 100000 */ +/* Generated */ int optInMaxPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInMAType ) /* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int movingAverageVariablePeriodLookback( int optInMinPeriod, /* From 2 to 100000 */ +/* Generated */ int optInMaxPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInMAType ) /* Generated */ +/* Generated */ #else +/* Generated */ int TA_MAVP_Lookback( int optInMinPeriod, /* From 2 to 100000 */ +/* Generated */ int optInMaxPeriod, /* From 2 to 100000 */ +/* Generated */ TA_MAType optInMAType ) /* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInMinPeriod. */ +/* Generated */ if( (int)optInMinPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInMinPeriod = 2; +/* Generated */ else if( ((int)optInMinPeriod < 2) || ((int)optInMinPeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ /* min/max are checked for optInMaxPeriod. */ +/* Generated */ if( (int)optInMaxPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInMaxPeriod = 30; +/* Generated */ else if( ((int)optInMaxPeriod < 2) || ((int)optInMaxPeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInMAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInMAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInMAType < 0) || ((int)optInMAType > 8) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* !defined(_MANAGED) && !defined(_JAVA)*/ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + return LOOKBACK_CALL(MA)(optInMaxPeriod, optInMAType); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_MAVP - Moving average with variable period + * + * Input = double, double + * Output = double + * + * Optional Parameters + * ------------------- + * optInMinPeriod:(From 2 to 100000) + * Value less than minimum will be changed to Minimum period + * + * optInMaxPeriod:(From 2 to 100000) + * Value higher than maximum will be changed to Maximum period + * + * optInMAType: + * Type of Moving Average + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::MovingAverageVariablePeriod( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ SubArray^ inPeriods, +/* Generated */ int optInMinPeriod, /* From 2 to 100000 */ +/* Generated */ int optInMaxPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInMAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::MovingAverageVariablePeriod( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ cli::array^ inPeriods, +/* Generated */ int optInMinPeriod, /* From 2 to 100000 */ +/* Generated */ int optInMaxPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInMAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode movingAverageVariablePeriod( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ double inPeriods[], +/* Generated */ int optInMinPeriod, /* From 2 to 100000 */ +/* Generated */ int optInMaxPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInMAType, +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_MAVP( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ const double inPeriods[], +/* Generated */ int optInMinPeriod, /* From 2 to 100000 */ +/* Generated */ int optInMaxPeriod, /* From 2 to 100000 */ +/* Generated */ TA_MAType optInMAType, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int i, j, lookbackTotal, outputSize, tempInt, curPeriod; + ARRAY_INT_REF(localPeriodArray); + ARRAY_REF(localOutputArray); + VALUE_HANDLE_INT(localBegIdx); + VALUE_HANDLE_INT(localNbElement); + ENUM_DECLARATION(RetCode) retCode; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !inPeriods ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInMinPeriod. */ +/* Generated */ if( (int)optInMinPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInMinPeriod = 2; +/* Generated */ else if( ((int)optInMinPeriod < 2) || ((int)optInMinPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ /* min/max are checked for optInMaxPeriod. */ +/* Generated */ if( (int)optInMaxPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInMaxPeriod = 30; +/* Generated */ else if( ((int)optInMaxPeriod < 2) || ((int)optInMaxPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInMAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInMAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInMAType < 0) || ((int)optInMAType > 8) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_MANAGED) && !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + lookbackTotal = LOOKBACK_CALL(MA)(optInMaxPeriod,optInMAType); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Calculate exact output size */ + if( lookbackTotal > startIdx ) + tempInt = lookbackTotal; + else + tempInt = startIdx; + if( tempInt > endIdx ) + { + /* No output */ + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + outputSize = endIdx - tempInt + 1; + + /* Allocate intermediate local buffer. */ + ARRAY_ALLOC(localOutputArray,outputSize); + ARRAY_INT_ALLOC(localPeriodArray,outputSize); + + /* Copy caller array of period into local buffer. + * At the same time, truncate to min/max. + */ + for( i=0; i < outputSize; i++ ) + { + tempInt = (int)(inPeriods[startIdx+i]); + if( tempInt < optInMinPeriod ) + tempInt = optInMinPeriod; + else if( tempInt > optInMaxPeriod ) + tempInt = optInMaxPeriod; + localPeriodArray[i] = tempInt; + } + + /* Process each element of the input. + * For each possible period value, the MA is calculated + * only once. + * The outReal is then fill up for all element with + * the same period. + * A local flag (value 0) is set in localPeriodArray + * to avoid doing a second time the same calculation. + */ + for( i=0; i < outputSize; i++ ) + { + curPeriod = localPeriodArray[i]; + if( curPeriod != 0 ) + { + /* TODO: This portion of the function can be slightly speed + * optimized by making the function without unstable period + * start their calculation at 'startIdx+i' instead of startIdx. + */ + + /* Calculation of the MA required. */ + retCode = FUNCTION_CALL(MA)( startIdx, endIdx, inReal, + curPeriod, optInMAType, + VALUE_HANDLE_OUT(localBegIdx),VALUE_HANDLE_OUT(localNbElement),localOutputArray ); + + if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) + { + ARRAY_FREE(localOutputArray); + ARRAY_INT_FREE(localPeriodArray); + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return retCode; + } + + outReal[i] = localOutputArray[i]; + for( j=i+1; j < outputSize; j++ ) + { + if( localPeriodArray[j] == curPeriod ) + { + localPeriodArray[j] = 0; /* Flag to avoid recalculation */ + outReal[j] = localOutputArray[j]; + } + } + } + } + + ARRAY_FREE(localOutputArray); + ARRAY_INT_FREE(localPeriodArray); + + /* Done. Inform the caller of the success. */ + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = outputSize; + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::MovingAverageVariablePeriod( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ cli::array^ inPeriods, +/* Generated */ int optInMinPeriod, /* From 2 to 100000 */ +/* Generated */ int optInMaxPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInMAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode movingAverageVariablePeriod( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ float inPeriods[], +/* Generated */ int optInMinPeriod, /* From 2 to 100000 */ +/* Generated */ int optInMaxPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInMAType, +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_MAVP( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ const float inPeriods[], +/* Generated */ int optInMinPeriod, /* From 2 to 100000 */ +/* Generated */ int optInMaxPeriod, /* From 2 to 100000 */ +/* Generated */ TA_MAType optInMAType, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int i, j, lookbackTotal, outputSize, tempInt, curPeriod; +/* Generated */ ARRAY_INT_REF(localPeriodArray); +/* Generated */ ARRAY_REF(localOutputArray); +/* Generated */ VALUE_HANDLE_INT(localBegIdx); +/* Generated */ VALUE_HANDLE_INT(localNbElement); +/* Generated */ ENUM_DECLARATION(RetCode) retCode; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !inPeriods ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInMinPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInMinPeriod = 2; +/* Generated */ else if( ((int)optInMinPeriod < 2) || ((int)optInMinPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( (int)optInMaxPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInMaxPeriod = 30; +/* Generated */ else if( ((int)optInMaxPeriod < 2) || ((int)optInMaxPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInMAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInMAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInMAType < 0) || ((int)optInMAType > 8) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(MA)(optInMaxPeriod,optInMAType); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ if( lookbackTotal > startIdx ) +/* Generated */ tempInt = lookbackTotal; +/* Generated */ else +/* Generated */ tempInt = startIdx; +/* Generated */ if( tempInt > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outputSize = endIdx - tempInt + 1; +/* Generated */ ARRAY_ALLOC(localOutputArray,outputSize); +/* Generated */ ARRAY_INT_ALLOC(localPeriodArray,outputSize); +/* Generated */ for( i=0; i < outputSize; i++ ) +/* Generated */ { +/* Generated */ tempInt = (int)(inPeriods[startIdx+i]); +/* Generated */ if( tempInt < optInMinPeriod ) +/* Generated */ tempInt = optInMinPeriod; +/* Generated */ else if( tempInt > optInMaxPeriod ) +/* Generated */ tempInt = optInMaxPeriod; +/* Generated */ localPeriodArray[i] = tempInt; +/* Generated */ } +/* Generated */ for( i=0; i < outputSize; i++ ) +/* Generated */ { +/* Generated */ curPeriod = localPeriodArray[i]; +/* Generated */ if( curPeriod != 0 ) +/* Generated */ { +/* Generated */ retCode = FUNCTION_CALL(MA)( startIdx, endIdx, inReal, +/* Generated */ curPeriod, optInMAType, +/* Generated */ VALUE_HANDLE_OUT(localBegIdx),VALUE_HANDLE_OUT(localNbElement),localOutputArray ); +/* Generated */ if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) +/* Generated */ { +/* Generated */ ARRAY_FREE(localOutputArray); +/* Generated */ ARRAY_INT_FREE(localPeriodArray); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ outReal[i] = localOutputArray[i]; +/* Generated */ for( j=i+1; j < outputSize; j++ ) +/* Generated */ { +/* Generated */ if( localPeriodArray[j] == curPeriod ) +/* Generated */ { +/* Generated */ localPeriodArray[j] = 0; +/* Generated */ outReal[j] = localOutputArray[j]; +/* Generated */ } +/* Generated */ } +/* Generated */ } +/* Generated */ } +/* Generated */ ARRAY_FREE(localOutputArray); +/* Generated */ ARRAY_INT_FREE(localPeriodArray); +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outputSize; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_MAX.c b/vendor/ta-lib/src/ta_func/ta_MAX.c new file mode 100644 index 000000000..8dd1eb7c6 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_MAX.c @@ -0,0 +1,373 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * JV Jesus Viver <324122@cienz.unizar.es> + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF Template creation. + * 101902 JV Speed optimization of the algorithm + * 102202 MF Speed optimize a bit further + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::MaxLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int maxLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_MAX_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return (optInTimePeriod-1); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_MAX - Highest value over a specified period + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Max( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Max( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #undef max +/* Generated */ public RetCode max( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_MAX( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double highest, tmp; + int outIdx, nbInitialElementNeeded; + int trailingIdx, today, i, highestIdx; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Identify the minimum number of price bar needed + * to identify at least one output over the specified + * period. + */ + nbInitialElementNeeded = (optInTimePeriod-1); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < nbInitialElementNeeded ) + startIdx = nbInitialElementNeeded; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Proceed with the calculation for the requested range. + * Note that this algorithm allows the input and + * output to be the same buffer. + */ + outIdx = 0; + today = startIdx; + trailingIdx = startIdx-nbInitialElementNeeded; + highestIdx = -1; + highest = 0.0; + + while( today <= endIdx ) + { + tmp = inReal[today]; + + if( highestIdx < trailingIdx ) + { + highestIdx = trailingIdx; + highest = inReal[highestIdx]; + i = highestIdx; + while( ++i<=today ) + { + tmp = inReal[i]; + if( tmp > highest ) + { + highestIdx = i; + highest = tmp; + } + } + } + else if( tmp >= highest ) + { + highestIdx = today; + highest = tmp; + } + + outReal[outIdx++] = highest; + trailingIdx++; + today++; + } + + /* Keep the outBegIdx relative to the + * caller input before returning. + */ + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Max( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode max( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_MAX( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double highest, tmp; +/* Generated */ int outIdx, nbInitialElementNeeded; +/* Generated */ int trailingIdx, today, i, highestIdx; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ nbInitialElementNeeded = (optInTimePeriod-1); +/* Generated */ if( startIdx < nbInitialElementNeeded ) +/* Generated */ startIdx = nbInitialElementNeeded; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ today = startIdx; +/* Generated */ trailingIdx = startIdx-nbInitialElementNeeded; +/* Generated */ highestIdx = -1; +/* Generated */ highest = 0.0; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ tmp = inReal[today]; +/* Generated */ if( highestIdx < trailingIdx ) +/* Generated */ { +/* Generated */ highestIdx = trailingIdx; +/* Generated */ highest = inReal[highestIdx]; +/* Generated */ i = highestIdx; +/* Generated */ while( ++i<=today ) +/* Generated */ { +/* Generated */ tmp = inReal[i]; +/* Generated */ if( tmp > highest ) +/* Generated */ { +/* Generated */ highestIdx = i; +/* Generated */ highest = tmp; +/* Generated */ } +/* Generated */ } +/* Generated */ } +/* Generated */ else if( tmp >= highest ) +/* Generated */ { +/* Generated */ highestIdx = today; +/* Generated */ highest = tmp; +/* Generated */ } +/* Generated */ outReal[outIdx++] = highest; +/* Generated */ trailingIdx++; +/* Generated */ today++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_MAXINDEX.c b/vendor/ta-lib/src/ta_func/ta_MAXINDEX.c new file mode 100644 index 000000000..cbfea141d --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_MAXINDEX.c @@ -0,0 +1,368 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120806 AC Creation (equal to MAX but outputs index) + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::MaxIndexLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int maxIndexLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_MAXINDEX_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return (optInTimePeriod-1); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_MAXINDEX - Index of highest value over a specified period + * + * Input = double + * Output = int + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::MaxIndex( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::MaxIndex( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode maxIndex( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_MAXINDEX( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double highest, tmp; + int outIdx, nbInitialElementNeeded; + int trailingIdx, today, i, highestIdx; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Identify the minimum number of price bar needed + * to identify at least one output over the specified + * period. + */ + nbInitialElementNeeded = (optInTimePeriod-1); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < nbInitialElementNeeded ) + startIdx = nbInitialElementNeeded; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Proceed with the calculation for the requested range. + * Note that this algorithm allows the input and + * output to be the same buffer. + */ + outIdx = 0; + today = startIdx; + trailingIdx = startIdx-nbInitialElementNeeded; + highestIdx = -1; + highest = 0.0; + + while( today <= endIdx ) + { + tmp = inReal[today]; + + if( highestIdx < trailingIdx ) + { + highestIdx = trailingIdx; + highest = inReal[highestIdx]; + i = highestIdx; + while( ++i<=today ) + { + tmp = inReal[i]; + if( tmp > highest ) + { + highestIdx = i; + highest = tmp; + } + } + } + else if( tmp >= highest ) + { + highestIdx = today; + highest = tmp; + } + + outInteger[outIdx++] = highestIdx; + trailingIdx++; + today++; + } + + /* Keep the outBegIdx relative to the + * caller input before returning. + */ + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::MaxIndex( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode maxIndex( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_MAXINDEX( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double highest, tmp; +/* Generated */ int outIdx, nbInitialElementNeeded; +/* Generated */ int trailingIdx, today, i, highestIdx; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ nbInitialElementNeeded = (optInTimePeriod-1); +/* Generated */ if( startIdx < nbInitialElementNeeded ) +/* Generated */ startIdx = nbInitialElementNeeded; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ today = startIdx; +/* Generated */ trailingIdx = startIdx-nbInitialElementNeeded; +/* Generated */ highestIdx = -1; +/* Generated */ highest = 0.0; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ tmp = inReal[today]; +/* Generated */ if( highestIdx < trailingIdx ) +/* Generated */ { +/* Generated */ highestIdx = trailingIdx; +/* Generated */ highest = inReal[highestIdx]; +/* Generated */ i = highestIdx; +/* Generated */ while( ++i<=today ) +/* Generated */ { +/* Generated */ tmp = inReal[i]; +/* Generated */ if( tmp > highest ) +/* Generated */ { +/* Generated */ highestIdx = i; +/* Generated */ highest = tmp; +/* Generated */ } +/* Generated */ } +/* Generated */ } +/* Generated */ else if( tmp >= highest ) +/* Generated */ { +/* Generated */ highestIdx = today; +/* Generated */ highest = tmp; +/* Generated */ } +/* Generated */ outInteger[outIdx++] = highestIdx; +/* Generated */ trailingIdx++; +/* Generated */ today++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_MEDPRICE.c b/vendor/ta-lib/src/ta_func/ta_MEDPRICE.c new file mode 100644 index 000000000..53e178bbd --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_MEDPRICE.c @@ -0,0 +1,264 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * 112605 MF Fix outBegIdx when startIdx != 0 + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::MedPriceLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int medPriceLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_MEDPRICE_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + /* This function have no lookback needed. */ + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_MEDPRICE - Median Price + * + * Input = High, Low + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::MedPrice( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::MedPrice( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode medPrice( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_MEDPRICE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + int outIdx, i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inHigh||!inLow) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* MEDPRICE = (High + Low ) / 2 + * This is the high and low of the same price bar. + * + * See MIDPRICE to use instead the highest high and lowest + * low over multiple price bar. + */ + + outIdx = 0; + + for( i=startIdx; i <= endIdx; i++ ) + { + outReal[outIdx++] = (inHigh[i]+inLow[i])/2.0; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::MedPrice( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode medPrice( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_MEDPRICE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx, i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inHigh||!inLow) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ outIdx = 0; +/* Generated */ for( i=startIdx; i <= endIdx; i++ ) +/* Generated */ { +/* Generated */ outReal[outIdx++] = (inHigh[i]+inLow[i])/2.0; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_MFI.c b/vendor/ta-lib/src/ta_func/ta_MFI.c new file mode 100644 index 000000000..07fb70843 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_MFI.c @@ -0,0 +1,572 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * BT BobTrader (TADoc.org forum user). + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * 062704 MF Prevent divide by zero. + * 121705 MF Java port related changes. + * 060907 MF,BT Fix #1727704. MFI logic bug when no price movement + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::MfiLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int mfiLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_MFI_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return optInTimePeriod + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_MFI,Mfi); +} + +#if defined( _MANAGED ) + ref class MoneyFlow + { + public: + double positive; + double negative; + }; +#elif defined( _JAVA ) + // See MoneyFlow.java for the definition. +#else + typedef struct + { + double positive; + double negative; + } MoneyFlow; +#endif + + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_MFI - Money Flow Index + * + * Input = High, Low, Close, Volume + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Mfi( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ SubArray^ inVolume, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Mfi( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ cli::array^ inVolume, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode mfi( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ double inVolume[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_MFI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ const double inVolume[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + double posSumMF, negSumMF, prevValue; + double tempValue1, tempValue2; + int lookbackTotal, outIdx, i, today; + + CIRCBUF_PROLOG_CLASS( mflow, MoneyFlow, 50 ); /* Id, Type, Static Size */ + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inHigh||!inLow||!inClose||!inVolume) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + CIRCBUF_INIT_CLASS( mflow, MoneyFlow, optInTimePeriod ); + + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + + /* Adjust startIdx to account for the lookback period. */ + lookbackTotal = optInTimePeriod + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_MFI,Mfi); + + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + CIRCBUF_DESTROY(mflow); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + outIdx = 0; /* Index into the output. */ + + /* Accumulate the positive and negative money flow + * among the initial period. + */ + today = startIdx-lookbackTotal; + prevValue = (inHigh[today]+inLow[today]+inClose[today])/3.0; + + posSumMF = 0.0; + negSumMF = 0.0; + today++; + for( i=optInTimePeriod; i > 0; i-- ) + { + tempValue1 = (inHigh[today]+inLow[today]+inClose[today])/3.0; + tempValue2 = tempValue1 - prevValue; + prevValue = tempValue1; + tempValue1 *= inVolume[today++]; + if( tempValue2 < 0 ) + { + CIRCBUF_REF(mflow[mflow_Idx])negative = tempValue1; + negSumMF += tempValue1; + CIRCBUF_REF(mflow[mflow_Idx])positive = 0.0; + } + else if( tempValue2 > 0 ) + { + CIRCBUF_REF(mflow[mflow_Idx])positive = tempValue1; + posSumMF += tempValue1; + CIRCBUF_REF(mflow[mflow_Idx])negative = 0.0; + } + else + { + CIRCBUF_REF(mflow[mflow_Idx])positive = 0.0; + CIRCBUF_REF(mflow[mflow_Idx])negative = 0.0; + } + + CIRCBUF_NEXT(mflow); + } + + /* The following two equations are equivalent: + * MFI = 100 - (100 / 1 + (posSumMF/negSumMF)) + * MFI = 100 * (posSumMF/(posSumMF+negSumMF)) + * The second equation is used here for speed optimization. + */ + if( today > startIdx ) + { + tempValue1 = posSumMF+negSumMF; + if( tempValue1 < 1.0 ) + outReal[outIdx++] = 0.0; + else + outReal[outIdx++] = 100.0*(posSumMF/tempValue1); + } + else + { + /* Skip the unstable period. Do the processing + * but do not write it in the output. + */ + while( today < startIdx ) + { + posSumMF -= CIRCBUF_REF(mflow[mflow_Idx])positive; + negSumMF -= CIRCBUF_REF(mflow[mflow_Idx])negative; + + tempValue1 = (inHigh[today]+inLow[today]+inClose[today])/3.0; + tempValue2 = tempValue1 - prevValue; + prevValue = tempValue1; + tempValue1 *= inVolume[today++]; + if( tempValue2 < 0 ) + { + CIRCBUF_REF(mflow[mflow_Idx])negative = tempValue1; + negSumMF += tempValue1; + CIRCBUF_REF(mflow[mflow_Idx])positive = 0.0; + } + else if( tempValue2 > 0 ) + { + CIRCBUF_REF(mflow[mflow_Idx])positive = tempValue1; + posSumMF += tempValue1; + CIRCBUF_REF(mflow[mflow_Idx])negative = 0.0; + } + else + { + CIRCBUF_REF(mflow[mflow_Idx])positive = 0.0; + CIRCBUF_REF(mflow[mflow_Idx])negative = 0.0; + } + + CIRCBUF_NEXT(mflow); + } + } + + /* Unstable period skipped... now continue + * processing if needed. + */ + while( today <= endIdx ) + { + posSumMF -= CIRCBUF_REF(mflow[mflow_Idx])positive; + negSumMF -= CIRCBUF_REF(mflow[mflow_Idx])negative; + + tempValue1 = (inHigh[today]+inLow[today]+inClose[today])/3.0; + tempValue2 = tempValue1 - prevValue; + prevValue = tempValue1; + tempValue1 *= inVolume[today++]; + if( tempValue2 < 0 ) + { + CIRCBUF_REF(mflow[mflow_Idx])negative = tempValue1; + negSumMF += tempValue1; + CIRCBUF_REF(mflow[mflow_Idx])positive = 0.0; + } + else if( tempValue2 > 0 ) + { + CIRCBUF_REF(mflow[mflow_Idx])positive = tempValue1; + posSumMF += tempValue1; + CIRCBUF_REF(mflow[mflow_Idx])negative = 0.0; + } + else + { + CIRCBUF_REF(mflow[mflow_Idx])positive = 0.0; + CIRCBUF_REF(mflow[mflow_Idx])negative = 0.0; + } + + tempValue1 = posSumMF+negSumMF; + if( tempValue1 < 1.0 ) + outReal[outIdx++] = 0.0; + else + outReal[outIdx++] = 100.0*(posSumMF/tempValue1); + + CIRCBUF_NEXT(mflow); + } + + CIRCBUF_DESTROY(mflow); + + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Mfi( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ cli::array^ inVolume, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode mfi( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ float inVolume[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_MFI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ const float inVolume[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double posSumMF, negSumMF, prevValue; +/* Generated */ double tempValue1, tempValue2; +/* Generated */ int lookbackTotal, outIdx, i, today; +/* Generated */ CIRCBUF_PROLOG_CLASS( mflow, MoneyFlow, 50 ); +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inHigh||!inLow||!inClose||!inVolume) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ CIRCBUF_INIT_CLASS( mflow, MoneyFlow, optInTimePeriod ); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ lookbackTotal = optInTimePeriod + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_MFI,Mfi); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ CIRCBUF_DESTROY(mflow); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ today = startIdx-lookbackTotal; +/* Generated */ prevValue = (inHigh[today]+inLow[today]+inClose[today])/3.0; +/* Generated */ posSumMF = 0.0; +/* Generated */ negSumMF = 0.0; +/* Generated */ today++; +/* Generated */ for( i=optInTimePeriod; i > 0; i-- ) +/* Generated */ { +/* Generated */ tempValue1 = (inHigh[today]+inLow[today]+inClose[today])/3.0; +/* Generated */ tempValue2 = tempValue1 - prevValue; +/* Generated */ prevValue = tempValue1; +/* Generated */ tempValue1 *= inVolume[today++]; +/* Generated */ if( tempValue2 < 0 ) +/* Generated */ { +/* Generated */ CIRCBUF_REF(mflow[mflow_Idx])negative = tempValue1; +/* Generated */ negSumMF += tempValue1; +/* Generated */ CIRCBUF_REF(mflow[mflow_Idx])positive = 0.0; +/* Generated */ } +/* Generated */ else if( tempValue2 > 0 ) +/* Generated */ { +/* Generated */ CIRCBUF_REF(mflow[mflow_Idx])positive = tempValue1; +/* Generated */ posSumMF += tempValue1; +/* Generated */ CIRCBUF_REF(mflow[mflow_Idx])negative = 0.0; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ CIRCBUF_REF(mflow[mflow_Idx])positive = 0.0; +/* Generated */ CIRCBUF_REF(mflow[mflow_Idx])negative = 0.0; +/* Generated */ } +/* Generated */ CIRCBUF_NEXT(mflow); +/* Generated */ } +/* Generated */ if( today > startIdx ) +/* Generated */ { +/* Generated */ tempValue1 = posSumMF+negSumMF; +/* Generated */ if( tempValue1 < 1.0 ) +/* Generated */ outReal[outIdx++] = 0.0; +/* Generated */ else +/* Generated */ outReal[outIdx++] = 100.0*(posSumMF/tempValue1); +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ while( today < startIdx ) +/* Generated */ { +/* Generated */ posSumMF -= CIRCBUF_REF(mflow[mflow_Idx])positive; +/* Generated */ negSumMF -= CIRCBUF_REF(mflow[mflow_Idx])negative; +/* Generated */ tempValue1 = (inHigh[today]+inLow[today]+inClose[today])/3.0; +/* Generated */ tempValue2 = tempValue1 - prevValue; +/* Generated */ prevValue = tempValue1; +/* Generated */ tempValue1 *= inVolume[today++]; +/* Generated */ if( tempValue2 < 0 ) +/* Generated */ { +/* Generated */ CIRCBUF_REF(mflow[mflow_Idx])negative = tempValue1; +/* Generated */ negSumMF += tempValue1; +/* Generated */ CIRCBUF_REF(mflow[mflow_Idx])positive = 0.0; +/* Generated */ } +/* Generated */ else if( tempValue2 > 0 ) +/* Generated */ { +/* Generated */ CIRCBUF_REF(mflow[mflow_Idx])positive = tempValue1; +/* Generated */ posSumMF += tempValue1; +/* Generated */ CIRCBUF_REF(mflow[mflow_Idx])negative = 0.0; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ CIRCBUF_REF(mflow[mflow_Idx])positive = 0.0; +/* Generated */ CIRCBUF_REF(mflow[mflow_Idx])negative = 0.0; +/* Generated */ } +/* Generated */ CIRCBUF_NEXT(mflow); +/* Generated */ } +/* Generated */ } +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ posSumMF -= CIRCBUF_REF(mflow[mflow_Idx])positive; +/* Generated */ negSumMF -= CIRCBUF_REF(mflow[mflow_Idx])negative; +/* Generated */ tempValue1 = (inHigh[today]+inLow[today]+inClose[today])/3.0; +/* Generated */ tempValue2 = tempValue1 - prevValue; +/* Generated */ prevValue = tempValue1; +/* Generated */ tempValue1 *= inVolume[today++]; +/* Generated */ if( tempValue2 < 0 ) +/* Generated */ { +/* Generated */ CIRCBUF_REF(mflow[mflow_Idx])negative = tempValue1; +/* Generated */ negSumMF += tempValue1; +/* Generated */ CIRCBUF_REF(mflow[mflow_Idx])positive = 0.0; +/* Generated */ } +/* Generated */ else if( tempValue2 > 0 ) +/* Generated */ { +/* Generated */ CIRCBUF_REF(mflow[mflow_Idx])positive = tempValue1; +/* Generated */ posSumMF += tempValue1; +/* Generated */ CIRCBUF_REF(mflow[mflow_Idx])negative = 0.0; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ CIRCBUF_REF(mflow[mflow_Idx])positive = 0.0; +/* Generated */ CIRCBUF_REF(mflow[mflow_Idx])negative = 0.0; +/* Generated */ } +/* Generated */ tempValue1 = posSumMF+negSumMF; +/* Generated */ if( tempValue1 < 1.0 ) +/* Generated */ outReal[outIdx++] = 0.0; +/* Generated */ else +/* Generated */ outReal[outIdx++] = 100.0*(posSumMF/tempValue1); +/* Generated */ CIRCBUF_NEXT(mflow); +/* Generated */ } +/* Generated */ CIRCBUF_DESTROY(mflow); +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_MIDPOINT.c b/vendor/ta-lib/src/ta_func/ta_MIDPOINT.c new file mode 100644 index 000000000..f101515e4 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_MIDPOINT.c @@ -0,0 +1,345 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 010802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::MidPointLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int midPointLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_MIDPOINT_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return (optInTimePeriod-1); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_MIDPOINT - MidPoint over period + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::MidPoint( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::MidPoint( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode midPoint( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_MIDPOINT( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + + double lowest, highest, tmp; + int outIdx, nbInitialElementNeeded; + int trailingIdx, today, i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Find the highest and lowest value of a timeserie + * over the period. + * MIDPOINT = (Highest Value + Lowest Value)/2 + * + * See MIDPRICE if the input is a price bar with a + * high and low timeserie. + */ + + /* Identify the minimum number of price bar needed + * to identify at least one output over the specified + * period. + */ + nbInitialElementNeeded = (optInTimePeriod-1); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < nbInitialElementNeeded ) + startIdx = nbInitialElementNeeded; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Proceed with the calculation for the requested range. + * Note that this algorithm allows the input and + * output to be the same buffer. + */ + outIdx = 0; + today = startIdx; + trailingIdx = startIdx-nbInitialElementNeeded; + + while( today <= endIdx ) + { + lowest = inReal[trailingIdx++]; + highest = lowest; + for( i=trailingIdx; i <= today; i++ ) + { + tmp = inReal[i]; + if( tmp < lowest ) lowest= tmp; + else if( tmp > highest) highest = tmp; + } + + outReal[outIdx++] = (highest+lowest)/2.0; + today++; + } + + /* Keep the outBegIdx relative to the + * caller input before returning. + */ + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::MidPoint( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode midPoint( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_MIDPOINT( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double lowest, highest, tmp; +/* Generated */ int outIdx, nbInitialElementNeeded; +/* Generated */ int trailingIdx, today, i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ nbInitialElementNeeded = (optInTimePeriod-1); +/* Generated */ if( startIdx < nbInitialElementNeeded ) +/* Generated */ startIdx = nbInitialElementNeeded; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ today = startIdx; +/* Generated */ trailingIdx = startIdx-nbInitialElementNeeded; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ lowest = inReal[trailingIdx++]; +/* Generated */ highest = lowest; +/* Generated */ for( i=trailingIdx; i <= today; i++ ) +/* Generated */ { +/* Generated */ tmp = inReal[i]; +/* Generated */ if( tmp < lowest ) lowest= tmp; +/* Generated */ else if( tmp > highest) highest = tmp; +/* Generated */ } +/* Generated */ outReal[outIdx++] = (highest+lowest)/2.0; +/* Generated */ today++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_MIDPRICE.c b/vendor/ta-lib/src/ta_func/ta_MIDPRICE.c new file mode 100644 index 000000000..82156a501 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_MIDPRICE.c @@ -0,0 +1,357 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 010802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::MidPriceLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int midPriceLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_MIDPRICE_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return (optInTimePeriod-1); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_MIDPRICE - Midpoint Price over period + * + * Input = High, Low + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::MidPrice( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::MidPrice( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode midPrice( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_MIDPRICE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + double lowest, highest, tmp; + int outIdx, nbInitialElementNeeded; + int trailingIdx, today, i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inHigh||!inLow) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* MIDPRICE = (Highest High + Lowest Low)/2 + * + * This function is equivalent to MEDPRICE when the + * period is 1. + */ + + /* Identify the minimum number of price bar needed + * to identify at least one output over the specified + * period. + */ + nbInitialElementNeeded = (optInTimePeriod-1); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < nbInitialElementNeeded ) + startIdx = nbInitialElementNeeded; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Proceed with the calculation for the requested range. + * Note that this algorithm allows the input and + * output to be the same buffer. + */ + outIdx = 0; + today = startIdx; + trailingIdx = startIdx-nbInitialElementNeeded; + + while( today <= endIdx ) + { + lowest = inLow[trailingIdx]; + highest = inHigh[trailingIdx]; + trailingIdx++; + for( i=trailingIdx; i <= today; i++ ) + { + tmp = inLow[i]; + if( tmp < lowest ) lowest= tmp; + tmp = inHigh[i]; + if( tmp > highest) highest = tmp; + } + + outReal[outIdx++] = (highest+lowest)/2.0; + today++; + } + + /* Keep the outBegIdx relative to the + * caller input before returning. + */ + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::MidPrice( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode midPrice( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_MIDPRICE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double lowest, highest, tmp; +/* Generated */ int outIdx, nbInitialElementNeeded; +/* Generated */ int trailingIdx, today, i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inHigh||!inLow) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ nbInitialElementNeeded = (optInTimePeriod-1); +/* Generated */ if( startIdx < nbInitialElementNeeded ) +/* Generated */ startIdx = nbInitialElementNeeded; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ today = startIdx; +/* Generated */ trailingIdx = startIdx-nbInitialElementNeeded; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ lowest = inLow[trailingIdx]; +/* Generated */ highest = inHigh[trailingIdx]; +/* Generated */ trailingIdx++; +/* Generated */ for( i=trailingIdx; i <= today; i++ ) +/* Generated */ { +/* Generated */ tmp = inLow[i]; +/* Generated */ if( tmp < lowest ) lowest= tmp; +/* Generated */ tmp = inHigh[i]; +/* Generated */ if( tmp > highest) highest = tmp; +/* Generated */ } +/* Generated */ outReal[outIdx++] = (highest+lowest)/2.0; +/* Generated */ today++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_MIN.c b/vendor/ta-lib/src/ta_func/ta_MIN.c new file mode 100644 index 000000000..642b87016 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_MIN.c @@ -0,0 +1,373 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * JV Jesus Viver <324122@cienz.unizar.es> + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF Template creation. + * 101902 JV Speed optimization of the algorithm + * 102202 MF Speed optimize a bit further + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::MinLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int minLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_MIN_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return (optInTimePeriod-1); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_MIN - Lowest value over a specified period + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Min( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Min( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #undef min +/* Generated */ public RetCode min( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_MIN( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double lowest, tmp; + int outIdx, nbInitialElementNeeded; + int trailingIdx, lowestIdx, today, i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Identify the minimum number of price bar needed + * to identify at least one output over the specified + * period. + */ + nbInitialElementNeeded = (optInTimePeriod-1); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < nbInitialElementNeeded ) + startIdx = nbInitialElementNeeded; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Proceed with the calculation for the requested range. + * Note that this algorithm allows the input and + * output to be the same buffer. + */ + outIdx = 0; + today = startIdx; + trailingIdx = startIdx-nbInitialElementNeeded; + lowestIdx = -1; + lowest = 0.0; + + while( today <= endIdx ) + { + tmp = inReal[today]; + + if( lowestIdx < trailingIdx ) + { + lowestIdx = trailingIdx; + lowest = inReal[lowestIdx]; + i = lowestIdx; + while( ++i<=today ) + { + tmp = inReal[i]; + if( tmp < lowest ) + { + lowestIdx = i; + lowest = tmp; + } + } + } + else if( tmp <= lowest ) + { + lowestIdx = today; + lowest = tmp; + } + + outReal[outIdx++] = lowest; + trailingIdx++; + today++; + } + + /* Keep the outBegIdx relative to the + * caller input before returning. + */ + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Min( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode min( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_MIN( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double lowest, tmp; +/* Generated */ int outIdx, nbInitialElementNeeded; +/* Generated */ int trailingIdx, lowestIdx, today, i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ nbInitialElementNeeded = (optInTimePeriod-1); +/* Generated */ if( startIdx < nbInitialElementNeeded ) +/* Generated */ startIdx = nbInitialElementNeeded; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ today = startIdx; +/* Generated */ trailingIdx = startIdx-nbInitialElementNeeded; +/* Generated */ lowestIdx = -1; +/* Generated */ lowest = 0.0; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ tmp = inReal[today]; +/* Generated */ if( lowestIdx < trailingIdx ) +/* Generated */ { +/* Generated */ lowestIdx = trailingIdx; +/* Generated */ lowest = inReal[lowestIdx]; +/* Generated */ i = lowestIdx; +/* Generated */ while( ++i<=today ) +/* Generated */ { +/* Generated */ tmp = inReal[i]; +/* Generated */ if( tmp < lowest ) +/* Generated */ { +/* Generated */ lowestIdx = i; +/* Generated */ lowest = tmp; +/* Generated */ } +/* Generated */ } +/* Generated */ } +/* Generated */ else if( tmp <= lowest ) +/* Generated */ { +/* Generated */ lowestIdx = today; +/* Generated */ lowest = tmp; +/* Generated */ } +/* Generated */ outReal[outIdx++] = lowest; +/* Generated */ trailingIdx++; +/* Generated */ today++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_MININDEX.c b/vendor/ta-lib/src/ta_func/ta_MININDEX.c new file mode 100644 index 000000000..070c318b5 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_MININDEX.c @@ -0,0 +1,368 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120806 AC Creation (equal to MIN but outputs index) + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::MinIndexLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int minIndexLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_MININDEX_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return (optInTimePeriod-1); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_MININDEX - Index of lowest value over a specified period + * + * Input = double + * Output = int + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::MinIndex( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::MinIndex( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode minIndex( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_MININDEX( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double lowest, tmp; + int outIdx, nbInitialElementNeeded; + int trailingIdx, lowestIdx, today, i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Identify the minimum number of price bar needed + * to identify at least one output over the specified + * period. + */ + nbInitialElementNeeded = (optInTimePeriod-1); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < nbInitialElementNeeded ) + startIdx = nbInitialElementNeeded; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Proceed with the calculation for the requested range. + * Note that this algorithm allows the input and + * output to be the same buffer. + */ + outIdx = 0; + today = startIdx; + trailingIdx = startIdx-nbInitialElementNeeded; + lowestIdx = -1; + lowest = 0.0; + + while( today <= endIdx ) + { + tmp = inReal[today]; + + if( lowestIdx < trailingIdx ) + { + lowestIdx = trailingIdx; + lowest = inReal[lowestIdx]; + i = lowestIdx; + while( ++i<=today ) + { + tmp = inReal[i]; + if( tmp < lowest ) + { + lowestIdx = i; + lowest = tmp; + } + } + } + else if( tmp <= lowest ) + { + lowestIdx = today; + lowest = tmp; + } + + outInteger[outIdx++] = lowestIdx; + trailingIdx++; + today++; + } + + /* Keep the outBegIdx relative to the + * caller input before returning. + */ + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::MinIndex( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outInteger ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode minIndex( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_MININDEX( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outInteger[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double lowest, tmp; +/* Generated */ int outIdx, nbInitialElementNeeded; +/* Generated */ int trailingIdx, lowestIdx, today, i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outInteger ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ nbInitialElementNeeded = (optInTimePeriod-1); +/* Generated */ if( startIdx < nbInitialElementNeeded ) +/* Generated */ startIdx = nbInitialElementNeeded; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ today = startIdx; +/* Generated */ trailingIdx = startIdx-nbInitialElementNeeded; +/* Generated */ lowestIdx = -1; +/* Generated */ lowest = 0.0; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ tmp = inReal[today]; +/* Generated */ if( lowestIdx < trailingIdx ) +/* Generated */ { +/* Generated */ lowestIdx = trailingIdx; +/* Generated */ lowest = inReal[lowestIdx]; +/* Generated */ i = lowestIdx; +/* Generated */ while( ++i<=today ) +/* Generated */ { +/* Generated */ tmp = inReal[i]; +/* Generated */ if( tmp < lowest ) +/* Generated */ { +/* Generated */ lowestIdx = i; +/* Generated */ lowest = tmp; +/* Generated */ } +/* Generated */ } +/* Generated */ } +/* Generated */ else if( tmp <= lowest ) +/* Generated */ { +/* Generated */ lowestIdx = today; +/* Generated */ lowest = tmp; +/* Generated */ } +/* Generated */ outInteger[outIdx++] = lowestIdx; +/* Generated */ trailingIdx++; +/* Generated */ today++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_MINMAX.c b/vendor/ta-lib/src/ta_func/ta_MINMAX.c new file mode 100644 index 000000000..13e00e337 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_MINMAX.c @@ -0,0 +1,429 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120906 AC Creation + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::MinMaxLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int minMaxLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_MINMAX_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return (optInTimePeriod-1); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_MINMAX - Lowest and highest values over a specified period + * + * Input = double + * Output = double, double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::MinMax( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outMin, +/* Generated */ cli::array^ outMax ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::MinMax( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outMin, +/* Generated */ cli::array^ outMax ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode minMax( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outMin[], +/* Generated */ double outMax[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_MINMAX( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outMin[], +/* Generated */ double outMax[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double highest, lowest, tmpHigh, tmpLow; + int outIdx, nbInitialElementNeeded; + int trailingIdx, today, i, highestIdx, lowestIdx; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outMin ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( !outMax ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Identify the minimum number of price bar needed + * to identify at least one output over the specified + * period. + */ + nbInitialElementNeeded = (optInTimePeriod-1); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < nbInitialElementNeeded ) + startIdx = nbInitialElementNeeded; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Proceed with the calculation for the requested range. + * Note that this algorithm allows the input and + * output to be the same buffer. + */ + outIdx = 0; + today = startIdx; + trailingIdx = startIdx-nbInitialElementNeeded; + highestIdx = -1; + highest = 0.0; + lowestIdx = -1; + lowest = 0.0; + + while( today <= endIdx ) + { + tmpLow = tmpHigh = inReal[today]; + + if( highestIdx < trailingIdx ) + { + highestIdx = trailingIdx; + highest = inReal[highestIdx]; + i = highestIdx; + while( ++i<=today ) + { + tmpHigh = inReal[i]; + if( tmpHigh > highest ) + { + highestIdx = i; + highest = tmpHigh; + } + } + } + else if( tmpHigh >= highest ) + { + highestIdx = today; + highest = tmpHigh; + } + + if( lowestIdx < trailingIdx ) + { + lowestIdx = trailingIdx; + lowest = inReal[lowestIdx]; + i = lowestIdx; + while( ++i<=today ) + { + tmpLow = inReal[i]; + if( tmpLow < lowest ) + { + lowestIdx = i; + lowest = tmpLow; + } + } + } + else if( tmpLow <= lowest ) + { + lowestIdx = today; + lowest = tmpLow; + } + + outMax[outIdx] = highest; + outMin[outIdx] = lowest; + outIdx++; + trailingIdx++; + today++; + } + + /* Keep the outBegIdx relative to the + * caller input before returning. + */ + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::MinMax( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outMin, +/* Generated */ cli::array^ outMax ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode minMax( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outMin[], +/* Generated */ double outMax[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_MINMAX( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outMin[], +/* Generated */ double outMax[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double highest, lowest, tmpHigh, tmpLow; +/* Generated */ int outIdx, nbInitialElementNeeded; +/* Generated */ int trailingIdx, today, i, highestIdx, lowestIdx; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outMin ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !outMax ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ nbInitialElementNeeded = (optInTimePeriod-1); +/* Generated */ if( startIdx < nbInitialElementNeeded ) +/* Generated */ startIdx = nbInitialElementNeeded; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ today = startIdx; +/* Generated */ trailingIdx = startIdx-nbInitialElementNeeded; +/* Generated */ highestIdx = -1; +/* Generated */ highest = 0.0; +/* Generated */ lowestIdx = -1; +/* Generated */ lowest = 0.0; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ tmpLow = tmpHigh = inReal[today]; +/* Generated */ if( highestIdx < trailingIdx ) +/* Generated */ { +/* Generated */ highestIdx = trailingIdx; +/* Generated */ highest = inReal[highestIdx]; +/* Generated */ i = highestIdx; +/* Generated */ while( ++i<=today ) +/* Generated */ { +/* Generated */ tmpHigh = inReal[i]; +/* Generated */ if( tmpHigh > highest ) +/* Generated */ { +/* Generated */ highestIdx = i; +/* Generated */ highest = tmpHigh; +/* Generated */ } +/* Generated */ } +/* Generated */ } +/* Generated */ else if( tmpHigh >= highest ) +/* Generated */ { +/* Generated */ highestIdx = today; +/* Generated */ highest = tmpHigh; +/* Generated */ } +/* Generated */ if( lowestIdx < trailingIdx ) +/* Generated */ { +/* Generated */ lowestIdx = trailingIdx; +/* Generated */ lowest = inReal[lowestIdx]; +/* Generated */ i = lowestIdx; +/* Generated */ while( ++i<=today ) +/* Generated */ { +/* Generated */ tmpLow = inReal[i]; +/* Generated */ if( tmpLow < lowest ) +/* Generated */ { +/* Generated */ lowestIdx = i; +/* Generated */ lowest = tmpLow; +/* Generated */ } +/* Generated */ } +/* Generated */ } +/* Generated */ else if( tmpLow <= lowest ) +/* Generated */ { +/* Generated */ lowestIdx = today; +/* Generated */ lowest = tmpLow; +/* Generated */ } +/* Generated */ outMax[outIdx] = highest; +/* Generated */ outMin[outIdx] = lowest; +/* Generated */ outIdx++; +/* Generated */ trailingIdx++; +/* Generated */ today++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_MINMAXINDEX.c b/vendor/ta-lib/src/ta_func/ta_MINMAXINDEX.c new file mode 100644 index 000000000..ad2b7f2fe --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_MINMAXINDEX.c @@ -0,0 +1,429 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * AC Angelo Ciceri + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120906 AC Creation (equal to MINMAX but outputs index) + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::MinMaxIndexLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int minMaxIndexLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_MINMAXINDEX_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return (optInTimePeriod-1); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_MINMAXINDEX - Indexes of lowest and highest values over a specified period + * + * Input = double + * Output = int, int + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::MinMaxIndex( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outMinIdx, +/* Generated */ cli::array^ outMaxIdx ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::MinMaxIndex( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outMinIdx, +/* Generated */ cli::array^ outMaxIdx ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode minMaxIndex( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outMinIdx[], +/* Generated */ int outMaxIdx[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_MINMAXINDEX( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outMinIdx[], +/* Generated */ int outMaxIdx[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double highest, lowest, tmpHigh, tmpLow; + int outIdx, nbInitialElementNeeded; + int trailingIdx, today, i, highestIdx, lowestIdx; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outMinIdx ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( !outMaxIdx ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Identify the minimum number of price bar needed + * to identify at least one output over the specified + * period. + */ + nbInitialElementNeeded = (optInTimePeriod-1); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < nbInitialElementNeeded ) + startIdx = nbInitialElementNeeded; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Proceed with the calculation for the requested range. + * Note that this algorithm allows the input and + * output to be the same buffer. + */ + outIdx = 0; + today = startIdx; + trailingIdx = startIdx-nbInitialElementNeeded; + highestIdx = -1; + highest = 0.0; + lowestIdx = -1; + lowest = 0.0; + + while( today <= endIdx ) + { + tmpLow = tmpHigh = inReal[today]; + + if( highestIdx < trailingIdx ) + { + highestIdx = trailingIdx; + highest = inReal[highestIdx]; + i = highestIdx; + while( ++i<=today ) + { + tmpHigh = inReal[i]; + if( tmpHigh > highest ) + { + highestIdx = i; + highest = tmpHigh; + } + } + } + else if( tmpHigh >= highest ) + { + highestIdx = today; + highest = tmpHigh; + } + + if( lowestIdx < trailingIdx ) + { + lowestIdx = trailingIdx; + lowest = inReal[lowestIdx]; + i = lowestIdx; + while( ++i<=today ) + { + tmpLow = inReal[i]; + if( tmpLow < lowest ) + { + lowestIdx = i; + lowest = tmpLow; + } + } + } + else if( tmpLow <= lowest ) + { + lowestIdx = today; + lowest = tmpLow; + } + + outMaxIdx[outIdx] = highestIdx; + outMinIdx[outIdx] = lowestIdx; + outIdx++; + trailingIdx++; + today++; + } + + /* Keep the outBegIdx relative to the + * caller input before returning. + */ + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::MinMaxIndex( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outMinIdx, +/* Generated */ cli::array^ outMaxIdx ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode minMaxIndex( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ int outMinIdx[], +/* Generated */ int outMaxIdx[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_MINMAXINDEX( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ int outMinIdx[], +/* Generated */ int outMaxIdx[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double highest, lowest, tmpHigh, tmpLow; +/* Generated */ int outIdx, nbInitialElementNeeded; +/* Generated */ int trailingIdx, today, i, highestIdx, lowestIdx; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outMinIdx ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !outMaxIdx ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ nbInitialElementNeeded = (optInTimePeriod-1); +/* Generated */ if( startIdx < nbInitialElementNeeded ) +/* Generated */ startIdx = nbInitialElementNeeded; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ today = startIdx; +/* Generated */ trailingIdx = startIdx-nbInitialElementNeeded; +/* Generated */ highestIdx = -1; +/* Generated */ highest = 0.0; +/* Generated */ lowestIdx = -1; +/* Generated */ lowest = 0.0; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ tmpLow = tmpHigh = inReal[today]; +/* Generated */ if( highestIdx < trailingIdx ) +/* Generated */ { +/* Generated */ highestIdx = trailingIdx; +/* Generated */ highest = inReal[highestIdx]; +/* Generated */ i = highestIdx; +/* Generated */ while( ++i<=today ) +/* Generated */ { +/* Generated */ tmpHigh = inReal[i]; +/* Generated */ if( tmpHigh > highest ) +/* Generated */ { +/* Generated */ highestIdx = i; +/* Generated */ highest = tmpHigh; +/* Generated */ } +/* Generated */ } +/* Generated */ } +/* Generated */ else if( tmpHigh >= highest ) +/* Generated */ { +/* Generated */ highestIdx = today; +/* Generated */ highest = tmpHigh; +/* Generated */ } +/* Generated */ if( lowestIdx < trailingIdx ) +/* Generated */ { +/* Generated */ lowestIdx = trailingIdx; +/* Generated */ lowest = inReal[lowestIdx]; +/* Generated */ i = lowestIdx; +/* Generated */ while( ++i<=today ) +/* Generated */ { +/* Generated */ tmpLow = inReal[i]; +/* Generated */ if( tmpLow < lowest ) +/* Generated */ { +/* Generated */ lowestIdx = i; +/* Generated */ lowest = tmpLow; +/* Generated */ } +/* Generated */ } +/* Generated */ } +/* Generated */ else if( tmpLow <= lowest ) +/* Generated */ { +/* Generated */ lowestIdx = today; +/* Generated */ lowest = tmpLow; +/* Generated */ } +/* Generated */ outMaxIdx[outIdx] = highestIdx; +/* Generated */ outMinIdx[outIdx] = lowestIdx; +/* Generated */ outIdx++; +/* Generated */ trailingIdx++; +/* Generated */ today++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_MINUS_DI.c b/vendor/ta-lib/src/ta_func/ta_MINUS_DI.c new file mode 100644 index 000000000..eb14f38c8 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_MINUS_DI.c @@ -0,0 +1,703 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * AM Adrian Michel + * MIF Mirek Fontan (mira@fontan.cz) + * CF Christo Fogelberg + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 010802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * 082303 MF Fix #792298. Remove rounding. Bug reported by AM. + * 062704 MF Fix #965557. Div by zero bug reported by MIF. + * 122204 MF,CF Fix #1090231. Issues when period is 1. + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::MinusDILookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int minusDILookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_MINUS_DI_Lookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + if( optInTimePeriod > 1 ) + return optInTimePeriod + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_MINUS_DI,MinusDI); + else + return 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_MINUS_DI - Minus Directional Indicator + * + * Input = High, Low, Close + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::MinusDI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::MinusDI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode minusDI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_MINUS_DI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + + int today, lookbackTotal, outIdx; + double prevHigh, prevLow, prevClose; + double prevMinusDM, prevTR; + double tempReal, tempReal2, diffP, diffM; + + int i; + + #define TRUE_RANGE(TH,TL,YC,OUT) {\ + OUT = TH-TL; \ + tempReal2 = std_fabs(TH-YC); \ + if( tempReal2 > OUT ) \ + OUT = tempReal2; \ + tempReal2 = std_fabs(TL-YC); \ + if( tempReal2 > OUT ) \ + OUT = tempReal2; \ + } + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* + * The DM1 (one period) is base on the largest part of + * today's range that is outside of yesterdays range. + * + * The following 7 cases explain how the +DM and -DM are + * calculated on one period: + * + * Case 1: Case 2: + * C| A| + * | | C| + * | +DM1 = (C-A) B| | +DM1 = 0 + * | -DM1 = 0 | -DM1 = (B-D) + * A| | D| + * | D| + * B| + * + * Case 3: Case 4: + * C| C| + * | A| | + * | +DM1 = (C-A) | | +DM1 = 0 + * | -DM1 = 0 B| | -DM1 = (B-D) + * A| | | + * | | D| + * B| | + * D| + * + * Case 5: Case 6: + * A| A| C| + * | C| +DM1 = 0 | | +DM1 = 0 + * | | -DM1 = 0 | | -DM1 = 0 + * | D| | | + * B| B| D| + * + * + * Case 7: + * + * C| + * A| | + * | | +DM1=0 + * B| | -DM1=0 + * D| + * + * In case 3 and 4, the rule is that the smallest delta between + * (C-A) and (B-D) determine which of +DM or -DM is zero. + * + * In case 7, (C-A) and (B-D) are equal, so both +DM and -DM are + * zero. + * + * The rules remain the same when A=B and C=D (when the highs + * equal the lows). + * + * When calculating the DM over a period > 1, the one-period DM + * for the desired period are initialy sum. In other word, + * for a -DM14, sum the -DM1 for the first 14 days (that's + * 13 values because there is no DM for the first day!) + * Subsequent DM are calculated using the Wilder's + * smoothing approach: + * + * Previous -DM14 + * Today's -DM14 = Previous -DM14 - -------------- + Today's -DM1 + * 14 + * + * Calculation of a -DI14 is as follow: + * + * -DM14 + * -DI14 = -------- + * TR14 + * + * Calculation of the TR14 is: + * + * Previous TR14 + * Today's TR14 = Previous TR14 - -------------- + Today's TR1 + * 14 + * + * The first TR14 is the summation of the first 14 TR1. See the + * TA_TRANGE function on how to calculate the true range. + * + * Reference: + * New Concepts In Technical Trading Systems, J. Welles Wilder Jr + */ + + /* Original implementation from Wilder's book was doing some integer + * rounding in its calculations. + * + * This was understandable in the context that at the time the book + * was written, most user were doing the calculation by hand. + * + * For a computer, rounding is unnecessary (and even problematic when inputs + * are close to 1). + * + * TA-Lib does not do the rounding. Still, if you want to reproduce Wilder's examples, + * you can comment out the following #undef/#define and rebuild the library. + */ + #undef round_pos + #define round_pos(x) (x) + + if( optInTimePeriod > 1 ) + lookbackTotal = optInTimePeriod + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_MINUS_DI,MinusDI); + else + lookbackTotal = 1; + + /* Adjust startIdx to account for the lookback period. */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Indicate where the next output should be put + * in the outReal. + */ + outIdx = 0; + + /* Trap the case where no smoothing is needed. */ + if( optInTimePeriod <= 1 ) + { + /* No smoothing needed. Just do the following: + * for each price bar. + * -DM1 + * -DI1 = ---- + * TR1 + */ + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + today = startIdx-1; + prevHigh = inHigh[today]; + prevLow = inLow[today]; + prevClose = inClose[today]; + while( today < endIdx ) + { + today++; + tempReal = inHigh[today]; + diffP = tempReal-prevHigh; /* Plus Delta */ + prevHigh = tempReal; + tempReal = inLow[today]; + diffM = prevLow-tempReal; /* Minus Delta */ + prevLow = tempReal; + if( (diffM > 0) && (diffP < diffM) ) + { + /* Case 2 and 4: +DM=0,-DM=diffM */ + TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); + if( TA_IS_ZERO(tempReal) ) + outReal[outIdx++] = (double)0.0; + else + outReal[outIdx++] = diffM/tempReal; + } + else + outReal[outIdx++] = (double)0.0; + prevClose = inClose[today]; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Process the initial DM and TR */ + VALUE_HANDLE_DEREF(outBegIdx) = today = startIdx; + + prevMinusDM = 0.0; + prevTR = 0.0; + today = startIdx - lookbackTotal; + prevHigh = inHigh[today]; + prevLow = inLow[today]; + prevClose = inClose[today]; + i = optInTimePeriod-1; + while( i-- > 0 ) + { + today++; + tempReal = inHigh[today]; + diffP = tempReal-prevHigh; /* Plus Delta */ + prevHigh = tempReal; + + tempReal = inLow[today]; + diffM = prevLow-tempReal; /* Minus Delta */ + prevLow = tempReal; + if( (diffM > 0) && (diffP < diffM) ) + { + /* Case 2 and 4: +DM=0,-DM=diffM */ + prevMinusDM += diffM; + } + + TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); + prevTR += tempReal; + prevClose = inClose[today]; + } + + /* Process subsequent DI */ + + /* Skip the unstable period. Note that this loop must be executed + * at least ONCE to calculate the first DI. + */ + i = TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_MINUS_DI,MinusDI) + 1; + while( i-- != 0 ) + { + /* Calculate the prevMinusDM */ + today++; + tempReal = inHigh[today]; + diffP = tempReal-prevHigh; /* Plus Delta */ + prevHigh = tempReal; + tempReal = inLow[today]; + diffM = prevLow-tempReal; /* Minus Delta */ + prevLow = tempReal; + if( (diffM > 0) && (diffP < diffM) ) + { + /* Case 2 and 4: +DM=0,-DM=diffM */ + prevMinusDM = prevMinusDM - (prevMinusDM/optInTimePeriod) + diffM; + } + else + { + /* Case 1,3,5 and 7 */ + prevMinusDM = prevMinusDM - (prevMinusDM/optInTimePeriod); + } + + /* Calculate the prevTR */ + TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); + prevTR = prevTR - (prevTR/optInTimePeriod) + tempReal; + prevClose = inClose[today]; + } + + + /* Now start to write the output in + * the caller provided outReal. + */ + if( !TA_IS_ZERO(prevTR) ) + outReal[0] = round_pos(100.0*(prevMinusDM/prevTR)); + else + outReal[0] = 0.0; + outIdx = 1; + + while( today < endIdx ) + { + /* Calculate the prevMinusDM */ + today++; + tempReal = inHigh[today]; + diffP = tempReal-prevHigh; /* Plus Delta */ + prevHigh = tempReal; + tempReal = inLow[today]; + diffM = prevLow-tempReal; /* Minus Delta */ + prevLow = tempReal; + if( (diffM > 0) && (diffP < diffM) ) + { + /* Case 2 and 4: +DM=0,-DM=diffM */ + prevMinusDM = prevMinusDM - (prevMinusDM/optInTimePeriod) + diffM; + } + else + { + /* Case 1,3,5 and 7 */ + prevMinusDM = prevMinusDM - (prevMinusDM/optInTimePeriod); + } + + /* Calculate the prevTR */ + TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); + prevTR = prevTR - (prevTR/optInTimePeriod) + tempReal; + prevClose = inClose[today]; + + /* Calculate the DI. The value is rounded (see Wilder book). */ + if( !TA_IS_ZERO(prevTR) ) + outReal[outIdx++] = round_pos(100.0*(prevMinusDM/prevTR)); + else + outReal[outIdx++] = 0.0; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::MinusDI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode minusDI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_MINUS_DI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int today, lookbackTotal, outIdx; +/* Generated */ double prevHigh, prevLow, prevClose; +/* Generated */ double prevMinusDM, prevTR; +/* Generated */ double tempReal, tempReal2, diffP, diffM; +/* Generated */ int i; +/* Generated */ #define TRUE_RANGE(TH,TL,YC,OUT) {\ +/* Generated */ OUT = TH-TL; \ +/* Generated */ tempReal2 = std_fabs(TH-YC); \ +/* Generated */ if( tempReal2 > OUT ) \ +/* Generated */ OUT = tempReal2; \ +/* Generated */ tempReal2 = std_fabs(TL-YC); \ +/* Generated */ if( tempReal2 > OUT ) \ +/* Generated */ OUT = tempReal2; \ +/* Generated */ } +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ #undef round_pos +/* Generated */ #define round_pos(x) (x) +/* Generated */ if( optInTimePeriod > 1 ) +/* Generated */ lookbackTotal = optInTimePeriod + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_MINUS_DI,MinusDI); +/* Generated */ else +/* Generated */ lookbackTotal = 1; +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ if( optInTimePeriod <= 1 ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ today = startIdx-1; +/* Generated */ prevHigh = inHigh[today]; +/* Generated */ prevLow = inLow[today]; +/* Generated */ prevClose = inClose[today]; +/* Generated */ while( today < endIdx ) +/* Generated */ { +/* Generated */ today++; +/* Generated */ tempReal = inHigh[today]; +/* Generated */ diffP = tempReal-prevHigh; +/* Generated */ prevHigh = tempReal; +/* Generated */ tempReal = inLow[today]; +/* Generated */ diffM = prevLow-tempReal; +/* Generated */ prevLow = tempReal; +/* Generated */ if( (diffM > 0) && (diffP < diffM) ) +/* Generated */ { +/* Generated */ TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); +/* Generated */ if( TA_IS_ZERO(tempReal) ) +/* Generated */ outReal[outIdx++] = (double)0.0; +/* Generated */ else +/* Generated */ outReal[outIdx++] = diffM/tempReal; +/* Generated */ } +/* Generated */ else +/* Generated */ outReal[outIdx++] = (double)0.0; +/* Generated */ prevClose = inClose[today]; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = today = startIdx; +/* Generated */ prevMinusDM = 0.0; +/* Generated */ prevTR = 0.0; +/* Generated */ today = startIdx - lookbackTotal; +/* Generated */ prevHigh = inHigh[today]; +/* Generated */ prevLow = inLow[today]; +/* Generated */ prevClose = inClose[today]; +/* Generated */ i = optInTimePeriod-1; +/* Generated */ while( i-- > 0 ) +/* Generated */ { +/* Generated */ today++; +/* Generated */ tempReal = inHigh[today]; +/* Generated */ diffP = tempReal-prevHigh; +/* Generated */ prevHigh = tempReal; +/* Generated */ tempReal = inLow[today]; +/* Generated */ diffM = prevLow-tempReal; +/* Generated */ prevLow = tempReal; +/* Generated */ if( (diffM > 0) && (diffP < diffM) ) +/* Generated */ { +/* Generated */ prevMinusDM += diffM; +/* Generated */ } +/* Generated */ TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); +/* Generated */ prevTR += tempReal; +/* Generated */ prevClose = inClose[today]; +/* Generated */ } +/* Generated */ i = TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_MINUS_DI,MinusDI) + 1; +/* Generated */ while( i-- != 0 ) +/* Generated */ { +/* Generated */ today++; +/* Generated */ tempReal = inHigh[today]; +/* Generated */ diffP = tempReal-prevHigh; +/* Generated */ prevHigh = tempReal; +/* Generated */ tempReal = inLow[today]; +/* Generated */ diffM = prevLow-tempReal; +/* Generated */ prevLow = tempReal; +/* Generated */ if( (diffM > 0) && (diffP < diffM) ) +/* Generated */ { +/* Generated */ prevMinusDM = prevMinusDM - (prevMinusDM/optInTimePeriod) + diffM; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ prevMinusDM = prevMinusDM - (prevMinusDM/optInTimePeriod); +/* Generated */ } +/* Generated */ TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); +/* Generated */ prevTR = prevTR - (prevTR/optInTimePeriod) + tempReal; +/* Generated */ prevClose = inClose[today]; +/* Generated */ } +/* Generated */ if( !TA_IS_ZERO(prevTR) ) +/* Generated */ outReal[0] = round_pos(100.0*(prevMinusDM/prevTR)); +/* Generated */ else +/* Generated */ outReal[0] = 0.0; +/* Generated */ outIdx = 1; +/* Generated */ while( today < endIdx ) +/* Generated */ { +/* Generated */ today++; +/* Generated */ tempReal = inHigh[today]; +/* Generated */ diffP = tempReal-prevHigh; +/* Generated */ prevHigh = tempReal; +/* Generated */ tempReal = inLow[today]; +/* Generated */ diffM = prevLow-tempReal; +/* Generated */ prevLow = tempReal; +/* Generated */ if( (diffM > 0) && (diffP < diffM) ) +/* Generated */ { +/* Generated */ prevMinusDM = prevMinusDM - (prevMinusDM/optInTimePeriod) + diffM; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ prevMinusDM = prevMinusDM - (prevMinusDM/optInTimePeriod); +/* Generated */ } +/* Generated */ TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); +/* Generated */ prevTR = prevTR - (prevTR/optInTimePeriod) + tempReal; +/* Generated */ prevClose = inClose[today]; +/* Generated */ if( !TA_IS_ZERO(prevTR) ) +/* Generated */ outReal[outIdx++] = round_pos(100.0*(prevMinusDM/prevTR)); +/* Generated */ else +/* Generated */ outReal[outIdx++] = 0.0; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_MINUS_DM.c b/vendor/ta-lib/src/ta_func/ta_MINUS_DM.c new file mode 100644 index 000000000..252e386d2 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_MINUS_DM.c @@ -0,0 +1,579 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 010802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::MinusDMLookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int minusDMLookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_MINUS_DM_Lookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + if( optInTimePeriod > 1 ) + return optInTimePeriod + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_MINUS_DM,MinusDM) - 1; + else + return 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_MINUS_DM - Minus Directional Movement + * + * Input = High, Low + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::MinusDM( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::MinusDM( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode minusDM( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_MINUS_DM( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int today, lookbackTotal, outIdx; + double prevHigh, prevLow, tempReal; + double prevMinusDM; + double diffP, diffM; + int i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inHigh||!inLow) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* + * The DM1 (one period) is base on the largest part of + * today's range that is outside of yesterdays range. + * + * The following 7 cases explain how the +DM and -DM are + * calculated on one period: + * + * Case 1: Case 2: + * C| A| + * | | C| + * | +DM1 = (C-A) B| | +DM1 = 0 + * | -DM1 = 0 | -DM1 = (B-D) + * A| | D| + * | D| + * B| + * + * Case 3: Case 4: + * C| C| + * | A| | + * | +DM1 = (C-A) | | +DM1 = 0 + * | -DM1 = 0 B| | -DM1 = (B-D) + * A| | | + * | | D| + * B| | + * D| + * + * Case 5: Case 6: + * A| A| C| + * | C| +DM1 = 0 | | +DM1 = 0 + * | | -DM1 = 0 | | -DM1 = 0 + * | D| | | + * B| B| D| + * + * + * Case 7: + * + * C| + * A| | + * | | +DM=0 + * B| | -DM=0 + * D| + * + * In case 3 and 4, the rule is that the smallest delta between + * (C-A) and (B-D) determine which of +DM or -DM is zero. + * + * In case 7, (C-A) and (B-D) are equal, so both +DM and -DM are + * zero. + * + * The rules remain the same when A=B and C=D (when the highs + * equal the lows). + * + * When calculating the DM over a period > 1, the one-period DM + * for the desired period are initialy sum. In other word, + * for a -DM14, sum the -DM1 for the first 14 days (that's + * 13 values because there is no DM for the first day!) + * Subsequent DM are calculated using the Wilder's + * smoothing approach: + * + * Previous -DM14 + * Today's -DM14 = Previous -DM14 - -------------- + Today's -DM1 + * 14 + * + * Reference: + * New Concepts In Technical Trading Systems, J. Welles Wilder Jr + */ + + if( optInTimePeriod > 1 ) + lookbackTotal = optInTimePeriod + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_MINUS_DM,MinusDM) - 1; + else + lookbackTotal = 1; + + /* Adjust startIdx to account for the lookback period. */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Indicate where the next output should be put + * in the outReal. + */ + outIdx = 0; + + /* Trap the case where no smoothing is needed. */ + if( optInTimePeriod <= 1 ) + { + /* No smoothing needed. Just do a simple DM1 + * for each price bar. + */ + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + today = startIdx-1; + prevHigh = inHigh[today]; + prevLow = inLow[today]; + while( today < endIdx ) + { + today++; + tempReal = inHigh[today]; + diffP = tempReal-prevHigh; /* Plus Delta */ + prevHigh = tempReal; + tempReal = inLow[today]; + diffM = prevLow-tempReal; /* Minus Delta */ + prevLow = tempReal; + if( (diffM > 0) && (diffP < diffM) ) + { + /* Case 2 and 4: +DM=0,-DM=diffM */ + outReal[outIdx++] = diffM; + } + else + outReal[outIdx++] = 0; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Process the initial DM */ + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + prevMinusDM = 0.0; + today = startIdx - lookbackTotal; + prevHigh = inHigh[today]; + prevLow = inLow[today]; + i = optInTimePeriod-1; + while( i-- > 0 ) + { + today++; + tempReal = inHigh[today]; + diffP = tempReal-prevHigh; /* Plus Delta */ + prevHigh = tempReal; + tempReal = inLow[today]; + diffM = prevLow-tempReal; /* Minus Delta */ + prevLow = tempReal; + + if( (diffM > 0) && (diffP < diffM) ) + { + /* Case 2 and 4: +DM=0,-DM=diffM */ + prevMinusDM += diffM; + } + } + + /* Process subsequent DM */ + + /* Skip the unstable period. */ + i = TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_MINUS_DM,MinusDM); + while( i-- != 0 ) + { + today++; + tempReal = inHigh[today]; + diffP = tempReal-prevHigh; /* Plus Delta */ + prevHigh = tempReal; + tempReal = inLow[today]; + diffM = prevLow-tempReal; /* Minus Delta */ + prevLow = tempReal; + if( (diffM > 0) && (diffP < diffM) ) + { + /* Case 2 and 4: +DM=0,-DM=diffM */ + prevMinusDM = prevMinusDM - (prevMinusDM/optInTimePeriod) + diffM; + } + else + { + /* Case 1,3,5 and 7 */ + prevMinusDM = prevMinusDM - (prevMinusDM/optInTimePeriod); + } + } + + /* Now start to write the output in + * the caller provided outReal. + */ + outReal[0] = prevMinusDM; + outIdx = 1; + + while( today < endIdx ) + { + today++; + tempReal = inHigh[today]; + diffP = tempReal-prevHigh; /* Plus Delta */ + prevHigh = tempReal; + tempReal = inLow[today]; + diffM = prevLow-tempReal; /* Minus Delta */ + prevLow = tempReal; + + if( (diffM > 0) && (diffP < diffM) ) + { + /* Case 2 and 4: +DM=0,-DM=diffM */ + prevMinusDM = prevMinusDM - (prevMinusDM/optInTimePeriod) + diffM; + } + else + { + /* Case 1,3,5 and 7 */ + prevMinusDM = prevMinusDM - (prevMinusDM/optInTimePeriod); + } + + outReal[outIdx++] = prevMinusDM; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::MinusDM( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode minusDM( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_MINUS_DM( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int today, lookbackTotal, outIdx; +/* Generated */ double prevHigh, prevLow, tempReal; +/* Generated */ double prevMinusDM; +/* Generated */ double diffP, diffM; +/* Generated */ int i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inHigh||!inLow) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ if( optInTimePeriod > 1 ) +/* Generated */ lookbackTotal = optInTimePeriod + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_MINUS_DM,MinusDM) - 1; +/* Generated */ else +/* Generated */ lookbackTotal = 1; +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ if( optInTimePeriod <= 1 ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ today = startIdx-1; +/* Generated */ prevHigh = inHigh[today]; +/* Generated */ prevLow = inLow[today]; +/* Generated */ while( today < endIdx ) +/* Generated */ { +/* Generated */ today++; +/* Generated */ tempReal = inHigh[today]; +/* Generated */ diffP = tempReal-prevHigh; +/* Generated */ prevHigh = tempReal; +/* Generated */ tempReal = inLow[today]; +/* Generated */ diffM = prevLow-tempReal; +/* Generated */ prevLow = tempReal; +/* Generated */ if( (diffM > 0) && (diffP < diffM) ) +/* Generated */ { +/* Generated */ outReal[outIdx++] = diffM; +/* Generated */ } +/* Generated */ else +/* Generated */ outReal[outIdx++] = 0; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ prevMinusDM = 0.0; +/* Generated */ today = startIdx - lookbackTotal; +/* Generated */ prevHigh = inHigh[today]; +/* Generated */ prevLow = inLow[today]; +/* Generated */ i = optInTimePeriod-1; +/* Generated */ while( i-- > 0 ) +/* Generated */ { +/* Generated */ today++; +/* Generated */ tempReal = inHigh[today]; +/* Generated */ diffP = tempReal-prevHigh; +/* Generated */ prevHigh = tempReal; +/* Generated */ tempReal = inLow[today]; +/* Generated */ diffM = prevLow-tempReal; +/* Generated */ prevLow = tempReal; +/* Generated */ if( (diffM > 0) && (diffP < diffM) ) +/* Generated */ { +/* Generated */ prevMinusDM += diffM; +/* Generated */ } +/* Generated */ } +/* Generated */ i = TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_MINUS_DM,MinusDM); +/* Generated */ while( i-- != 0 ) +/* Generated */ { +/* Generated */ today++; +/* Generated */ tempReal = inHigh[today]; +/* Generated */ diffP = tempReal-prevHigh; +/* Generated */ prevHigh = tempReal; +/* Generated */ tempReal = inLow[today]; +/* Generated */ diffM = prevLow-tempReal; +/* Generated */ prevLow = tempReal; +/* Generated */ if( (diffM > 0) && (diffP < diffM) ) +/* Generated */ { +/* Generated */ prevMinusDM = prevMinusDM - (prevMinusDM/optInTimePeriod) + diffM; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ prevMinusDM = prevMinusDM - (prevMinusDM/optInTimePeriod); +/* Generated */ } +/* Generated */ } +/* Generated */ outReal[0] = prevMinusDM; +/* Generated */ outIdx = 1; +/* Generated */ while( today < endIdx ) +/* Generated */ { +/* Generated */ today++; +/* Generated */ tempReal = inHigh[today]; +/* Generated */ diffP = tempReal-prevHigh; +/* Generated */ prevHigh = tempReal; +/* Generated */ tempReal = inLow[today]; +/* Generated */ diffM = prevLow-tempReal; +/* Generated */ prevLow = tempReal; +/* Generated */ if( (diffM > 0) && (diffP < diffM) ) +/* Generated */ { +/* Generated */ prevMinusDM = prevMinusDM - (prevMinusDM/optInTimePeriod) + diffM; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ prevMinusDM = prevMinusDM - (prevMinusDM/optInTimePeriod); +/* Generated */ } +/* Generated */ outReal[outIdx++] = prevMinusDM; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_MOM.c b/vendor/ta-lib/src/ta_func/ta_MOM.c new file mode 100644 index 000000000..955e7562b --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_MOM.c @@ -0,0 +1,335 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::MomLookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int momLookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_MOM_Lookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 10; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return optInTimePeriod; + +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_MOM - Momentum + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Mom( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Mom( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode mom( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_MOM( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + + int inIdx, outIdx, trailingIdx; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 10; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* The interpretation of the rate of change varies widely depending + * which software and/or books you are refering to. + * + * The following is the table of Rate-Of-Change implemented in TA-LIB: + * MOM = (price - prevPrice) [Momentum] + * ROC = ((price/prevPrice)-1)*100 [Rate of change] + * ROCP = (price-prevPrice)/prevPrice [Rate of change Percentage] + * ROCR = (price/prevPrice) [Rate of change ratio] + * ROCR100 = (price/prevPrice)*100 [Rate of change ratio 100 Scale] + * + * Here are the equivalent function in other software: + * TA-Lib | Tradestation | Metastock + * ================================================= + * MOM | Momentum | ROC (Point) + * ROC | ROC | ROC (Percent) + * ROCP | PercentChange | - + * ROCR | - | - + * ROCR100 | - | MO + * + * The MOM function is the only one who is not normalized, and thus + * should be avoided for comparing different time serie of prices. + * + * ROC and ROCP are centered at zero and can have positive and negative + * value. Here are some equivalence: + * ROC = ROCP/100 + * = ((price-prevPrice)/prevPrice)/100 + * = ((price/prevPrice)-1)*100 + * + * ROCR and ROCR100 are ratio respectively centered at 1 and 100 and are + * always positive values. + */ + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < optInTimePeriod ) + startIdx = optInTimePeriod; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Calculate Momentum: + * Just substract the value from 'period' ago from + * current value. + */ + outIdx = 0; + inIdx = startIdx; + trailingIdx = startIdx - optInTimePeriod; + + while( inIdx <= endIdx ) + outReal[outIdx++] = inReal[inIdx++] - inReal[trailingIdx++]; + + /* Set output limits. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Mom( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode mom( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_MOM( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int inIdx, outIdx, trailingIdx; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 10; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ if( startIdx < optInTimePeriod ) +/* Generated */ startIdx = optInTimePeriod; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ inIdx = startIdx; +/* Generated */ trailingIdx = startIdx - optInTimePeriod; +/* Generated */ while( inIdx <= endIdx ) +/* Generated */ outReal[outIdx++] = inReal[inIdx++] - inReal[trailingIdx++]; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_MULT.c b/vendor/ta-lib/src/ta_func/ta_MULT.c new file mode 100644 index 000000000..ef59fe6e9 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_MULT.c @@ -0,0 +1,250 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 090807 MF Initial Version + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::MultLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int multLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_MULT_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_MULT - Vector Arithmetic Mult + * + * Input = double, double + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Mult( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal0, +/* Generated */ SubArray^ inReal1, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Mult( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal0, +/* Generated */ cli::array^ inReal1, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode mult( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal0[], +/* Generated */ double inReal1[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_MULT( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal0[], +/* Generated */ const double inReal1[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx; + int i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal0 ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !inReal1 ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Default return values */ + for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) + { + outReal[outIdx] = inReal0[i]*inReal1[i]; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Mult( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal0, +/* Generated */ cli::array^ inReal1, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode mult( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal0[], +/* Generated */ float inReal1[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_MULT( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal0[], +/* Generated */ const float inReal1[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx; +/* Generated */ int i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal0 ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !inReal1 ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) +/* Generated */ { +/* Generated */ outReal[outIdx] = inReal0[i]*inReal1[i]; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_NATR.c b/vendor/ta-lib/src/ta_func/ta_NATR.c new file mode 100644 index 000000000..326de52f2 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_NATR.c @@ -0,0 +1,486 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 060306 MF Initial Version + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::NatrLookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int natrLookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_NATR_Lookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + /* The ATR lookback is the sum of: + * 1 + (optInTimePeriod - 1) + * + * Where 1 is for the True Range, and + * (optInTimePeriod-1) is for the simple + * moving average. + */ + return optInTimePeriod + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_NATR,Natr); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_NATR - Normalized Average True Range + * + * Input = High, Low, Close + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Natr( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Natr( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode natr( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_NATR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + ENUM_DECLARATION(RetCode) retCode; + int outIdx, today, lookbackTotal; + int nbATR; + VALUE_HANDLE_INT(outBegIdx1); + VALUE_HANDLE_INT(outNbElement1); + + double prevATR, tempValue; + ARRAY_REF( tempBuffer ); + ARRAY_LOCAL(prevATRTemp,1); + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* This function is very similar as ATR, except + * it is being normalized as follow: + * + * NATR = (ATR(period) / Close) * 100 + * + * + * Normalization make the ATR function more relevant + * in the folllowing scenario: + * - Long term analysis where the price changes drastically. + * - Cross-market or cross-security ATR comparison. + * + * More Info: + * Technical Analysis of Stock & Commodities (TASC) + * May 2006 by John Forman + */ + + /* Average True Range is the greatest of the following: + * + * val1 = distance from today's high to today's low. + * val2 = distance from yesterday's close to today's high. + * val3 = distance from yesterday's close to today's low. + * + * These value are averaged for the specified period using + * Wilder method. This method have an unstable period comparable + * to an Exponential Moving Average (EMA). + */ + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + + /* Adjust startIdx to account for the lookback period. */ + lookbackTotal = LOOKBACK_CALL(NATR)( optInTimePeriod ); + + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + + /* Trap the case where no smoothing is needed. */ + if( optInTimePeriod <= 1 ) + { + /* No smoothing needed. Just do a TRANGE. */ + return FUNCTION_CALL(TRANGE)( startIdx, endIdx, + inHigh, inLow, inClose, + outBegIdx, outNBElement, outReal ); + } + + /* Allocate an intermediate buffer for TRANGE. */ + ARRAY_ALLOC(tempBuffer, lookbackTotal+(endIdx-startIdx)+1 ); + + /* Do TRANGE in the intermediate buffer. */ + retCode = FUNCTION_CALL(TRANGE)( (startIdx-lookbackTotal+1), endIdx, + inHigh, inLow, inClose, + VALUE_HANDLE_OUT(outBegIdx1), VALUE_HANDLE_OUT(outNbElement1), + tempBuffer ); + + if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) + { + ARRAY_FREE( tempBuffer ); + return retCode; + } + + /* First value of the ATR is a simple Average of + * the TRANGE output for the specified period. + */ + retCode = FUNCTION_CALL_DOUBLE(INT_SMA)( optInTimePeriod-1, + optInTimePeriod-1, + tempBuffer, optInTimePeriod, + VALUE_HANDLE_OUT(outBegIdx1), VALUE_HANDLE_OUT(outNbElement1), + prevATRTemp ); + + if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) + { + ARRAY_FREE( tempBuffer ); + return retCode; + } + prevATR = prevATRTemp[0]; + + /* Subsequent value are smoothed using the + * previous ATR value (Wilder's approach). + * 1) Multiply the previous ATR by 'period-1'. + * 2) Add today TR value. + * 3) Divide by 'period'. + */ + today = optInTimePeriod; + outIdx = TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_NATR,Natr); + /* Skip the unstable period. */ + while( outIdx != 0 ) + { + prevATR *= optInTimePeriod - 1; + prevATR += tempBuffer[today++]; + prevATR /= optInTimePeriod; + outIdx--; + } + + /* Now start to write the final ATR in the caller + * provided outReal. + */ + outIdx = 1; + tempValue = inClose[today]; + if( !TA_IS_ZERO(tempValue) ) + outReal[0] = (prevATR/tempValue)*100.0; + else + outReal[0] = 0.0; + + /* Now do the number of requested ATR. */ + nbATR = (endIdx - startIdx)+1; + + while( --nbATR != 0 ) + { + prevATR *= optInTimePeriod - 1; + prevATR += tempBuffer[today++]; + prevATR /= optInTimePeriod; + tempValue = inClose[today]; + if( !TA_IS_ZERO(tempValue) ) + outReal[outIdx] = (prevATR/tempValue)*100.0; + else + outReal[0] = 0.0; + outIdx++; + } + + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + ARRAY_FREE( tempBuffer ); + + return retCode; +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Natr( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode natr( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_NATR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ENUM_DECLARATION(RetCode) retCode; +/* Generated */ int outIdx, today, lookbackTotal; +/* Generated */ int nbATR; +/* Generated */ VALUE_HANDLE_INT(outBegIdx1); +/* Generated */ VALUE_HANDLE_INT(outNbElement1); +/* Generated */ double prevATR, tempValue; +/* Generated */ ARRAY_REF( tempBuffer ); +/* Generated */ ARRAY_LOCAL(prevATRTemp,1); +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ lookbackTotal = LOOKBACK_CALL(NATR)( optInTimePeriod ); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ if( optInTimePeriod <= 1 ) +/* Generated */ { +/* Generated */ return FUNCTION_CALL(TRANGE)( startIdx, endIdx, +/* Generated */ inHigh, inLow, inClose, +/* Generated */ outBegIdx, outNBElement, outReal ); +/* Generated */ } +/* Generated */ ARRAY_ALLOC(tempBuffer, lookbackTotal+(endIdx-startIdx)+1 ); +/* Generated */ retCode = FUNCTION_CALL(TRANGE)( (startIdx-lookbackTotal+1), endIdx, +/* Generated */ inHigh, inLow, inClose, +/* Generated */ VALUE_HANDLE_OUT(outBegIdx1), VALUE_HANDLE_OUT(outNbElement1), +/* Generated */ tempBuffer ); +/* Generated */ if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) +/* Generated */ { +/* Generated */ ARRAY_FREE( tempBuffer ); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ retCode = FUNCTION_CALL_DOUBLE(INT_SMA)( optInTimePeriod-1, +/* Generated */ optInTimePeriod-1, +/* Generated */ tempBuffer, optInTimePeriod, +/* Generated */ VALUE_HANDLE_OUT(outBegIdx1), VALUE_HANDLE_OUT(outNbElement1), +/* Generated */ prevATRTemp ); +/* Generated */ if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) +/* Generated */ { +/* Generated */ ARRAY_FREE( tempBuffer ); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ prevATR = prevATRTemp[0]; +/* Generated */ today = optInTimePeriod; +/* Generated */ outIdx = TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_NATR,Natr); +/* Generated */ while( outIdx != 0 ) +/* Generated */ { +/* Generated */ prevATR *= optInTimePeriod - 1; +/* Generated */ prevATR += tempBuffer[today++]; +/* Generated */ prevATR /= optInTimePeriod; +/* Generated */ outIdx--; +/* Generated */ } +/* Generated */ outIdx = 1; +/* Generated */ tempValue = inClose[today]; +/* Generated */ if( !TA_IS_ZERO(tempValue) ) +/* Generated */ outReal[0] = (prevATR/tempValue)*100.0; +/* Generated */ else +/* Generated */ outReal[0] = 0.0; +/* Generated */ nbATR = (endIdx - startIdx)+1; +/* Generated */ while( --nbATR != 0 ) +/* Generated */ { +/* Generated */ prevATR *= optInTimePeriod - 1; +/* Generated */ prevATR += tempBuffer[today++]; +/* Generated */ prevATR /= optInTimePeriod; +/* Generated */ tempValue = inClose[today]; +/* Generated */ if( !TA_IS_ZERO(tempValue) ) +/* Generated */ outReal[outIdx] = (prevATR/tempValue)*100.0; +/* Generated */ else +/* Generated */ outReal[0] = 0.0; +/* Generated */ outIdx++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ ARRAY_FREE( tempBuffer ); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_NVI.c b/vendor/ta-lib/src/ta_func/ta_NVI.c new file mode 100644 index 000000000..d39aefe06 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_NVI.c @@ -0,0 +1,197 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120802 MF Template creation. + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #using +/* Generated */ #include "Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (TA_INTERNAL_ERROR) +/* Generated */ namespace TA { namespace Library { +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::NVI_Lookback( /* Generated */ void ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_NVI_Lookback( /* Generated */ void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert lookback code here. */ + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_NVI - Negative Volume Index + * + * Input = Close, Volume + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum Core::TA_RetCode Core::NVI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inClose __gc [], +/* Generated */ int inVolume __gc [], +/* Generated */ [OutAttribute]Int32 REF(outBegIdx), +/* Generated */ [OutAttribute]Int32 REF(outNBElement), +/* Generated */ double outReal __gc [] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_NVI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inClose[], +/* Generated */ const int inVolume[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return TA_OUT_OF_RANGE_START_INDEX; +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return TA_OUT_OF_RANGE_END_INDEX; +/* Generated */ +/* Generated */ /* Validate the parameters. */ +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inClose||!inVolume) +/* Generated */ return TA_BAD_PARAM; +/* Generated */ +/* Generated */ if( outReal == NULL ) +/* Generated */ return TA_BAD_PARAM; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Default return values */ + *outBegIdx = 0; + *outNBElement = 0; + + return TA_SUCCESS; +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum Core::TA_RetCode Core::NVI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inClose __gc [], +/* Generated */ int inVolume __gc [], +/* Generated */ [OutAttribute]Int32 REF(outBegIdx), +/* Generated */ [OutAttribute]Int32 REF(outNBElement), +/* Generated */ double outReal __gc [] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_NVI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inClose[], +/* Generated */ const int inVolume[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return TA_OUT_OF_RANGE_START_INDEX; +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return TA_OUT_OF_RANGE_END_INDEX; +/* Generated */ if(!inClose||!inVolume) +/* Generated */ return TA_BAD_PARAM; +/* Generated */ if( outReal == NULL ) +/* Generated */ return TA_BAD_PARAM; +/* Generated */ #endif +/* Generated */ *outBegIdx = 0; +/* Generated */ *outNBElement = 0; +/* Generated */ return TA_SUCCESS; +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }} // Close namespace TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_OBV.c b/vendor/ta-lib/src/ta_func/ta_OBV.c new file mode 100644 index 000000000..420038c66 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_OBV.c @@ -0,0 +1,280 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 010802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * 110206 AC Change volume and open interest to double + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::ObvLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int obvLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_OBV_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + /* This function have no lookback needed. */ + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_OBV - On Balance Volume + * + * Input = double, Volume + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Obv( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ SubArray^ inVolume, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Obv( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ cli::array^ inVolume, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode obv( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ double inVolume[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_OBV( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ const double inVolume[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int i; + int outIdx; + double prevReal, tempReal, prevOBV; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inVolume) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + prevOBV = inVolume[startIdx]; + prevReal = inReal[startIdx]; + outIdx = 0; + + for(i=startIdx; i <= endIdx; i++ ) + { + tempReal = inReal[i]; + if( tempReal > prevReal ) + prevOBV += inVolume[i]; + else if( tempReal < prevReal ) + prevOBV -= inVolume[i]; + + outReal[outIdx++] = prevOBV; + prevReal = tempReal; + } + + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Obv( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ cli::array^ inVolume, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode obv( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ float inVolume[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_OBV( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ const float inVolume[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int i; +/* Generated */ int outIdx; +/* Generated */ double prevReal, tempReal, prevOBV; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if(!inVolume) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ prevOBV = inVolume[startIdx]; +/* Generated */ prevReal = inReal[startIdx]; +/* Generated */ outIdx = 0; +/* Generated */ for(i=startIdx; i <= endIdx; i++ ) +/* Generated */ { +/* Generated */ tempReal = inReal[i]; +/* Generated */ if( tempReal > prevReal ) +/* Generated */ prevOBV += inVolume[i]; +/* Generated */ else if( tempReal < prevReal ) +/* Generated */ prevOBV -= inVolume[i]; +/* Generated */ outReal[outIdx++] = prevOBV; +/* Generated */ prevReal = tempReal; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_PLUS_DI.c b/vendor/ta-lib/src/ta_func/ta_PLUS_DI.c new file mode 100644 index 000000000..ffe23a113 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_PLUS_DI.c @@ -0,0 +1,703 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * AM Adrian Michel + * MIF Mirek Fontan (mira@fontan.cz) + * CF Christo Fogelberg + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 010802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * 082303 MF Fix #792298. Remove rounding. Bug reported by AM. + * 062704 MF Fix #965557. Div by zero bug reported by MIF. + * 122204 MF,CF Fix #1090231. Issues when period is 1. + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::PlusDILookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int plusDILookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_PLUS_DI_Lookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + if( optInTimePeriod > 1 ) + return optInTimePeriod + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_PLUS_DI,PlusDI); + else + return 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_PLUS_DI - Plus Directional Indicator + * + * Input = High, Low, Close + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::PlusDI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::PlusDI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode plusDI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_PLUS_DI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + + int today, lookbackTotal, outIdx; + double prevHigh, prevLow, prevClose; + double prevPlusDM, prevTR; + double tempReal, tempReal2, diffP, diffM; + + int i; + + #define TRUE_RANGE(TH,TL,YC,OUT) {\ + OUT = TH-TL; \ + tempReal2 = std_fabs(TH-YC); \ + if( tempReal2 > OUT ) \ + OUT = tempReal2; \ + tempReal2 = std_fabs(TL-YC); \ + if( tempReal2 > OUT ) \ + OUT = tempReal2; \ + } + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + /* + * The DM1 (one period) is base on the largest part of + * today's range that is outside of yesterdays range. + * + * The following 7 cases explain how the +DM and -DM are + * calculated on one period: + * + * Case 1: Case 2: + * C| A| + * | | C| + * | +DM1 = (C-A) B| | +DM1 = 0 + * | -DM1 = 0 | -DM1 = (B-D) + * A| | D| + * | D| + * B| + * + * Case 3: Case 4: + * C| C| + * | A| | + * | +DM1 = (C-A) | | +DM1 = 0 + * | -DM1 = 0 B| | -DM1 = (B-D) + * A| | | + * | | D| + * B| | + * D| + * + * Case 5: Case 6: + * A| A| C| + * | C| +DM1 = 0 | | +DM1 = 0 + * | | -DM1 = 0 | | -DM1 = 0 + * | D| | | + * B| B| D| + * + * + * Case 7: + * + * C| + * A| | + * | | +DM1=0 + * B| | -DM1=0 + * D| + * + * In case 3 and 4, the rule is that the smallest delta between + * (C-A) and (B-D) determine which of +DM or -DM is zero. + * + * In case 7, (C-A) and (B-D) are equal, so both +DM and -DM are + * zero. + * + * The rules remain the same when A=B and C=D (when the highs + * equal the lows). + * + * When calculating the DM over a period > 1, the one-period DM + * for the desired period are initialy sum. In other word, + * for a -DM14, sum the -DM1 for the first 14 days (that's + * 13 values because there is no DM for the first day!) + * Subsequent DM are calculated using the Wilder's + * smoothing approach: + * + * Previous +DM14 + * Today's +DM14 = Previous +DM14 - -------------- + Today's +DM1 + * 14 + * + * Calculation of a +DI14 is as follow: + * + * +DM14 + * +DI14 = -------- + * TR14 + * + * Calculation of the TR14 is: + * + * Previous TR14 + * Today's TR14 = Previous TR14 - -------------- + Today's TR1 + * 14 + * + * The first TR14 is the summation of the first 14 TR1. See the + * TA_TRANGE function on how to calculate the true range. + * + * Reference: + * New Concepts In Technical Trading Systems, J. Welles Wilder Jr + */ + + /* Original implementation from Wilder's book was doing some integer + * rounding in its calculations. + * + * This was understandable in the context that at the time the book + * was written, most user were doing the calculation by hand. + * + * For a computer, rounding is unnecessary (and even problematic when inputs + * are close to 1). + * + * TA-Lib does not do the rounding. Still, if you want to reproduce Wilder's examples, + * you can comment out the following #undef/#define and rebuild the library. + */ + #undef round_pos + #define round_pos(x) (x) + + if( optInTimePeriod > 1 ) + lookbackTotal = optInTimePeriod + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_PLUS_DI,PlusDI); + else + lookbackTotal = 1; + + /* Adjust startIdx to account for the lookback period. */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Indicate where the next output should be put + * in the outReal. + */ + outIdx = 0; + + /* Trap the case where no smoothing is needed. */ + if( optInTimePeriod <= 1 ) + { + /* No smoothing needed. Just do the following: + * for each price bar. + * +DM1 + * +DI1 = ---- + * TR1 + */ + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + today = startIdx-1; + prevHigh = inHigh[today]; + prevLow = inLow[today]; + prevClose = inClose[today]; + while( today < endIdx ) + { + today++; + tempReal = inHigh[today]; + diffP = tempReal-prevHigh; /* Plus Delta */ + prevHigh = tempReal; + tempReal = inLow[today]; + diffM = prevLow-tempReal; /* Minus Delta */ + prevLow = tempReal; + if( (diffP > 0) && (diffP > diffM) ) + { + /* Case 1 and 3: +DM=diffP,-DM=0 */ + TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); + if( TA_IS_ZERO(tempReal) ) + outReal[outIdx++] = (double)0.0; + else + outReal[outIdx++] = diffP/tempReal; + } + else + outReal[outIdx++] = (double)0.0; + prevClose = inClose[today]; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Process the initial DM and TR */ + VALUE_HANDLE_DEREF(outBegIdx) = today = startIdx; + + prevPlusDM = 0.0; + prevTR = 0.0; + today = startIdx - lookbackTotal; + prevHigh = inHigh[today]; + prevLow = inLow[today]; + prevClose = inClose[today]; + i = optInTimePeriod-1; + while( i-- > 0 ) + { + today++; + tempReal = inHigh[today]; + diffP = tempReal-prevHigh; /* Plus Delta */ + prevHigh = tempReal; + + tempReal = inLow[today]; + diffM = prevLow-tempReal; /* Minus Delta */ + prevLow = tempReal; + if( (diffP > 0) && (diffP > diffM) ) + { + /* Case 1 and 3: +DM=diffP,-DM=0 */ + prevPlusDM += diffP; + } + + TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); + prevTR += tempReal; + prevClose = inClose[today]; + } + + /* Process subsequent DI */ + + /* Skip the unstable period. Note that this loop must be executed + * at least ONCE to calculate the first DI. + */ + i = TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_PLUS_DI,PlusDI) + 1; + while( i-- != 0 ) + { + /* Calculate the prevPlusDM */ + today++; + tempReal = inHigh[today]; + diffP = tempReal-prevHigh; /* Plus Delta */ + prevHigh = tempReal; + tempReal = inLow[today]; + diffM = prevLow-tempReal; /* Minus Delta */ + prevLow = tempReal; + if( (diffP > 0) && (diffP > diffM) ) + { + /* Case 1 and 3: +DM=diffP,-DM=0 */ + prevPlusDM = prevPlusDM - (prevPlusDM/optInTimePeriod) + diffP; + } + else + { + /* Case 2,4,5 and 7 */ + prevPlusDM = prevPlusDM - (prevPlusDM/optInTimePeriod); + } + + /* Calculate the prevTR */ + TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); + prevTR = prevTR - (prevTR/optInTimePeriod) + tempReal; + prevClose = inClose[today]; + } + + /* Now start to write the output in + * the caller provided outReal. + */ + + if( !TA_IS_ZERO(prevTR) ) + outReal[0] = round_pos(100.0*(prevPlusDM/prevTR)); + else + outReal[0] = 0.0; + outIdx = 1; + + while( today < endIdx ) + { + /* Calculate the prevPlusDM */ + today++; + tempReal = inHigh[today]; + diffP = tempReal-prevHigh; /* Plus Delta */ + prevHigh = tempReal; + tempReal = inLow[today]; + diffM = prevLow-tempReal; /* Minus Delta */ + prevLow = tempReal; + if( (diffP > 0) && (diffP > diffM) ) + { + /* Case 1 and 3: +DM=diffP,-DM=0 */ + prevPlusDM = prevPlusDM - (prevPlusDM/optInTimePeriod) + diffP; + } + else + { + /* Case 2,4,5 and 7 */ + prevPlusDM = prevPlusDM - (prevPlusDM/optInTimePeriod); + } + + /* Calculate the prevTR */ + TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); + prevTR = prevTR - (prevTR/optInTimePeriod) + tempReal; + prevClose = inClose[today]; + + /* Calculate the DI. The value is rounded (see Wilder book). */ + if( !TA_IS_ZERO(prevTR) ) + outReal[outIdx++] = round_pos(100.0*(prevPlusDM/prevTR)); + else + outReal[outIdx++] = 0.0; + + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::PlusDI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode plusDI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_PLUS_DI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int today, lookbackTotal, outIdx; +/* Generated */ double prevHigh, prevLow, prevClose; +/* Generated */ double prevPlusDM, prevTR; +/* Generated */ double tempReal, tempReal2, diffP, diffM; +/* Generated */ int i; +/* Generated */ #define TRUE_RANGE(TH,TL,YC,OUT) {\ +/* Generated */ OUT = TH-TL; \ +/* Generated */ tempReal2 = std_fabs(TH-YC); \ +/* Generated */ if( tempReal2 > OUT ) \ +/* Generated */ OUT = tempReal2; \ +/* Generated */ tempReal2 = std_fabs(TL-YC); \ +/* Generated */ if( tempReal2 > OUT ) \ +/* Generated */ OUT = tempReal2; \ +/* Generated */ } +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ #undef round_pos +/* Generated */ #define round_pos(x) (x) +/* Generated */ if( optInTimePeriod > 1 ) +/* Generated */ lookbackTotal = optInTimePeriod + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_PLUS_DI,PlusDI); +/* Generated */ else +/* Generated */ lookbackTotal = 1; +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ if( optInTimePeriod <= 1 ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ today = startIdx-1; +/* Generated */ prevHigh = inHigh[today]; +/* Generated */ prevLow = inLow[today]; +/* Generated */ prevClose = inClose[today]; +/* Generated */ while( today < endIdx ) +/* Generated */ { +/* Generated */ today++; +/* Generated */ tempReal = inHigh[today]; +/* Generated */ diffP = tempReal-prevHigh; +/* Generated */ prevHigh = tempReal; +/* Generated */ tempReal = inLow[today]; +/* Generated */ diffM = prevLow-tempReal; +/* Generated */ prevLow = tempReal; +/* Generated */ if( (diffP > 0) && (diffP > diffM) ) +/* Generated */ { +/* Generated */ TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); +/* Generated */ if( TA_IS_ZERO(tempReal) ) +/* Generated */ outReal[outIdx++] = (double)0.0; +/* Generated */ else +/* Generated */ outReal[outIdx++] = diffP/tempReal; +/* Generated */ } +/* Generated */ else +/* Generated */ outReal[outIdx++] = (double)0.0; +/* Generated */ prevClose = inClose[today]; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = today = startIdx; +/* Generated */ prevPlusDM = 0.0; +/* Generated */ prevTR = 0.0; +/* Generated */ today = startIdx - lookbackTotal; +/* Generated */ prevHigh = inHigh[today]; +/* Generated */ prevLow = inLow[today]; +/* Generated */ prevClose = inClose[today]; +/* Generated */ i = optInTimePeriod-1; +/* Generated */ while( i-- > 0 ) +/* Generated */ { +/* Generated */ today++; +/* Generated */ tempReal = inHigh[today]; +/* Generated */ diffP = tempReal-prevHigh; +/* Generated */ prevHigh = tempReal; +/* Generated */ tempReal = inLow[today]; +/* Generated */ diffM = prevLow-tempReal; +/* Generated */ prevLow = tempReal; +/* Generated */ if( (diffP > 0) && (diffP > diffM) ) +/* Generated */ { +/* Generated */ prevPlusDM += diffP; +/* Generated */ } +/* Generated */ TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); +/* Generated */ prevTR += tempReal; +/* Generated */ prevClose = inClose[today]; +/* Generated */ } +/* Generated */ i = TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_PLUS_DI,PlusDI) + 1; +/* Generated */ while( i-- != 0 ) +/* Generated */ { +/* Generated */ today++; +/* Generated */ tempReal = inHigh[today]; +/* Generated */ diffP = tempReal-prevHigh; +/* Generated */ prevHigh = tempReal; +/* Generated */ tempReal = inLow[today]; +/* Generated */ diffM = prevLow-tempReal; +/* Generated */ prevLow = tempReal; +/* Generated */ if( (diffP > 0) && (diffP > diffM) ) +/* Generated */ { +/* Generated */ prevPlusDM = prevPlusDM - (prevPlusDM/optInTimePeriod) + diffP; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ prevPlusDM = prevPlusDM - (prevPlusDM/optInTimePeriod); +/* Generated */ } +/* Generated */ TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); +/* Generated */ prevTR = prevTR - (prevTR/optInTimePeriod) + tempReal; +/* Generated */ prevClose = inClose[today]; +/* Generated */ } +/* Generated */ if( !TA_IS_ZERO(prevTR) ) +/* Generated */ outReal[0] = round_pos(100.0*(prevPlusDM/prevTR)); +/* Generated */ else +/* Generated */ outReal[0] = 0.0; +/* Generated */ outIdx = 1; +/* Generated */ while( today < endIdx ) +/* Generated */ { +/* Generated */ today++; +/* Generated */ tempReal = inHigh[today]; +/* Generated */ diffP = tempReal-prevHigh; +/* Generated */ prevHigh = tempReal; +/* Generated */ tempReal = inLow[today]; +/* Generated */ diffM = prevLow-tempReal; +/* Generated */ prevLow = tempReal; +/* Generated */ if( (diffP > 0) && (diffP > diffM) ) +/* Generated */ { +/* Generated */ prevPlusDM = prevPlusDM - (prevPlusDM/optInTimePeriod) + diffP; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ prevPlusDM = prevPlusDM - (prevPlusDM/optInTimePeriod); +/* Generated */ } +/* Generated */ TRUE_RANGE(prevHigh,prevLow,prevClose,tempReal); +/* Generated */ prevTR = prevTR - (prevTR/optInTimePeriod) + tempReal; +/* Generated */ prevClose = inClose[today]; +/* Generated */ if( !TA_IS_ZERO(prevTR) ) +/* Generated */ outReal[outIdx++] = round_pos(100.0*(prevPlusDM/prevTR)); +/* Generated */ else +/* Generated */ outReal[outIdx++] = 0.0; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_PLUS_DM.c b/vendor/ta-lib/src/ta_func/ta_PLUS_DM.c new file mode 100644 index 000000000..139b02d14 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_PLUS_DM.c @@ -0,0 +1,580 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * CF Christo Fogelberg + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 010802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * 122104 MF,CF Fix#1089506 for when optInTimePeriod is 1. + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::PlusDMLookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int plusDMLookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_PLUS_DM_Lookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + if( optInTimePeriod > 1 ) + return optInTimePeriod + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_PLUS_DM,PlusDM) - 1; + else + return 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_PLUS_DM - Plus Directional Movement + * + * Input = High, Low + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::PlusDM( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::PlusDM( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode plusDM( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_PLUS_DM( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int today, lookbackTotal, outIdx; + double prevHigh, prevLow, tempReal; + double prevPlusDM; + double diffP, diffM; + int i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inHigh||!inLow) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* + * The DM1 (one period) is base on the largest part of + * today's range that is outside of yesterdays range. + * + * The following 7 cases explain how the +DM and -DM are + * calculated on one period: + * + * Case 1: Case 2: + * C| A| + * | | C| + * | +DM1 = (C-A) B| | +DM1 = 0 + * | -DM1 = 0 | -DM1 = (B-D) + * A| | D| + * | D| + * B| + * + * Case 3: Case 4: + * C| C| + * | A| | + * | +DM1 = (C-A) | | +DM1 = 0 + * | -DM1 = 0 B| | -DM1 = (B-D) + * A| | | + * | | D| + * B| | + * D| + * + * Case 5: Case 6: + * A| A| C| + * | C| +DM1 = 0 | | +DM1 = 0 + * | | -DM1 = 0 | | -DM1 = 0 + * | D| | | + * B| B| D| + * + * + * Case 7: + * + * C| + * A| | + * | | +DM=0 + * B| | -DM=0 + * D| + * + * In case 3 and 4, the rule is that the smallest delta between + * (C-A) and (B-D) determine which of +DM or -DM is zero. + * + * In case 7, (C-A) and (B-D) are equal, so both +DM and -DM are + * zero. + * + * The rules remain the same when A=B and C=D (when the highs + * equal the lows). + * + * When calculating the DM over a period > 1, the one-period DM + * for the desired period are initialy sum. In other word, + * for a +DM14, sum the +DM1 for the first 14 days (that's + * 13 values because there is no DM for the first day!) + * Subsequent DM are calculated using the Wilder's + * smoothing approach: + * + * Previous +DM14 + * Today's +DM14 = Previous +DM14 - -------------- + Today's +DM1 + * 14 + * + * Reference: + * New Concepts In Technical Trading Systems, J. Welles Wilder Jr + */ + + if( optInTimePeriod > 1 ) + lookbackTotal = optInTimePeriod + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_PLUS_DM,PlusDM) - 1; + else + lookbackTotal = 1; + + /* Adjust startIdx to account for the lookback period. */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Indicate where the next output should be put + * in the outReal. + */ + outIdx = 0; + + /* Trap the case where no smoothing is needed. */ + if( optInTimePeriod <= 1 ) + { + /* No smoothing needed. Just do a simple DM1 + * for each price bar. + */ + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + today = startIdx-1; + prevHigh = inHigh[today]; + prevLow = inLow[today]; + while( today < endIdx ) + { + today++; + tempReal = inHigh[today]; + diffP = tempReal-prevHigh; /* Plus Delta */ + prevHigh = tempReal; + tempReal = inLow[today]; + diffM = prevLow-tempReal; /* Minus Delta */ + prevLow = tempReal; + if( (diffP > 0) && (diffP > diffM) ) + { + /* Case 1 and 3: +DM=diffP,-DM=0 */ + outReal[outIdx++] = diffP; + } + else + outReal[outIdx++] = 0; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Process the initial DM */ + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + prevPlusDM = 0.0; + today = startIdx - lookbackTotal; + prevHigh = inHigh[today]; + prevLow = inLow[today]; + i = optInTimePeriod-1; + while( i-- > 0 ) + { + today++; + tempReal = inHigh[today]; + diffP = tempReal-prevHigh; /* Plus Delta */ + prevHigh = tempReal; + tempReal = inLow[today]; + diffM = prevLow-tempReal; /* Minus Delta */ + prevLow = tempReal; + + if( (diffP > 0) && (diffP > diffM) ) + { + /* Case 1 and 3: +DM=diffP,-DM=0 */ + prevPlusDM += diffP; + } + } + + /* Process subsequent DM */ + + /* Skip the unstable period. */ + i = TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_PLUS_DM,PlusDM); + while( i-- != 0 ) + { + today++; + tempReal = inHigh[today]; + diffP = tempReal-prevHigh; /* Plus Delta */ + prevHigh = tempReal; + tempReal = inLow[today]; + diffM = prevLow-tempReal; /* Minus Delta */ + prevLow = tempReal; + if( (diffP > 0) && (diffP > diffM) ) + { + /* Case 1 and 3: +DM=diffP,-DM=0 */ + prevPlusDM = prevPlusDM - (prevPlusDM/optInTimePeriod) + diffP; + } + else + { + /* Case 2,4,5 and 7 */ + prevPlusDM = prevPlusDM - (prevPlusDM/optInTimePeriod); + } + } + + /* Now start to write the output in + * the caller provided outReal. + */ + outReal[0] = prevPlusDM; + outIdx = 1; + + while( today < endIdx ) + { + today++; + tempReal = inHigh[today]; + diffP = tempReal-prevHigh; /* Plus Delta */ + prevHigh = tempReal; + tempReal = inLow[today]; + diffM = prevLow-tempReal; /* Minus Delta */ + prevLow = tempReal; + + if( (diffP > 0) && (diffP > diffM) ) + { + /* Case 1 and 3: +DM=diffP,-DM=0 */ + prevPlusDM = prevPlusDM - (prevPlusDM/optInTimePeriod) + diffP; + } + else + { + /* Case 2,4,5 and 7 */ + prevPlusDM = prevPlusDM - (prevPlusDM/optInTimePeriod); + } + + outReal[outIdx++] = prevPlusDM; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::PlusDM( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode plusDM( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_PLUS_DM( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int today, lookbackTotal, outIdx; +/* Generated */ double prevHigh, prevLow, tempReal; +/* Generated */ double prevPlusDM; +/* Generated */ double diffP, diffM; +/* Generated */ int i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inHigh||!inLow) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ if( optInTimePeriod > 1 ) +/* Generated */ lookbackTotal = optInTimePeriod + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_PLUS_DM,PlusDM) - 1; +/* Generated */ else +/* Generated */ lookbackTotal = 1; +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ if( optInTimePeriod <= 1 ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ today = startIdx-1; +/* Generated */ prevHigh = inHigh[today]; +/* Generated */ prevLow = inLow[today]; +/* Generated */ while( today < endIdx ) +/* Generated */ { +/* Generated */ today++; +/* Generated */ tempReal = inHigh[today]; +/* Generated */ diffP = tempReal-prevHigh; +/* Generated */ prevHigh = tempReal; +/* Generated */ tempReal = inLow[today]; +/* Generated */ diffM = prevLow-tempReal; +/* Generated */ prevLow = tempReal; +/* Generated */ if( (diffP > 0) && (diffP > diffM) ) +/* Generated */ { +/* Generated */ outReal[outIdx++] = diffP; +/* Generated */ } +/* Generated */ else +/* Generated */ outReal[outIdx++] = 0; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ prevPlusDM = 0.0; +/* Generated */ today = startIdx - lookbackTotal; +/* Generated */ prevHigh = inHigh[today]; +/* Generated */ prevLow = inLow[today]; +/* Generated */ i = optInTimePeriod-1; +/* Generated */ while( i-- > 0 ) +/* Generated */ { +/* Generated */ today++; +/* Generated */ tempReal = inHigh[today]; +/* Generated */ diffP = tempReal-prevHigh; +/* Generated */ prevHigh = tempReal; +/* Generated */ tempReal = inLow[today]; +/* Generated */ diffM = prevLow-tempReal; +/* Generated */ prevLow = tempReal; +/* Generated */ if( (diffP > 0) && (diffP > diffM) ) +/* Generated */ { +/* Generated */ prevPlusDM += diffP; +/* Generated */ } +/* Generated */ } +/* Generated */ i = TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_PLUS_DM,PlusDM); +/* Generated */ while( i-- != 0 ) +/* Generated */ { +/* Generated */ today++; +/* Generated */ tempReal = inHigh[today]; +/* Generated */ diffP = tempReal-prevHigh; +/* Generated */ prevHigh = tempReal; +/* Generated */ tempReal = inLow[today]; +/* Generated */ diffM = prevLow-tempReal; +/* Generated */ prevLow = tempReal; +/* Generated */ if( (diffP > 0) && (diffP > diffM) ) +/* Generated */ { +/* Generated */ prevPlusDM = prevPlusDM - (prevPlusDM/optInTimePeriod) + diffP; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ prevPlusDM = prevPlusDM - (prevPlusDM/optInTimePeriod); +/* Generated */ } +/* Generated */ } +/* Generated */ outReal[0] = prevPlusDM; +/* Generated */ outIdx = 1; +/* Generated */ while( today < endIdx ) +/* Generated */ { +/* Generated */ today++; +/* Generated */ tempReal = inHigh[today]; +/* Generated */ diffP = tempReal-prevHigh; +/* Generated */ prevHigh = tempReal; +/* Generated */ tempReal = inLow[today]; +/* Generated */ diffM = prevLow-tempReal; +/* Generated */ prevLow = tempReal; +/* Generated */ if( (diffP > 0) && (diffP > diffM) ) +/* Generated */ { +/* Generated */ prevPlusDM = prevPlusDM - (prevPlusDM/optInTimePeriod) + diffP; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ prevPlusDM = prevPlusDM - (prevPlusDM/optInTimePeriod); +/* Generated */ } +/* Generated */ outReal[outIdx++] = prevPlusDM; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_PPO.c b/vendor/ta-lib/src/ta_func/ta_PPO.c new file mode 100644 index 000000000..419f8d737 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_PPO.c @@ -0,0 +1,354 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * AA Andrew Atkinson + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * 020605 AA Fix #1117666 Lookback bug. + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::PpoLookback( int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInMAType ) /* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int ppoLookback( int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInMAType ) /* Generated */ +/* Generated */ #else +/* Generated */ int TA_PPO_Lookback( int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ TA_MAType optInMAType ) /* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInFastPeriod. */ +/* Generated */ if( (int)optInFastPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastPeriod = 12; +/* Generated */ else if( ((int)optInFastPeriod < 2) || ((int)optInFastPeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ /* min/max are checked for optInSlowPeriod. */ +/* Generated */ if( (int)optInSlowPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowPeriod = 26; +/* Generated */ else if( ((int)optInSlowPeriod < 2) || ((int)optInSlowPeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInMAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInMAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInMAType < 0) || ((int)optInMAType > 8) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* !defined(_MANAGED) && !defined(_JAVA)*/ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + /* Lookback is driven by the slowest MA. */ + return LOOKBACK_CALL(MA)( max(optInSlowPeriod,optInFastPeriod), optInMAType ); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_PPO - Percentage Price Oscillator + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInFastPeriod:(From 2 to 100000) + * Number of period for the fast MA + * + * optInSlowPeriod:(From 2 to 100000) + * Number of period for the slow MA + * + * optInMAType: + * Type of Moving Average + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Ppo( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInMAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Ppo( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInMAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode ppo( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInMAType, +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_PPO( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ TA_MAType optInMAType, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + ARRAY_REF(tempBuffer); + ENUM_DECLARATION(RetCode) retCode; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInFastPeriod. */ +/* Generated */ if( (int)optInFastPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastPeriod = 12; +/* Generated */ else if( ((int)optInFastPeriod < 2) || ((int)optInFastPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ /* min/max are checked for optInSlowPeriod. */ +/* Generated */ if( (int)optInSlowPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowPeriod = 26; +/* Generated */ else if( ((int)optInSlowPeriod < 2) || ((int)optInSlowPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInMAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInMAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInMAType < 0) || ((int)optInMAType > 8) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_MANAGED) && !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Allocate an intermediate buffer. */ + ARRAY_ALLOC( tempBuffer, endIdx-startIdx+1 ); + #if !defined( _JAVA ) + if( !tempBuffer ) + return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); + #endif + + retCode = FUNCTION_CALL(INT_PO)( startIdx, endIdx, inReal, + optInFastPeriod, + optInSlowPeriod, + optInMAType, + outBegIdx, + outNBElement, + outReal, + tempBuffer, + 1 /* Do percentage processing. */ ); + + ARRAY_FREE( tempBuffer ); + + return retCode; +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Ppo( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInMAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode ppo( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ MAType optInMAType, +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_PPO( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInFastPeriod, /* From 2 to 100000 */ +/* Generated */ int optInSlowPeriod, /* From 2 to 100000 */ +/* Generated */ TA_MAType optInMAType, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ARRAY_REF(tempBuffer); +/* Generated */ ENUM_DECLARATION(RetCode) retCode; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInFastPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastPeriod = 12; +/* Generated */ else if( ((int)optInFastPeriod < 2) || ((int)optInFastPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( (int)optInSlowPeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowPeriod = 26; +/* Generated */ else if( ((int)optInSlowPeriod < 2) || ((int)optInSlowPeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInMAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInMAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInMAType < 0) || ((int)optInMAType > 8) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ ARRAY_ALLOC( tempBuffer, endIdx-startIdx+1 ); +/* Generated */ #if !defined( _JAVA ) +/* Generated */ if( !tempBuffer ) +/* Generated */ return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); +/* Generated */ #endif +/* Generated */ retCode = FUNCTION_CALL(INT_PO)( startIdx, endIdx, inReal, +/* Generated */ optInFastPeriod, +/* Generated */ optInSlowPeriod, +/* Generated */ optInMAType, +/* Generated */ outBegIdx, +/* Generated */ outNBElement, +/* Generated */ outReal, +/* Generated */ tempBuffer, +/* Generated */ 1 ); +/* Generated */ ARRAY_FREE( tempBuffer ); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_PVI.c b/vendor/ta-lib/src/ta_func/ta_PVI.c new file mode 100644 index 000000000..6bd5474e5 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_PVI.c @@ -0,0 +1,197 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120802 MF Template creation. + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #using +/* Generated */ #include "Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (TA_INTERNAL_ERROR) +/* Generated */ namespace TA { namespace Library { +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::PVI_Lookback( /* Generated */ void ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_PVI_Lookback( /* Generated */ void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert lookback code here. */ + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_PVI - Positive Volume Index + * + * Input = Close, Volume + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum Core::TA_RetCode Core::PVI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inClose __gc [], +/* Generated */ int inVolume __gc [], +/* Generated */ [OutAttribute]Int32 REF(outBegIdx), +/* Generated */ [OutAttribute]Int32 REF(outNBElement), +/* Generated */ double outReal __gc [] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_PVI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inClose[], +/* Generated */ const int inVolume[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return TA_OUT_OF_RANGE_START_INDEX; +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return TA_OUT_OF_RANGE_END_INDEX; +/* Generated */ +/* Generated */ /* Validate the parameters. */ +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inClose||!inVolume) +/* Generated */ return TA_BAD_PARAM; +/* Generated */ +/* Generated */ if( outReal == NULL ) +/* Generated */ return TA_BAD_PARAM; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Default return values */ + *outBegIdx = 0; + *outNBElement = 0; + + return TA_SUCCESS; +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum Core::TA_RetCode Core::PVI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inClose __gc [], +/* Generated */ int inVolume __gc [], +/* Generated */ [OutAttribute]Int32 REF(outBegIdx), +/* Generated */ [OutAttribute]Int32 REF(outNBElement), +/* Generated */ double outReal __gc [] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_PVI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inClose[], +/* Generated */ const int inVolume[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return TA_OUT_OF_RANGE_START_INDEX; +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return TA_OUT_OF_RANGE_END_INDEX; +/* Generated */ if(!inClose||!inVolume) +/* Generated */ return TA_BAD_PARAM; +/* Generated */ if( outReal == NULL ) +/* Generated */ return TA_BAD_PARAM; +/* Generated */ #endif +/* Generated */ *outBegIdx = 0; +/* Generated */ *outNBElement = 0; +/* Generated */ return TA_SUCCESS; +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }} // Close namespace TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_ROC.c b/vendor/ta-lib/src/ta_func/ta_ROC.c new file mode 100644 index 000000000..a245a1a7b --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_ROC.c @@ -0,0 +1,346 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::RocLookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int rocLookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_ROC_Lookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 10; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return optInTimePeriod; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_ROC - Rate of change : ((price/prevPrice)-1)*100 + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Roc( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Roc( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode roc( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_ROC( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + int inIdx, outIdx, trailingIdx; + double tempReal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 10; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* The interpretation of the rate of change varies widely depending + * which software and/or books you are refering to. + * + * The following is the table of Rate-Of-Change implemented in TA-LIB: + * MOM = (price - prevPrice) [Momentum] + * ROC = ((price/prevPrice)-1)*100 [Rate of change] + * ROCP = (price-prevPrice)/prevPrice [Rate of change Percentage] + * ROCR = (price/prevPrice) [Rate of change ratio] + * ROCR100 = (price/prevPrice)*100 [Rate of change ratio 100 Scale] + * + * Here are the equivalent function in other software: + * TA-Lib | Tradestation | Metastock + * ================================================= + * MOM | Momentum | ROC (Point) + * ROC | ROC | ROC (Percent) + * ROCP | PercentChange | - + * ROCR | - | - + * ROCR100 | - | MO + * + * The MOM function is the only one who is not normalized, and thus + * should be avoided for comparing different time serie of prices. + * + * ROC and ROCP are centered at zero and can have positive and negative + * value. Here are some equivalence: + * ROC = ROCP/100 + * = ((price-prevPrice)/prevPrice)/100 + * = ((price/prevPrice)-1)*100 + * + * ROCR and ROCR100 are ratio respectively centered at 1 and 100 and are + * always positive values. + */ + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < optInTimePeriod ) + startIdx = optInTimePeriod; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Calculate Rate of change: ((price / prevPrice)-1)*100 */ + outIdx = 0; + inIdx = startIdx; + trailingIdx = startIdx - optInTimePeriod; + + while( inIdx <= endIdx ) + { + tempReal = inReal[trailingIdx++]; + if( tempReal != 0.0 ) + outReal[outIdx++] = ((inReal[inIdx] / tempReal)-1.0)*100.0; + else + outReal[outIdx++] = 0.0; + inIdx++; + } + + /* Set output limits. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Roc( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode roc( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_ROC( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int inIdx, outIdx, trailingIdx; +/* Generated */ double tempReal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 10; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ if( startIdx < optInTimePeriod ) +/* Generated */ startIdx = optInTimePeriod; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ inIdx = startIdx; +/* Generated */ trailingIdx = startIdx - optInTimePeriod; +/* Generated */ while( inIdx <= endIdx ) +/* Generated */ { +/* Generated */ tempReal = inReal[trailingIdx++]; +/* Generated */ if( tempReal != 0.0 ) +/* Generated */ outReal[outIdx++] = ((inReal[inIdx] / tempReal)-1.0)*100.0; +/* Generated */ else +/* Generated */ outReal[outIdx++] = 0.0; +/* Generated */ inIdx++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_ROCP.c b/vendor/ta-lib/src/ta_func/ta_ROCP.c new file mode 100644 index 000000000..eb0b95375 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_ROCP.c @@ -0,0 +1,347 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 010802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::RocPLookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int rocPLookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_ROCP_Lookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 10; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return optInTimePeriod; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_ROCP - Rate of change Percentage: (price-prevPrice)/prevPrice + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::RocP( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::RocP( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode rocP( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_ROCP( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + + int inIdx, outIdx, trailingIdx; + double tempReal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 10; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* The interpretation of the rate of change varies widely depending + * which software and/or books you are refering to. + * + * The following is the table of Rate-Of-Change implemented in TA-LIB: + * MOM = (price - prevPrice) [Momentum] + * ROC = ((price/prevPrice)-1)*100 [Rate of change] + * ROCP = (price-prevPrice)/prevPrice [Rate of change Percentage] + * ROCR = (price/prevPrice) [Rate of change ratio] + * ROCR100 = (price/prevPrice)*100 [Rate of change ratio 100 Scale] + * + * Here are the equivalent function in other software: + * TA-Lib | Tradestation | Metastock + * ================================================= + * MOM | Momentum | ROC (Point) + * ROC | ROC | ROC (Percent) + * ROCP | PercentChange | - + * ROCR | - | - + * ROCR100 | - | MO + * + * The MOM function is the only one who is not normalized, and thus + * should be avoided for comparing different time serie of prices. + * + * ROC and ROCP are centered at zero and can have positive and negative + * value. Here are some equivalence: + * ROC = ROCP/100 + * = ((price-prevPrice)/prevPrice)/100 + * = ((price/prevPrice)-1)*100 + * + * ROCR and ROCR100 are ratio respectively centered at 1 and 100 and are + * always positive values. + */ + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < optInTimePeriod ) + startIdx = optInTimePeriod; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Calculate Rate of change Ratio: (price / prevPrice) */ + outIdx = 0; + inIdx = startIdx; + trailingIdx = startIdx - optInTimePeriod; + + while( inIdx <= endIdx ) + { + tempReal = inReal[trailingIdx++]; + if( tempReal != 0.0 ) + outReal[outIdx++] = (inReal[inIdx]-tempReal)/tempReal; + else + outReal[outIdx++] = 0.0; + + inIdx++; + } + + /* Set output limits. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::RocP( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode rocP( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_ROCP( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int inIdx, outIdx, trailingIdx; +/* Generated */ double tempReal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 10; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ if( startIdx < optInTimePeriod ) +/* Generated */ startIdx = optInTimePeriod; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ inIdx = startIdx; +/* Generated */ trailingIdx = startIdx - optInTimePeriod; +/* Generated */ while( inIdx <= endIdx ) +/* Generated */ { +/* Generated */ tempReal = inReal[trailingIdx++]; +/* Generated */ if( tempReal != 0.0 ) +/* Generated */ outReal[outIdx++] = (inReal[inIdx]-tempReal)/tempReal; +/* Generated */ else +/* Generated */ outReal[outIdx++] = 0.0; +/* Generated */ inIdx++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_ROCR.c b/vendor/ta-lib/src/ta_func/ta_ROCR.c new file mode 100644 index 000000000..4314a4693 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_ROCR.c @@ -0,0 +1,348 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::RocRLookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int rocRLookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_ROCR_Lookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 10; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return optInTimePeriod; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_ROCR - Rate of change ratio: (price/prevPrice) + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::RocR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::RocR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode rocR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_ROCR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + + int inIdx, outIdx, trailingIdx; + double tempReal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 10; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* The interpretation of the rate of change varies widely depending + * which software and/or books you are refering to. + * + * The following is the table of Rate-Of-Change implemented in TA-LIB: + * MOM = (price - prevPrice) [Momentum] + * ROC = ((price/prevPrice)-1)*100 [Rate of change] + * ROCP = (price-prevPrice)/prevPrice [Rate of change Percentage] + * ROCR = (price/prevPrice) [Rate of change ratio] + * ROCR100 = (price/prevPrice)*100 [Rate of change ratio 100 Scale] + * + * Here are the equivalent function in other software: + * TA-Lib | Tradestation | Metastock + * ================================================= + * MOM | Momentum | ROC (Point) + * ROC | ROC | ROC (Percent) + * ROCP | PercentChange | - + * ROCR | - | - + * ROCR100 | - | MO + * + * The MOM function is the only one who is not normalized, and thus + * should be avoided for comparing different time serie of prices. + * + * ROC and ROCP are centered at zero and can have positive and negative + * value. Here are some equivalence: + * ROC = ROCP/100 + * = ((price-prevPrice)/prevPrice)/100 + * = ((price/prevPrice)-1)*100 + * + * ROCR and ROCR100 are ratio respectively centered at 1 and 100 and are + * always positive values. + */ + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < optInTimePeriod ) + startIdx = optInTimePeriod; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Calculate Rate of change Ratio: (price / prevPrice) */ + outIdx = 0; + inIdx = startIdx; + trailingIdx = startIdx - optInTimePeriod; + + while( inIdx <= endIdx ) + { + tempReal = inReal[trailingIdx++]; + if( tempReal != 0.0 ) + outReal[outIdx++] = (inReal[inIdx] / tempReal); + else + outReal[outIdx++] = 0.0; + + inIdx++; + } + + /* Set output limits. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::RocR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode rocR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_ROCR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int inIdx, outIdx, trailingIdx; +/* Generated */ double tempReal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 10; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ if( startIdx < optInTimePeriod ) +/* Generated */ startIdx = optInTimePeriod; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ inIdx = startIdx; +/* Generated */ trailingIdx = startIdx - optInTimePeriod; +/* Generated */ while( inIdx <= endIdx ) +/* Generated */ { +/* Generated */ tempReal = inReal[trailingIdx++]; +/* Generated */ if( tempReal != 0.0 ) +/* Generated */ outReal[outIdx++] = (inReal[inIdx] / tempReal); +/* Generated */ else +/* Generated */ outReal[outIdx++] = 0.0; +/* Generated */ inIdx++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_ROCR100.c b/vendor/ta-lib/src/ta_func/ta_ROCR100.c new file mode 100644 index 000000000..3db02bd31 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_ROCR100.c @@ -0,0 +1,347 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 010802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::RocR100Lookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int rocR100Lookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_ROCR100_Lookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 10; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return optInTimePeriod; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_ROCR100 - Rate of change ratio 100 scale: (price/prevPrice)*100 + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::RocR100( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::RocR100( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode rocR100( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_ROCR100( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + + int inIdx, outIdx, trailingIdx; + double tempReal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 10; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* The interpretation of the rate of change varies widely depending + * which software and/or books you are refering to. + * + * The following is the table of Rate-Of-Change implemented in TA-LIB: + * MOM = (price - prevPrice) [Momentum] + * ROC = ((price/prevPrice)-1)*100 [Rate of change] + * ROCP = (price-prevPrice)/prevPrice [Rate of change Percentage] + * ROCR = (price/prevPrice) [Rate of change ratio] + * ROCR100 = (price/prevPrice)*100 [Rate of change ratio 100 Scale] + * + * Here are the equivalent function in other software: + * TA-Lib | Tradestation | Metastock + * ================================================= + * MOM | Momentum | ROC (Point) + * ROC | ROC | ROC (Percent) + * ROCP | PercentChange | - + * ROCR | - | - + * ROCR100 | - | MO + * + * The MOM function is the only one who is not normalized, and thus + * should be avoided for comparing different time serie of prices. + * + * ROC and ROCP are centered at zero and can have positive and negative + * value. Here are some equivalence: + * ROC = ROCP/100 + * = ((price-prevPrice)/prevPrice)/100 + * = ((price/prevPrice)-1)*100 + * + * ROCR and ROCR100 are ratio respectively centered at 1 and 100 and are + * always positive values. + */ + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < optInTimePeriod ) + startIdx = optInTimePeriod; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Calculate Rate of change Ratio: (price / prevPrice) */ + outIdx = 0; + inIdx = startIdx; + trailingIdx = startIdx - optInTimePeriod; + + while( inIdx <= endIdx ) + { + tempReal = inReal[trailingIdx++]; + if( tempReal != 0.0 ) + outReal[outIdx++] = (inReal[inIdx] / tempReal)*100.0; + else + outReal[outIdx++] = 0.0; + + inIdx++; + } + + /* Set output limits. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::RocR100( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode rocR100( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_ROCR100( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int inIdx, outIdx, trailingIdx; +/* Generated */ double tempReal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 10; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ if( startIdx < optInTimePeriod ) +/* Generated */ startIdx = optInTimePeriod; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ inIdx = startIdx; +/* Generated */ trailingIdx = startIdx - optInTimePeriod; +/* Generated */ while( inIdx <= endIdx ) +/* Generated */ { +/* Generated */ tempReal = inReal[trailingIdx++]; +/* Generated */ if( tempReal != 0.0 ) +/* Generated */ outReal[outIdx++] = (inReal[inIdx] / tempReal)*100.0; +/* Generated */ else +/* Generated */ outReal[outIdx++] = 0.0; +/* Generated */ inIdx++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_RSI.c b/vendor/ta-lib/src/ta_func/ta_RSI.c new file mode 100644 index 000000000..d8cc104cc --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_RSI.c @@ -0,0 +1,599 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * 062804 MF Resolve div by zero bug on limit case. + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::RsiLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int rsiLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_RSI_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int retValue; + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + retValue = optInTimePeriod + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_RSI,Rsi); + if( TA_GLOBALS_COMPATIBILITY == ENUM_VALUE(Compatibility,TA_COMPATIBILITY_METASTOCK,Metastock) ) + retValue--; + + return retValue; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_RSI - Relative Strength Index + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Rsi( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Rsi( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode rsi( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_RSI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + int outIdx; + + int today, lookbackTotal, unstablePeriod, i; + double prevGain, prevLoss, prevValue, savePrevValue; + double tempValue1, tempValue2; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* The following algorithm is base on the original + * work from Wilder's and shall represent the + * original idea behind the classic RSI. + * + * Metastock is starting the calculation one price + * bar earlier. To make this possible, they assume + * that the very first bar will be identical to the + * previous one (no gain or loss). + */ + + /* If changing this function, please check also CMO + * which is mostly identical (just different in one step + * of calculation). + */ + + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + + /* Adjust startIdx to account for the lookback period. */ + lookbackTotal = LOOKBACK_CALL(RSI)( optInTimePeriod ); + + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + + outIdx = 0; /* Index into the output. */ + + /* Trap special case where the period is '1'. + * In that case, just copy the input into the + * output for the requested range (as-is !) + */ + if( optInTimePeriod == 1 ) + { + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + i = (endIdx-startIdx)+1; + VALUE_HANDLE_DEREF(outNBElement) = i; + #if defined( USE_SUBARRAY ) && !defined( USE_SINGLE_PRECISION_INPUT ) + ARRAY_MEMMOVE( outReal, 0, (inReal->mDataArray), (inReal->mOffset)+startIdx, i ); + #else + ARRAY_MEMMOVE( outReal, 0, inReal, startIdx, i ); + #endif + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Accumulate Wilder's "Average Gain" and "Average Loss" + * among the initial period. + */ + today = startIdx-lookbackTotal; + prevValue = inReal[today]; + + unstablePeriod = TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_RSI,Rsi); + + /* If there is no unstable period, + * calculate the 'additional' initial + * price bar who is particuliar to + * metastock. + * If there is an unstable period, + * no need to calculate since this + * first value will be surely skip. + */ + if( (unstablePeriod == 0) && + (TA_GLOBALS_COMPATIBILITY == ENUM_VALUE(Compatibility,TA_COMPATIBILITY_METASTOCK,Metastock))) + { + /* Preserve prevValue because it may get + * overwritten by the output. + *(because output ptr could be the same as input ptr). + */ + savePrevValue = prevValue; + + /* No unstable period, so must calculate first output + * particular to Metastock. + * (Metastock re-use the first price bar, so there + * is no loss/gain at first. Beats me why they + * are doing all this). + */ + prevGain = 0.0; + prevLoss = 0.0; + for( i=optInTimePeriod; i > 0; i-- ) + { + tempValue1 = inReal[today++]; + tempValue2 = tempValue1 - prevValue; + prevValue = tempValue1; + if( tempValue2 < 0 ) + prevLoss -= tempValue2; + else + prevGain += tempValue2; + } + + + tempValue1 = prevLoss/optInTimePeriod; + tempValue2 = prevGain/optInTimePeriod; + + /* Write the output. */ + tempValue1 = tempValue2+tempValue1; + if( !TA_IS_ZERO(tempValue1) ) + outReal[outIdx++] = 100*(tempValue2/tempValue1); + else + outReal[outIdx++] = 0.0; + + /* Are we done? */ + if( today > endIdx ) + { + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Start over for the next price bar. */ + today -= optInTimePeriod; + prevValue = savePrevValue; + } + + + /* Remaining of the processing is identical + * for both Classic calculation and Metastock. + */ + prevGain = 0.0; + prevLoss = 0.0; + today++; + for( i=optInTimePeriod; i > 0; i-- ) + { + tempValue1 = inReal[today++]; + tempValue2 = tempValue1 - prevValue; + prevValue = tempValue1; + if( tempValue2 < 0 ) + prevLoss -= tempValue2; + else + prevGain += tempValue2; + } + + + /* Subsequent prevLoss and prevGain are smoothed + * using the previous values (Wilder's approach). + * 1) Multiply the previous by 'period-1'. + * 2) Add today value. + * 3) Divide by 'period'. + */ + prevLoss /= optInTimePeriod; + prevGain /= optInTimePeriod; + + /* Often documentation present the RSI calculation as follow: + * RSI = 100 - (100 / 1 + (prevGain/prevLoss)) + * + * The following is equivalent: + * RSI = 100 * (prevGain/(prevGain+prevLoss)) + * + * The second equation is used here for speed optimization. + */ + if( today > startIdx ) + { + tempValue1 = prevGain+prevLoss; + if( !TA_IS_ZERO(tempValue1) ) + outReal[outIdx++] = 100.0*(prevGain/tempValue1); + else + outReal[outIdx++] = 0.0; + } + else + { + /* Skip the unstable period. Do the processing + * but do not write it in the output. + */ + while( today < startIdx ) + { + tempValue1 = inReal[today]; + tempValue2 = tempValue1 - prevValue; + prevValue = tempValue1; + + prevLoss *= (optInTimePeriod-1); + prevGain *= (optInTimePeriod-1); + if( tempValue2 < 0 ) + prevLoss -= tempValue2; + else + prevGain += tempValue2; + + prevLoss /= optInTimePeriod; + prevGain /= optInTimePeriod; + + today++; + } + } + + /* Unstable period skipped... now continue + * processing if needed. + */ + while( today <= endIdx ) + { + tempValue1 = inReal[today++]; + tempValue2 = tempValue1 - prevValue; + prevValue = tempValue1; + + prevLoss *= (optInTimePeriod-1); + prevGain *= (optInTimePeriod-1); + if( tempValue2 < 0 ) + prevLoss -= tempValue2; + else + prevGain += tempValue2; + + prevLoss /= optInTimePeriod; + prevGain /= optInTimePeriod; + tempValue1 = prevGain+prevLoss; + if( !TA_IS_ZERO(tempValue1) ) + outReal[outIdx++] = 100.0*(prevGain/tempValue1); + else + outReal[outIdx++] = 0.0; + } + + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Rsi( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode rsi( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_RSI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx; +/* Generated */ int today, lookbackTotal, unstablePeriod, i; +/* Generated */ double prevGain, prevLoss, prevValue, savePrevValue; +/* Generated */ double tempValue1, tempValue2; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ lookbackTotal = LOOKBACK_CALL(RSI)( optInTimePeriod ); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ outIdx = 0; +/* Generated */ if( optInTimePeriod == 1 ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ i = (endIdx-startIdx)+1; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = i; +/* Generated */ #if defined( USE_SUBARRAY ) && !defined( USE_SINGLE_PRECISION_INPUT ) +/* Generated */ ARRAY_MEMMOVE( outReal, 0, (inReal->mDataArray), (inReal->mOffset)+startIdx, i ); +/* Generated */ #else +/* Generated */ ARRAY_MEMMOVE( outReal, 0, inReal, startIdx, i ); +/* Generated */ #endif +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ today = startIdx-lookbackTotal; +/* Generated */ prevValue = inReal[today]; +/* Generated */ unstablePeriod = TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_RSI,Rsi); +/* Generated */ if( (unstablePeriod == 0) && +/* Generated */ (TA_GLOBALS_COMPATIBILITY == ENUM_VALUE(Compatibility,TA_COMPATIBILITY_METASTOCK,Metastock))) +/* Generated */ { +/* Generated */ savePrevValue = prevValue; +/* Generated */ prevGain = 0.0; +/* Generated */ prevLoss = 0.0; +/* Generated */ for( i=optInTimePeriod; i > 0; i-- ) +/* Generated */ { +/* Generated */ tempValue1 = inReal[today++]; +/* Generated */ tempValue2 = tempValue1 - prevValue; +/* Generated */ prevValue = tempValue1; +/* Generated */ if( tempValue2 < 0 ) +/* Generated */ prevLoss -= tempValue2; +/* Generated */ else +/* Generated */ prevGain += tempValue2; +/* Generated */ } +/* Generated */ tempValue1 = prevLoss/optInTimePeriod; +/* Generated */ tempValue2 = prevGain/optInTimePeriod; +/* Generated */ tempValue1 = tempValue2+tempValue1; +/* Generated */ if( !TA_IS_ZERO(tempValue1) ) +/* Generated */ outReal[outIdx++] = 100*(tempValue2/tempValue1); +/* Generated */ else +/* Generated */ outReal[outIdx++] = 0.0; +/* Generated */ if( today > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ today -= optInTimePeriod; +/* Generated */ prevValue = savePrevValue; +/* Generated */ } +/* Generated */ prevGain = 0.0; +/* Generated */ prevLoss = 0.0; +/* Generated */ today++; +/* Generated */ for( i=optInTimePeriod; i > 0; i-- ) +/* Generated */ { +/* Generated */ tempValue1 = inReal[today++]; +/* Generated */ tempValue2 = tempValue1 - prevValue; +/* Generated */ prevValue = tempValue1; +/* Generated */ if( tempValue2 < 0 ) +/* Generated */ prevLoss -= tempValue2; +/* Generated */ else +/* Generated */ prevGain += tempValue2; +/* Generated */ } +/* Generated */ prevLoss /= optInTimePeriod; +/* Generated */ prevGain /= optInTimePeriod; +/* Generated */ if( today > startIdx ) +/* Generated */ { +/* Generated */ tempValue1 = prevGain+prevLoss; +/* Generated */ if( !TA_IS_ZERO(tempValue1) ) +/* Generated */ outReal[outIdx++] = 100.0*(prevGain/tempValue1); +/* Generated */ else +/* Generated */ outReal[outIdx++] = 0.0; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ while( today < startIdx ) +/* Generated */ { +/* Generated */ tempValue1 = inReal[today]; +/* Generated */ tempValue2 = tempValue1 - prevValue; +/* Generated */ prevValue = tempValue1; +/* Generated */ prevLoss *= (optInTimePeriod-1); +/* Generated */ prevGain *= (optInTimePeriod-1); +/* Generated */ if( tempValue2 < 0 ) +/* Generated */ prevLoss -= tempValue2; +/* Generated */ else +/* Generated */ prevGain += tempValue2; +/* Generated */ prevLoss /= optInTimePeriod; +/* Generated */ prevGain /= optInTimePeriod; +/* Generated */ today++; +/* Generated */ } +/* Generated */ } +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ tempValue1 = inReal[today++]; +/* Generated */ tempValue2 = tempValue1 - prevValue; +/* Generated */ prevValue = tempValue1; +/* Generated */ prevLoss *= (optInTimePeriod-1); +/* Generated */ prevGain *= (optInTimePeriod-1); +/* Generated */ if( tempValue2 < 0 ) +/* Generated */ prevLoss -= tempValue2; +/* Generated */ else +/* Generated */ prevGain += tempValue2; +/* Generated */ prevLoss /= optInTimePeriod; +/* Generated */ prevGain /= optInTimePeriod; +/* Generated */ tempValue1 = prevGain+prevLoss; +/* Generated */ if( !TA_IS_ZERO(tempValue1) ) +/* Generated */ outReal[outIdx++] = 100.0*(prevGain/tempValue1); +/* Generated */ else +/* Generated */ outReal[outIdx++] = 0.0; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_SAR.c b/vendor/ta-lib/src/ta_func/ta_SAR.c new file mode 100644 index 000000000..a3f664e17 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_SAR.c @@ -0,0 +1,711 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * CF Christo Fogelberg + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 010802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * 122104 MF,CF Fix#1089506 for out-of-bound access to ep_temp. + */ + +/* SAR_ROUNDING is just for test purpose when cross-referencing that + * function with example from Wilder's book. Wilder is using two + * decimal rounding for simplification. TA-Lib does not round. + */ +/* #define SAR_ROUNDING(x) x=round_pos_2(x) */ +#define SAR_ROUNDING(x) + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::SarLookback( double optInAcceleration, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInMaximum ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int sarLookback( double optInAcceleration, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInMaximum ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_SAR_Lookback( double optInAcceleration, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInMaximum ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( optInAcceleration == TA_REAL_DEFAULT ) +/* Generated */ optInAcceleration = 2.000000e-2; +/* Generated */ else if( (optInAcceleration < 0.000000e+0) ||/* Generated */ (optInAcceleration > 3.000000e+37) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ if( optInMaximum == TA_REAL_DEFAULT ) +/* Generated */ optInMaximum = 2.000000e-1; +/* Generated */ else if( (optInMaximum < 0.000000e+0) ||/* Generated */ (optInMaximum > 3.000000e+37) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + UNUSED_VARIABLE(optInAcceleration); + UNUSED_VARIABLE(optInMaximum); + + /* SAR always sacrify one price bar to establish the + * initial extreme price. + */ + return 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_SAR - Parabolic SAR + * + * Input = High, Low + * Output = double + * + * Optional Parameters + * ------------------- + * optInAcceleration:(From 0 to TA_REAL_MAX) + * Acceleration Factor used up to the Maximum value + * + * optInMaximum:(From 0 to TA_REAL_MAX) + * Acceleration Factor Maximum value + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Sar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ double optInAcceleration, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInMaximum, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Sar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ double optInAcceleration, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInMaximum, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode sar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double optInAcceleration, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInMaximum, /* From 0 to TA_REAL_MAX */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_SAR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ double optInAcceleration, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInMaximum, /* From 0 to TA_REAL_MAX */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + ENUM_DECLARATION(RetCode) retCode; + + int isLong; /* > 0 indicates long. == 0 indicates short */ + int todayIdx, outIdx; + + VALUE_HANDLE_INT(tempInt); + + double newHigh, newLow, prevHigh, prevLow; + double af, ep, sar; + ARRAY_LOCAL(ep_temp,1); + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inHigh||!inLow) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ if( optInAcceleration == TA_REAL_DEFAULT ) +/* Generated */ optInAcceleration = 2.000000e-2; +/* Generated */ else if( (optInAcceleration < 0.000000e+0) ||/* Generated */ (optInAcceleration > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( optInMaximum == TA_REAL_DEFAULT ) +/* Generated */ optInMaximum = 2.000000e-1; +/* Generated */ else if( (optInMaximum < 0.000000e+0) ||/* Generated */ (optInMaximum > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Implementation of the SAR has been a little bit open to interpretation + * since Wilder (the original author) did not define a precise algorithm + * on how to bootstrap the algorithm. Take any existing software application + * and you will see slight variation on how the algorithm was adapted. + * + * What is the initial trade direction? Long or short? + * =================================================== + * The interpretation of what should be the initial SAR values is + * open to interpretation, particularly since the caller to the function + * does not specify the initial direction of the trade. + * + * In TA-Lib, the following logic is used: + * - Calculate +DM and -DM between the first and + * second bar. The highest directional indication will + * indicate the assumed direction of the trade for the second + * price bar. + * - In the case of a tie between +DM and -DM, + * the direction is LONG by default. + * + * What is the initial "extreme point" and thus SAR? + * ================================================= + * The following shows how different people took different approach: + * - Metastock use the first price bar high/low depending of + * the direction. No SAR is calculated for the first price + * bar. + * - Tradestation use the closing price of the second bar. No + * SAR are calculated for the first price bar. + * - Wilder (the original author) use the SIP from the + * previous trade (cannot be implement here since the + * direction and length of the previous trade is unknonw). + * - The Magazine TASC seems to follow Wilder approach which + * is not practical here. + * + * TA-Lib "consume" the first price bar and use its high/low as the + * initial SAR of the second price bar. I found that approach to be + * the closest to Wilders idea of having the first entry day use + * the previous extreme point, except that here the extreme point is + * derived solely from the first price bar. I found the same approach + * to be used by Metastock. + */ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + * + * Move up the start index if there is not + * enough initial data. + */ + if( startIdx < 1 ) + startIdx = 1; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Make sure the acceleration and maximum are coherent. + * If not, correct the acceleration. + */ + af = optInAcceleration; + if( af > optInMaximum ) + af = optInAcceleration = optInMaximum; + + /* Identify if the initial direction is long or short. + * (ep is just used as a temp buffer here, the name + * of the parameter is not significant). + */ + retCode = FUNCTION_CALL(MINUS_DM)( startIdx, startIdx, inHigh, inLow, 1, + VALUE_HANDLE_OUT(tempInt), VALUE_HANDLE_OUT(tempInt), + ep_temp ); + if( ep_temp[0] > 0 ) + isLong = 0; + else + isLong = 1; + + if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return retCode; + } + + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + outIdx = 0; + + /* Write the first SAR. */ + todayIdx = startIdx; + + newHigh = inHigh[todayIdx-1]; + newLow = inLow[todayIdx-1]; + + SAR_ROUNDING(newHigh); + SAR_ROUNDING(newLow); + + if( isLong == 1 ) + { + ep = inHigh[todayIdx]; + sar = newLow; + } + else + { + ep = inLow[todayIdx]; + sar = newHigh; + } + + SAR_ROUNDING(sar); + + /* Cheat on the newLow and newHigh for the + * first iteration. + */ + newLow = inLow[todayIdx]; + newHigh = inHigh[todayIdx]; + + while( todayIdx <= endIdx ) + { + prevLow = newLow; + prevHigh = newHigh; + newLow = inLow[todayIdx]; + newHigh = inHigh[todayIdx]; + todayIdx++; + + SAR_ROUNDING(newLow); + SAR_ROUNDING(newHigh); + + if( isLong == 1 ) + { + /* Switch to short if the low penetrates the SAR value. */ + if( newLow <= sar ) + { + /* Switch and Overide the SAR with the ep */ + isLong = 0; + sar = ep; + + /* Make sure the overide SAR is within + * yesterday's and today's range. + */ + if( sar < prevHigh ) + sar = prevHigh; + if( sar < newHigh ) + sar = newHigh; + + /* Output the overide SAR */ + outReal[outIdx++] = sar; + + /* Adjust af and ep */ + af = optInAcceleration; + ep = newLow; + + /* Calculate the new SAR */ + sar = sar + af * (ep - sar); + SAR_ROUNDING( sar ); + + /* Make sure the new SAR is within + * yesterday's and today's range. + */ + if( sar < prevHigh ) + sar = prevHigh; + if( sar < newHigh ) + sar = newHigh; + } + else + { + /* No switch */ + + /* Output the SAR (was calculated in the previous iteration) */ + outReal[outIdx++] = sar; + + /* Adjust af and ep. */ + if( newHigh > ep ) + { + ep = newHigh; + af += optInAcceleration; + if( af > optInMaximum ) + af = optInMaximum; + } + + /* Calculate the new SAR */ + sar = sar + af * (ep - sar); + SAR_ROUNDING( sar ); + + /* Make sure the new SAR is within + * yesterday's and today's range. + */ + if( sar > prevLow ) + sar = prevLow; + if( sar > newLow ) + sar = newLow; + } + } + else + { + /* Switch to long if the high penetrates the SAR value. */ + if( newHigh >= sar ) + { + /* Switch and Overide the SAR with the ep */ + isLong = 1; + sar = ep; + + /* Make sure the overide SAR is within + * yesterday's and today's range. + */ + if( sar > prevLow ) + sar = prevLow; + if( sar > newLow ) + sar = newLow; + + /* Output the overide SAR */ + outReal[outIdx++] = sar; + + /* Adjust af and ep */ + af = optInAcceleration; + ep = newHigh; + + /* Calculate the new SAR */ + sar = sar + af * (ep - sar); + SAR_ROUNDING( sar ); + + /* Make sure the new SAR is within + * yesterday's and today's range. + */ + if( sar > prevLow ) + sar = prevLow; + if( sar > newLow ) + sar = newLow; + } + else + { + /* No switch */ + + /* Output the SAR (was calculated in the previous iteration) */ + outReal[outIdx++] = sar; + + /* Adjust af and ep. */ + if( newLow < ep ) + { + ep = newLow; + af += optInAcceleration; + if( af > optInMaximum ) + af = optInMaximum; + } + + /* Calculate the new SAR */ + sar = sar + af * (ep - sar); + SAR_ROUNDING( sar ); + + /* Make sure the new SAR is within + * yesterday's and today's range. + */ + if( sar < prevHigh ) + sar = prevHigh; + if( sar < newHigh ) + sar = newHigh; + } + } + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Sar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ double optInAcceleration, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInMaximum, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode sar( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ double optInAcceleration, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInMaximum, /* From 0 to TA_REAL_MAX */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_SAR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ double optInAcceleration, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInMaximum, /* From 0 to TA_REAL_MAX */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ENUM_DECLARATION(RetCode) retCode; +/* Generated */ int isLong; +/* Generated */ int todayIdx, outIdx; +/* Generated */ VALUE_HANDLE_INT(tempInt); +/* Generated */ double newHigh, newLow, prevHigh, prevLow; +/* Generated */ double af, ep, sar; +/* Generated */ ARRAY_LOCAL(ep_temp,1); +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inHigh||!inLow) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( optInAcceleration == TA_REAL_DEFAULT ) +/* Generated */ optInAcceleration = 2.000000e-2; +/* Generated */ else if( (optInAcceleration < 0.000000e+0) || (optInAcceleration > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( optInMaximum == TA_REAL_DEFAULT ) +/* Generated */ optInMaximum = 2.000000e-1; +/* Generated */ else if( (optInMaximum < 0.000000e+0) || (optInMaximum > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ if( startIdx < 1 ) +/* Generated */ startIdx = 1; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ af = optInAcceleration; +/* Generated */ if( af > optInMaximum ) +/* Generated */ af = optInAcceleration = optInMaximum; +/* Generated */ retCode = FUNCTION_CALL(MINUS_DM)( startIdx, startIdx, inHigh, inLow, 1, +/* Generated */ VALUE_HANDLE_OUT(tempInt), VALUE_HANDLE_OUT(tempInt), +/* Generated */ ep_temp ); +/* Generated */ if( ep_temp[0] > 0 ) +/* Generated */ isLong = 0; +/* Generated */ else +/* Generated */ isLong = 1; +/* Generated */ if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ todayIdx = startIdx; +/* Generated */ newHigh = inHigh[todayIdx-1]; +/* Generated */ newLow = inLow[todayIdx-1]; +/* Generated */ SAR_ROUNDING(newHigh); +/* Generated */ SAR_ROUNDING(newLow); +/* Generated */ if( isLong == 1 ) +/* Generated */ { +/* Generated */ ep = inHigh[todayIdx]; +/* Generated */ sar = newLow; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ ep = inLow[todayIdx]; +/* Generated */ sar = newHigh; +/* Generated */ } +/* Generated */ SAR_ROUNDING(sar); +/* Generated */ newLow = inLow[todayIdx]; +/* Generated */ newHigh = inHigh[todayIdx]; +/* Generated */ while( todayIdx <= endIdx ) +/* Generated */ { +/* Generated */ prevLow = newLow; +/* Generated */ prevHigh = newHigh; +/* Generated */ newLow = inLow[todayIdx]; +/* Generated */ newHigh = inHigh[todayIdx]; +/* Generated */ todayIdx++; +/* Generated */ SAR_ROUNDING(newLow); +/* Generated */ SAR_ROUNDING(newHigh); +/* Generated */ if( isLong == 1 ) +/* Generated */ { +/* Generated */ if( newLow <= sar ) +/* Generated */ { +/* Generated */ isLong = 0; +/* Generated */ sar = ep; +/* Generated */ if( sar < prevHigh ) +/* Generated */ sar = prevHigh; +/* Generated */ if( sar < newHigh ) +/* Generated */ sar = newHigh; +/* Generated */ outReal[outIdx++] = sar; +/* Generated */ af = optInAcceleration; +/* Generated */ ep = newLow; +/* Generated */ sar = sar + af * (ep - sar); +/* Generated */ SAR_ROUNDING( sar ); +/* Generated */ if( sar < prevHigh ) +/* Generated */ sar = prevHigh; +/* Generated */ if( sar < newHigh ) +/* Generated */ sar = newHigh; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ outReal[outIdx++] = sar; +/* Generated */ if( newHigh > ep ) +/* Generated */ { +/* Generated */ ep = newHigh; +/* Generated */ af += optInAcceleration; +/* Generated */ if( af > optInMaximum ) +/* Generated */ af = optInMaximum; +/* Generated */ } +/* Generated */ sar = sar + af * (ep - sar); +/* Generated */ SAR_ROUNDING( sar ); +/* Generated */ if( sar > prevLow ) +/* Generated */ sar = prevLow; +/* Generated */ if( sar > newLow ) +/* Generated */ sar = newLow; +/* Generated */ } +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ if( newHigh >= sar ) +/* Generated */ { +/* Generated */ isLong = 1; +/* Generated */ sar = ep; +/* Generated */ if( sar > prevLow ) +/* Generated */ sar = prevLow; +/* Generated */ if( sar > newLow ) +/* Generated */ sar = newLow; +/* Generated */ outReal[outIdx++] = sar; +/* Generated */ af = optInAcceleration; +/* Generated */ ep = newHigh; +/* Generated */ sar = sar + af * (ep - sar); +/* Generated */ SAR_ROUNDING( sar ); +/* Generated */ if( sar > prevLow ) +/* Generated */ sar = prevLow; +/* Generated */ if( sar > newLow ) +/* Generated */ sar = newLow; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ outReal[outIdx++] = sar; +/* Generated */ if( newLow < ep ) +/* Generated */ { +/* Generated */ ep = newLow; +/* Generated */ af += optInAcceleration; +/* Generated */ if( af > optInMaximum ) +/* Generated */ af = optInMaximum; +/* Generated */ } +/* Generated */ sar = sar + af * (ep - sar); +/* Generated */ SAR_ROUNDING( sar ); +/* Generated */ if( sar < prevHigh ) +/* Generated */ sar = prevHigh; +/* Generated */ if( sar < newHigh ) +/* Generated */ sar = newHigh; +/* Generated */ } +/* Generated */ } +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_SAREXT.c b/vendor/ta-lib/src/ta_func/ta_SAREXT.c new file mode 100644 index 000000000..5f2cbb929 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_SAREXT.c @@ -0,0 +1,985 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * PP Peter Pudaite + * CF Christo Fogelberg + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120802 MF Template creation. + * 091503 PP Reworked TA_SAR to allow customisation of more SAR params. + * 092103 MF Some changes related on first round of tests + * 092303 PP Minor bug fixes. + * 122104 MF,CF Fix#1089506 for out-of-bound access to ep_temp. + * + */ + +/* SAR_ROUNDING is just for test purpose when cross-referencing that + * function with example from Wilder's book. Wilder is using two + * decimal rounding for simplification. TA-Lib does not round. + */ +/* #define SAR_ROUNDING(x) x=round_pos_2(x) */ +#define SAR_ROUNDING(x) + + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::SarExtLookback( double optInStartValue, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ double optInOffsetOnReverse, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationInitLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationMaxLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationInitShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationMaxShort ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int sarExtLookback( double optInStartValue, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ double optInOffsetOnReverse, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationInitLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationMaxLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationInitShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationMaxShort ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_SAREXT_Lookback( double optInStartValue, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ double optInOffsetOnReverse, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationInitLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationMaxLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationInitShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationMaxShort ) /* From 0 to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( optInStartValue == TA_REAL_DEFAULT ) +/* Generated */ optInStartValue = 0.000000e+0; +/* Generated */ else if( (optInStartValue < -3.000000e+37) ||/* Generated */ (optInStartValue > 3.000000e+37) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ if( optInOffsetOnReverse == TA_REAL_DEFAULT ) +/* Generated */ optInOffsetOnReverse = 0.000000e+0; +/* Generated */ else if( (optInOffsetOnReverse < 0.000000e+0) ||/* Generated */ (optInOffsetOnReverse > 3.000000e+37) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ if( optInAccelerationInitLong == TA_REAL_DEFAULT ) +/* Generated */ optInAccelerationInitLong = 2.000000e-2; +/* Generated */ else if( (optInAccelerationInitLong < 0.000000e+0) ||/* Generated */ (optInAccelerationInitLong > 3.000000e+37) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ if( optInAccelerationLong == TA_REAL_DEFAULT ) +/* Generated */ optInAccelerationLong = 2.000000e-2; +/* Generated */ else if( (optInAccelerationLong < 0.000000e+0) ||/* Generated */ (optInAccelerationLong > 3.000000e+37) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ if( optInAccelerationMaxLong == TA_REAL_DEFAULT ) +/* Generated */ optInAccelerationMaxLong = 2.000000e-1; +/* Generated */ else if( (optInAccelerationMaxLong < 0.000000e+0) ||/* Generated */ (optInAccelerationMaxLong > 3.000000e+37) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ if( optInAccelerationInitShort == TA_REAL_DEFAULT ) +/* Generated */ optInAccelerationInitShort = 2.000000e-2; +/* Generated */ else if( (optInAccelerationInitShort < 0.000000e+0) ||/* Generated */ (optInAccelerationInitShort > 3.000000e+37) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ if( optInAccelerationShort == TA_REAL_DEFAULT ) +/* Generated */ optInAccelerationShort = 2.000000e-2; +/* Generated */ else if( (optInAccelerationShort < 0.000000e+0) ||/* Generated */ (optInAccelerationShort > 3.000000e+37) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ if( optInAccelerationMaxShort == TA_REAL_DEFAULT ) +/* Generated */ optInAccelerationMaxShort = 2.000000e-1; +/* Generated */ else if( (optInAccelerationMaxShort < 0.000000e+0) ||/* Generated */ (optInAccelerationMaxShort > 3.000000e+37) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + UNUSED_VARIABLE(optInStartValue); + UNUSED_VARIABLE(optInOffsetOnReverse); + UNUSED_VARIABLE(optInAccelerationInitLong); + UNUSED_VARIABLE(optInAccelerationLong); + UNUSED_VARIABLE(optInAccelerationMaxLong); + UNUSED_VARIABLE(optInAccelerationInitShort); + UNUSED_VARIABLE(optInAccelerationShort); + UNUSED_VARIABLE(optInAccelerationMaxShort); + + /* SAR always sacrifices one price bar to establish the + * initial extreme price. + */ + + return 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_SAREXT - Parabolic SAR - Extended + * + * Input = High, Low + * Output = double + * + * Optional Parameters + * ------------------- + * optInStartValue:(From TA_REAL_MIN to TA_REAL_MAX) + * Start value and direction. 0 for Auto, >0 for Long, <0 for Short + * + * optInOffsetOnReverse:(From 0 to TA_REAL_MAX) + * Percent offset added/removed to initial stop on short/long reversal + * + * optInAccelerationInitLong:(From 0 to TA_REAL_MAX) + * Acceleration Factor initial value for the Long direction + * + * optInAccelerationLong:(From 0 to TA_REAL_MAX) + * Acceleration Factor for the Long direction + * + * optInAccelerationMaxLong:(From 0 to TA_REAL_MAX) + * Acceleration Factor maximum value for the Long direction + * + * optInAccelerationInitShort:(From 0 to TA_REAL_MAX) + * Acceleration Factor initial value for the Short direction + * + * optInAccelerationShort:(From 0 to TA_REAL_MAX) + * Acceleration Factor for the Short direction + * + * optInAccelerationMaxShort:(From 0 to TA_REAL_MAX) + * Acceleration Factor maximum value for the Short direction + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::SarExt( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ double optInStartValue, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ double optInOffsetOnReverse, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationInitLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationMaxLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationInitShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationMaxShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::SarExt( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ double optInStartValue, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ double optInOffsetOnReverse, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationInitLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationMaxLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationInitShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationMaxShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode sarExt( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double optInStartValue, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ double optInOffsetOnReverse, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationInitLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationMaxLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationInitShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationMaxShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_SAREXT( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ double optInStartValue, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ double optInOffsetOnReverse, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationInitLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationMaxLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationInitShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationMaxShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + ENUM_DECLARATION(RetCode) retCode; + + int isLong; /* > 0 indicates long. == 0 indicates short */ + int todayIdx, outIdx; + + VALUE_HANDLE_INT(tempInt); + + double newHigh, newLow, prevHigh, prevLow; + double afLong, afShort, ep, sar; + ARRAY_LOCAL(ep_temp,1); + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inHigh||!inLow) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ if( optInStartValue == TA_REAL_DEFAULT ) +/* Generated */ optInStartValue = 0.000000e+0; +/* Generated */ else if( (optInStartValue < -3.000000e+37) ||/* Generated */ (optInStartValue > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( optInOffsetOnReverse == TA_REAL_DEFAULT ) +/* Generated */ optInOffsetOnReverse = 0.000000e+0; +/* Generated */ else if( (optInOffsetOnReverse < 0.000000e+0) ||/* Generated */ (optInOffsetOnReverse > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( optInAccelerationInitLong == TA_REAL_DEFAULT ) +/* Generated */ optInAccelerationInitLong = 2.000000e-2; +/* Generated */ else if( (optInAccelerationInitLong < 0.000000e+0) ||/* Generated */ (optInAccelerationInitLong > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( optInAccelerationLong == TA_REAL_DEFAULT ) +/* Generated */ optInAccelerationLong = 2.000000e-2; +/* Generated */ else if( (optInAccelerationLong < 0.000000e+0) ||/* Generated */ (optInAccelerationLong > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( optInAccelerationMaxLong == TA_REAL_DEFAULT ) +/* Generated */ optInAccelerationMaxLong = 2.000000e-1; +/* Generated */ else if( (optInAccelerationMaxLong < 0.000000e+0) ||/* Generated */ (optInAccelerationMaxLong > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( optInAccelerationInitShort == TA_REAL_DEFAULT ) +/* Generated */ optInAccelerationInitShort = 2.000000e-2; +/* Generated */ else if( (optInAccelerationInitShort < 0.000000e+0) ||/* Generated */ (optInAccelerationInitShort > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( optInAccelerationShort == TA_REAL_DEFAULT ) +/* Generated */ optInAccelerationShort = 2.000000e-2; +/* Generated */ else if( (optInAccelerationShort < 0.000000e+0) ||/* Generated */ (optInAccelerationShort > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( optInAccelerationMaxShort == TA_REAL_DEFAULT ) +/* Generated */ optInAccelerationMaxShort = 2.000000e-1; +/* Generated */ else if( (optInAccelerationMaxShort < 0.000000e+0) ||/* Generated */ (optInAccelerationMaxShort > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* This function is the same as TA_SAR, except that the caller has + * greater control on the SAR dynamic and initial state. + * + * In additon, the TA_SAREXT returns negative values when the position + * is short. This allow to distinguish when the SAR do actually reverse. + */ + + /* Implementation of the SAR has been a little bit open to interpretation + * since Wilder (the original author) did not define a precise algorithm + * on how to bootstrap the algorithm. Take any existing software application + * and you will see slight variation on how the algorithm was adapted. + * + * What is the initial trade direction? Long or short? + * =================================================== + * The interpretation of what should be the initial SAR values is + * open to interpretation, particularly since the caller to the function + * does not specify the initial direction of the trade. + * + * In TA-Lib, the following default logic is used: + * - Calculate +DM and -DM between the first and + * second bar. The highest directional indication will + * indicate the assumed direction of the trade for the second + * price bar. + * - In the case of a tie between +DM and -DM, + * the direction is LONG by default. + * + * What is the initial "extreme point" and thus SAR? + * ================================================= + * The following shows how different people took different approach: + * - Metastock use the first price bar high/low depending of + * the direction. No SAR is calculated for the first price + * bar. + * - Tradestation use the closing price of the second bar. No + * SAR are calculated for the first price bar. + * - Wilder (the original author) use the SIP from the + * previous trade (cannot be implement here since the + * direction and length of the previous trade is unknonw). + * - The Magazine TASC seems to follow Wilder approach which + * is not practical here. + * + * TA-Lib "consume" the first price bar and use its high/low as the + * initial SAR of the second price bar. I found that approach to be + * the closest to Wilders idea of having the first entry day use + * the previous extreme point, except that here the extreme point is + * derived solely from the first price bar. I found the same approach + * to be used by Metastock. + * + * + * Can I force the initial SAR? + * ============================ + * Yes. Using the optInStartValue_0 parameter: + * optInStartValue_0 > 0 : SAR is long at optInStartValue_0. + * optInStartValue_0 < 0 : SAR is short at fabs(optInStartValue_0). + * + * And when optInStartValue_0 == 0, the logic is the same as for TA_SAR + * (See previous two sections). + */ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + * + * Move up the start index if there is not + * enough initial data. + */ + if( startIdx < 1 ) + startIdx = 1; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + + /* Check if the acceleration factors are being defined by the user. + * Make sure the acceleration and maximum are coherent. + * If not, correct the acceleration. + * Default afLong = 0.02 + * Default afShort = 0.02 + */ + + afLong = optInAccelerationInitLong; + afShort = optInAccelerationInitShort; + + if( afLong > optInAccelerationMaxLong ) + afLong = optInAccelerationInitLong = optInAccelerationMaxLong; + + if( optInAccelerationLong > optInAccelerationMaxLong ) + optInAccelerationLong = optInAccelerationMaxLong; + + if( afShort > optInAccelerationMaxShort) + afShort = optInAccelerationInitShort = optInAccelerationMaxShort; + + if( optInAccelerationShort > optInAccelerationMaxShort ) + optInAccelerationShort = optInAccelerationMaxShort; + + /* Initialise SAR calculations */ + + if(optInStartValue == 0) /* Default action */ + { + /* Identify if the initial direction is long or short. + * (ep is just used as a temp buffer here, the name + * of the parameter is not significant). + */ + retCode = FUNCTION_CALL(MINUS_DM)( startIdx, startIdx, inHigh, inLow, 1, + VALUE_HANDLE_OUT(tempInt), VALUE_HANDLE_OUT(tempInt), + ep_temp ); + if( ep_temp[0] > 0 ) + isLong = 0; + else + isLong = 1; + + if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return retCode; + } + } + else if( optInStartValue > 0 ) /* Start Long */ + { + isLong = 1; + } + else /* optInStartValue_0 < 0 => Start Short */ + { + isLong = 0; + } + + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + outIdx = 0; + + + /* Write the first SAR. */ + todayIdx = startIdx; + + newHigh = inHigh[todayIdx-1]; + newLow = inLow[todayIdx-1]; + + SAR_ROUNDING(newHigh); + SAR_ROUNDING(newLow); + + if(optInStartValue == 0) /* Default action */ + { + if( isLong == 1 ) + { + ep = inHigh[todayIdx]; + sar = newLow; + } + else + { + ep = inLow[todayIdx]; + sar = newHigh; + } + } + else if ( optInStartValue > 0 ) /* Start Long at specified value. */ + { + ep = inHigh[todayIdx]; + sar = optInStartValue; + } + else /* if optInStartValue < 0 => Start Short at specified value. */ + { + ep = inLow[todayIdx]; + sar = std_fabs(optInStartValue); + } + + SAR_ROUNDING(sar); + + /* Cheat on the newLow and newHigh for the + * first iteration. + */ + newLow = inLow[todayIdx]; + newHigh = inHigh[todayIdx]; + + while( todayIdx <= endIdx ) + { + prevLow = newLow; + prevHigh = newHigh; + newLow = inLow[todayIdx]; + newHigh = inHigh[todayIdx]; + todayIdx++; + + SAR_ROUNDING(newLow); + SAR_ROUNDING(newHigh); + + if( isLong == 1 ) + { + /* Switch to short if the low penetrates the SAR value. */ + if( newLow <= sar ) + { + /* Switch and Overide the SAR with the ep */ + isLong = 0; + sar = ep; + + /* Make sure the overide SAR is within + * yesterday's and today's range. + */ + if( sar < prevHigh ) + sar = prevHigh; + if( sar < newHigh ) + sar = newHigh; + + /* Output the overide SAR */ + if( optInOffsetOnReverse != 0.0 ) + sar += sar * optInOffsetOnReverse; + outReal[outIdx++] = -sar; + + /* Adjust afShort and ep */ + afShort = optInAccelerationInitShort; + ep = newLow; + + /* Calculate the new SAR */ + sar = sar + afShort * (ep - sar); + SAR_ROUNDING( sar ); + + /* Make sure the new SAR is within + * yesterday's and today's range. + */ + if( sar < prevHigh ) + sar = prevHigh; + if( sar < newHigh ) + sar = newHigh; + } + else + { + /* No switch */ + + /* Output the SAR (was calculated in the previous iteration) */ + outReal[outIdx++] = sar; + + /* Adjust afLong and ep. */ + if( newHigh > ep ) + { + ep = newHigh; + afLong += optInAccelerationLong; + if( afLong > optInAccelerationMaxLong ) + afLong = optInAccelerationMaxLong; + } + + /* Calculate the new SAR */ + sar = sar + afLong * (ep - sar); + SAR_ROUNDING( sar ); + + /* Make sure the new SAR is within + * yesterday's and today's range. + */ + if( sar > prevLow ) + sar = prevLow; + if( sar > newLow ) + sar = newLow; + } + } + else + { + /* Switch to long if the high penetrates the SAR value. */ + if( newHigh >= sar ) + { + /* Switch and Overide the SAR with the ep */ + isLong = 1; + sar = ep; + + /* Make sure the overide SAR is within + * yesterday's and today's range. + */ + if( sar > prevLow ) + sar = prevLow; + if( sar > newLow ) + sar = newLow; + + /* Output the overide SAR */ + if( optInOffsetOnReverse != 0.0 ) + sar -= sar * optInOffsetOnReverse; + outReal[outIdx++] = sar; + + /* Adjust afLong and ep */ + afLong = optInAccelerationInitLong; + ep = newHigh; + + /* Calculate the new SAR */ + sar = sar + afLong * (ep - sar); + SAR_ROUNDING( sar ); + + /* Make sure the new SAR is within + * yesterday's and today's range. + */ + if( sar > prevLow ) + sar = prevLow; + if( sar > newLow ) + sar = newLow; + } + else + { + /* No switch */ + + /* Output the SAR (was calculated in the previous iteration) */ + outReal[outIdx++] = -sar; + + /* Adjust afShort and ep. */ + if( newLow < ep ) + { + ep = newLow; + afShort += optInAccelerationShort; + if( afShort > optInAccelerationMaxShort ) + afShort = optInAccelerationMaxShort; + } + + /* Calculate the new SAR */ + sar = sar + afShort * (ep - sar); + SAR_ROUNDING( sar ); + + /* Make sure the new SAR is within + * yesterday's and today's range. + */ + if( sar < prevHigh ) + sar = prevHigh; + if( sar < newHigh ) + sar = newHigh; + } + } + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::SarExt( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ double optInStartValue, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ double optInOffsetOnReverse, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationInitLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationMaxLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationInitShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationMaxShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode sarExt( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ double optInStartValue, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ double optInOffsetOnReverse, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationInitLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationMaxLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationInitShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationMaxShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_SAREXT( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ double optInStartValue, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ double optInOffsetOnReverse, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationInitLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationMaxLong, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationInitShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ double optInAccelerationMaxShort, /* From 0 to TA_REAL_MAX */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ENUM_DECLARATION(RetCode) retCode; +/* Generated */ int isLong; +/* Generated */ int todayIdx, outIdx; +/* Generated */ VALUE_HANDLE_INT(tempInt); +/* Generated */ double newHigh, newLow, prevHigh, prevLow; +/* Generated */ double afLong, afShort, ep, sar; +/* Generated */ ARRAY_LOCAL(ep_temp,1); +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inHigh||!inLow) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( optInStartValue == TA_REAL_DEFAULT ) +/* Generated */ optInStartValue = 0.000000e+0; +/* Generated */ else if( (optInStartValue < -3.000000e+37) || (optInStartValue > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( optInOffsetOnReverse == TA_REAL_DEFAULT ) +/* Generated */ optInOffsetOnReverse = 0.000000e+0; +/* Generated */ else if( (optInOffsetOnReverse < 0.000000e+0) || (optInOffsetOnReverse > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( optInAccelerationInitLong == TA_REAL_DEFAULT ) +/* Generated */ optInAccelerationInitLong = 2.000000e-2; +/* Generated */ else if( (optInAccelerationInitLong < 0.000000e+0) || (optInAccelerationInitLong > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( optInAccelerationLong == TA_REAL_DEFAULT ) +/* Generated */ optInAccelerationLong = 2.000000e-2; +/* Generated */ else if( (optInAccelerationLong < 0.000000e+0) || (optInAccelerationLong > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( optInAccelerationMaxLong == TA_REAL_DEFAULT ) +/* Generated */ optInAccelerationMaxLong = 2.000000e-1; +/* Generated */ else if( (optInAccelerationMaxLong < 0.000000e+0) || (optInAccelerationMaxLong > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( optInAccelerationInitShort == TA_REAL_DEFAULT ) +/* Generated */ optInAccelerationInitShort = 2.000000e-2; +/* Generated */ else if( (optInAccelerationInitShort < 0.000000e+0) || (optInAccelerationInitShort > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( optInAccelerationShort == TA_REAL_DEFAULT ) +/* Generated */ optInAccelerationShort = 2.000000e-2; +/* Generated */ else if( (optInAccelerationShort < 0.000000e+0) || (optInAccelerationShort > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( optInAccelerationMaxShort == TA_REAL_DEFAULT ) +/* Generated */ optInAccelerationMaxShort = 2.000000e-1; +/* Generated */ else if( (optInAccelerationMaxShort < 0.000000e+0) || (optInAccelerationMaxShort > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ if( startIdx < 1 ) +/* Generated */ startIdx = 1; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ afLong = optInAccelerationInitLong; +/* Generated */ afShort = optInAccelerationInitShort; +/* Generated */ if( afLong > optInAccelerationMaxLong ) +/* Generated */ afLong = optInAccelerationInitLong = optInAccelerationMaxLong; +/* Generated */ if( optInAccelerationLong > optInAccelerationMaxLong ) +/* Generated */ optInAccelerationLong = optInAccelerationMaxLong; +/* Generated */ if( afShort > optInAccelerationMaxShort) +/* Generated */ afShort = optInAccelerationInitShort = optInAccelerationMaxShort; +/* Generated */ if( optInAccelerationShort > optInAccelerationMaxShort ) +/* Generated */ optInAccelerationShort = optInAccelerationMaxShort; +/* Generated */ if(optInStartValue == 0) +/* Generated */ { +/* Generated */ retCode = FUNCTION_CALL(MINUS_DM)( startIdx, startIdx, inHigh, inLow, 1, +/* Generated */ VALUE_HANDLE_OUT(tempInt), VALUE_HANDLE_OUT(tempInt), +/* Generated */ ep_temp ); +/* Generated */ if( ep_temp[0] > 0 ) +/* Generated */ isLong = 0; +/* Generated */ else +/* Generated */ isLong = 1; +/* Generated */ if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ } +/* Generated */ else if( optInStartValue > 0 ) +/* Generated */ { +/* Generated */ isLong = 1; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ isLong = 0; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ todayIdx = startIdx; +/* Generated */ newHigh = inHigh[todayIdx-1]; +/* Generated */ newLow = inLow[todayIdx-1]; +/* Generated */ SAR_ROUNDING(newHigh); +/* Generated */ SAR_ROUNDING(newLow); +/* Generated */ if(optInStartValue == 0) +/* Generated */ { +/* Generated */ if( isLong == 1 ) +/* Generated */ { +/* Generated */ ep = inHigh[todayIdx]; +/* Generated */ sar = newLow; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ ep = inLow[todayIdx]; +/* Generated */ sar = newHigh; +/* Generated */ } +/* Generated */ } +/* Generated */ else if ( optInStartValue > 0 ) +/* Generated */ { +/* Generated */ ep = inHigh[todayIdx]; +/* Generated */ sar = optInStartValue; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ ep = inLow[todayIdx]; +/* Generated */ sar = std_fabs(optInStartValue); +/* Generated */ } +/* Generated */ SAR_ROUNDING(sar); +/* Generated */ newLow = inLow[todayIdx]; +/* Generated */ newHigh = inHigh[todayIdx]; +/* Generated */ while( todayIdx <= endIdx ) +/* Generated */ { +/* Generated */ prevLow = newLow; +/* Generated */ prevHigh = newHigh; +/* Generated */ newLow = inLow[todayIdx]; +/* Generated */ newHigh = inHigh[todayIdx]; +/* Generated */ todayIdx++; +/* Generated */ SAR_ROUNDING(newLow); +/* Generated */ SAR_ROUNDING(newHigh); +/* Generated */ if( isLong == 1 ) +/* Generated */ { +/* Generated */ if( newLow <= sar ) +/* Generated */ { +/* Generated */ isLong = 0; +/* Generated */ sar = ep; +/* Generated */ if( sar < prevHigh ) +/* Generated */ sar = prevHigh; +/* Generated */ if( sar < newHigh ) +/* Generated */ sar = newHigh; +/* Generated */ if( optInOffsetOnReverse != 0.0 ) +/* Generated */ sar += sar * optInOffsetOnReverse; +/* Generated */ outReal[outIdx++] = -sar; +/* Generated */ afShort = optInAccelerationInitShort; +/* Generated */ ep = newLow; +/* Generated */ sar = sar + afShort * (ep - sar); +/* Generated */ SAR_ROUNDING( sar ); +/* Generated */ if( sar < prevHigh ) +/* Generated */ sar = prevHigh; +/* Generated */ if( sar < newHigh ) +/* Generated */ sar = newHigh; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ outReal[outIdx++] = sar; +/* Generated */ if( newHigh > ep ) +/* Generated */ { +/* Generated */ ep = newHigh; +/* Generated */ afLong += optInAccelerationLong; +/* Generated */ if( afLong > optInAccelerationMaxLong ) +/* Generated */ afLong = optInAccelerationMaxLong; +/* Generated */ } +/* Generated */ sar = sar + afLong * (ep - sar); +/* Generated */ SAR_ROUNDING( sar ); +/* Generated */ if( sar > prevLow ) +/* Generated */ sar = prevLow; +/* Generated */ if( sar > newLow ) +/* Generated */ sar = newLow; +/* Generated */ } +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ if( newHigh >= sar ) +/* Generated */ { +/* Generated */ isLong = 1; +/* Generated */ sar = ep; +/* Generated */ if( sar > prevLow ) +/* Generated */ sar = prevLow; +/* Generated */ if( sar > newLow ) +/* Generated */ sar = newLow; +/* Generated */ if( optInOffsetOnReverse != 0.0 ) +/* Generated */ sar -= sar * optInOffsetOnReverse; +/* Generated */ outReal[outIdx++] = sar; +/* Generated */ afLong = optInAccelerationInitLong; +/* Generated */ ep = newHigh; +/* Generated */ sar = sar + afLong * (ep - sar); +/* Generated */ SAR_ROUNDING( sar ); +/* Generated */ if( sar > prevLow ) +/* Generated */ sar = prevLow; +/* Generated */ if( sar > newLow ) +/* Generated */ sar = newLow; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ outReal[outIdx++] = -sar; +/* Generated */ if( newLow < ep ) +/* Generated */ { +/* Generated */ ep = newLow; +/* Generated */ afShort += optInAccelerationShort; +/* Generated */ if( afShort > optInAccelerationMaxShort ) +/* Generated */ afShort = optInAccelerationMaxShort; +/* Generated */ } +/* Generated */ sar = sar + afShort * (ep - sar); +/* Generated */ SAR_ROUNDING( sar ); +/* Generated */ if( sar < prevHigh ) +/* Generated */ sar = prevHigh; +/* Generated */ if( sar < newHigh ) +/* Generated */ sar = newHigh; +/* Generated */ } +/* Generated */ } +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + + diff --git a/vendor/ta-lib/src/ta_func/ta_SIN.c b/vendor/ta-lib/src/ta_func/ta_SIN.c new file mode 100644 index 000000000..af0b0f525 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_SIN.c @@ -0,0 +1,252 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 082507 MF Initial Version + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::SinLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int sinLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_SIN_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_SIN - Vector Trigonometric Sin + * + * Input = double + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Sin( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Sin( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode sin( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_SIN( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx; + + #ifndef TA_LIB_PRO + int i; + #endif + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + #ifdef TA_LIB_PRO + /* Section for code distributed with TA-Lib Pro only. */ + #else + for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) + { + outReal[outIdx] = std_sin(inReal[i]); + } + #endif + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Sin( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode sin( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_SIN( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx; +/* Generated */ #ifndef TA_LIB_PRO +/* Generated */ int i; +/* Generated */ #endif +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ #ifdef TA_LIB_PRO +/* Generated */ #else +/* Generated */ for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) +/* Generated */ { +/* Generated */ outReal[outIdx] = std_sin(inReal[i]); +/* Generated */ } +/* Generated */ #endif +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_SINH.c b/vendor/ta-lib/src/ta_func/ta_SINH.c new file mode 100644 index 000000000..4fe3ca89f --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_SINH.c @@ -0,0 +1,241 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 090807 MF Initial Version + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::SinhLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int sinhLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_SINH_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_SINH - Vector Trigonometric Sinh + * + * Input = double + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Sinh( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Sinh( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode sinh( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_SINH( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx; + int i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Default return values */ + for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) + { + outReal[outIdx] = std_sinh(inReal[i]); + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Sinh( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode sinh( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_SINH( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx; +/* Generated */ int i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) +/* Generated */ { +/* Generated */ outReal[outIdx] = std_sinh(inReal[i]); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_SMA.c b/vendor/ta-lib/src/ta_func/ta_SMA.c new file mode 100644 index 000000000..9c362415c --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_SMA.c @@ -0,0 +1,411 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::SmaLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int smaLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_SMA_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return optInTimePeriod - 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_SMA - Simple Moving Average + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Sma( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Sma( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode sma( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_SMA( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + return FUNCTION_CALL(INT_SMA)( startIdx, endIdx, + inReal, optInTimePeriod, + outBegIdx, outNBElement, outReal ); +} + +#if defined( _MANAGED ) && defined( USE_SUBARRAY ) && !defined(USE_SINGLE_PRECISION_INPUT) + enum class Core::RetCode Core::TA_INT_SMA( int startIdx, + int endIdx, + SubArray^ inReal, + int optInTimePeriod, + [Out]int% outBegIdx, + [Out]int% outNBElement, + cli::array^ outReal) +#elif defined( _MANAGED ) + enum class Core::RetCode Core::TA_INT_SMA( int startIdx, + int endIdx, + cli::array^ inReal, + int optInTimePeriod, + [Out]int% outBegIdx, + [Out]int% outNBElement, + cli::array^ outReal) +#elif defined( _JAVA ) +RetCode TA_INT_SMA( int startIdx, + int endIdx, + INPUT_TYPE inReal[], + int optInTimePeriod, /* From 1 to TA_INTEGER_MAX */ + MInteger outBegIdx, + MInteger outNBElement, + double outReal[] ) +#else +TA_RetCode TA_PREFIX(INT_SMA)( int startIdx, + int endIdx, + const INPUT_TYPE *inReal, + int optInTimePeriod, /* From 1 to TA_INTEGER_MAX */ + int *outBegIdx, + int *outNBElement, + double *outReal ) +#endif +{ + double periodTotal, tempReal; + int i, outIdx, trailingIdx, lookbackTotal; + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + lookbackTotal = (optInTimePeriod-1); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the MA calculation using tight loops. */ + /* Add-up the initial period, except for the last value. */ + periodTotal = 0; + trailingIdx = startIdx-lookbackTotal; + + i=trailingIdx; + if( optInTimePeriod > 1 ) + { + while( i < startIdx ) + periodTotal += inReal[i++]; + } + + /* Proceed with the calculation for the requested range. + * Note that this algorithm allows the inReal and + * outReal to be the same buffer. + */ + outIdx = 0; + do + { + periodTotal += inReal[i++]; + tempReal = periodTotal; + periodTotal -= inReal[trailingIdx++]; + outReal[outIdx++] = tempReal / optInTimePeriod; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Sma( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode sma( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_SMA( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ return FUNCTION_CALL(INT_SMA)( startIdx, endIdx, +/* Generated */ inReal, optInTimePeriod, +/* Generated */ outBegIdx, outNBElement, outReal ); +/* Generated */ } +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) && !defined(USE_SINGLE_PRECISION_INPUT) +/* Generated */ enum class Core::RetCode Core::TA_INT_SMA( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::TA_INT_SMA( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ RetCode TA_INT_SMA( int startIdx, +/* Generated */ int endIdx, +/* Generated */ INPUT_TYPE inReal[], +/* Generated */ int optInTimePeriod, +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_PREFIX(INT_SMA)( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const INPUT_TYPE *inReal, +/* Generated */ int optInTimePeriod, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double *outReal ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double periodTotal, tempReal; +/* Generated */ int i, outIdx, trailingIdx, lookbackTotal; +/* Generated */ lookbackTotal = (optInTimePeriod-1); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ periodTotal = 0; +/* Generated */ trailingIdx = startIdx-lookbackTotal; +/* Generated */ i=trailingIdx; +/* Generated */ if( optInTimePeriod > 1 ) +/* Generated */ { +/* Generated */ while( i < startIdx ) +/* Generated */ periodTotal += inReal[i++]; +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ periodTotal += inReal[i++]; +/* Generated */ tempReal = periodTotal; +/* Generated */ periodTotal -= inReal[trailingIdx++]; +/* Generated */ outReal[outIdx++] = tempReal / optInTimePeriod; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_SQRT.c b/vendor/ta-lib/src/ta_func/ta_SQRT.c new file mode 100644 index 000000000..9ff4a15cb --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_SQRT.c @@ -0,0 +1,241 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 090807 MF Initial Version + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::SqrtLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int sqrtLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_SQRT_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_SQRT - Vector Square Root + * + * Input = double + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Sqrt( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Sqrt( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode sqrt( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_SQRT( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx; + int i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Default return values */ + for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) + { + outReal[outIdx] = std_sqrt(inReal[i]); + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Sqrt( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode sqrt( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_SQRT( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx; +/* Generated */ int i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) +/* Generated */ { +/* Generated */ outReal[outIdx] = std_sqrt(inReal[i]); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_STDDEV.c b/vendor/ta-lib/src/ta_func/ta_STDDEV.c new file mode 100644 index 000000000..bc7f894a2 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_STDDEV.c @@ -0,0 +1,497 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * JV Jesus Viver <324122@cienz.unizar.es> + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF Template creation. + * 100502 JV Speed optimization of the algorithm + * 052603 MF Adapt code to compile with .NET Managed C++ + * 090404 MF Fix #978056. Trap sqrt with negative zero values. + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::StdDevLookback( int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInNbDev ) /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int stdDevLookback( int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInNbDev ) /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_STDDEV_Lookback( int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInNbDev ) /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 5; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ if( optInNbDev == TA_REAL_DEFAULT ) +/* Generated */ optInNbDev = 1.000000e+0; +/* Generated */ else if( (optInNbDev < -3.000000e+37) ||/* Generated */ (optInNbDev > 3.000000e+37) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + /* Lookback is driven by the variance. */ + return LOOKBACK_CALL(VAR)( optInTimePeriod, optInNbDev ); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_STDDEV - Standard Deviation + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * optInNbDev:(From TA_REAL_MIN to TA_REAL_MAX) + * Nb of deviations + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::StdDev( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInNbDev, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::StdDev( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInNbDev, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode stdDev( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInNbDev, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_STDDEV( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInNbDev, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + int i; + ENUM_DECLARATION(RetCode) retCode; + double tempReal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 5; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( optInNbDev == TA_REAL_DEFAULT ) +/* Generated */ optInNbDev = 1.000000e+0; +/* Generated */ else if( (optInNbDev < -3.000000e+37) ||/* Generated */ (optInNbDev > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Calculate the variance. */ + retCode = FUNCTION_CALL(INT_VAR)( startIdx, endIdx, + inReal, optInTimePeriod, + outBegIdx, outNBElement, outReal ); + + if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) + return retCode; + + /* Calculate the square root of each variance, this + * is the standard deviation. + * + * Multiply also by the ratio specified. + */ + if( optInNbDev != 1.0 ) + { + for( i=0; i < (int)VALUE_HANDLE_DEREF(outNBElement); i++ ) + { + tempReal = outReal[i]; + if( !TA_IS_ZERO_OR_NEG(tempReal) ) + outReal[i] = std_sqrt(tempReal) * optInNbDev; + else + outReal[i] = (double)0.0; + } + } + else + { + for( i=0; i < (int)VALUE_HANDLE_DEREF(outNBElement); i++ ) + { + tempReal = outReal[i]; + if( !TA_IS_ZERO_OR_NEG(tempReal) ) + outReal[i] = std_sqrt(tempReal); + else + outReal[i] = (double)0.0; + } + } + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/* The inMovAvg is the moving average of the inReal. + * + * inMovAvgBegIdx is relative to inReal, in other word + * this is the 'outBegIdx' who was returned when doing the + * MA on the inReal. + * + * inMovAvgNbElement is the number of element who was returned + * when doing the MA on the inReal. + * + * Note: This function is not used by TA_STDDEV, since TA_STDDEV + * is optimized considering it uses always a simple moving + * average. Still the function is put here because it is + * closely related. + */ +#if defined( _MANAGED ) && defined( USE_SUBARRAY ) && !defined(USE_SINGLE_PRECISION_INPUT) +void Core::TA_INT_stddev_using_precalc_ma( SubArray^ inReal, + cli::array^ inMovAvg, + int inMovAvgBegIdx, + int inMovAvgNbElement, + int timePeriod, + cli::array^ output) +#elif defined( _MANAGED ) +void Core::TA_INT_stddev_using_precalc_ma( cli::array^ inReal, + cli::array^ inMovAvg, + int inMovAvgBegIdx, + int inMovAvgNbElement, + int timePeriod, + cli::array^ output) +#elif defined( _JAVA ) +void TA_INT_stddev_using_precalc_ma( INPUT_TYPE inReal[], + double inMovAvg[], + int inMovAvgBegIdx, + int inMovAvgNbElement, + int timePeriod, + double output[] ) +#else +void TA_PREFIX(INT_stddev_using_precalc_ma)( const INPUT_TYPE *inReal, + const double *inMovAvg, + int inMovAvgBegIdx, + int inMovAvgNbElement, + int timePeriod, + double *output ) +#endif +{ + double tempReal, periodTotal2, meanValue2; + int outIdx; + + /* Start/end index for sumation. */ + int startSum, endSum; + + startSum = 1+inMovAvgBegIdx-timePeriod; + endSum = inMovAvgBegIdx; + + periodTotal2 = 0; + + for( outIdx = startSum; outIdx < endSum; outIdx++) + { + tempReal = inReal[outIdx]; + tempReal *= tempReal; + periodTotal2 += tempReal; + } + + for( outIdx=0; outIdx < inMovAvgNbElement; outIdx++, startSum++, endSum++ ) + { + tempReal = inReal[endSum]; + tempReal *= tempReal; + periodTotal2 += tempReal; + meanValue2 = periodTotal2/timePeriod; + + tempReal = inReal[startSum]; + tempReal *= tempReal; + periodTotal2 -= tempReal; + + tempReal = inMovAvg[outIdx]; + tempReal *= tempReal; + meanValue2 -= tempReal; + + if( !TA_IS_ZERO_OR_NEG(meanValue2) ) + output[outIdx] = std_sqrt(meanValue2); + else + output[outIdx] = (double)0.0; + } +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::StdDev( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInNbDev, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode stdDev( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInNbDev, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_STDDEV( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInNbDev, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int i; +/* Generated */ ENUM_DECLARATION(RetCode) retCode; +/* Generated */ double tempReal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 5; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( optInNbDev == TA_REAL_DEFAULT ) +/* Generated */ optInNbDev = 1.000000e+0; +/* Generated */ else if( (optInNbDev < -3.000000e+37) || (optInNbDev > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ retCode = FUNCTION_CALL(INT_VAR)( startIdx, endIdx, +/* Generated */ inReal, optInTimePeriod, +/* Generated */ outBegIdx, outNBElement, outReal ); +/* Generated */ if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) +/* Generated */ return retCode; +/* Generated */ if( optInNbDev != 1.0 ) +/* Generated */ { +/* Generated */ for( i=0; i < (int)VALUE_HANDLE_DEREF(outNBElement); i++ ) +/* Generated */ { +/* Generated */ tempReal = outReal[i]; +/* Generated */ if( !TA_IS_ZERO_OR_NEG(tempReal) ) +/* Generated */ outReal[i] = std_sqrt(tempReal) * optInNbDev; +/* Generated */ else +/* Generated */ outReal[i] = (double)0.0; +/* Generated */ } +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ for( i=0; i < (int)VALUE_HANDLE_DEREF(outNBElement); i++ ) +/* Generated */ { +/* Generated */ tempReal = outReal[i]; +/* Generated */ if( !TA_IS_ZERO_OR_NEG(tempReal) ) +/* Generated */ outReal[i] = std_sqrt(tempReal); +/* Generated */ else +/* Generated */ outReal[i] = (double)0.0; +/* Generated */ } +/* Generated */ } +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) && !defined(USE_SINGLE_PRECISION_INPUT) +/* Generated */ void Core::TA_INT_stddev_using_precalc_ma( SubArray^ inReal, +/* Generated */ cli::array^ inMovAvg, +/* Generated */ int inMovAvgBegIdx, +/* Generated */ int inMovAvgNbElement, +/* Generated */ int timePeriod, +/* Generated */ cli::array^ output) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ void Core::TA_INT_stddev_using_precalc_ma( cli::array^ inReal, +/* Generated */ cli::array^ inMovAvg, +/* Generated */ int inMovAvgBegIdx, +/* Generated */ int inMovAvgNbElement, +/* Generated */ int timePeriod, +/* Generated */ cli::array^ output) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ void TA_INT_stddev_using_precalc_ma( INPUT_TYPE inReal[], +/* Generated */ double inMovAvg[], +/* Generated */ int inMovAvgBegIdx, +/* Generated */ int inMovAvgNbElement, +/* Generated */ int timePeriod, +/* Generated */ double output[] ) +/* Generated */ #else +/* Generated */ void TA_PREFIX(INT_stddev_using_precalc_ma)( const INPUT_TYPE *inReal, +/* Generated */ const double *inMovAvg, +/* Generated */ int inMovAvgBegIdx, +/* Generated */ int inMovAvgNbElement, +/* Generated */ int timePeriod, +/* Generated */ double *output ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double tempReal, periodTotal2, meanValue2; +/* Generated */ int outIdx; +/* Generated */ int startSum, endSum; +/* Generated */ startSum = 1+inMovAvgBegIdx-timePeriod; +/* Generated */ endSum = inMovAvgBegIdx; +/* Generated */ periodTotal2 = 0; +/* Generated */ for( outIdx = startSum; outIdx < endSum; outIdx++) +/* Generated */ { +/* Generated */ tempReal = inReal[outIdx]; +/* Generated */ tempReal *= tempReal; +/* Generated */ periodTotal2 += tempReal; +/* Generated */ } +/* Generated */ for( outIdx=0; outIdx < inMovAvgNbElement; outIdx++, startSum++, endSum++ ) +/* Generated */ { +/* Generated */ tempReal = inReal[endSum]; +/* Generated */ tempReal *= tempReal; +/* Generated */ periodTotal2 += tempReal; +/* Generated */ meanValue2 = periodTotal2/timePeriod; +/* Generated */ tempReal = inReal[startSum]; +/* Generated */ tempReal *= tempReal; +/* Generated */ periodTotal2 -= tempReal; +/* Generated */ tempReal = inMovAvg[outIdx]; +/* Generated */ tempReal *= tempReal; +/* Generated */ meanValue2 -= tempReal; +/* Generated */ if( !TA_IS_ZERO_OR_NEG(meanValue2) ) +/* Generated */ output[outIdx] = std_sqrt(meanValue2); +/* Generated */ else +/* Generated */ output[outIdx] = (double)0.0; +/* Generated */ } +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_STOCH.c b/vendor/ta-lib/src/ta_func/ta_STOCH.c new file mode 100644 index 000000000..4c581fe70 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_STOCH.c @@ -0,0 +1,802 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::StochLookback( int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInSlowK_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInSlowK_MAType, +/* Generated */ int optInSlowD_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInSlowD_MAType ) /* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int stochLookback( int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInSlowK_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInSlowK_MAType, +/* Generated */ int optInSlowD_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInSlowD_MAType ) /* Generated */ +/* Generated */ #else +/* Generated */ int TA_STOCH_Lookback( int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInSlowK_Period, /* From 1 to 100000 */ +/* Generated */ TA_MAType optInSlowK_MAType, +/* Generated */ int optInSlowD_Period, /* From 1 to 100000 */ +/* Generated */ TA_MAType optInSlowD_MAType ) /* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int retValue; + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInFastK_Period. */ +/* Generated */ if( (int)optInFastK_Period == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastK_Period = 5; +/* Generated */ else if( ((int)optInFastK_Period < 1) || ((int)optInFastK_Period > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ /* min/max are checked for optInSlowK_Period. */ +/* Generated */ if( (int)optInSlowK_Period == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowK_Period = 3; +/* Generated */ else if( ((int)optInSlowK_Period < 1) || ((int)optInSlowK_Period > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInSlowK_MAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowK_MAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInSlowK_MAType < 0) || ((int)optInSlowK_MAType > 8) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* !defined(_MANAGED) && !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInSlowD_Period. */ +/* Generated */ if( (int)optInSlowD_Period == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowD_Period = 3; +/* Generated */ else if( ((int)optInSlowD_Period < 1) || ((int)optInSlowD_Period > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInSlowD_MAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowD_MAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInSlowD_MAType < 0) || ((int)optInSlowD_MAType > 8) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* !defined(_MANAGED) && !defined(_JAVA)*/ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + /* Account for the initial data needed for Fast-K. */ + retValue = (optInFastK_Period - 1); + + /* Add the smoothing being done for %K slow */ + retValue += LOOKBACK_CALL(MA)( optInSlowK_Period, optInSlowK_MAType ); + + /* Add the smoothing being done for %D slow. */ + retValue += LOOKBACK_CALL(MA)( optInSlowD_Period, optInSlowD_MAType ); + + return retValue; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_STOCH - Stochastic + * + * Input = High, Low, Close + * Output = double, double + * + * Optional Parameters + * ------------------- + * optInFastK_Period:(From 1 to 100000) + * Time period for building the Fast-K line + * + * optInSlowK_Period:(From 1 to 100000) + * Smoothing for making the Slow-K line. Usually set to 3 + * + * optInSlowK_MAType: + * Type of Moving Average for Slow-K + * + * optInSlowD_Period:(From 1 to 100000) + * Smoothing for making the Slow-D line + * + * optInSlowD_MAType: + * Type of Moving Average for Slow-D + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Stoch( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInSlowK_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInSlowK_MAType, +/* Generated */ int optInSlowD_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInSlowD_MAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outSlowK, +/* Generated */ cli::array^ outSlowD ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Stoch( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInSlowK_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInSlowK_MAType, +/* Generated */ int optInSlowD_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInSlowD_MAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outSlowK, +/* Generated */ cli::array^ outSlowD ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode stoch( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInSlowK_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInSlowK_MAType, +/* Generated */ int optInSlowD_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInSlowD_MAType, +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outSlowK[], +/* Generated */ double outSlowD[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_STOCH( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInSlowK_Period, /* From 1 to 100000 */ +/* Generated */ TA_MAType optInSlowK_MAType, +/* Generated */ int optInSlowD_Period, /* From 1 to 100000 */ +/* Generated */ TA_MAType optInSlowD_MAType, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outSlowK[], +/* Generated */ double outSlowD[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + ENUM_DECLARATION(RetCode) retCode; + double lowest, highest, tmp, diff; + ARRAY_REF( tempBuffer ); + int outIdx, lowestIdx, highestIdx; + int lookbackTotal, lookbackK, lookbackKSlow, lookbackDSlow; + int trailingIdx, today, i; + #if !defined( _MANAGED ) && !defined(USE_SINGLE_PRECISION_INPUT) &&!defined(_JAVA) + int bufferIsAllocated; + #endif + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInFastK_Period. */ +/* Generated */ if( (int)optInFastK_Period == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastK_Period = 5; +/* Generated */ else if( ((int)optInFastK_Period < 1) || ((int)optInFastK_Period > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ /* min/max are checked for optInSlowK_Period. */ +/* Generated */ if( (int)optInSlowK_Period == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowK_Period = 3; +/* Generated */ else if( ((int)optInSlowK_Period < 1) || ((int)optInSlowK_Period > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInSlowK_MAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowK_MAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInSlowK_MAType < 0) || ((int)optInSlowK_MAType > 8) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_MANAGED) && !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInSlowD_Period. */ +/* Generated */ if( (int)optInSlowD_Period == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowD_Period = 3; +/* Generated */ else if( ((int)optInSlowD_Period < 1) || ((int)optInSlowD_Period > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInSlowD_MAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowD_MAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInSlowD_MAType < 0) || ((int)optInSlowD_MAType > 8) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_MANAGED) && !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outSlowK ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( !outSlowD ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* With stochastic, there is a total of 4 different lines that + * are defined: FASTK, FASTD, SLOWK and SLOWD. + * + * The D is the signal line usually drawn over its + * corresponding K function. + * + * (Today's Close - LowestLow) + * FASTK(Kperiod) = --------------------------- * 100 + * (HighestHigh - LowestLow) + * + * FASTD(FastDperiod, MA type) = MA Smoothed FASTK over FastDperiod + * + * SLOWK(SlowKperiod, MA type) = MA Smoothed FASTK over SlowKperiod + * + * SLOWD(SlowDperiod, MA Type) = MA Smoothed SLOWK over SlowDperiod + * + * The HighestHigh and LowestLow are the extreme values among the + * last 'Kperiod'. + * + * SLOWK and FASTD are equivalent when using the same period. + * + * The following shows how these four lines are made available in TA-LIB: + * + * TA_STOCH : Returns the SLOWK and SLOWD + * TA_STOCHF : Returns the FASTK and FASTD + * + * The TA_STOCH function correspond to the more widely implemented version + * found in many software/charting package. The TA_STOCHF is more rarely + * used because its higher volatility cause often whipsaws. + */ + + /* Identify the lookback needed. */ + lookbackK = optInFastK_Period-1; + lookbackKSlow = LOOKBACK_CALL(MA)( optInSlowK_Period, optInSlowK_MAType ); + lookbackDSlow = LOOKBACK_CALL(MA)( optInSlowD_Period, optInSlowD_MAType ); + lookbackTotal = lookbackK + lookbackDSlow + lookbackKSlow; + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + /* Succeed... but no data in the output. */ + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the K calculation: + * + * Kt = 100 x ((Ct-Lt)/(Ht-Lt)) + * + * Kt is today stochastic + * Ct is today closing price. + * Lt is the lowest price of the last K Period (including today) + * Ht is the highest price of the last K Period (including today) + */ + + /* Proceed with the calculation for the requested range. + * Note that this algorithm allows the input and + * output to be the same buffer. + */ + outIdx = 0; + + /* Calculate just enough K for ending up with the caller + * requested range. (The range of k must consider all + * the lookback involve with the smoothing). + */ + trailingIdx = startIdx-lookbackTotal; + today = trailingIdx+lookbackK; + lowestIdx = highestIdx = -1; + diff = highest = lowest = 0.0; + + /* Allocate a temporary buffer large enough to + * store the K. + * + * If the output is the same as the input, great + * we just save ourself one memory allocation. + */ + #if !defined( _MANAGED ) && !defined(USE_SINGLE_PRECISION_INPUT) && !defined( _JAVA ) + bufferIsAllocated = 0; + #endif + + #if defined(USE_SINGLE_PRECISION_INPUT) || defined( USE_SUBARRAY ) + /* Always alloc, since output is of different type and + * its allocated size is not guarantee to be as large as + * the input. + */ + ARRAY_ALLOC( tempBuffer, endIdx-today+1 ); + #else + if( (outSlowK == inHigh) || + (outSlowK == inLow) || + (outSlowK == inClose) ) + { + tempBuffer = outSlowK; + } + else if( (outSlowD == inHigh) || + (outSlowD == inLow) || + (outSlowD == inClose) ) + { + tempBuffer = outSlowD; + } + else + { + #if !defined( _MANAGED ) && !defined(_JAVA) + bufferIsAllocated = 1; + #endif + ARRAY_ALLOC( tempBuffer, endIdx-today+1 ); + } + #endif + + /* Do the K calculation */ + while( today <= endIdx ) + { + /* Set the lowest low */ + tmp = inLow[today]; + if( lowestIdx < trailingIdx ) + { + lowestIdx = trailingIdx; + lowest = inLow[lowestIdx]; + i = lowestIdx; + while( ++i<=today ) + { + tmp = inLow[i]; + if( tmp < lowest ) + { + lowestIdx = i; + lowest = tmp; + } + } + diff = (highest - lowest)/100.0; + } + else if( tmp <= lowest ) + { + lowestIdx = today; + lowest = tmp; + diff = (highest - lowest)/100.0; + } + + /* Set the highest high */ + tmp = inHigh[today]; + if( highestIdx < trailingIdx ) + { + highestIdx = trailingIdx; + highest = inHigh[highestIdx]; + i = highestIdx; + while( ++i<=today ) + { + tmp = inHigh[i]; + if( tmp > highest ) + { + highestIdx = i; + highest = tmp; + } + } + diff = (highest - lowest)/100.0; + } + else if( tmp >= highest ) + { + highestIdx = today; + highest = tmp; + diff = (highest - lowest)/100.0; + } + + /* Calculate stochastic. */ + if( diff != 0.0 ) + tempBuffer[outIdx++] = (inClose[today]-lowest)/diff; + else + tempBuffer[outIdx++] = 0.0; + + trailingIdx++; + today++; + } + + /* Un-smoothed K calculation completed. This K calculation is not returned + * to the caller. It is always smoothed and then return. + * Some documentation will refer to the smoothed version as being + * "K-Slow", but often this end up to be shorten to "K". + */ + retCode = FUNCTION_CALL_DOUBLE(MA)( 0, outIdx-1, + tempBuffer, optInSlowK_Period, + optInSlowK_MAType, + outBegIdx, outNBElement, tempBuffer ); + + + if( (retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) || ((int)VALUE_HANDLE_DEREF(outNBElement) == 0) ) + { + #if defined(USE_SINGLE_PRECISION_INPUT) + ARRAY_FREE( tempBuffer ); + #else + ARRAY_FREE_COND( bufferIsAllocated, tempBuffer ); + #endif + /* Something wrong happen? No further data? */ + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return retCode; + } + + /* Calculate the %D which is simply a moving average of + * the already smoothed %K. + */ + retCode = FUNCTION_CALL_DOUBLE(MA)( 0, (int)VALUE_HANDLE_DEREF(outNBElement)-1, + tempBuffer, optInSlowD_Period, + optInSlowD_MAType, + outBegIdx, outNBElement, outSlowD ); + + /* Copy tempBuffer into the caller buffer. + * (Calculation could not be done directly in the + * caller buffer because more input data then the + * requested range was needed for doing %D). + */ + ARRAY_MEMMOVE( outSlowK, 0, tempBuffer,lookbackDSlow,(int)VALUE_HANDLE_DEREF(outNBElement)); + + /* Don't need K anymore, free it if it was allocated here. */ + #if defined(USE_SINGLE_PRECISION_INPUT) + ARRAY_FREE( tempBuffer ); + #else + ARRAY_FREE_COND( bufferIsAllocated, tempBuffer ); + #endif + + if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) + { + /* Something wrong happen while processing %D? */ + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return retCode; + } + + /* Note: Keep the outBegIdx relative to the + * caller input before returning. + */ + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Stoch( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInSlowK_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInSlowK_MAType, +/* Generated */ int optInSlowD_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInSlowD_MAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outSlowK, +/* Generated */ cli::array^ outSlowD ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode stoch( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInSlowK_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInSlowK_MAType, +/* Generated */ int optInSlowD_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInSlowD_MAType, +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outSlowK[], +/* Generated */ double outSlowD[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_STOCH( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInSlowK_Period, /* From 1 to 100000 */ +/* Generated */ TA_MAType optInSlowK_MAType, +/* Generated */ int optInSlowD_Period, /* From 1 to 100000 */ +/* Generated */ TA_MAType optInSlowD_MAType, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outSlowK[], +/* Generated */ double outSlowD[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ENUM_DECLARATION(RetCode) retCode; +/* Generated */ double lowest, highest, tmp, diff; +/* Generated */ ARRAY_REF( tempBuffer ); +/* Generated */ int outIdx, lowestIdx, highestIdx; +/* Generated */ int lookbackTotal, lookbackK, lookbackKSlow, lookbackDSlow; +/* Generated */ int trailingIdx, today, i; +/* Generated */ #if !defined( _MANAGED ) && !defined(USE_SINGLE_PRECISION_INPUT) &&!defined(_JAVA) +/* Generated */ int bufferIsAllocated; +/* Generated */ #endif +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInFastK_Period == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastK_Period = 5; +/* Generated */ else if( ((int)optInFastK_Period < 1) || ((int)optInFastK_Period > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( (int)optInSlowK_Period == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowK_Period = 3; +/* Generated */ else if( ((int)optInSlowK_Period < 1) || ((int)optInSlowK_Period > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInSlowK_MAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowK_MAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInSlowK_MAType < 0) || ((int)optInSlowK_MAType > 8) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInSlowD_Period == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowD_Period = 3; +/* Generated */ else if( ((int)optInSlowD_Period < 1) || ((int)optInSlowD_Period > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInSlowD_MAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInSlowD_MAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInSlowD_MAType < 0) || ((int)optInSlowD_MAType > 8) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outSlowK ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !outSlowD ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackK = optInFastK_Period-1; +/* Generated */ lookbackKSlow = LOOKBACK_CALL(MA)( optInSlowK_Period, optInSlowK_MAType ); +/* Generated */ lookbackDSlow = LOOKBACK_CALL(MA)( optInSlowD_Period, optInSlowD_MAType ); +/* Generated */ lookbackTotal = lookbackK + lookbackDSlow + lookbackKSlow; +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ trailingIdx = startIdx-lookbackTotal; +/* Generated */ today = trailingIdx+lookbackK; +/* Generated */ lowestIdx = highestIdx = -1; +/* Generated */ diff = highest = lowest = 0.0; +/* Generated */ #if !defined( _MANAGED ) && !defined(USE_SINGLE_PRECISION_INPUT) && !defined( _JAVA ) +/* Generated */ bufferIsAllocated = 0; +/* Generated */ #endif +/* Generated */ #if defined(USE_SINGLE_PRECISION_INPUT) || defined( USE_SUBARRAY ) +/* Generated */ ARRAY_ALLOC( tempBuffer, endIdx-today+1 ); +/* Generated */ #else +/* Generated */ if( (outSlowK == inHigh) || +/* Generated */ (outSlowK == inLow) || +/* Generated */ (outSlowK == inClose) ) +/* Generated */ { +/* Generated */ tempBuffer = outSlowK; +/* Generated */ } +/* Generated */ else if( (outSlowD == inHigh) || +/* Generated */ (outSlowD == inLow) || +/* Generated */ (outSlowD == inClose) ) +/* Generated */ { +/* Generated */ tempBuffer = outSlowD; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ #if !defined( _MANAGED ) && !defined(_JAVA) +/* Generated */ bufferIsAllocated = 1; +/* Generated */ #endif +/* Generated */ ARRAY_ALLOC( tempBuffer, endIdx-today+1 ); +/* Generated */ } +/* Generated */ #endif +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ tmp = inLow[today]; +/* Generated */ if( lowestIdx < trailingIdx ) +/* Generated */ { +/* Generated */ lowestIdx = trailingIdx; +/* Generated */ lowest = inLow[lowestIdx]; +/* Generated */ i = lowestIdx; +/* Generated */ while( ++i<=today ) +/* Generated */ { +/* Generated */ tmp = inLow[i]; +/* Generated */ if( tmp < lowest ) +/* Generated */ { +/* Generated */ lowestIdx = i; +/* Generated */ lowest = tmp; +/* Generated */ } +/* Generated */ } +/* Generated */ diff = (highest - lowest)/100.0; +/* Generated */ } +/* Generated */ else if( tmp <= lowest ) +/* Generated */ { +/* Generated */ lowestIdx = today; +/* Generated */ lowest = tmp; +/* Generated */ diff = (highest - lowest)/100.0; +/* Generated */ } +/* Generated */ tmp = inHigh[today]; +/* Generated */ if( highestIdx < trailingIdx ) +/* Generated */ { +/* Generated */ highestIdx = trailingIdx; +/* Generated */ highest = inHigh[highestIdx]; +/* Generated */ i = highestIdx; +/* Generated */ while( ++i<=today ) +/* Generated */ { +/* Generated */ tmp = inHigh[i]; +/* Generated */ if( tmp > highest ) +/* Generated */ { +/* Generated */ highestIdx = i; +/* Generated */ highest = tmp; +/* Generated */ } +/* Generated */ } +/* Generated */ diff = (highest - lowest)/100.0; +/* Generated */ } +/* Generated */ else if( tmp >= highest ) +/* Generated */ { +/* Generated */ highestIdx = today; +/* Generated */ highest = tmp; +/* Generated */ diff = (highest - lowest)/100.0; +/* Generated */ } +/* Generated */ if( diff != 0.0 ) +/* Generated */ tempBuffer[outIdx++] = (inClose[today]-lowest)/diff; +/* Generated */ else +/* Generated */ tempBuffer[outIdx++] = 0.0; +/* Generated */ trailingIdx++; +/* Generated */ today++; +/* Generated */ } +/* Generated */ retCode = FUNCTION_CALL_DOUBLE(MA)( 0, outIdx-1, +/* Generated */ tempBuffer, optInSlowK_Period, +/* Generated */ optInSlowK_MAType, +/* Generated */ outBegIdx, outNBElement, tempBuffer ); +/* Generated */ if( (retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) || ((int)VALUE_HANDLE_DEREF(outNBElement) == 0) ) +/* Generated */ { +/* Generated */ #if defined(USE_SINGLE_PRECISION_INPUT) +/* Generated */ ARRAY_FREE( tempBuffer ); +/* Generated */ #else +/* Generated */ ARRAY_FREE_COND( bufferIsAllocated, tempBuffer ); +/* Generated */ #endif +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ retCode = FUNCTION_CALL_DOUBLE(MA)( 0, (int)VALUE_HANDLE_DEREF(outNBElement)-1, +/* Generated */ tempBuffer, optInSlowD_Period, +/* Generated */ optInSlowD_MAType, +/* Generated */ outBegIdx, outNBElement, outSlowD ); +/* Generated */ ARRAY_MEMMOVE( outSlowK, 0, tempBuffer,lookbackDSlow,(int)VALUE_HANDLE_DEREF(outNBElement)); +/* Generated */ #if defined(USE_SINGLE_PRECISION_INPUT) +/* Generated */ ARRAY_FREE( tempBuffer ); +/* Generated */ #else +/* Generated */ ARRAY_FREE_COND( bufferIsAllocated, tempBuffer ); +/* Generated */ #endif +/* Generated */ if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_STOCHF.c b/vendor/ta-lib/src/ta_func/ta_STOCHF.c new file mode 100644 index 000000000..60ffeacda --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_STOCHF.c @@ -0,0 +1,722 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * EKO echo999@ifrance.com + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 010802 MF Template creation. + * 051103 EKO Found bug and fix related to outFastD. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::StochFLookback( int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInFastD_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInFastD_MAType ) /* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int stochFLookback( int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInFastD_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInFastD_MAType ) /* Generated */ +/* Generated */ #else +/* Generated */ int TA_STOCHF_Lookback( int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInFastD_Period, /* From 1 to 100000 */ +/* Generated */ TA_MAType optInFastD_MAType ) /* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int retValue; + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInFastK_Period. */ +/* Generated */ if( (int)optInFastK_Period == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastK_Period = 5; +/* Generated */ else if( ((int)optInFastK_Period < 1) || ((int)optInFastK_Period > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ /* min/max are checked for optInFastD_Period. */ +/* Generated */ if( (int)optInFastD_Period == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastD_Period = 3; +/* Generated */ else if( ((int)optInFastD_Period < 1) || ((int)optInFastD_Period > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInFastD_MAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastD_MAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInFastD_MAType < 0) || ((int)optInFastD_MAType > 8) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* !defined(_MANAGED) && !defined(_JAVA)*/ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + /* Account for the initial data needed for Fast-K. */ + retValue = (optInFastK_Period - 1); + + /* Add the smoothing being done for Fast-D */ + retValue += LOOKBACK_CALL(MA)( optInFastD_Period, optInFastD_MAType ); + + return retValue; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_STOCHF - Stochastic Fast + * + * Input = High, Low, Close + * Output = double, double + * + * Optional Parameters + * ------------------- + * optInFastK_Period:(From 1 to 100000) + * Time period for building the Fast-K line + * + * optInFastD_Period:(From 1 to 100000) + * Smoothing for making the Fast-D line. Usually set to 3 + * + * optInFastD_MAType: + * Type of Moving Average for Fast-D + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::StochF( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInFastD_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInFastD_MAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outFastK, +/* Generated */ cli::array^ outFastD ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::StochF( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInFastD_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInFastD_MAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outFastK, +/* Generated */ cli::array^ outFastD ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode stochF( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInFastD_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInFastD_MAType, +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outFastK[], +/* Generated */ double outFastD[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_STOCHF( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInFastD_Period, /* From 1 to 100000 */ +/* Generated */ TA_MAType optInFastD_MAType, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outFastK[], +/* Generated */ double outFastD[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + ENUM_DECLARATION(RetCode) retCode; + double lowest, highest, tmp, diff; + ARRAY_REF( tempBuffer ); + int outIdx, lowestIdx, highestIdx; + int lookbackTotal, lookbackK, lookbackFastD; + int trailingIdx, today, i; + + #if !defined( _MANAGED ) && !defined(USE_SINGLE_PRECISION_INPUT) && !defined( _JAVA ) + int bufferIsAllocated; + #endif + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInFastK_Period. */ +/* Generated */ if( (int)optInFastK_Period == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastK_Period = 5; +/* Generated */ else if( ((int)optInFastK_Period < 1) || ((int)optInFastK_Period > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ /* min/max are checked for optInFastD_Period. */ +/* Generated */ if( (int)optInFastD_Period == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastD_Period = 3; +/* Generated */ else if( ((int)optInFastD_Period < 1) || ((int)optInFastD_Period > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInFastD_MAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastD_MAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInFastD_MAType < 0) || ((int)optInFastD_MAType > 8) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_MANAGED) && !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outFastK ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( !outFastD ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* With stochastic, there is a total of 4 different lines that + * are defined: FASTK, FASTD, SLOWK and SLOWD. + * + * The D is the signal line usually drawn over its + * corresponding K function. + * + * (Today's Close - LowestLow) + * FASTK(Kperiod) = --------------------------- * 100 + * (HighestHigh - LowestLow) + * + * FASTD(FastDperiod, MA type) = MA Smoothed FASTK over FastDperiod + * + * SLOWK(SlowKperiod, MA type) = MA Smoothed FASTK over SlowKperiod + * + * SLOWD(SlowDperiod, MA Type) = MA Smoothed SLOWK over SlowDperiod + * + * The HighestHigh and LowestLow are the extreme values among the + * last 'Kperiod'. + * + * SLOWK and FASTD are equivalent when using the same period. + * + * The following shows how these four lines are made available in TA-LIB: + * + * TA_STOCH : Returns the SLOWK and SLOWD + * TA_STOCHF : Returns the FASTK and FASTD + * + * The TA_STOCH function correspond to the more widely implemented version + * found in many software/charting package. The TA_STOCHF is more rarely + * used because its higher volatility cause often whipsaws. + */ + + /* Identify the lookback needed. */ + lookbackK = optInFastK_Period-1; + lookbackFastD = LOOKBACK_CALL(MA)( optInFastD_Period, optInFastD_MAType ); + lookbackTotal = lookbackK + lookbackFastD; + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + /* Succeed... but no data in the output. */ + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the K calculation: + * + * Kt = 100 x ((Ct-Lt)/(Ht-Lt)) + * + * Kt is today stochastic + * Ct is today closing price. + * Lt is the lowest price of the last K Period (including today) + * Ht is the highest price of the last K Period (including today) + */ + + /* Proceed with the calculation for the requested range. + * Note that this algorithm allows the input and + * output to be the same buffer. + */ + outIdx = 0; + + /* Calculate just enough K for ending up with the caller + * requested range. (The range of k must consider all + * the lookback involve with the smoothing). + */ + trailingIdx = startIdx-lookbackTotal; + today = trailingIdx+lookbackK; + lowestIdx = highestIdx = -1; + diff = highest = lowest = 0.0; + + /* Allocate a temporary buffer large enough to + * store the K. + * + * If the output is the same as the input, great + * we just save ourself one memory allocation. + */ + #if !defined( _MANAGED ) && !defined(USE_SINGLE_PRECISION_INPUT) && !defined( _JAVA ) + bufferIsAllocated = 0; + #endif + + #if defined(USE_SINGLE_PRECISION_INPUT) || defined( USE_SUBARRAY ) + /* Always alloc, since output is of different type and + * its allocated size is not guarantee to be as large as + * the input. + */ + ARRAY_ALLOC( tempBuffer, endIdx-today+1 ); + #else + if( (outFastK == inHigh) || + (outFastK == inLow) || + (outFastK == inClose) ) + { + tempBuffer = outFastK; + } + else if( (outFastD == inHigh) || + (outFastD == inLow) || + (outFastD == inClose) ) + { + tempBuffer = outFastD; + } + else + { + #if !defined( _MANAGED ) && !defined( _JAVA ) + bufferIsAllocated = 1; + #endif + ARRAY_ALLOC(tempBuffer, endIdx-today+1 ); + } + #endif + + /* Do the K calculation */ + while( today <= endIdx ) + { + /* Set the lowest low */ + tmp = inLow[today]; + if( lowestIdx < trailingIdx ) + { + lowestIdx = trailingIdx; + lowest = inLow[lowestIdx]; + i = lowestIdx; + while( ++i<=today ) + { + tmp = inLow[i]; + if( tmp < lowest ) + { + lowestIdx = i; + lowest = tmp; + } + } + diff = (highest - lowest)/100.0; + } + else if( tmp <= lowest ) + { + lowestIdx = today; + lowest = tmp; + diff = (highest - lowest)/100.0; + } + + /* Set the highest high */ + tmp = inHigh[today]; + if( highestIdx < trailingIdx ) + { + highestIdx = trailingIdx; + highest = inHigh[highestIdx]; + i = highestIdx; + while( ++i<=today ) + { + tmp = inHigh[i]; + if( tmp > highest ) + { + highestIdx = i; + highest = tmp; + } + } + diff = (highest - lowest)/100.0; + } + else if( tmp >= highest ) + { + highestIdx = today; + highest = tmp; + diff = (highest - lowest)/100.0; + } + + /* Calculate stochastic. */ + if( diff != 0.0 ) + tempBuffer[outIdx++] = (inClose[today]-lowest)/diff; + else + tempBuffer[outIdx++] = 0.0; + + trailingIdx++; + today++; + } + + /* Fast-K calculation completed. This K calculation is returned + * to the caller. It is smoothed to become Fast-D. + */ + retCode = FUNCTION_CALL_DOUBLE(MA)( 0, outIdx-1, + tempBuffer, optInFastD_Period, + optInFastD_MAType, + outBegIdx, outNBElement, outFastD ); + + + if( (retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) || ((int)VALUE_HANDLE_DEREF(outNBElement)) == 0 ) + { + #if defined(USE_SINGLE_PRECISION_INPUT) + ARRAY_FREE( tempBuffer ); + #else + ARRAY_FREE_COND( bufferIsAllocated, tempBuffer ); + #endif + /* Something wrong happen? No further data? */ + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return retCode; + } + + /* Copy tempBuffer into the caller buffer. + * (Calculation could not be done directly in the + * caller buffer because more input data then the + * requested range was needed for doing %D). + */ + ARRAY_MEMMOVE( outFastK, 0, tempBuffer, lookbackFastD, (int)VALUE_HANDLE_DEREF(outNBElement) ); + + /* Don't need K anymore, free it if it was allocated here. */ + #if defined(USE_SINGLE_PRECISION_INPUT) + ARRAY_FREE( tempBuffer ); + #else + ARRAY_FREE_COND( bufferIsAllocated, tempBuffer ); + #endif + + if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) + { + /* Something wrong happen while processing %D? */ + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return retCode; + } + + /* Note: Keep the outBegIdx relative to the + * caller input before returning. + */ + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::StochF( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInFastD_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInFastD_MAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outFastK, +/* Generated */ cli::array^ outFastD ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode stochF( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInFastD_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInFastD_MAType, +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outFastK[], +/* Generated */ double outFastD[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_STOCHF( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInFastD_Period, /* From 1 to 100000 */ +/* Generated */ TA_MAType optInFastD_MAType, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outFastK[], +/* Generated */ double outFastD[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ENUM_DECLARATION(RetCode) retCode; +/* Generated */ double lowest, highest, tmp, diff; +/* Generated */ ARRAY_REF( tempBuffer ); +/* Generated */ int outIdx, lowestIdx, highestIdx; +/* Generated */ int lookbackTotal, lookbackK, lookbackFastD; +/* Generated */ int trailingIdx, today, i; +/* Generated */ #if !defined( _MANAGED ) && !defined(USE_SINGLE_PRECISION_INPUT) && !defined( _JAVA ) +/* Generated */ int bufferIsAllocated; +/* Generated */ #endif +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInFastK_Period == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastK_Period = 5; +/* Generated */ else if( ((int)optInFastK_Period < 1) || ((int)optInFastK_Period > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( (int)optInFastD_Period == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastD_Period = 3; +/* Generated */ else if( ((int)optInFastD_Period < 1) || ((int)optInFastD_Period > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInFastD_MAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastD_MAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInFastD_MAType < 0) || ((int)optInFastD_MAType > 8) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outFastK ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !outFastD ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackK = optInFastK_Period-1; +/* Generated */ lookbackFastD = LOOKBACK_CALL(MA)( optInFastD_Period, optInFastD_MAType ); +/* Generated */ lookbackTotal = lookbackK + lookbackFastD; +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ trailingIdx = startIdx-lookbackTotal; +/* Generated */ today = trailingIdx+lookbackK; +/* Generated */ lowestIdx = highestIdx = -1; +/* Generated */ diff = highest = lowest = 0.0; +/* Generated */ #if !defined( _MANAGED ) && !defined(USE_SINGLE_PRECISION_INPUT) && !defined( _JAVA ) +/* Generated */ bufferIsAllocated = 0; +/* Generated */ #endif +/* Generated */ #if defined(USE_SINGLE_PRECISION_INPUT) || defined( USE_SUBARRAY ) +/* Generated */ ARRAY_ALLOC( tempBuffer, endIdx-today+1 ); +/* Generated */ #else +/* Generated */ if( (outFastK == inHigh) || +/* Generated */ (outFastK == inLow) || +/* Generated */ (outFastK == inClose) ) +/* Generated */ { +/* Generated */ tempBuffer = outFastK; +/* Generated */ } +/* Generated */ else if( (outFastD == inHigh) || +/* Generated */ (outFastD == inLow) || +/* Generated */ (outFastD == inClose) ) +/* Generated */ { +/* Generated */ tempBuffer = outFastD; +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ bufferIsAllocated = 1; +/* Generated */ #endif +/* Generated */ ARRAY_ALLOC(tempBuffer, endIdx-today+1 ); +/* Generated */ } +/* Generated */ #endif +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ tmp = inLow[today]; +/* Generated */ if( lowestIdx < trailingIdx ) +/* Generated */ { +/* Generated */ lowestIdx = trailingIdx; +/* Generated */ lowest = inLow[lowestIdx]; +/* Generated */ i = lowestIdx; +/* Generated */ while( ++i<=today ) +/* Generated */ { +/* Generated */ tmp = inLow[i]; +/* Generated */ if( tmp < lowest ) +/* Generated */ { +/* Generated */ lowestIdx = i; +/* Generated */ lowest = tmp; +/* Generated */ } +/* Generated */ } +/* Generated */ diff = (highest - lowest)/100.0; +/* Generated */ } +/* Generated */ else if( tmp <= lowest ) +/* Generated */ { +/* Generated */ lowestIdx = today; +/* Generated */ lowest = tmp; +/* Generated */ diff = (highest - lowest)/100.0; +/* Generated */ } +/* Generated */ tmp = inHigh[today]; +/* Generated */ if( highestIdx < trailingIdx ) +/* Generated */ { +/* Generated */ highestIdx = trailingIdx; +/* Generated */ highest = inHigh[highestIdx]; +/* Generated */ i = highestIdx; +/* Generated */ while( ++i<=today ) +/* Generated */ { +/* Generated */ tmp = inHigh[i]; +/* Generated */ if( tmp > highest ) +/* Generated */ { +/* Generated */ highestIdx = i; +/* Generated */ highest = tmp; +/* Generated */ } +/* Generated */ } +/* Generated */ diff = (highest - lowest)/100.0; +/* Generated */ } +/* Generated */ else if( tmp >= highest ) +/* Generated */ { +/* Generated */ highestIdx = today; +/* Generated */ highest = tmp; +/* Generated */ diff = (highest - lowest)/100.0; +/* Generated */ } +/* Generated */ if( diff != 0.0 ) +/* Generated */ tempBuffer[outIdx++] = (inClose[today]-lowest)/diff; +/* Generated */ else +/* Generated */ tempBuffer[outIdx++] = 0.0; +/* Generated */ trailingIdx++; +/* Generated */ today++; +/* Generated */ } +/* Generated */ retCode = FUNCTION_CALL_DOUBLE(MA)( 0, outIdx-1, +/* Generated */ tempBuffer, optInFastD_Period, +/* Generated */ optInFastD_MAType, +/* Generated */ outBegIdx, outNBElement, outFastD ); +/* Generated */ if( (retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) || ((int)VALUE_HANDLE_DEREF(outNBElement)) == 0 ) +/* Generated */ { +/* Generated */ #if defined(USE_SINGLE_PRECISION_INPUT) +/* Generated */ ARRAY_FREE( tempBuffer ); +/* Generated */ #else +/* Generated */ ARRAY_FREE_COND( bufferIsAllocated, tempBuffer ); +/* Generated */ #endif +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ ARRAY_MEMMOVE( outFastK, 0, tempBuffer, lookbackFastD, (int)VALUE_HANDLE_DEREF(outNBElement) ); +/* Generated */ #if defined(USE_SINGLE_PRECISION_INPUT) +/* Generated */ ARRAY_FREE( tempBuffer ); +/* Generated */ #else +/* Generated */ ARRAY_FREE_COND( bufferIsAllocated, tempBuffer ); +/* Generated */ #endif +/* Generated */ if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_STOCHRSI.c b/vendor/ta-lib/src/ta_func/ta_STOCHRSI.c new file mode 100644 index 000000000..bf11cdbef --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_STOCHRSI.c @@ -0,0 +1,507 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * PP Peter Pudaite + * AA Andrew Atkinson + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120802 MF Template creation. + * 101103 PP Initial creation of code. + * 112603 MF Add independent control to the RSI period. + * 020605 AA Fix #1117656. NULL pointer assignement. + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::StochRsiLookback( int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInFastD_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInFastD_MAType ) /* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int stochRsiLookback( int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInFastD_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInFastD_MAType ) /* Generated */ +/* Generated */ #else +/* Generated */ int TA_STOCHRSI_Lookback( int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInFastD_Period, /* From 1 to 100000 */ +/* Generated */ TA_MAType optInFastD_MAType ) /* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int retValue; + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ /* min/max are checked for optInFastK_Period. */ +/* Generated */ if( (int)optInFastK_Period == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastK_Period = 5; +/* Generated */ else if( ((int)optInFastK_Period < 1) || ((int)optInFastK_Period > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ /* min/max are checked for optInFastD_Period. */ +/* Generated */ if( (int)optInFastD_Period == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastD_Period = 3; +/* Generated */ else if( ((int)optInFastD_Period < 1) || ((int)optInFastD_Period > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInFastD_MAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastD_MAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInFastD_MAType < 0) || ((int)optInFastD_MAType > 8) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* !defined(_MANAGED) && !defined(_JAVA)*/ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + retValue = LOOKBACK_CALL(RSI)( optInTimePeriod ) + LOOKBACK_CALL(STOCHF)( optInFastK_Period, optInFastD_Period, optInFastD_MAType ); + + return retValue; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_STOCHRSI - Stochastic Relative Strength Index + * + * Input = double + * Output = double, double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * optInFastK_Period:(From 1 to 100000) + * Time period for building the Fast-K line + * + * optInFastD_Period:(From 1 to 100000) + * Smoothing for making the Fast-D line. Usually set to 3 + * + * optInFastD_MAType: + * Type of Moving Average for Fast-D + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::StochRsi( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInFastD_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInFastD_MAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outFastK, +/* Generated */ cli::array^ outFastD ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::StochRsi( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInFastD_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInFastD_MAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outFastK, +/* Generated */ cli::array^ outFastD ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode stochRsi( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInFastD_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInFastD_MAType, +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outFastK[], +/* Generated */ double outFastD[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_STOCHRSI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInFastD_Period, /* From 1 to 100000 */ +/* Generated */ TA_MAType optInFastD_MAType, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outFastK[], +/* Generated */ double outFastD[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + ARRAY_REF(tempRSIBuffer); + + ENUM_DECLARATION(RetCode) retCode; + int lookbackTotal, lookbackSTOCHF, tempArraySize; + VALUE_HANDLE_INT(outBegIdx1); + VALUE_HANDLE_INT(outBegIdx2); + VALUE_HANDLE_INT(outNbElement1); + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ /* min/max are checked for optInFastK_Period. */ +/* Generated */ if( (int)optInFastK_Period == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastK_Period = 5; +/* Generated */ else if( ((int)optInFastK_Period < 1) || ((int)optInFastK_Period > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ /* min/max are checked for optInFastD_Period. */ +/* Generated */ if( (int)optInFastD_Period == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastD_Period = 3; +/* Generated */ else if( ((int)optInFastD_Period < 1) || ((int)optInFastD_Period > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInFastD_MAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastD_MAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInFastD_MAType < 0) || ((int)optInFastD_MAType > 8) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_MANAGED) && !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outFastK ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( !outFastD ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Stochastic RSI + * + * Reference: "Stochastic RSI and Dynamic Momentum Index" + * by Tushar Chande and Stanley Kroll + * Stock&Commodities V.11:5 (189-199) + * + * The TA-Lib version offer flexibility beyond what is explain + * in the Stock&Commodities article. + * + * To calculate the "Unsmoothed stochastic RSI" with symetry like + * explain in the article, keep the optInTimePeriod and optInFastK_Period + * equal. Example: + * + * unsmoothed stoch RSI 14 : optInTimePeriod = 14 + * optInFastK_Period = 14 + * optInFastD_Period = 'x' + * + * The outFastK is the unsmoothed RSI discuss in the article. + * + * You can set the optInFastD_Period to smooth the RSI. The smooth + * version will be found in outFastD. The outFastK will still contain + * the unsmoothed stoch RSI. If you do not care about the smoothing of + * the StochRSI, just leave optInFastD_Period to 1 and ignore outFastD. + */ + + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + + /* Adjust startIdx to account for the lookback period. */ + lookbackSTOCHF = LOOKBACK_CALL(STOCHF)( optInFastK_Period, optInFastD_Period, optInFastD_MAType ); + lookbackTotal = LOOKBACK_CALL(RSI)( optInTimePeriod ) + lookbackSTOCHF; + + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + tempArraySize = (endIdx - startIdx) + 1 + lookbackSTOCHF; + + ARRAY_ALLOC( tempRSIBuffer, tempArraySize ); + + retCode = FUNCTION_CALL(RSI)(startIdx-lookbackSTOCHF, + endIdx, + inReal, + optInTimePeriod, + VALUE_HANDLE_OUT(outBegIdx1), + VALUE_HANDLE_OUT(outNbElement1), + tempRSIBuffer); + + if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) || VALUE_HANDLE_GET(outNbElement1) == 0 ) + { + ARRAY_FREE( tempRSIBuffer ); + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return retCode; + } + + retCode = FUNCTION_CALL_DOUBLE(STOCHF)(0, + tempArraySize-1, + tempRSIBuffer, + tempRSIBuffer, + tempRSIBuffer, + optInFastK_Period, + optInFastD_Period, + optInFastD_MAType, + VALUE_HANDLE_OUT(outBegIdx2), + outNBElement, + outFastK, + outFastD); + + ARRAY_FREE( tempRSIBuffer ); + + if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) || ((int)VALUE_HANDLE_DEREF(outNBElement)) == 0 ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return retCode; + } + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::StochRsi( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInFastD_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInFastD_MAType, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outFastK, +/* Generated */ cli::array^ outFastD ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode stochRsi( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInFastD_Period, /* From 1 to 100000 */ +/* Generated */ MAType optInFastD_MAType, +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outFastK[], +/* Generated */ double outFastD[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_STOCHRSI( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int optInFastK_Period, /* From 1 to 100000 */ +/* Generated */ int optInFastD_Period, /* From 1 to 100000 */ +/* Generated */ TA_MAType optInFastD_MAType, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outFastK[], +/* Generated */ double outFastD[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ARRAY_REF(tempRSIBuffer); +/* Generated */ ENUM_DECLARATION(RetCode) retCode; +/* Generated */ int lookbackTotal, lookbackSTOCHF, tempArraySize; +/* Generated */ VALUE_HANDLE_INT(outBegIdx1); +/* Generated */ VALUE_HANDLE_INT(outBegIdx2); +/* Generated */ VALUE_HANDLE_INT(outNbElement1); +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( (int)optInFastK_Period == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastK_Period = 5; +/* Generated */ else if( ((int)optInFastK_Period < 1) || ((int)optInFastK_Period > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( (int)optInFastD_Period == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastD_Period = 3; +/* Generated */ else if( ((int)optInFastD_Period < 1) || ((int)optInFastD_Period > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_MANAGED) && !defined(_JAVA) +/* Generated */ if( (int)optInFastD_MAType == TA_INTEGER_DEFAULT ) +/* Generated */ optInFastD_MAType = (TA_MAType)0; +/* Generated */ else if( ((int)optInFastD_MAType < 0) || ((int)optInFastD_MAType > 8) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outFastK ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !outFastD ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ lookbackSTOCHF = LOOKBACK_CALL(STOCHF)( optInFastK_Period, optInFastD_Period, optInFastD_MAType ); +/* Generated */ lookbackTotal = LOOKBACK_CALL(RSI)( optInTimePeriod ) + lookbackSTOCHF; +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ tempArraySize = (endIdx - startIdx) + 1 + lookbackSTOCHF; +/* Generated */ ARRAY_ALLOC( tempRSIBuffer, tempArraySize ); +/* Generated */ retCode = FUNCTION_CALL(RSI)(startIdx-lookbackSTOCHF, +/* Generated */ endIdx, +/* Generated */ inReal, +/* Generated */ optInTimePeriod, +/* Generated */ VALUE_HANDLE_OUT(outBegIdx1), +/* Generated */ VALUE_HANDLE_OUT(outNbElement1), +/* Generated */ tempRSIBuffer); +/* Generated */ if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) || VALUE_HANDLE_GET(outNbElement1) == 0 ) +/* Generated */ { +/* Generated */ ARRAY_FREE( tempRSIBuffer ); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ retCode = FUNCTION_CALL_DOUBLE(STOCHF)(0, +/* Generated */ tempArraySize-1, +/* Generated */ tempRSIBuffer, +/* Generated */ tempRSIBuffer, +/* Generated */ tempRSIBuffer, +/* Generated */ optInFastK_Period, +/* Generated */ optInFastD_Period, +/* Generated */ optInFastD_MAType, +/* Generated */ VALUE_HANDLE_OUT(outBegIdx2), +/* Generated */ outNBElement, +/* Generated */ outFastK, +/* Generated */ outFastD); +/* Generated */ ARRAY_FREE( tempRSIBuffer ); +/* Generated */ if( retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) || ((int)VALUE_HANDLE_DEREF(outNBElement)) == 0 ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_SUB.c b/vendor/ta-lib/src/ta_func/ta_SUB.c new file mode 100644 index 000000000..5ae57ff25 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_SUB.c @@ -0,0 +1,250 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 090807 MF Initial Version + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::SubLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int subLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_SUB_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_SUB - Vector Arithmetic Substraction + * + * Input = double, double + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Sub( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal0, +/* Generated */ SubArray^ inReal1, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Sub( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal0, +/* Generated */ cli::array^ inReal1, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode sub( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal0[], +/* Generated */ double inReal1[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_SUB( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal0[], +/* Generated */ const double inReal1[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx; + int i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal0 ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !inReal1 ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Default return values */ + for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) + { + outReal[outIdx] = inReal0[i]-inReal1[i]; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Sub( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal0, +/* Generated */ cli::array^ inReal1, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode sub( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal0[], +/* Generated */ float inReal1[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_SUB( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal0[], +/* Generated */ const float inReal1[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx; +/* Generated */ int i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal0 ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( !inReal1 ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) +/* Generated */ { +/* Generated */ outReal[outIdx] = inReal0[i]-inReal1[i]; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_SUM.c b/vendor/ta-lib/src/ta_func/ta_SUM.c new file mode 100644 index 000000000..1feb00efb --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_SUM.c @@ -0,0 +1,333 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120802 MF Template creation. + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::SumLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int sumLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_SUM_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return optInTimePeriod-1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_SUM - Summation + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Sum( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Sum( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode sum( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_SUM( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + double periodTotal, tempReal; + int i, outIdx, trailingIdx, lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + lookbackTotal = (optInTimePeriod-1); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the MA calculation using tight loops. */ + + /* Add-up the initial period, except for the last value. */ + periodTotal = 0; + trailingIdx = startIdx-lookbackTotal; + + i=trailingIdx; + if( optInTimePeriod > 1 ) + { + while( i < startIdx ) + periodTotal += inReal[i++]; + } + + /* Proceed with the calculation for the requested range. + * Note that this algorithm allows the inReal and + * outReal to be the same buffer. + */ + outIdx = 0; + do + { + periodTotal += inReal[i++]; + tempReal = periodTotal; + periodTotal -= inReal[trailingIdx++]; + outReal[outIdx++] = tempReal; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Sum( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode sum( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_SUM( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double periodTotal, tempReal; +/* Generated */ int i, outIdx, trailingIdx, lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = (optInTimePeriod-1); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ periodTotal = 0; +/* Generated */ trailingIdx = startIdx-lookbackTotal; +/* Generated */ i=trailingIdx; +/* Generated */ if( optInTimePeriod > 1 ) +/* Generated */ { +/* Generated */ while( i < startIdx ) +/* Generated */ periodTotal += inReal[i++]; +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ periodTotal += inReal[i++]; +/* Generated */ tempReal = periodTotal; +/* Generated */ periodTotal -= inReal[trailingIdx++]; +/* Generated */ outReal[outIdx++] = tempReal; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_T3.c b/vendor/ta-lib/src/ta_func/ta_T3.c new file mode 100644 index 000000000..bf4285990 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_T3.c @@ -0,0 +1,524 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MHL Matthew Lindblom + * MF Mario Fortier + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 120802 MF Template creation. + * 032003 MHL Implementation of T3 + * 040503 MF Adapt for compatibility with published code + * for TradeStation and Metastock. + * See "Smoothing Techniques For More Accurate Signals" + * from Tim Tillson in Stock&Commodities V16:1 Page 33-37 + * 052603 MF Adapt code to compile with .NET Managed C++ + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::T3Lookback( int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInVFactor ) /* From 0 to 1 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int t3Lookback( int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInVFactor ) /* From 0 to 1 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_T3_Lookback( int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInVFactor ) /* From 0 to 1 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 5; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ if( optInVFactor == TA_REAL_DEFAULT ) +/* Generated */ optInVFactor = 7.000000e-1; +/* Generated */ else if( (optInVFactor < 0.000000e+0) ||/* Generated */ (optInVFactor > 1.000000e+0) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + UNUSED_VARIABLE(optInVFactor); + return 6 * (optInTimePeriod-1) + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_T3,T3); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_T3 - Triple Exponential Moving Average (T3) + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * optInVFactor:(From 0 to 1) + * Volume Factor + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::T3( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInVFactor, /* From 0 to 1 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::T3( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInVFactor, /* From 0 to 1 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode t3( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInVFactor, /* From 0 to 1 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_T3( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInVFactor, /* From 0 to 1 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + + int outIdx, lookbackTotal; + int today, i; + double k, one_minus_k; + double e1, e2, e3, e4, e5, e6; + double c1, c2, c3, c4; + double tempReal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 5; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( optInVFactor == TA_REAL_DEFAULT ) +/* Generated */ optInVFactor = 7.000000e-1; +/* Generated */ else if( (optInVFactor < 0.000000e+0) ||/* Generated */ (optInVFactor > 1.000000e+0) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* For an explanation of this function, please read: + * + * Magazine articles written by Tim Tillson + * + * Essentially, a T3 of time serie 't' is: + * EMA1(x,Period) = EMA(x,Period) + * EMA2(x,Period) = EMA(EMA1(x,Period),Period) + * GD(x,Period,vFactor) = (EMA1(x,Period)*(1+vFactor)) - (EMA2(x,Period)*vFactor) + * T3 = GD (GD ( GD(t, Period, vFactor), Period, vFactor), Period, vFactor); + * + * T3 offers a moving average with less lags then the + * traditional EMA. + * + * Do not confuse a T3 with EMA3. Both are called "Triple EMA" + * in the litterature. + * + */ + lookbackTotal = 6 * (optInTimePeriod - 1) + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_T3,T3); + if( startIdx <= lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + today = startIdx - lookbackTotal; + + k = 2.0/(optInTimePeriod+1.0); + one_minus_k = 1.0-k; + + /* Initialize e1 */ + tempReal = inReal[today++]; + for( i=optInTimePeriod-1; i > 0 ; i-- ) + tempReal += inReal[today++]; + e1 = tempReal / optInTimePeriod; + + /* Initialize e2 */ + tempReal = e1; + for( i=optInTimePeriod-1; i > 0 ; i-- ) + { + e1 = (k*inReal[today++])+(one_minus_k*e1); + tempReal += e1; + } + e2 = tempReal / optInTimePeriod; + + /* Initialize e3 */ + tempReal = e2; + for( i=optInTimePeriod-1; i > 0 ; i-- ) + { + e1 = (k*inReal[today++])+(one_minus_k*e1); + e2 = (k*e1)+(one_minus_k*e2); + tempReal += e2; + } + e3 = tempReal / optInTimePeriod; + + /* Initialize e4 */ + tempReal = e3; + for( i=optInTimePeriod-1; i > 0 ; i-- ) + { + e1 = (k*inReal[today++])+(one_minus_k*e1); + e2 = (k*e1)+(one_minus_k*e2); + e3 = (k*e2)+(one_minus_k*e3); + tempReal += e3; + } + e4 = tempReal / optInTimePeriod; + + /* Initialize e5 */ + tempReal = e4; + for( i=optInTimePeriod-1; i > 0 ; i-- ) + { + e1 = (k*inReal[today++])+(one_minus_k*e1); + e2 = (k*e1)+(one_minus_k*e2); + e3 = (k*e2)+(one_minus_k*e3); + e4 = (k*e3)+(one_minus_k*e4); + tempReal += e4; + } + e5 = tempReal / optInTimePeriod; + + /* Initialize e6 */ + tempReal = e5; + for( i=optInTimePeriod-1; i > 0 ; i-- ) + { + e1 = (k*inReal[today++])+(one_minus_k*e1); + e2 = (k*e1)+(one_minus_k*e2); + e3 = (k*e2)+(one_minus_k*e3); + e4 = (k*e3)+(one_minus_k*e4); + e5 = (k*e4)+(one_minus_k*e5); + tempReal += e5; + } + e6 = tempReal / optInTimePeriod; + + /* Skip the unstable period */ + while( today <= startIdx ) + { + /* Do the calculation but do not write the output */ + e1 = (k*inReal[today++])+(one_minus_k*e1); + e2 = (k*e1)+(one_minus_k*e2); + e3 = (k*e2)+(one_minus_k*e3); + e4 = (k*e3)+(one_minus_k*e4); + e5 = (k*e4)+(one_minus_k*e5); + e6 = (k*e5)+(one_minus_k*e6); + } + + /* Calculate the constants */ + tempReal = optInVFactor * optInVFactor; + c1 = -(tempReal * optInVFactor); + c2 = 3.0 * (tempReal - c1); + c3 = -6.0 * tempReal - 3.0 * (optInVFactor-c1); + c4 = 1.0 + 3.0 * optInVFactor - c1 + 3.0 * tempReal; + + /* Write the first output */ + outIdx = 0; + outReal[outIdx++] = c1*e6+c2*e5+c3*e4+c4*e3; + + /* Calculate and output the remaining of the range. */ + while( today <= endIdx ) + { + e1 = (k*inReal[today++])+(one_minus_k*e1); + e2 = (k*e1)+(one_minus_k*e2); + e3 = (k*e2)+(one_minus_k*e3); + e4 = (k*e3)+(one_minus_k*e4); + e5 = (k*e4)+(one_minus_k*e5); + e6 = (k*e5)+(one_minus_k*e6); + outReal[outIdx++] = c1*e6+c2*e5+c3*e4+c4*e3; + } + + /* Indicates to the caller the number of output + * successfully calculated. + */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::T3( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInVFactor, /* From 0 to 1 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode t3( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInVFactor, /* From 0 to 1 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_T3( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ double optInVFactor, /* From 0 to 1 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx, lookbackTotal; +/* Generated */ int today, i; +/* Generated */ double k, one_minus_k; +/* Generated */ double e1, e2, e3, e4, e5, e6; +/* Generated */ double c1, c2, c3, c4; +/* Generated */ double tempReal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 5; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( optInVFactor == TA_REAL_DEFAULT ) +/* Generated */ optInVFactor = 7.000000e-1; +/* Generated */ else if( (optInVFactor < 0.000000e+0) || (optInVFactor > 1.000000e+0) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = 6 * (optInTimePeriod - 1) + TA_GLOBALS_UNSTABLE_PERIOD(TA_FUNC_UNST_T3,T3); +/* Generated */ if( startIdx <= lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ today = startIdx - lookbackTotal; +/* Generated */ k = 2.0/(optInTimePeriod+1.0); +/* Generated */ one_minus_k = 1.0-k; +/* Generated */ tempReal = inReal[today++]; +/* Generated */ for( i=optInTimePeriod-1; i > 0 ; i-- ) +/* Generated */ tempReal += inReal[today++]; +/* Generated */ e1 = tempReal / optInTimePeriod; +/* Generated */ tempReal = e1; +/* Generated */ for( i=optInTimePeriod-1; i > 0 ; i-- ) +/* Generated */ { +/* Generated */ e1 = (k*inReal[today++])+(one_minus_k*e1); +/* Generated */ tempReal += e1; +/* Generated */ } +/* Generated */ e2 = tempReal / optInTimePeriod; +/* Generated */ tempReal = e2; +/* Generated */ for( i=optInTimePeriod-1; i > 0 ; i-- ) +/* Generated */ { +/* Generated */ e1 = (k*inReal[today++])+(one_minus_k*e1); +/* Generated */ e2 = (k*e1)+(one_minus_k*e2); +/* Generated */ tempReal += e2; +/* Generated */ } +/* Generated */ e3 = tempReal / optInTimePeriod; +/* Generated */ tempReal = e3; +/* Generated */ for( i=optInTimePeriod-1; i > 0 ; i-- ) +/* Generated */ { +/* Generated */ e1 = (k*inReal[today++])+(one_minus_k*e1); +/* Generated */ e2 = (k*e1)+(one_minus_k*e2); +/* Generated */ e3 = (k*e2)+(one_minus_k*e3); +/* Generated */ tempReal += e3; +/* Generated */ } +/* Generated */ e4 = tempReal / optInTimePeriod; +/* Generated */ tempReal = e4; +/* Generated */ for( i=optInTimePeriod-1; i > 0 ; i-- ) +/* Generated */ { +/* Generated */ e1 = (k*inReal[today++])+(one_minus_k*e1); +/* Generated */ e2 = (k*e1)+(one_minus_k*e2); +/* Generated */ e3 = (k*e2)+(one_minus_k*e3); +/* Generated */ e4 = (k*e3)+(one_minus_k*e4); +/* Generated */ tempReal += e4; +/* Generated */ } +/* Generated */ e5 = tempReal / optInTimePeriod; +/* Generated */ tempReal = e5; +/* Generated */ for( i=optInTimePeriod-1; i > 0 ; i-- ) +/* Generated */ { +/* Generated */ e1 = (k*inReal[today++])+(one_minus_k*e1); +/* Generated */ e2 = (k*e1)+(one_minus_k*e2); +/* Generated */ e3 = (k*e2)+(one_minus_k*e3); +/* Generated */ e4 = (k*e3)+(one_minus_k*e4); +/* Generated */ e5 = (k*e4)+(one_minus_k*e5); +/* Generated */ tempReal += e5; +/* Generated */ } +/* Generated */ e6 = tempReal / optInTimePeriod; +/* Generated */ while( today <= startIdx ) +/* Generated */ { +/* Generated */ e1 = (k*inReal[today++])+(one_minus_k*e1); +/* Generated */ e2 = (k*e1)+(one_minus_k*e2); +/* Generated */ e3 = (k*e2)+(one_minus_k*e3); +/* Generated */ e4 = (k*e3)+(one_minus_k*e4); +/* Generated */ e5 = (k*e4)+(one_minus_k*e5); +/* Generated */ e6 = (k*e5)+(one_minus_k*e6); +/* Generated */ } +/* Generated */ tempReal = optInVFactor * optInVFactor; +/* Generated */ c1 = -(tempReal * optInVFactor); +/* Generated */ c2 = 3.0 * (tempReal - c1); +/* Generated */ c3 = -6.0 * tempReal - 3.0 * (optInVFactor-c1); +/* Generated */ c4 = 1.0 + 3.0 * optInVFactor - c1 + 3.0 * tempReal; +/* Generated */ outIdx = 0; +/* Generated */ outReal[outIdx++] = c1*e6+c2*e5+c3*e4+c4*e3; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ e1 = (k*inReal[today++])+(one_minus_k*e1); +/* Generated */ e2 = (k*e1)+(one_minus_k*e2); +/* Generated */ e3 = (k*e2)+(one_minus_k*e3); +/* Generated */ e4 = (k*e3)+(one_minus_k*e4); +/* Generated */ e5 = (k*e4)+(one_minus_k*e5); +/* Generated */ e6 = (k*e5)+(one_minus_k*e6); +/* Generated */ outReal[outIdx++] = c1*e6+c2*e5+c3*e4+c4*e3; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_TAN.c b/vendor/ta-lib/src/ta_func/ta_TAN.c new file mode 100644 index 000000000..dff966eaf --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_TAN.c @@ -0,0 +1,241 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 090807 MF Initial Version + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::TanLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int tanLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_TAN_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_TAN - Vector Trigonometric Tan + * + * Input = double + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Tan( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Tan( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode tan( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_TAN( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx; + int i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Default return values */ + for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) + { + outReal[outIdx] = std_tan(inReal[i]); + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Tan( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode tan( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_TAN( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx; +/* Generated */ int i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) +/* Generated */ { +/* Generated */ outReal[outIdx] = std_tan(inReal[i]); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_TANH.c b/vendor/ta-lib/src/ta_func/ta_TANH.c new file mode 100644 index 000000000..a1d0781d6 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_TANH.c @@ -0,0 +1,241 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 090807 MF Initial Version + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::TanhLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int tanhLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_TANH_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_TANH - Vector Trigonometric Tanh + * + * Input = double + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Tanh( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Tanh( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode tanh( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_TANH( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx; + int i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Default return values */ + for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) + { + outReal[outIdx] = std_tanh(inReal[i]); + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Tanh( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode tanh( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_TANH( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx; +/* Generated */ int i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ for( i=startIdx, outIdx=0; i <= endIdx; i++, outIdx++ ) +/* Generated */ { +/* Generated */ outReal[outIdx] = std_tanh(inReal[i]); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_TEMA.c b/vendor/ta-lib/src/ta_func/ta_TEMA.c new file mode 100644 index 000000000..3bdec0c45 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_TEMA.c @@ -0,0 +1,481 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::TemaLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int temaLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_TEMA_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int retValue; + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + /* Get lookack for one EMA. */ + retValue = LOOKBACK_CALL(EMA)( optInTimePeriod ); + + return retValue * 3; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_TEMA - Triple Exponential Moving Average + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Tema( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Tema( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode tema( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_TEMA( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + ARRAY_REF(firstEMA); + ARRAY_REF(secondEMA); + double k; + + VALUE_HANDLE_INT(firstEMABegIdx); + VALUE_HANDLE_INT(firstEMANbElement); + VALUE_HANDLE_INT(secondEMABegIdx); + VALUE_HANDLE_INT(secondEMANbElement); + VALUE_HANDLE_INT(thirdEMABegIdx); + VALUE_HANDLE_INT(thirdEMANbElement); + + int tempInt, outIdx, lookbackTotal, lookbackEMA; + int firstEMAIdx, secondEMAIdx; + + ENUM_DECLARATION(RetCode) retCode; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* For an explanation of this function, please read: + * + * Stocks & Commodities V. 12:1 (11-19): + * Smoothing Data With Faster Moving Averages + * Stocks & Commodities V. 12:2 (72-80): + * Smoothing Data With Less Lag + * + * Both magazine articles written by Patrick G. Mulloy + * + * Essentially, a TEMA of time serie 't' is: + * EMA1 = EMA(t,period) + * EMA2 = EMA(EMA(t,period),period) + * EMA3 = EMA(EMA(EMA(t,period),period)) + * TEMA = 3*EMA1 - 3*EMA2 + EMA3 + * + * TEMA offers a moving average with less lags then the + * traditional EMA. + * + * Do not confuse a TEMA with EMA3. Both are called "Triple EMA" + * in the litterature. + * + * DEMA is very similar (and from the same author). + */ + + /* Will change only on success. */ + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + + /* Adjust startIdx to account for the lookback period. */ + lookbackEMA = LOOKBACK_CALL(EMA)( optInTimePeriod ); + lookbackTotal = lookbackEMA * 3; + + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + + /* Allocate a temporary buffer for the firstEMA. */ + tempInt = lookbackTotal+(endIdx-startIdx)+1; + ARRAY_ALLOC(firstEMA,tempInt); + #if !defined( _JAVA ) + if( !firstEMA ) + return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); + #endif + + /* Calculate the first EMA */ + k = PER_TO_K(optInTimePeriod); + retCode = FUNCTION_CALL(INT_EMA)( startIdx-(lookbackEMA*2), endIdx, inReal, + optInTimePeriod, k, + VALUE_HANDLE_OUT(firstEMABegIdx), VALUE_HANDLE_OUT(firstEMANbElement), + firstEMA ); + + /* Verify for failure or if not enough data after + * calculating the first EMA. + */ + if( (retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) || (VALUE_HANDLE_GET(firstEMANbElement) == 0) ) + { + ARRAY_FREE( firstEMA ); + return retCode; + } + + /* Allocate a temporary buffer for storing the EMA2 */ + ARRAY_ALLOC(secondEMA,VALUE_HANDLE_GET(firstEMANbElement)); + #if !defined( _JAVA ) + if( !secondEMA ) + { + ARRAY_FREE( firstEMA ); + return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); + } + #endif + + retCode = FUNCTION_CALL_DOUBLE(INT_EMA)( 0, VALUE_HANDLE_GET(firstEMANbElement)-1, firstEMA, + optInTimePeriod, k, + VALUE_HANDLE_OUT(secondEMABegIdx), VALUE_HANDLE_OUT(secondEMANbElement), + secondEMA ); + + /* Return empty output on failure or if not enough data after + * calculating the second EMA. + */ + if( (retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) || (VALUE_HANDLE_GET(secondEMANbElement) == 0) ) + { + ARRAY_FREE( firstEMA ); + ARRAY_FREE( secondEMA ); + return retCode; + } + + /* Calculate the EMA3 into the caller provided output. */ + retCode = FUNCTION_CALL_DOUBLE(INT_EMA)( 0, VALUE_HANDLE_GET(secondEMANbElement)-1, secondEMA, + optInTimePeriod, k, + VALUE_HANDLE_OUT(thirdEMABegIdx), VALUE_HANDLE_OUT(thirdEMANbElement), + outReal ); + + /* Return empty output on failure or if not enough data after + * calculating the third EMA. + */ + if( (retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) || (VALUE_HANDLE_GET(thirdEMANbElement) == 0) ) + { + ARRAY_FREE( firstEMA ); + ARRAY_FREE( secondEMA ); + return retCode; + } + + /* Indicate where the output starts relative to + * the caller input. + */ + firstEMAIdx = VALUE_HANDLE_GET(thirdEMABegIdx) + VALUE_HANDLE_GET(secondEMABegIdx); + secondEMAIdx = VALUE_HANDLE_GET(thirdEMABegIdx); + VALUE_HANDLE_DEREF(outBegIdx) = firstEMAIdx + VALUE_HANDLE_GET(firstEMABegIdx); + + /* Do the TEMA: + * Iterate through the EMA3 (output buffer) and adjust + * the value by using the EMA2 and EMA1. + */ + outIdx = 0; + while( outIdx < VALUE_HANDLE_GET(thirdEMANbElement) ) + { + outReal[outIdx] += (3.0*firstEMA[firstEMAIdx++]) - (3.0*secondEMA[secondEMAIdx++]); + outIdx++; + } + + ARRAY_FREE( firstEMA ); + ARRAY_FREE( secondEMA ); + + /* Indicates to the caller the number of output + * successfully calculated. + */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Tema( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode tema( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_TEMA( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ ARRAY_REF(firstEMA); +/* Generated */ ARRAY_REF(secondEMA); +/* Generated */ double k; +/* Generated */ VALUE_HANDLE_INT(firstEMABegIdx); +/* Generated */ VALUE_HANDLE_INT(firstEMANbElement); +/* Generated */ VALUE_HANDLE_INT(secondEMABegIdx); +/* Generated */ VALUE_HANDLE_INT(secondEMANbElement); +/* Generated */ VALUE_HANDLE_INT(thirdEMABegIdx); +/* Generated */ VALUE_HANDLE_INT(thirdEMANbElement); +/* Generated */ int tempInt, outIdx, lookbackTotal, lookbackEMA; +/* Generated */ int firstEMAIdx, secondEMAIdx; +/* Generated */ ENUM_DECLARATION(RetCode) retCode; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ lookbackEMA = LOOKBACK_CALL(EMA)( optInTimePeriod ); +/* Generated */ lookbackTotal = lookbackEMA * 3; +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ tempInt = lookbackTotal+(endIdx-startIdx)+1; +/* Generated */ ARRAY_ALLOC(firstEMA,tempInt); +/* Generated */ #if !defined( _JAVA ) +/* Generated */ if( !firstEMA ) +/* Generated */ return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); +/* Generated */ #endif +/* Generated */ k = PER_TO_K(optInTimePeriod); +/* Generated */ retCode = FUNCTION_CALL(INT_EMA)( startIdx-(lookbackEMA*2), endIdx, inReal, +/* Generated */ optInTimePeriod, k, +/* Generated */ VALUE_HANDLE_OUT(firstEMABegIdx), VALUE_HANDLE_OUT(firstEMANbElement), +/* Generated */ firstEMA ); +/* Generated */ if( (retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) || (VALUE_HANDLE_GET(firstEMANbElement) == 0) ) +/* Generated */ { +/* Generated */ ARRAY_FREE( firstEMA ); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ ARRAY_ALLOC(secondEMA,VALUE_HANDLE_GET(firstEMANbElement)); +/* Generated */ #if !defined( _JAVA ) +/* Generated */ if( !secondEMA ) +/* Generated */ { +/* Generated */ ARRAY_FREE( firstEMA ); +/* Generated */ return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); +/* Generated */ } +/* Generated */ #endif +/* Generated */ retCode = FUNCTION_CALL_DOUBLE(INT_EMA)( 0, VALUE_HANDLE_GET(firstEMANbElement)-1, firstEMA, +/* Generated */ optInTimePeriod, k, +/* Generated */ VALUE_HANDLE_OUT(secondEMABegIdx), VALUE_HANDLE_OUT(secondEMANbElement), +/* Generated */ secondEMA ); +/* Generated */ if( (retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) || (VALUE_HANDLE_GET(secondEMANbElement) == 0) ) +/* Generated */ { +/* Generated */ ARRAY_FREE( firstEMA ); +/* Generated */ ARRAY_FREE( secondEMA ); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ retCode = FUNCTION_CALL_DOUBLE(INT_EMA)( 0, VALUE_HANDLE_GET(secondEMANbElement)-1, secondEMA, +/* Generated */ optInTimePeriod, k, +/* Generated */ VALUE_HANDLE_OUT(thirdEMABegIdx), VALUE_HANDLE_OUT(thirdEMANbElement), +/* Generated */ outReal ); +/* Generated */ if( (retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) || (VALUE_HANDLE_GET(thirdEMANbElement) == 0) ) +/* Generated */ { +/* Generated */ ARRAY_FREE( firstEMA ); +/* Generated */ ARRAY_FREE( secondEMA ); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ firstEMAIdx = VALUE_HANDLE_GET(thirdEMABegIdx) + VALUE_HANDLE_GET(secondEMABegIdx); +/* Generated */ secondEMAIdx = VALUE_HANDLE_GET(thirdEMABegIdx); +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = firstEMAIdx + VALUE_HANDLE_GET(firstEMABegIdx); +/* Generated */ outIdx = 0; +/* Generated */ while( outIdx < VALUE_HANDLE_GET(thirdEMANbElement) ) +/* Generated */ { +/* Generated */ outReal[outIdx] += (3.0*firstEMA[firstEMAIdx++]) - (3.0*secondEMA[secondEMAIdx++]); +/* Generated */ outIdx++; +/* Generated */ } +/* Generated */ ARRAY_FREE( firstEMA ); +/* Generated */ ARRAY_FREE( secondEMA ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_TRANGE.c b/vendor/ta-lib/src/ta_func/ta_TRANGE.c new file mode 100644 index 000000000..31ac0ecf2 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_TRANGE.c @@ -0,0 +1,328 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::TrueRangeLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int trueRangeLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_TRANGE_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_TRANGE - True Range + * + * Input = High, Low, Close + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::TrueRange( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::TrueRange( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode trueRange( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_TRANGE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + int today, outIdx; + double val2, val3, greatest; + double tempCY, tempLT, tempHT; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* True Range is the greatest of the following: + * + * val1 = distance from today's high to today's low. + * val2 = distance from yesterday's close to today's high. + * val3 = distance from yesterday's close to today's low. + * + * Some books and software makes the first TR value to be + * the (high - low) of the first bar. This function instead + * ignore the first price bar, and only output starting at the + * second price bar are valid. This is done for avoiding + * inconsistency. + */ + + /* Move up the start index if there is not + * enough initial data. + * Always one price bar gets consumed. + */ + if( startIdx < 1 ) + startIdx = 1; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + outIdx = 0; + today = startIdx; + while( today <= endIdx ) + { + + /* Find the greatest of the 3 values. */ + tempLT = inLow[today]; + tempHT = inHigh[today]; + tempCY = inClose[today-1]; + greatest = tempHT - tempLT; /* val1 */ + + val2 = std_fabs( tempCY - tempHT ); + if( val2 > greatest ) + greatest = val2; + + val3 = std_fabs( tempCY - tempLT ); + if( val3 > greatest ) + greatest = val3; + + outReal[outIdx++] = greatest; + today++; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::TrueRange( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode trueRange( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_TRANGE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int today, outIdx; +/* Generated */ double val2, val3, greatest; +/* Generated */ double tempCY, tempLT, tempHT; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ if( startIdx < 1 ) +/* Generated */ startIdx = 1; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ today = startIdx; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ tempLT = inLow[today]; +/* Generated */ tempHT = inHigh[today]; +/* Generated */ tempCY = inClose[today-1]; +/* Generated */ greatest = tempHT - tempLT; +/* Generated */ val2 = std_fabs( tempCY - tempHT ); +/* Generated */ if( val2 > greatest ) +/* Generated */ greatest = val2; +/* Generated */ val3 = std_fabs( tempCY - tempLT ); +/* Generated */ if( val3 > greatest ) +/* Generated */ greatest = val3; +/* Generated */ outReal[outIdx++] = greatest; +/* Generated */ today++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_TRIMA.c b/vendor/ta-lib/src/ta_func/ta_TRIMA.c new file mode 100644 index 000000000..7da1b630a --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_TRIMA.c @@ -0,0 +1,648 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * CR Chris (crokusek@hotmail.com) + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 010503 MF Initial Coding + * 031703 MF Fix #701060. Correct logic when using a range with + * startIdx/endIdx. Thanks to Chris for reporting this. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::TrimaLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int trimaLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_TRIMA_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return optInTimePeriod-1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_TRIMA - Triangular Moving Average + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Trima( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Trima( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode trima( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_TRIMA( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int lookbackTotal; + + double numerator; + double numeratorSub; + double numeratorAdd; + + int i, outIdx, todayIdx, trailingIdx, middleIdx; + double factor, tempReal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Identify the minimum number of price bar needed + * to calculate at least one output. + */ + lookbackTotal = (optInTimePeriod-1); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* TRIMA Description + * ================= + * The triangular MA is a weighted moving average. Instead of the + * TA_WMA who put more weigth on the latest price bar, the triangular + * put more weigth on the data in the middle of the specified period. + * + * Examples: + * For TimeSerie={a,b,c,d,e,f...} ('a' is the older price) + * + * 1st value for TRIMA 4-Period is: ((1*a)+(2*b)+(2*c)+(1*d)) / 6 + * 2nd value for TRIMA 4-Period is: ((1*b)+(2*c)+(2*d)+(1*e)) / 6 + * + * 1st value for TRIMA 5-Period is: ((1*a)+(2*b)+(3*c)+(2*d)+(1*e)) / 9 + * 2nd value for TRIMA 5-Period is: ((1*b)+(2*c)+(3*d)+(2*e)+(1*f)) / 9 + * + * Generally Accepted Implementation + * ================================== + * Using algebra, it can be demonstrated that the TRIMA is equivalent to + * doing a SMA of a SMA. The following explain the rules: + * + * (1) When the period is even, TRIMA(x,period)=SMA(SMA(x,period/2),(period/2)+1) + * (2) When the period is odd, TRIMA(x,period)=SMA(SMA(x,(period+1)/2),(period+1)/2) + * + * In other word: + * (1) A period of 4 becomes TRIMA(x,4) = SMA( SMA( x, 2), 3 ) + * (2) A period of 5 becomes TRIMA(x,5) = SMA( SMA( x, 3), 3 ) + * + * The SMA of a SMA is the algorithm generaly found in books. + * + * Tradestation Implementation + * =========================== + * Tradestation deviate from the generally accepted implementation by + * making the TRIMA to be as follow: + * TRIMA(x,period) = SMA( SMA( x, (int)(period/2)+1), (int)(period/2)+1 ); + * This formula is done regardless if the period is even or odd. + * + * In other word: + * (1) A period of 4 becomes TRIMA(x,4) = SMA( SMA( x, 3), 3 ) + * (2) A period of 5 becomes TRIMA(x,5) = SMA( SMA( x, 3), 3 ) + * (3) A period of 6 becomes TRIMA(x,5) = SMA( SMA( x, 4), 4 ) + * (4) A period of 7 becomes TRIMA(x,5) = SMA( SMA( x, 4), 4 ) + * + * It is not clear to me if the Tradestation approach is a bug or a deliberate + * decision to do things differently. + * + * Metastock Implementation + * ======================== + * Output is the same as the generally accepted implementation. + * + * TA-Lib Implementation + * ===================== + * Output is also the same as the generally accepted implementation. + * + * For speed optimization and avoid memory allocation, TA-Lib use + * a better algorithm than the usual SMA of a SMA. + * + * The calculation from one TRIMA value to the next is done by doing 4 + * little adjustment (the following show a TRIMA 4-period): + * + * TRIMA at time 'd': ((1*a)+(2*b)+(2*c)+(1*d)) / 6 + * TRIMA at time 'e': ((1*b)+(2*c)+(2*d)+(1*e)) / 6 + * + * To go from TRIMA 'd' to 'e', the following is done: + * 1) 'a' and 'b' are substract from the numerator. + * 2) 'd' is added to the numerator. + * 3) 'e' is added to the numerator. + * 4) Calculate TRIMA by doing numerator / 6 + * 5) Repeat sequence for next output + * + * These operations are the same steps done by TA-LIB: + * 1) is done by numeratorSub + * 2) is done by numeratorAdd. + * 3) is obtain from the latest input + * 4) Calculate and write TRIMA in the output + * 5) Repeat for next output. + * + * Of course, numerotrAdd and numeratorSub needs to be + * adjusted for each iteration. + * + * The update of numeratorSub needs values from the input at + * the trailingIdx and middleIdx position. + * + * The update of numeratorAdd needs values from the input at + * the middleIdx and todayIdx. + */ + + outIdx = 0; + + if( (optInTimePeriod % 2) == 1 ) + { + /* Logic for Odd period */ + + /* Calculate the factor which is 1 divided by the + * sumation of the weight. + * + * The sum of the weight is calculated as follow: + * + * The simple sumation serie 1+2+3... n can be + * express as n(n+1)/2 + * + * From this logic, a "triangular" sumation formula + * can be found depending if the period is odd or even. + * + * Odd Period Formula: + * period = 5 and with n=(int)(period/2) + * the formula for a "triangular" serie is: + * 1+2+3+2+1 = (n*(n+1))+n+1 + * = (n+1)*(n+1) + * = 3 * 3 = 9 + * + * Even period Formula: + * period = 6 and with n=(int)(period/2) + * the formula for a "triangular" serie is: + * 1+2+3+3+2+1 = n*(n+1) + * = 3 * 4 = 12 + */ + + /* Note: entirely done with int and becomes double only + * on assignement to the factor variable. + */ + i = (optInTimePeriod>>1); + factor = (i+1)*(i+1); + factor = 1.0/factor; + + /* Initialize all the variable before + * starting to iterate for each output. + */ + trailingIdx = startIdx-lookbackTotal; + middleIdx = trailingIdx + i; + todayIdx = middleIdx + i; + numerator = 0.0; + numeratorSub = 0.0; + for( i=middleIdx; i >= trailingIdx; i-- ) + { + tempReal = inReal[i]; + numeratorSub += tempReal; + numerator += numeratorSub; + } + numeratorAdd = 0.0; + middleIdx++; + for( i=middleIdx; i <= todayIdx; i++ ) + { + tempReal = inReal[i]; + numeratorAdd += tempReal; + numerator += numeratorAdd; + } + + /* Write the first output */ + outIdx = 0; + tempReal = inReal[trailingIdx++]; + outReal[outIdx++] = numerator * factor; + todayIdx++; + + /* Note: The value at the trailingIdx was saved + * in tempReal to account for the case where + * outReal and inReal are ptr on the same + * buffer. + */ + + /* Iterate for remaining output */ + while( todayIdx <= endIdx ) + { + /* Step (1) */ + numerator -= numeratorSub; + numeratorSub -= tempReal; + tempReal = inReal[middleIdx++]; + numeratorSub += tempReal; + + /* Step (2) */ + numerator += numeratorAdd; + numeratorAdd -= tempReal; + tempReal = inReal[todayIdx++]; + numeratorAdd += tempReal; + + /* Step (3) */ + numerator += tempReal; + + /* Step (4) */ + tempReal = inReal[trailingIdx++]; + outReal[outIdx++] = numerator * factor; + } + } + else + { + /* Even logic. + * + * Very similar to the odd logic, except: + * - calculation of the factor is different. + * - the coverage of the numeratorSub and numeratorAdd is + * slightly different. + * - Adjustment of numeratorAdd is different. See Step (2). + */ + i = (optInTimePeriod>>1); + factor = i*(i+1); + factor = 1.0/factor; + + /* Initialize all the variable before + * starting to iterate for each output. + */ + trailingIdx = startIdx-lookbackTotal; + middleIdx = trailingIdx + i - 1; + todayIdx = middleIdx + i; + numerator = 0.0; + + numeratorSub = 0.0; + + for( i=middleIdx; i >= trailingIdx; i-- ) + { + tempReal = inReal[i]; + numeratorSub += tempReal; + numerator += numeratorSub; + } + numeratorAdd = 0.0; + middleIdx++; + for( i=middleIdx; i <= todayIdx; i++ ) + { + tempReal = inReal[i]; + numeratorAdd += tempReal; + numerator += numeratorAdd; + } + + /* Write the first output */ + outIdx = 0; + tempReal = inReal[trailingIdx++]; + outReal[outIdx++] = numerator * factor; + todayIdx++; + + /* Note: The value at the trailingIdx was saved + * in tempReal to account for the case where + * outReal and inReal are ptr on the same + * buffer. + */ + + /* Iterate for remaining output */ + while( todayIdx <= endIdx ) + { + /* Step (1) */ + numerator -= numeratorSub; + numeratorSub -= tempReal; + tempReal = inReal[middleIdx++]; + numeratorSub += tempReal; + + /* Step (2) */ + numeratorAdd -= tempReal; + numerator += numeratorAdd; + tempReal = inReal[todayIdx++]; + numeratorAdd += tempReal; + + /* Step (3) */ + numerator += tempReal; + + /* Step (4) */ + tempReal = inReal[trailingIdx++]; + outReal[outIdx++] = numerator * factor; + } + + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Trima( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode trima( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_TRIMA( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int lookbackTotal; +/* Generated */ double numerator; +/* Generated */ double numeratorSub; +/* Generated */ double numeratorAdd; +/* Generated */ int i, outIdx, todayIdx, trailingIdx, middleIdx; +/* Generated */ double factor, tempReal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = (optInTimePeriod-1); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ if( (optInTimePeriod % 2) == 1 ) +/* Generated */ { +/* Generated */ i = (optInTimePeriod>>1); +/* Generated */ factor = (i+1)*(i+1); +/* Generated */ factor = 1.0/factor; +/* Generated */ trailingIdx = startIdx-lookbackTotal; +/* Generated */ middleIdx = trailingIdx + i; +/* Generated */ todayIdx = middleIdx + i; +/* Generated */ numerator = 0.0; +/* Generated */ numeratorSub = 0.0; +/* Generated */ for( i=middleIdx; i >= trailingIdx; i-- ) +/* Generated */ { +/* Generated */ tempReal = inReal[i]; +/* Generated */ numeratorSub += tempReal; +/* Generated */ numerator += numeratorSub; +/* Generated */ } +/* Generated */ numeratorAdd = 0.0; +/* Generated */ middleIdx++; +/* Generated */ for( i=middleIdx; i <= todayIdx; i++ ) +/* Generated */ { +/* Generated */ tempReal = inReal[i]; +/* Generated */ numeratorAdd += tempReal; +/* Generated */ numerator += numeratorAdd; +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ tempReal = inReal[trailingIdx++]; +/* Generated */ outReal[outIdx++] = numerator * factor; +/* Generated */ todayIdx++; +/* Generated */ while( todayIdx <= endIdx ) +/* Generated */ { +/* Generated */ numerator -= numeratorSub; +/* Generated */ numeratorSub -= tempReal; +/* Generated */ tempReal = inReal[middleIdx++]; +/* Generated */ numeratorSub += tempReal; +/* Generated */ numerator += numeratorAdd; +/* Generated */ numeratorAdd -= tempReal; +/* Generated */ tempReal = inReal[todayIdx++]; +/* Generated */ numeratorAdd += tempReal; +/* Generated */ numerator += tempReal; +/* Generated */ tempReal = inReal[trailingIdx++]; +/* Generated */ outReal[outIdx++] = numerator * factor; +/* Generated */ } +/* Generated */ } +/* Generated */ else +/* Generated */ { +/* Generated */ i = (optInTimePeriod>>1); +/* Generated */ factor = i*(i+1); +/* Generated */ factor = 1.0/factor; +/* Generated */ trailingIdx = startIdx-lookbackTotal; +/* Generated */ middleIdx = trailingIdx + i - 1; +/* Generated */ todayIdx = middleIdx + i; +/* Generated */ numerator = 0.0; +/* Generated */ numeratorSub = 0.0; +/* Generated */ for( i=middleIdx; i >= trailingIdx; i-- ) +/* Generated */ { +/* Generated */ tempReal = inReal[i]; +/* Generated */ numeratorSub += tempReal; +/* Generated */ numerator += numeratorSub; +/* Generated */ } +/* Generated */ numeratorAdd = 0.0; +/* Generated */ middleIdx++; +/* Generated */ for( i=middleIdx; i <= todayIdx; i++ ) +/* Generated */ { +/* Generated */ tempReal = inReal[i]; +/* Generated */ numeratorAdd += tempReal; +/* Generated */ numerator += numeratorAdd; +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ tempReal = inReal[trailingIdx++]; +/* Generated */ outReal[outIdx++] = numerator * factor; +/* Generated */ todayIdx++; +/* Generated */ while( todayIdx <= endIdx ) +/* Generated */ { +/* Generated */ numerator -= numeratorSub; +/* Generated */ numeratorSub -= tempReal; +/* Generated */ tempReal = inReal[middleIdx++]; +/* Generated */ numeratorSub += tempReal; +/* Generated */ numeratorAdd -= tempReal; +/* Generated */ numerator += numeratorAdd; +/* Generated */ tempReal = inReal[todayIdx++]; +/* Generated */ numeratorAdd += tempReal; +/* Generated */ numerator += tempReal; +/* Generated */ tempReal = inReal[trailingIdx++]; +/* Generated */ outReal[outIdx++] = numerator * factor; +/* Generated */ } +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_TRIX.c b/vendor/ta-lib/src/ta_func/ta_TRIX.c new file mode 100644 index 000000000..4466a7bb2 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_TRIX.c @@ -0,0 +1,449 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * AA Andrew Atkinson + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * 020605 AA Fix #1117656. NULL pointer assignement. + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::TrixLookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int trixLookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_TRIX_Lookback( int optInTimePeriod ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int emaLookback; +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + emaLookback = LOOKBACK_CALL(EMA)( optInTimePeriod ); + return (emaLookback*3) + LOOKBACK_CALL(ROCR)( 1 ); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_TRIX - 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Trix( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Trix( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode trix( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_TRIX( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + double k; + ARRAY_REF(tempBuffer); + VALUE_HANDLE_INT(nbElement); + VALUE_HANDLE_INT(begIdx); + int totalLookback; + int emaLookback, rocLookback; + ENUM_DECLARATION(RetCode) retCode; + int nbElementToOutput; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Adjust the startIdx to account for the lookback. */ + emaLookback = LOOKBACK_CALL(EMA)( optInTimePeriod ); + rocLookback = LOOKBACK_CALL(ROCR)( 1 ); + totalLookback = (emaLookback*3) + rocLookback; + + if( startIdx < totalLookback ) + startIdx = totalLookback; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + nbElementToOutput = (endIdx-startIdx)+1+totalLookback; + + /* Allocate a temporary buffer for performing + * the calculation. + */ + ARRAY_ALLOC(tempBuffer, nbElementToOutput ); + #if !defined( _JAVA ) + if( !tempBuffer ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); + } + #endif + + /* Calculate the first EMA */ + k = PER_TO_K(optInTimePeriod); + retCode = FUNCTION_CALL(INT_EMA)( (startIdx-totalLookback), endIdx, inReal, + optInTimePeriod, k, + VALUE_HANDLE_OUT(begIdx), VALUE_HANDLE_OUT(nbElement), + tempBuffer ); + + /* Verify for failure or if not enough data after + * calculating the EMA. + */ + if( (retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) || (VALUE_HANDLE_GET(nbElement) == 0) ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + ARRAY_FREE( tempBuffer ); + return retCode; + } + + nbElementToOutput--; /* Make this variable zero base from now on. */ + + /* Calculate the second EMA */ + nbElementToOutput -= emaLookback; + retCode = FUNCTION_CALL_DOUBLE(INT_EMA)( 0, nbElementToOutput, tempBuffer, + optInTimePeriod, k, + VALUE_HANDLE_OUT(begIdx), VALUE_HANDLE_OUT(nbElement), + tempBuffer ); + + /* Verify for failure or if not enough data after + * calculating the EMA. + */ + if( (retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) || (VALUE_HANDLE_GET(nbElement) == 0) ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + ARRAY_FREE( tempBuffer ); + return retCode; + } + + /* Calculate the third EMA */ + nbElementToOutput -= emaLookback; + retCode = FUNCTION_CALL_DOUBLE(INT_EMA)( 0, nbElementToOutput, tempBuffer, + optInTimePeriod, k, + VALUE_HANDLE_OUT(begIdx), VALUE_HANDLE_OUT(nbElement), + tempBuffer ); + + /* Verify for failure or if not enough data after + * calculating the EMA. + */ + if( (retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) || (VALUE_HANDLE_GET(nbElement) == 0) ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + ARRAY_FREE( tempBuffer ); + return retCode; + } + + /* Calculate the 1-day Rate-Of-Change */ + nbElementToOutput -= emaLookback; + retCode = FUNCTION_CALL_DOUBLE(ROC)( 0, nbElementToOutput, + tempBuffer, + 1, VALUE_HANDLE_OUT(begIdx), outNBElement, + outReal ); + + ARRAY_FREE( tempBuffer ); + /* Verify for failure or if not enough data after + * calculating the rate-of-change. + */ + if( (retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) || ((int)VALUE_HANDLE_DEREF(outNBElement) == 0) ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + return retCode; + } + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Trix( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode trix( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_TRIX( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double k; +/* Generated */ ARRAY_REF(tempBuffer); +/* Generated */ VALUE_HANDLE_INT(nbElement); +/* Generated */ VALUE_HANDLE_INT(begIdx); +/* Generated */ int totalLookback; +/* Generated */ int emaLookback, rocLookback; +/* Generated */ ENUM_DECLARATION(RetCode) retCode; +/* Generated */ int nbElementToOutput; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ emaLookback = LOOKBACK_CALL(EMA)( optInTimePeriod ); +/* Generated */ rocLookback = LOOKBACK_CALL(ROCR)( 1 ); +/* Generated */ totalLookback = (emaLookback*3) + rocLookback; +/* Generated */ if( startIdx < totalLookback ) +/* Generated */ startIdx = totalLookback; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ nbElementToOutput = (endIdx-startIdx)+1+totalLookback; +/* Generated */ ARRAY_ALLOC(tempBuffer, nbElementToOutput ); +/* Generated */ #if !defined( _JAVA ) +/* Generated */ if( !tempBuffer ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ return ENUM_VALUE(RetCode,TA_ALLOC_ERR,AllocErr); +/* Generated */ } +/* Generated */ #endif +/* Generated */ k = PER_TO_K(optInTimePeriod); +/* Generated */ retCode = FUNCTION_CALL(INT_EMA)( (startIdx-totalLookback), endIdx, inReal, +/* Generated */ optInTimePeriod, k, +/* Generated */ VALUE_HANDLE_OUT(begIdx), VALUE_HANDLE_OUT(nbElement), +/* Generated */ tempBuffer ); +/* Generated */ if( (retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) || (VALUE_HANDLE_GET(nbElement) == 0) ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ ARRAY_FREE( tempBuffer ); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ nbElementToOutput--; +/* Generated */ nbElementToOutput -= emaLookback; +/* Generated */ retCode = FUNCTION_CALL_DOUBLE(INT_EMA)( 0, nbElementToOutput, tempBuffer, +/* Generated */ optInTimePeriod, k, +/* Generated */ VALUE_HANDLE_OUT(begIdx), VALUE_HANDLE_OUT(nbElement), +/* Generated */ tempBuffer ); +/* Generated */ if( (retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) || (VALUE_HANDLE_GET(nbElement) == 0) ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ ARRAY_FREE( tempBuffer ); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ nbElementToOutput -= emaLookback; +/* Generated */ retCode = FUNCTION_CALL_DOUBLE(INT_EMA)( 0, nbElementToOutput, tempBuffer, +/* Generated */ optInTimePeriod, k, +/* Generated */ VALUE_HANDLE_OUT(begIdx), VALUE_HANDLE_OUT(nbElement), +/* Generated */ tempBuffer ); +/* Generated */ if( (retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) || (VALUE_HANDLE_GET(nbElement) == 0) ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ ARRAY_FREE( tempBuffer ); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ nbElementToOutput -= emaLookback; +/* Generated */ retCode = FUNCTION_CALL_DOUBLE(ROC)( 0, nbElementToOutput, +/* Generated */ tempBuffer, +/* Generated */ 1, VALUE_HANDLE_OUT(begIdx), outNBElement, +/* Generated */ outReal ); +/* Generated */ ARRAY_FREE( tempBuffer ); +/* Generated */ if( (retCode != ENUM_VALUE(RetCode,TA_SUCCESS,Success) ) || ((int)VALUE_HANDLE_DEREF(outNBElement) == 0) ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ return retCode; +/* Generated */ } +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_TSF.c b/vendor/ta-lib/src/ta_func/ta_TSF.c new file mode 100644 index 000000000..6015c1ccc --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_TSF.c @@ -0,0 +1,354 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 090103 MF Initial coding re-using the existing TA_LinearReg + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::TsfLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int tsfLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_TSF_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return optInTimePeriod-1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_TSF - Time Series Forecast + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Tsf( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Tsf( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode tsf( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_TSF( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int outIdx; + + int today, lookbackTotal; + double SumX, SumXY, SumY, SumXSqr, Divisor; + + double m, b; + int i; + + double tempValue1; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Linear Regression is a concept also known as the + * "least squares method" or "best fit." Linear + * Regression attempts to fit a straight line between + * several data points in such a way that distance + * between each data point and the line is minimized. + * + * For each point, a straight line over the specified + * previous bar period is determined in terms + * of y = b + m*x: + * + * TA_LINEARREG : Returns b+m*(period-1) + * TA_LINEARREG_SLOPE : Returns 'm' + * TA_LINEARREG_ANGLE : Returns 'm' in degree. + * TA_LINEARREG_INTERCEPT: Returns 'b' + * TA_TSF : Returns b+m*(period) + */ + + /* Adjust startIdx to account for the lookback period. */ + lookbackTotal = LOOKBACK_CALL(TSF)( optInTimePeriod ); + + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + outIdx = 0; /* Index into the output. */ + today = startIdx; + + SumX = optInTimePeriod * ( optInTimePeriod - 1 ) * 0.5; + SumXSqr = optInTimePeriod * ( optInTimePeriod - 1 ) * ( 2 * optInTimePeriod - 1 ) / 6; + Divisor = SumX * SumX - optInTimePeriod * SumXSqr; + + while( today <= endIdx ) + { + SumXY = 0; + SumY = 0; + for( i = optInTimePeriod; i-- != 0; ) + { + SumY += tempValue1 = inReal[today - i]; + SumXY += (double)i * tempValue1; + } + m = ( optInTimePeriod * SumXY - SumX * SumY) / Divisor; + b = ( SumY - m * SumX ) / (double)optInTimePeriod; + outReal[outIdx++] = b + m * (double)optInTimePeriod; + today++; + } + + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Tsf( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode tsf( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_TSF( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx; +/* Generated */ int today, lookbackTotal; +/* Generated */ double SumX, SumXY, SumY, SumXSqr, Divisor; +/* Generated */ double m, b; +/* Generated */ int i; +/* Generated */ double tempValue1; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = LOOKBACK_CALL(TSF)( optInTimePeriod ); +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ today = startIdx; +/* Generated */ SumX = optInTimePeriod * ( optInTimePeriod - 1 ) * 0.5; +/* Generated */ SumXSqr = optInTimePeriod * ( optInTimePeriod - 1 ) * ( 2 * optInTimePeriod - 1 ) / 6; +/* Generated */ Divisor = SumX * SumX - optInTimePeriod * SumXSqr; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ SumXY = 0; +/* Generated */ SumY = 0; +/* Generated */ for( i = optInTimePeriod; i-- != 0; ) +/* Generated */ { +/* Generated */ SumY += tempValue1 = inReal[today - i]; +/* Generated */ SumXY += (double)i * tempValue1; +/* Generated */ } +/* Generated */ m = ( optInTimePeriod * SumXY - SumX * SumY) / Divisor; +/* Generated */ b = ( SumY - m * SumX ) / (double)optInTimePeriod; +/* Generated */ outReal[outIdx++] = b + m * (double)optInTimePeriod; +/* Generated */ today++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_TYPPRICE.c b/vendor/ta-lib/src/ta_func/ta_TYPPRICE.c new file mode 100644 index 000000000..147c4dfe5 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_TYPPRICE.c @@ -0,0 +1,271 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * 112605 MF Fix outBegIdx when startIdx != 0 + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::TypPriceLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int typPriceLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_TYPPRICE_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + /* This function have no lookback needed. */ + + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_TYPPRICE - Typical Price + * + * Input = High, Low, Close + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::TypPrice( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::TypPrice( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode typPrice( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_TYPPRICE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + int outIdx, i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Typical price = (High + Low + Close ) / 3 */ + outIdx = 0; + + for( i= startIdx; i <= endIdx; i++ ) + { + outReal[outIdx++] = ( inHigh [i] + + inLow [i] + + inClose[i] ) / 3.0; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::TypPrice( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode typPrice( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_TYPPRICE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx, i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ outIdx = 0; +/* Generated */ for( i= startIdx; i <= endIdx; i++ ) +/* Generated */ { +/* Generated */ outReal[outIdx++] = ( inHigh [i] + +/* Generated */ inLow [i] + +/* Generated */ inClose[i] ) / 3.0; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_ULTOSC.c b/vendor/ta-lib/src/ta_func/ta_ULTOSC.c new file mode 100644 index 000000000..d2bbfdfb1 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_ULTOSC.c @@ -0,0 +1,579 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * DM Drew McCormack (http://www.trade-strategist.com) + * MF Mario Fortier + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 281206 DM Initial Implementation + * 010606 MF Abstract local arrays. Detect divide by zero. + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::UltOscLookback( int optInTimePeriod1, /* From 1 to 100000 */ +/* Generated */ int optInTimePeriod2, /* From 1 to 100000 */ +/* Generated */ int optInTimePeriod3 ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int ultOscLookback( int optInTimePeriod1, /* From 1 to 100000 */ +/* Generated */ int optInTimePeriod2, /* From 1 to 100000 */ +/* Generated */ int optInTimePeriod3 ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_ULTOSC_Lookback( int optInTimePeriod1, /* From 1 to 100000 */ +/* Generated */ int optInTimePeriod2, /* From 1 to 100000 */ +/* Generated */ int optInTimePeriod3 ) /* From 1 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + int maxPeriod; +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod1. */ +/* Generated */ if( (int)optInTimePeriod1 == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod1 = 7; +/* Generated */ else if( ((int)optInTimePeriod1 < 1) || ((int)optInTimePeriod1 > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ /* min/max are checked for optInTimePeriod2. */ +/* Generated */ if( (int)optInTimePeriod2 == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod2 = 14; +/* Generated */ else if( ((int)optInTimePeriod2 < 1) || ((int)optInTimePeriod2 > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ /* min/max are checked for optInTimePeriod3. */ +/* Generated */ if( (int)optInTimePeriod3 == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod3 = 28; +/* Generated */ else if( ((int)optInTimePeriod3 < 1) || ((int)optInTimePeriod3 > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* Lookback for the Ultimate Oscillator is the lookback of the SMA with the longest + * time period, plus 1 for the True Range. + */ + maxPeriod = max( max(optInTimePeriod1, optInTimePeriod2), optInTimePeriod3); + return LOOKBACK_CALL(SMA)( maxPeriod ) + 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_ULTOSC - Ultimate Oscillator + * + * Input = High, Low, Close + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod1:(From 1 to 100000) + * Number of bars for 1st period. + * + * optInTimePeriod2:(From 1 to 100000) + * Number of bars fro 2nd period + * + * optInTimePeriod3:(From 1 to 100000) + * Number of bars for 3rd period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::UltOsc( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ int optInTimePeriod1, /* From 1 to 100000 */ +/* Generated */ int optInTimePeriod2, /* From 1 to 100000 */ +/* Generated */ int optInTimePeriod3, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::UltOsc( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ int optInTimePeriod1, /* From 1 to 100000 */ +/* Generated */ int optInTimePeriod2, /* From 1 to 100000 */ +/* Generated */ int optInTimePeriod3, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode ultOsc( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ int optInTimePeriod1, /* From 1 to 100000 */ +/* Generated */ int optInTimePeriod2, /* From 1 to 100000 */ +/* Generated */ int optInTimePeriod3, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_ULTOSC( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int optInTimePeriod1, /* From 1 to 100000 */ +/* Generated */ int optInTimePeriod2, /* From 1 to 100000 */ +/* Generated */ int optInTimePeriod3, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + double a1Total, a2Total, a3Total; + double b1Total, b2Total, b3Total; + double trueLow, trueRange, closeMinusTrueLow; + double tempDouble, output, tempHT, tempLT, tempCY; + int lookbackTotal; + int longestPeriod, longestIndex; + int i,j,today,outIdx; + int trailingIdx1, trailingIdx2, trailingIdx3; + + ARRAY_INT_LOCAL(usedFlag,3); + ARRAY_INT_LOCAL(periods,3); + ARRAY_INT_LOCAL(sortedPeriods,3); + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod1. */ +/* Generated */ if( (int)optInTimePeriod1 == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod1 = 7; +/* Generated */ else if( ((int)optInTimePeriod1 < 1) || ((int)optInTimePeriod1 > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ /* min/max are checked for optInTimePeriod2. */ +/* Generated */ if( (int)optInTimePeriod2 == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod2 = 14; +/* Generated */ else if( ((int)optInTimePeriod2 < 1) || ((int)optInTimePeriod2 > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ /* min/max are checked for optInTimePeriod3. */ +/* Generated */ if( (int)optInTimePeriod3 == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod3 = 28; +/* Generated */ else if( ((int)optInTimePeriod3 < 1) || ((int)optInTimePeriod3 > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + + /* Ensure that the time periods are ordered from shortest to longest. + * Sort. */ + periods[0] = optInTimePeriod1; + periods[1] = optInTimePeriod2; + periods[2] = optInTimePeriod3; + usedFlag[0] = 0; + usedFlag[1] = 0; + usedFlag[2] = 0; + for ( i = 0; i < 3; ++i ) + { + longestPeriod = 0; + longestIndex = 0; + for ( j = 0; j < 3; ++j ) + { + if ( (usedFlag[j] == 0) && (periods[j] > longestPeriod) ) + { + longestPeriod = periods[j]; + longestIndex = j; + } + } + usedFlag[longestIndex] = 1; + sortedPeriods[i] = longestPeriod; + } + optInTimePeriod1 = sortedPeriods[2]; + optInTimePeriod2 = sortedPeriods[1]; + optInTimePeriod3 = sortedPeriods[0]; + + /* Adjust startIdx for lookback period. */ + lookbackTotal = LOOKBACK_CALL(ULTOSC)( optInTimePeriod1, optInTimePeriod2, optInTimePeriod3 ); + if( startIdx < lookbackTotal ) startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + + /* Prime running totals used in moving averages */ + #define CALC_TERMS(day) \ + { \ + tempLT = inLow[day]; \ + tempHT = inHigh[day]; \ + tempCY = inClose[day-1]; \ + trueLow = min( tempLT, tempCY ); \ + closeMinusTrueLow = inClose[day] - trueLow; \ + trueRange = tempHT - tempLT; \ + tempDouble = std_fabs( tempCY - tempHT ); \ + if( tempDouble > trueRange ) \ + trueRange = tempDouble; \ + tempDouble = std_fabs( tempCY - tempLT ); \ + if( tempDouble > trueRange ) \ + trueRange = tempDouble; \ + } + + #define PRIME_TOTALS(aTotal, bTotal, period) \ + { \ + aTotal = 0; \ + bTotal = 0; \ + for ( i = startIdx-period+1; i < startIdx; ++i ) \ + { \ + CALC_TERMS(i); \ + aTotal += closeMinusTrueLow; \ + bTotal += trueRange; \ + } \ + } + + PRIME_TOTALS(a1Total, b1Total, optInTimePeriod1); + PRIME_TOTALS(a2Total, b2Total, optInTimePeriod2); + PRIME_TOTALS(a3Total, b3Total, optInTimePeriod3); + + #undef PRIME_TOTALS + + /* Calculate oscillator */ + today = startIdx; + outIdx = 0; + trailingIdx1 = today - optInTimePeriod1 + 1; + trailingIdx2 = today - optInTimePeriod2 + 1; + trailingIdx3 = today - optInTimePeriod3 + 1; + while( today <= endIdx ) + { + /* Add on today's terms */ + CALC_TERMS(today); + a1Total += closeMinusTrueLow; + a2Total += closeMinusTrueLow; + a3Total += closeMinusTrueLow; + b1Total += trueRange; + b2Total += trueRange; + b3Total += trueRange; + + /* Calculate the oscillator value for today */ + output = 0.0; + + if( !TA_IS_ZERO(b1Total) ) output += 4.0*(a1Total/b1Total); + if( !TA_IS_ZERO(b2Total) ) output += 2.0*(a2Total/b2Total); + if( !TA_IS_ZERO(b3Total) ) output += a3Total/b3Total; + + /* Remove the trailing terms to prepare for next day */ + CALC_TERMS(trailingIdx1); + a1Total -= closeMinusTrueLow; + b1Total -= trueRange; + + CALC_TERMS(trailingIdx2); + a2Total -= closeMinusTrueLow; + b2Total -= trueRange; + + CALC_TERMS(trailingIdx3); + a3Total -= closeMinusTrueLow; + b3Total -= trueRange; + + /* Last operation is to write the output. Must + * be done after the trailing index have all been + * taken care of because the caller is allowed + * to have the input array to be also the output + * array. + */ + outReal[outIdx] = 100.0 * (output / 7.0); + + /* Increment indexes */ + outIdx++; + today++; + trailingIdx1++; + trailingIdx2++; + trailingIdx3++; + } + #undef CALC_TERMS + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::UltOsc( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ int optInTimePeriod1, /* From 1 to 100000 */ +/* Generated */ int optInTimePeriod2, /* From 1 to 100000 */ +/* Generated */ int optInTimePeriod3, /* From 1 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode ultOsc( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ int optInTimePeriod1, /* From 1 to 100000 */ +/* Generated */ int optInTimePeriod2, /* From 1 to 100000 */ +/* Generated */ int optInTimePeriod3, /* From 1 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_ULTOSC( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int optInTimePeriod1, /* From 1 to 100000 */ +/* Generated */ int optInTimePeriod2, /* From 1 to 100000 */ +/* Generated */ int optInTimePeriod3, /* From 1 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double a1Total, a2Total, a3Total; +/* Generated */ double b1Total, b2Total, b3Total; +/* Generated */ double trueLow, trueRange, closeMinusTrueLow; +/* Generated */ double tempDouble, output, tempHT, tempLT, tempCY; +/* Generated */ int lookbackTotal; +/* Generated */ int longestPeriod, longestIndex; +/* Generated */ int i,j,today,outIdx; +/* Generated */ int trailingIdx1, trailingIdx2, trailingIdx3; +/* Generated */ ARRAY_INT_LOCAL(usedFlag,3); +/* Generated */ ARRAY_INT_LOCAL(periods,3); +/* Generated */ ARRAY_INT_LOCAL(sortedPeriods,3); +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod1 == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod1 = 7; +/* Generated */ else if( ((int)optInTimePeriod1 < 1) || ((int)optInTimePeriod1 > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( (int)optInTimePeriod2 == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod2 = 14; +/* Generated */ else if( ((int)optInTimePeriod2 < 1) || ((int)optInTimePeriod2 > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( (int)optInTimePeriod3 == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod3 = 28; +/* Generated */ else if( ((int)optInTimePeriod3 < 1) || ((int)optInTimePeriod3 > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ periods[0] = optInTimePeriod1; +/* Generated */ periods[1] = optInTimePeriod2; +/* Generated */ periods[2] = optInTimePeriod3; +/* Generated */ usedFlag[0] = 0; +/* Generated */ usedFlag[1] = 0; +/* Generated */ usedFlag[2] = 0; +/* Generated */ for ( i = 0; i < 3; ++i ) +/* Generated */ { +/* Generated */ longestPeriod = 0; +/* Generated */ longestIndex = 0; +/* Generated */ for ( j = 0; j < 3; ++j ) +/* Generated */ { +/* Generated */ if ( (usedFlag[j] == 0) && (periods[j] > longestPeriod) ) +/* Generated */ { +/* Generated */ longestPeriod = periods[j]; +/* Generated */ longestIndex = j; +/* Generated */ } +/* Generated */ } +/* Generated */ usedFlag[longestIndex] = 1; +/* Generated */ sortedPeriods[i] = longestPeriod; +/* Generated */ } +/* Generated */ optInTimePeriod1 = sortedPeriods[2]; +/* Generated */ optInTimePeriod2 = sortedPeriods[1]; +/* Generated */ optInTimePeriod3 = sortedPeriods[0]; +/* Generated */ lookbackTotal = LOOKBACK_CALL(ULTOSC)( optInTimePeriod1, optInTimePeriod2, optInTimePeriod3 ); +/* Generated */ if( startIdx < lookbackTotal ) startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ #define CALC_TERMS(day) \ +/* Generated */ { \ +/* Generated */ tempLT = inLow[day]; \ +/* Generated */ tempHT = inHigh[day]; \ +/* Generated */ tempCY = inClose[day-1]; \ +/* Generated */ trueLow = min( tempLT, tempCY ); \ +/* Generated */ closeMinusTrueLow = inClose[day] - trueLow; \ +/* Generated */ trueRange = tempHT - tempLT; \ +/* Generated */ tempDouble = std_fabs( tempCY - tempHT ); \ +/* Generated */ if( tempDouble > trueRange ) \ +/* Generated */ trueRange = tempDouble; \ +/* Generated */ tempDouble = std_fabs( tempCY - tempLT ); \ +/* Generated */ if( tempDouble > trueRange ) \ +/* Generated */ trueRange = tempDouble; \ +/* Generated */ } +/* Generated */ #define PRIME_TOTALS(aTotal, bTotal, period) \ +/* Generated */ { \ +/* Generated */ aTotal = 0; \ +/* Generated */ bTotal = 0; \ +/* Generated */ for ( i = startIdx-period+1; i < startIdx; ++i ) \ +/* Generated */ { \ +/* Generated */ CALC_TERMS(i); \ +/* Generated */ aTotal += closeMinusTrueLow; \ +/* Generated */ bTotal += trueRange; \ +/* Generated */ } \ +/* Generated */ } +/* Generated */ PRIME_TOTALS(a1Total, b1Total, optInTimePeriod1); +/* Generated */ PRIME_TOTALS(a2Total, b2Total, optInTimePeriod2); +/* Generated */ PRIME_TOTALS(a3Total, b3Total, optInTimePeriod3); +/* Generated */ #undef PRIME_TOTALS +/* Generated */ today = startIdx; +/* Generated */ outIdx = 0; +/* Generated */ trailingIdx1 = today - optInTimePeriod1 + 1; +/* Generated */ trailingIdx2 = today - optInTimePeriod2 + 1; +/* Generated */ trailingIdx3 = today - optInTimePeriod3 + 1; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ CALC_TERMS(today); +/* Generated */ a1Total += closeMinusTrueLow; +/* Generated */ a2Total += closeMinusTrueLow; +/* Generated */ a3Total += closeMinusTrueLow; +/* Generated */ b1Total += trueRange; +/* Generated */ b2Total += trueRange; +/* Generated */ b3Total += trueRange; +/* Generated */ output = 0.0; +/* Generated */ if( !TA_IS_ZERO(b1Total) ) output += 4.0*(a1Total/b1Total); +/* Generated */ if( !TA_IS_ZERO(b2Total) ) output += 2.0*(a2Total/b2Total); +/* Generated */ if( !TA_IS_ZERO(b3Total) ) output += a3Total/b3Total; +/* Generated */ CALC_TERMS(trailingIdx1); +/* Generated */ a1Total -= closeMinusTrueLow; +/* Generated */ b1Total -= trueRange; +/* Generated */ CALC_TERMS(trailingIdx2); +/* Generated */ a2Total -= closeMinusTrueLow; +/* Generated */ b2Total -= trueRange; +/* Generated */ CALC_TERMS(trailingIdx3); +/* Generated */ a3Total -= closeMinusTrueLow; +/* Generated */ b3Total -= trueRange; +/* Generated */ outReal[outIdx] = 100.0 * (output / 7.0); +/* Generated */ outIdx++; +/* Generated */ today++; +/* Generated */ trailingIdx1++; +/* Generated */ trailingIdx2++; +/* Generated */ trailingIdx3++; +/* Generated */ } +/* Generated */ #undef CALC_TERMS +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_VAR.c b/vendor/ta-lib/src/ta_func/ta_VAR.c new file mode 100644 index 000000000..e70330c3d --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_VAR.c @@ -0,0 +1,477 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * JV Jesus Viver <324122@cienz.unizar.es> + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF Template creation. + * 100502 JV Speed optimization of the algorithm + * 052603 MF Adapt code to compile with .NET Managed C++ + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::VarianceLookback( int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ double optInNbDev ) /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int varianceLookback( int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ double optInNbDev ) /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_VAR_Lookback( int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ double optInNbDev ) /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 5; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ if( optInNbDev == TA_REAL_DEFAULT ) +/* Generated */ optInNbDev = 1.000000e+0; +/* Generated */ else if( (optInNbDev < -3.000000e+37) ||/* Generated */ (optInNbDev > 3.000000e+37) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + UNUSED_VARIABLE(optInNbDev); + + return optInTimePeriod-1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_VAR - Variance + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 1 to 100000) + * Number of period + * + * optInNbDev:(From TA_REAL_MIN to TA_REAL_MAX) + * Nb of deviations + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Variance( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ double optInNbDev, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Variance( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ double optInNbDev, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode variance( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ double optInNbDev, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_VAR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ double optInNbDev, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 5; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ if( optInNbDev == TA_REAL_DEFAULT ) +/* Generated */ optInNbDev = 1.000000e+0; +/* Generated */ else if( (optInNbDev < -3.000000e+37) ||/* Generated */ (optInNbDev > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + return FUNCTION_CALL(INT_VAR)( startIdx, endIdx, inReal, + optInTimePeriod, /* From 1 to TA_INTEGER_MAX */ + outBegIdx, outNBElement, outReal ); +} + + +#if defined( _MANAGED ) && defined( USE_SUBARRAY ) && !defined( USE_SINGLE_PRECISION_INPUT ) +enum class Core::RetCode Core::TA_INT_VAR( int startIdx, + int endIdx, + SubArray^ inReal, + int optInTimePeriod, + [Out]int% outBegIdx, + [Out]int% outNBElement, + cli::array^ outReal ) +#elif defined( _MANAGED ) +enum class Core::RetCode Core::TA_INT_VAR( int startIdx, + int endIdx, + cli::array^ inReal, + int optInTimePeriod, + [Out]int% outBegIdx, + [Out]int% outNBElement, + cli::array^ outReal ) +#elif defined( _JAVA ) +public RetCode TA_INT_VAR( int startIdx, + int endIdx, + INPUT_TYPE inReal[], + int optInTimePeriod, /* From 1 to TA_INTEGER_MAX */ + MInteger outBegIdx, + MInteger outNBElement, + double outReal[] ) +#else +TA_RetCode TA_PREFIX(INT_VAR)( int startIdx, + int endIdx, + const INPUT_TYPE *inReal, + int optInTimePeriod, /* From 1 to TA_INTEGER_MAX */ + int *outBegIdx, + int *outNBElement, + double *outReal ) +#endif +{ + double tempReal, periodTotal1, periodTotal2, meanValue1, meanValue2; + int i, outIdx, trailingIdx, nbInitialElementNeeded; + + /* Validate the calculation method type and + * identify the minimum number of price bar needed + * to calculate at least one output. + */ + nbInitialElementNeeded = (optInTimePeriod-1); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < nbInitialElementNeeded ) + startIdx = nbInitialElementNeeded; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Do the MA calculation using tight loops. */ + /* Add-up the initial periods, except for the last value. */ + periodTotal1 = 0; + periodTotal2 = 0; + trailingIdx = startIdx-nbInitialElementNeeded; + + i=trailingIdx; + if( optInTimePeriod > 1 ) + { + while( i < startIdx ) { + tempReal = inReal[i++]; + periodTotal1 += tempReal; + tempReal *= tempReal; + periodTotal2 += tempReal; + } + } + + /* Proceed with the calculation for the requested range. + * Note that this algorithm allows the inReal and + * outReal to be the same buffer. + */ + outIdx = 0; + do + { + tempReal = inReal[i++]; + + /* Square and add all the deviation over + * the same periods. + */ + + periodTotal1 += tempReal; + tempReal *= tempReal; + periodTotal2 += tempReal; + + /* Square and add all the deviation over + * the same period. + */ + + meanValue1 = periodTotal1 / optInTimePeriod; + meanValue2 = periodTotal2 / optInTimePeriod; + + tempReal = inReal[trailingIdx++]; + periodTotal1 -= tempReal; + tempReal *= tempReal; + periodTotal2 -= tempReal; + + outReal[outIdx++] = meanValue2-meanValue1*meanValue1; + } while( i <= endIdx ); + + /* All done. Indicate the output limits and return. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Variance( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ double optInNbDev, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode variance( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ double optInNbDev, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_VAR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 1 to 100000 */ +/* Generated */ double optInNbDev, /* From TA_REAL_MIN to TA_REAL_MAX */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 5; +/* Generated */ else if( ((int)optInTimePeriod < 1) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ if( optInNbDev == TA_REAL_DEFAULT ) +/* Generated */ optInNbDev = 1.000000e+0; +/* Generated */ else if( (optInNbDev < -3.000000e+37) || (optInNbDev > 3.000000e+37) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ return FUNCTION_CALL(INT_VAR)( startIdx, endIdx, inReal, +/* Generated */ optInTimePeriod, +/* Generated */ outBegIdx, outNBElement, outReal ); +/* Generated */ } +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) && !defined( USE_SINGLE_PRECISION_INPUT ) +/* Generated */ enum class Core::RetCode Core::TA_INT_VAR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::TA_INT_VAR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode TA_INT_VAR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ INPUT_TYPE inReal[], +/* Generated */ int optInTimePeriod, +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_PREFIX(INT_VAR)( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const INPUT_TYPE *inReal, +/* Generated */ int optInTimePeriod, +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double *outReal ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double tempReal, periodTotal1, periodTotal2, meanValue1, meanValue2; +/* Generated */ int i, outIdx, trailingIdx, nbInitialElementNeeded; +/* Generated */ nbInitialElementNeeded = (optInTimePeriod-1); +/* Generated */ if( startIdx < nbInitialElementNeeded ) +/* Generated */ startIdx = nbInitialElementNeeded; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ periodTotal1 = 0; +/* Generated */ periodTotal2 = 0; +/* Generated */ trailingIdx = startIdx-nbInitialElementNeeded; +/* Generated */ i=trailingIdx; +/* Generated */ if( optInTimePeriod > 1 ) +/* Generated */ { +/* Generated */ while( i < startIdx ) { +/* Generated */ tempReal = inReal[i++]; +/* Generated */ periodTotal1 += tempReal; +/* Generated */ tempReal *= tempReal; +/* Generated */ periodTotal2 += tempReal; +/* Generated */ } +/* Generated */ } +/* Generated */ outIdx = 0; +/* Generated */ do +/* Generated */ { +/* Generated */ tempReal = inReal[i++]; +/* Generated */ periodTotal1 += tempReal; +/* Generated */ tempReal *= tempReal; +/* Generated */ periodTotal2 += tempReal; +/* Generated */ meanValue1 = periodTotal1 / optInTimePeriod; +/* Generated */ meanValue2 = periodTotal2 / optInTimePeriod; +/* Generated */ tempReal = inReal[trailingIdx++]; +/* Generated */ periodTotal1 -= tempReal; +/* Generated */ tempReal *= tempReal; +/* Generated */ periodTotal2 -= tempReal; +/* Generated */ outReal[outIdx++] = meanValue2-meanValue1*meanValue1; +/* Generated */ } while( i <= endIdx ); +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_WCLPRICE.c b/vendor/ta-lib/src/ta_func/ta_WCLPRICE.c new file mode 100644 index 000000000..77a97771d --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_WCLPRICE.c @@ -0,0 +1,270 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * 112605 MF Fix outBegIdx when startIdx != 0 + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::WclPriceLookback( void ) +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int wclPriceLookback( ) +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_WCLPRICE_Lookback( void ) +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ /* No parameters to validate. */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + /* This function have no lookback needed. */ + return 0; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_WCLPRICE - Weighted Close Price + * + * Input = High, Low, Close + * Output = double + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::WclPrice( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::WclPrice( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode wclPrice( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_WCLPRICE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + int outIdx, i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Weighted Close Price = (High + Low + (Close*2) ) / 4 */ + + outIdx = 0; + + for( i= startIdx; i <= endIdx; i++ ) + { + outReal[outIdx++] = ( inHigh [i] + + inLow [i] + + (inClose[i]*2.0) ) / 4.0; + } + + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::WclPrice( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode wclPrice( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_WCLPRICE( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int outIdx, i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ outIdx = 0; +/* Generated */ for( i= startIdx; i <= endIdx; i++ ) +/* Generated */ { +/* Generated */ outReal[outIdx++] = ( inHigh [i] + +/* Generated */ inLow [i] + +/* Generated */ (inClose[i]*2.0) ) / 4.0; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_WILLR.c b/vendor/ta-lib/src/ta_func/ta_WILLR.c new file mode 100644 index 000000000..34b040f49 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_WILLR.c @@ -0,0 +1,453 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 010802 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::WillRLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int willRLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_WILLR_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + + return (optInTimePeriod-1); +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_WILLR - Williams' %R + * + * Input = High, Low, Close + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::WillR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inHigh, +/* Generated */ SubArray^ inLow, +/* Generated */ SubArray^ inClose, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::WillR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode willR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inHigh[], +/* Generated */ double inLow[], +/* Generated */ double inClose[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_WILLR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inHigh[], +/* Generated */ const double inLow[], +/* Generated */ const double inClose[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + double lowest, highest, tmp, diff; + int outIdx, nbInitialElementNeeded; + int trailingIdx, lowestIdx, highestIdx; + int today, i; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ /* Verify required price component. */ +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + + /* Identify the minimum number of price bar needed + * to identify at least one output over the specified + * period. + */ + nbInitialElementNeeded = (optInTimePeriod-1); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < nbInitialElementNeeded ) + startIdx = nbInitialElementNeeded; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Initialize 'diff', just to avoid warning. */ + diff = 0.0; + + /* Proceed with the calculation for the requested range. + * Note that this algorithm allows the input and + * output to be the same buffer. + */ + outIdx = 0; + today = startIdx; + trailingIdx = startIdx-nbInitialElementNeeded; + lowestIdx = highestIdx = -1; + diff = highest = lowest = 0.0; + + while( today <= endIdx ) + { + /* Set the lowest low */ + tmp = inLow[today]; + if( lowestIdx < trailingIdx ) + { + lowestIdx = trailingIdx; + lowest = inLow[lowestIdx]; + i = lowestIdx; + while( ++i<=today ) + { + tmp = inLow[i]; + if( tmp < lowest ) + { + lowestIdx = i; + lowest = tmp; + } + } + diff = (highest - lowest)/(-100.0); + } + else if( tmp <= lowest ) + { + lowestIdx = today; + lowest = tmp; + diff = (highest - lowest)/(-100.0); + } + + /* Set the highest high */ + tmp = inHigh[today]; + if( highestIdx < trailingIdx ) + { + highestIdx = trailingIdx; + highest = inHigh[highestIdx]; + i = highestIdx; + while( ++i<=today ) + { + tmp = inHigh[i]; + if( tmp > highest ) + { + highestIdx = i; + highest = tmp; + } + } + diff = (highest - lowest)/(-100.0); + } + else if( tmp >= highest ) + { + highestIdx = today; + highest = tmp; + diff = (highest - lowest)/(-100.0); + } + + if( diff != 0.0 ) + outReal[outIdx++] = (highest-inClose[today])/diff; + else + outReal[outIdx++] = 0.0; + + trailingIdx++; + today++; + } + + /* Keep the outBegIdx relative to the + * caller input before returning. + */ + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::WillR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inHigh, +/* Generated */ cli::array^ inLow, +/* Generated */ cli::array^ inClose, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode willR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inHigh[], +/* Generated */ float inLow[], +/* Generated */ float inClose[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_WILLR( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inHigh[], +/* Generated */ const float inLow[], +/* Generated */ const float inClose[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ double lowest, highest, tmp, diff; +/* Generated */ int outIdx, nbInitialElementNeeded; +/* Generated */ int trailingIdx, lowestIdx, highestIdx; +/* Generated */ int today, i; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if(!inHigh||!inLow||!inClose) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 14; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ nbInitialElementNeeded = (optInTimePeriod-1); +/* Generated */ if( startIdx < nbInitialElementNeeded ) +/* Generated */ startIdx = nbInitialElementNeeded; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ diff = 0.0; +/* Generated */ outIdx = 0; +/* Generated */ today = startIdx; +/* Generated */ trailingIdx = startIdx-nbInitialElementNeeded; +/* Generated */ lowestIdx = highestIdx = -1; +/* Generated */ diff = highest = lowest = 0.0; +/* Generated */ while( today <= endIdx ) +/* Generated */ { +/* Generated */ tmp = inLow[today]; +/* Generated */ if( lowestIdx < trailingIdx ) +/* Generated */ { +/* Generated */ lowestIdx = trailingIdx; +/* Generated */ lowest = inLow[lowestIdx]; +/* Generated */ i = lowestIdx; +/* Generated */ while( ++i<=today ) +/* Generated */ { +/* Generated */ tmp = inLow[i]; +/* Generated */ if( tmp < lowest ) +/* Generated */ { +/* Generated */ lowestIdx = i; +/* Generated */ lowest = tmp; +/* Generated */ } +/* Generated */ } +/* Generated */ diff = (highest - lowest)/(-100.0); +/* Generated */ } +/* Generated */ else if( tmp <= lowest ) +/* Generated */ { +/* Generated */ lowestIdx = today; +/* Generated */ lowest = tmp; +/* Generated */ diff = (highest - lowest)/(-100.0); +/* Generated */ } +/* Generated */ tmp = inHigh[today]; +/* Generated */ if( highestIdx < trailingIdx ) +/* Generated */ { +/* Generated */ highestIdx = trailingIdx; +/* Generated */ highest = inHigh[highestIdx]; +/* Generated */ i = highestIdx; +/* Generated */ while( ++i<=today ) +/* Generated */ { +/* Generated */ tmp = inHigh[i]; +/* Generated */ if( tmp > highest ) +/* Generated */ { +/* Generated */ highestIdx = i; +/* Generated */ highest = tmp; +/* Generated */ } +/* Generated */ } +/* Generated */ diff = (highest - lowest)/(-100.0); +/* Generated */ } +/* Generated */ else if( tmp >= highest ) +/* Generated */ { +/* Generated */ highestIdx = today; +/* Generated */ highest = tmp; +/* Generated */ diff = (highest - lowest)/(-100.0); +/* Generated */ } +/* Generated */ if( diff != 0.0 ) +/* Generated */ outReal[outIdx++] = (highest-inClose[today])/diff; +/* Generated */ else +/* Generated */ outReal[outIdx++] = 0.0; +/* Generated */ trailingIdx++; +/* Generated */ today++; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_WMA.c b/vendor/ta-lib/src/ta_func/ta_WMA.c new file mode 100644 index 000000000..e3bf4aca4 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_WMA.c @@ -0,0 +1,418 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF Template creation. + * 052603 MF Adapt code to compile with .NET Managed C++ + * + */ + +/**** START GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +/* All code within this section is automatically + * generated by gen_code. Any modification will be lost + * next time gen_code is run. + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ #include "TA-Lib-Core.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError) +/* Generated */ namespace TicTacTec { namespace TA { namespace Library { +/* Generated */ #elif defined( _JAVA ) +/* Generated */ #include "ta_defs.h" +/* Generated */ #include "ta_java_defs.h" +/* Generated */ #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError) +/* Generated */ #else +/* Generated */ #include +/* Generated */ #include +/* Generated */ #include "ta_func.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_UTILITY_H +/* Generated */ #include "ta_utility.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #ifndef TA_MEMORY_H +/* Generated */ #include "ta_memory.h" +/* Generated */ #endif +/* Generated */ +/* Generated */ #define TA_PREFIX(x) TA_##x +/* Generated */ #define INPUT_TYPE double +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ int Core::WmaLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public int wmaLookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #else +/* Generated */ int TA_WMA_Lookback( int optInTimePeriod ) /* From 2 to 100000 */ +/* Generated */ +/* Generated */ #endif +/**** END GENCODE SECTION 1 - DO NOT DELETE THIS LINE ****/ +{ + /* insert local variable here */ + +/**** START GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return -1; +/* Generated */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/**** END GENCODE SECTION 2 - DO NOT DELETE THIS LINE ****/ + + /* insert lookback code here. */ + return optInTimePeriod - 1; +} + +/**** START GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +/* + * TA_WMA - Weighted Moving Average + * + * Input = double + * Output = double + * + * Optional Parameters + * ------------------- + * optInTimePeriod:(From 2 to 100000) + * Number of period + * + * + */ +/* Generated */ +/* Generated */ #if defined( _MANAGED ) && defined( USE_SUBARRAY ) +/* Generated */ enum class Core::RetCode Core::Wma( int startIdx, +/* Generated */ int endIdx, +/* Generated */ SubArray^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Wma( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode wma( int startIdx, +/* Generated */ int endIdx, +/* Generated */ double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_WMA( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const double inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/**** END GENCODE SECTION 3 - DO NOT DELETE THIS LINE ****/ +{ + /* Insert local variables here. */ + int inIdx, outIdx, i, trailingIdx, divider; + double periodSum, periodSub, tempReal, trailingValue; + int lookbackTotal; + +/**** START GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ +/* Generated */ /* Validate the requested output range. */ +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif /* !defined(_JAVA)*/ +/* Generated */ /* min/max are checked for optInTimePeriod. */ +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ +/* Generated */ #endif /* !defined(_JAVA) */ +/* Generated */ #endif /* TA_FUNC_NO_RANGE_CHECK */ +/* Generated */ +/**** END GENCODE SECTION 4 - DO NOT DELETE THIS LINE ****/ + + /* Insert TA function code here. */ + lookbackTotal = optInTimePeriod-1; + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); + VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* To make the rest more efficient, handle exception + * case where the user is asking for a period of '1'. + * In that case outputs equals inputs for the requested + * range. + */ + if( optInTimePeriod == 1 ) + { + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + VALUE_HANDLE_DEREF(outNBElement) = endIdx-startIdx+1; + + #if defined( USE_SUBARRAY ) && !defined( USE_SINGLE_PRECISION_INPUT ) + ARRAY_MEMMOVE( outReal, 0, (inReal->mDataArray), (inReal->mOffset)+startIdx, (int)VALUE_HANDLE_DEREF(outNBElement) ); + #else + ARRAY_MEMMOVE( outReal, 0, inReal, startIdx, (int)VALUE_HANDLE_DEREF(outNBElement) ); + #endif + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); + } + + /* Calculate the divider (always an integer value). + * By induction: 1+2+3+4+'n' = n(n+1)/2 + * '>>1' is usually faster than '/2' for unsigned. + */ + divider = (optInTimePeriod*(optInTimePeriod+1))>>1; + + /* The algo used here use a very basic property of + * multiplication/addition: (x*2) = x+x + * + * As an example, a 3 period weighted can be + * interpreted in two way: + * (x1*1)+(x2*2)+(x3*3) + * OR + * x1+x2+x2+x3+x3+x3 (this is the periodSum) + * + * When you move forward in the time serie + * you can quickly adjust the periodSum for the + * period by substracting: + * x1+x2+x3 (This is the periodSub) + * Making the new periodSum equals to: + * x2+x3+x3 + * + * You can then add the new price bar + * which is x4+x4+x4 giving: + * x2+x3+x3+x4+x4+x4 + * + * At this point one iteration is completed and you can + * see that we are back to the step 1 of this example. + * + * Why making it so un-intuitive? The number of memory + * access and floating point operations are kept to a + * minimum with this algo. + */ + outIdx = 0; + trailingIdx = startIdx - lookbackTotal; + + /* Evaluate the initial periodSum/periodSub and trailingValue. */ + periodSum = periodSub = (double)0.0; + inIdx=trailingIdx; + i = 1; + while( inIdx < startIdx ) + { + tempReal = inReal[inIdx++]; + periodSub += tempReal; + periodSum += tempReal*i; + i++; + } + trailingValue = 0.0; + + /* Tight loop for the requested range. */ + while( inIdx <= endIdx ) + { + /* Add the current price bar to the sum + * who are carried through the iterations. + */ + tempReal = inReal[inIdx++]; + periodSub += tempReal; + periodSub -= trailingValue; + periodSum += tempReal*optInTimePeriod; + + /* Save the trailing value for being substract at + * the next iteration. + * (must be saved here just in case outReal and + * inReal are the same buffer). + */ + trailingValue = inReal[trailingIdx++]; + + /* Calculate the WMA for this price bar. */ + outReal[outIdx++] = periodSum / divider; + + /* Prepare the periodSum for the next iteration. */ + periodSum -= periodSub; + } + + /* Set output limits. */ + VALUE_HANDLE_DEREF(outNBElement) = outIdx; + VALUE_HANDLE_DEREF(outBegIdx) = startIdx; + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +/**** START GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ +/* Generated */ +/* Generated */ #define USE_SINGLE_PRECISION_INPUT +/* Generated */ #if !defined( _MANAGED ) && !defined( _JAVA ) +/* Generated */ #undef TA_PREFIX +/* Generated */ #define TA_PREFIX(x) TA_S_##x +/* Generated */ #endif +/* Generated */ #undef INPUT_TYPE +/* Generated */ #define INPUT_TYPE float +/* Generated */ #if defined( _MANAGED ) +/* Generated */ enum class Core::RetCode Core::Wma( int startIdx, +/* Generated */ int endIdx, +/* Generated */ cli::array^ inReal, +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ [Out]int% outBegIdx, +/* Generated */ [Out]int% outNBElement, +/* Generated */ cli::array^ outReal ) +/* Generated */ #elif defined( _JAVA ) +/* Generated */ public RetCode wma( int startIdx, +/* Generated */ int endIdx, +/* Generated */ float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ MInteger outBegIdx, +/* Generated */ MInteger outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #else +/* Generated */ TA_RetCode TA_S_WMA( int startIdx, +/* Generated */ int endIdx, +/* Generated */ const float inReal[], +/* Generated */ int optInTimePeriod, /* From 2 to 100000 */ +/* Generated */ int *outBegIdx, +/* Generated */ int *outNBElement, +/* Generated */ double outReal[] ) +/* Generated */ #endif +/* Generated */ { +/* Generated */ int inIdx, outIdx, i, trailingIdx, divider; +/* Generated */ double periodSum, periodSub, tempReal, trailingValue; +/* Generated */ int lookbackTotal; +/* Generated */ #ifndef TA_FUNC_NO_RANGE_CHECK +/* Generated */ if( startIdx < 0 ) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex); +/* Generated */ if( (endIdx < 0) || (endIdx < startIdx)) +/* Generated */ return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !inReal ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ if( (int)optInTimePeriod == TA_INTEGER_DEFAULT ) +/* Generated */ optInTimePeriod = 30; +/* Generated */ else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #if !defined(_JAVA) +/* Generated */ if( !outReal ) +/* Generated */ return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); +/* Generated */ #endif +/* Generated */ #endif +/* Generated */ lookbackTotal = optInTimePeriod-1; +/* Generated */ if( startIdx < lookbackTotal ) +/* Generated */ startIdx = lookbackTotal; +/* Generated */ if( startIdx > endIdx ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outBegIdx); +/* Generated */ VALUE_HANDLE_DEREF_TO_ZERO(outNBElement); +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ if( optInTimePeriod == 1 ) +/* Generated */ { +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = endIdx-startIdx+1; +/* Generated */ #if defined( USE_SUBARRAY ) && !defined( USE_SINGLE_PRECISION_INPUT ) +/* Generated */ ARRAY_MEMMOVE( outReal, 0, (inReal->mDataArray), (inReal->mOffset)+startIdx, (int)VALUE_HANDLE_DEREF(outNBElement) ); +/* Generated */ #else +/* Generated */ ARRAY_MEMMOVE( outReal, 0, inReal, startIdx, (int)VALUE_HANDLE_DEREF(outNBElement) ); +/* Generated */ #endif +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ divider = (optInTimePeriod*(optInTimePeriod+1))>>1; +/* Generated */ outIdx = 0; +/* Generated */ trailingIdx = startIdx - lookbackTotal; +/* Generated */ periodSum = periodSub = (double)0.0; +/* Generated */ inIdx=trailingIdx; +/* Generated */ i = 1; +/* Generated */ while( inIdx < startIdx ) +/* Generated */ { +/* Generated */ tempReal = inReal[inIdx++]; +/* Generated */ periodSub += tempReal; +/* Generated */ periodSum += tempReal*i; +/* Generated */ i++; +/* Generated */ } +/* Generated */ trailingValue = 0.0; +/* Generated */ while( inIdx <= endIdx ) +/* Generated */ { +/* Generated */ tempReal = inReal[inIdx++]; +/* Generated */ periodSub += tempReal; +/* Generated */ periodSub -= trailingValue; +/* Generated */ periodSum += tempReal*optInTimePeriod; +/* Generated */ trailingValue = inReal[trailingIdx++]; +/* Generated */ outReal[outIdx++] = periodSum / divider; +/* Generated */ periodSum -= periodSub; +/* Generated */ } +/* Generated */ VALUE_HANDLE_DEREF(outNBElement) = outIdx; +/* Generated */ VALUE_HANDLE_DEREF(outBegIdx) = startIdx; +/* Generated */ return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +/* Generated */ } +/* Generated */ +/* Generated */ #if defined( _MANAGED ) +/* Generated */ }}} // Close namespace TicTacTec.TA.Lib +/* Generated */ #endif +/**** END GENCODE SECTION 5 - DO NOT DELETE THIS LINE ****/ + diff --git a/vendor/ta-lib/src/ta_func/ta_utility.c b/vendor/ta-lib/src/ta_func/ta_utility.c new file mode 100644 index 000000000..aea018783 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_utility.c @@ -0,0 +1,134 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * RM Robert Meier (talib@meierlim.com http://www.meierlim.com) + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 052603 MF Adapt code to compile with .NET Managed C++ + * 123004 RM,MF Adapt code to work with Visual Studio 2005 + * + */ + +#if defined( _MANAGED ) + #using + #include "TA-Lib-Core.h" + #include "ta_memory.h" +namespace TicTacTec { namespace TA { namespace Library { +#else + #include "ta_utility.h" + #include "ta_func.h" + #include "ta_memory.h" +#endif + +#if defined( _MANAGED ) + enum class Core::RetCode Core::SetUnstablePeriod( enum class FuncUnstId id, + unsigned int unstablePeriod ) +#else +TA_RetCode TA_SetUnstablePeriod( TA_FuncUnstId id, + unsigned int unstablePeriod ) +#endif +{ + int i; + + if( id > ENUM_VALUE(FuncUnstId,TA_FUNC_UNST_ALL,FuncUnstAll) ) + return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam); + + if( id == ENUM_VALUE(FuncUnstId,TA_FUNC_UNST_ALL,FuncUnstAll) ) + { + for( i=0; i < (int)ENUM_VALUE(FuncUnstId,TA_FUNC_UNST_ALL,FuncUnstAll); i++ ) + { + #if defined( _MANAGED ) + Globals->unstablePeriod[(int)i] = unstablePeriod; + #else + TA_Globals->unstablePeriod[i] = unstablePeriod; + #endif + } + } + else + { + #if defined( _MANAGED ) + Globals->unstablePeriod[(int)id] = unstablePeriod; + #else + TA_Globals->unstablePeriod[id] = unstablePeriod; + #endif + } + + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +#if defined( _MANAGED ) +unsigned int Core::GetUnstablePeriod( enum class FuncUnstId id ) +#else +unsigned int TA_GetUnstablePeriod( TA_FuncUnstId id ) +#endif +{ + if( id >= ENUM_VALUE(FuncUnstId,TA_FUNC_UNST_ALL,FuncUnstAll) ) + return 0; + + #if defined( _MANAGED ) + return Globals->unstablePeriod[(int)id]; + #else + return TA_Globals->unstablePeriod[id]; + #endif +} + +#if defined( _MANAGED ) + enum class Core::RetCode Core::SetCompatibility( enum class Compatibility value ) +#else +TA_RetCode TA_SetCompatibility( TA_Compatibility value ) +#endif +{ + TA_GLOBALS_COMPATIBILITY = value; + return ENUM_VALUE(RetCode,TA_SUCCESS,Success); +} + +#if defined( _MANAGED ) + enum class Core::Compatibility Core::GetCompatibility( void ) +#else +TA_Compatibility TA_GetCompatibility( void ) +#endif +{ + return TA_GLOBALS_COMPATIBILITY; +} + +#if defined( _MANAGED ) +}}} // Close namespace TicTacTec::TA::Lib +#endif diff --git a/vendor/ta-lib/src/ta_func/ta_utility.h b/vendor/ta-lib/src/ta_func/ta_utility.h new file mode 100644 index 000000000..70fff4b40 --- /dev/null +++ b/vendor/ta-lib/src/ta_func/ta_utility.h @@ -0,0 +1,365 @@ +/* Provides common mathematical or analysis functions. + * + * These functions are all PRIVATE to ta-lib and should + * never be called directly by the user of the TA-LIB. + */ + +#ifndef TA_UTILITY_H +#define TA_UTILITY_H + +#if !defined( _MANAGED ) && !defined( _JAVA ) + #ifndef TA_FUNC_H + #include "ta_func.h" + #endif + + #ifndef TA_GLOBAL_H + #include "ta_global.h" + #endif +#endif + +#if defined( _MANAGED ) + #ifndef NULL + #define NULL 0 + #endif +#endif + +/* Calculate a Simple Moving Average. + * This is an internal version, parameter are assumed validated. + * (startIdx and endIdx cannot be -1). + */ +#if !defined( _MANAGED ) && !defined( _JAVA ) +TA_RetCode TA_INT_SMA( int startIdx, + int endIdx, + const double *inReal, + int optInTimePeriod, + int *outBegIdx, + int *outNBElement, + double *outReal ); + +TA_RetCode TA_S_INT_SMA( int startIdx, + int endIdx, + const float *inReal, + int optInTimePeriod, + int *outBegIdx, + int *outNBElement, + double *outReal ); +#endif + +/* Calculate an Exponential Moving Average. + * This is an internal version, parameter are assumed validated. + * (startIdx and endIdx cannot be -1). + */ +#if !defined( _MANAGED ) && !defined( _JAVA ) +TA_RetCode TA_INT_EMA( int startIdx, + int endIdx, + const double *inReal, + int optInTimePeriod, + double optInK_1, + int *outBegIdx, + int *outNBElement, + double *outReal ); + +TA_RetCode TA_S_INT_EMA( int startIdx, + int endIdx, + const float *inReal, + int optInTimePeriod, + double optInK_1, + int *outBegIdx, + int *outNBElement, + double *outReal ); +#endif + +/* Calculate a MACD + * This is an internal version, parameter are assumed validated. + * (startIdx and endIdx cannot be -1). + */ +#if !defined( _MANAGED ) && !defined( _JAVA ) +TA_RetCode TA_INT_MACD( int startIdx, + int endIdx, + const double inReal[], + int optInFastPeriod, /* 0 is fix 12 */ + int optInSlowPeriod, /* 0 is fix 26 */ + int optInSignalPeriod_2, + int *outBegIdx, + int *outNBElement, + double outRealMACD_0[], + double outRealMACDSignal_1[], + double outRealMACDHist_2[] ); + +TA_RetCode TA_S_INT_MACD( int startIdx, + int endIdx, + const float inReal[], + int optInFastPeriod, /* 0 is fix 12 */ + int optInSlowPeriod, /* 0 is fix 26 */ + int optInSignalPeriod_2, + int *outBegIdx, + int *outNBElement, + double outRealMACD_0[], + double outRealMACDSignal_1[], + double outRealMACDHist_2[] ); +#endif + +/* Internal Price Oscillator function. + * + * A buffer must be provided for intermediate processing + * 'tempBuffer' must be of at least (endIdx-startIdx+1) + */ +#if !defined( _MANAGED ) && !defined( _JAVA ) +TA_RetCode TA_INT_PO( int startIdx, + int endIdx, + const double *inReal, + int optInFastPeriod, + int optInSlowPeriod, + TA_MAType optInMethod_2, + int *outBegIdx, + int *outNBElement, + double *outReal, + double *tempBuffer, + int doPercentageOutput ); + +TA_RetCode TA_S_INT_PO( int startIdx, + int endIdx, + const float *inReal, + int optInFastPeriod, + int optInSlowPeriod, + TA_MAType optInMethod_2, + int *outBegIdx, + int *outNBElement, + double *outReal, + double *tempBuffer, + int doPercentageOutput ); +#endif + +/* Internal variance function. */ +#if !defined( _MANAGED ) && !defined( _JAVA ) +TA_RetCode TA_INT_VAR( int startIdx, + int endIdx, + const double *inReal, + int optInTimePeriod, + int *outBegIdx, + int *outNBElement, + double *outReal ); + +TA_RetCode TA_S_INT_VAR( int startIdx, + int endIdx, + const float *inReal, + int optInTimePeriod, + int *outBegIdx, + int *outNBElement, + double *outReal ); +#endif + +/* A function to calculate a standard deviation. + * + * This function allows speed optimization when the + * moving average series is already calculated. + */ +#if !defined( _MANAGED ) && !defined( _JAVA ) +void TA_INT_stddev_using_precalc_ma( const double *inReal, + const double *inMovAvg, + int inMovAvgBegIdx, + int inMovAvgNbElement, + int timePeriod, + double *output ); + +void TA_S_INT_stddev_using_precalc_ma( const float *inReal, + const double *inMovAvg, + int inMovAvgBegIdx, + int inMovAvgNbElement, + int timePeriod, + double *output ); +#endif + + /* Provides an equivalent to standard "math.h" functions. */ +#if defined( _MANAGED ) + #define std_floor Math::Floor + #define std_ceil Math::Ceiling + #define std_fabs Math::Abs + #define std_atan Math::Atan + #define std_cos Math::Cos + #define std_sin Math::Sin + #define std_sqrt Math::Sqrt + #define std_tanh Math::Tanh + #define std_tan Math::Tan + #define std_sinh Math::Sinh + #define std_log10 Math::Log10 + #define std_log Math::Log + #define std_exp Math::Exp + #define std_cosh Math::Cosh + #define std_asin Math::Asin + #define std_acos Math::Acos +#elif defined( _JAVA ) + #define std_floor Math.floor + #define std_ceil Math.ceil + #define std_fabs Math.abs + #define std_atan Math.atan + #define std_cos Math.cos + #define std_sin Math.sin + #define std_sqrt Math.sqrt + #define std_tanh Math.tanh + #define std_tan Math.tan + #define std_sinh Math.sinh + #define std_log10 Math.log10 + #define std_log Math.log + #define std_exp Math.exp + #define std_cosh Math.cosh + #define std_asin Math.asin + #define std_acos Math.acos +#else + #define std_floor floor + #define std_ceil ceil + #define std_fabs fabs + #define std_atan atan + #define std_cos cos + #define std_sin sin + #define std_sqrt sqrt + #define std_tanh tanh + #define std_tan tan + #define std_sinh sinh + #define std_log10 log10 + #define std_log log + #define std_exp exp + #define std_cosh cosh + #define std_asin asin + #define std_acos acos +#endif + +/* Rounding macro for doubles. Works only with positive numbers. */ +#define round_pos(x) (std_floor((x)+0.5)) + +/* Rounding macro for doubles. Works only with negative numbers. */ +#define round_neg(x) (std_ceil((x)-0.5)) + +/* Rounding with a precision of 2 digit after the dot */ +#define round_pos_2(x) ((std_floor((x*100.0)+0.5))/100.0) +#define round_neg_2(x) ((std_ceil((x*100.0)-0.5))/100.0) + +/* In the context of TA-Lib, floating point are often + * compared within an acceptable error range. + * + * As an example,a TA oscillator ranging from 0 to 100 can + * fairly be considered equal if their difference is less + * than 0.000001. + * + * Ranging around zero also allows to work around limit + * cases where floating point minimal step (EPSILON) causes + * unexpected cummulative effect (ending with "negative zero" + * being one example). + * + * FLT_EPSILON == 1.192092896e-07 for float type on intel with msvc. + * DBL_EPSILON == 2.2204460492503131e-016 for the double type. + * + * Warning: These macro are not intended as "general purpose" floating + * point comparison. TA_REAL_EQ is not even transitive. The "ep" parameter + * must be carefully choosen to work in the domain of the tested values. + * Do a search on Google for a more generalize algo. + */ +#define TA_REAL_EQ(x,v,ep) (((v-ep) (b)) ? (a) : (b)) +#endif + +/* Candlestick macros (used by candlestick functions, where the parameters are always called inClose, inOpen, etc. + * Don't use i++ or func(i) with these macros ! + */ + +#define TA_REALBODY(IDX) ( std_fabs( inClose[IDX] - inOpen[IDX] ) ) +#define TA_UPPERSHADOW(IDX) ( inHigh[IDX] - ( inClose[IDX] >= inOpen[IDX] ? inClose[IDX] : inOpen[IDX] ) ) +#define TA_LOWERSHADOW(IDX) ( ( inClose[IDX] >= inOpen[IDX] ? inOpen[IDX] : inClose[IDX] ) - inLow[IDX] ) +#define TA_HIGHLOWRANGE(IDX) ( inHigh[IDX] - inLow[IDX] ) +#define TA_CANDLECOLOR(IDX) ( inClose[IDX] >= inOpen[IDX] ? 1 : -1 ) + +#if defined( _MANAGED ) + #define TA_CANDLERANGETYPE(SET) (Globals->candleSettings[(int)CandleSettingType::SET]->rangeType) + #define TA_CANDLEAVGPERIOD(SET) (Globals->candleSettings[(int)CandleSettingType::SET]->avgPeriod) + #define TA_CANDLEFACTOR(SET) (Globals->candleSettings[(int)CandleSettingType::SET]->factor) +#elif defined( _JAVA ) + #define TA_CANDLERANGETYPE(SET) (this.candleSettings[CandleSettingType.SET.ordinal()].rangeType) + #define TA_CANDLEAVGPERIOD(SET) (this.candleSettings[CandleSettingType.SET.ordinal()].avgPeriod) + #define TA_CANDLEFACTOR(SET) (this.candleSettings[CandleSettingType.SET.ordinal()].factor) +#else + #define TA_CANDLERANGETYPE(SET) (TA_Globals->candleSettings[TA_##SET].rangeType) + #define TA_CANDLEAVGPERIOD(SET) (TA_Globals->candleSettings[TA_##SET].avgPeriod) + #define TA_CANDLEFACTOR(SET) (TA_Globals->candleSettings[TA_##SET].factor) +#endif + +#define TA_CANDLERANGE(SET,IDX) \ + ( TA_CANDLERANGETYPE(SET) == ENUM_VALUE(RangeType,TA_RangeType_RealBody,RealBody) ? TA_REALBODY(IDX) : \ + ( TA_CANDLERANGETYPE(SET) == ENUM_VALUE(RangeType,TA_RangeType_HighLow,HighLow) ? TA_HIGHLOWRANGE(IDX) : \ + ( TA_CANDLERANGETYPE(SET) == ENUM_VALUE(RangeType,TA_RangeType_Shadows,Shadows) ? TA_UPPERSHADOW(IDX) + TA_LOWERSHADOW(IDX) : \ + 0 ) ) ) +#define TA_CANDLEAVERAGE(SET,SUM,IDX) \ + ( TA_CANDLEFACTOR(SET) \ + * ( TA_CANDLEAVGPERIOD(SET) != 0.0? SUM / TA_CANDLEAVGPERIOD(SET) : TA_CANDLERANGE(SET,IDX) ) \ + / ( TA_CANDLERANGETYPE(SET) == ENUM_VALUE(RangeType,TA_RangeType_Shadows,Shadows) ? 2.0 : 1.0 ) \ + ) +#define TA_REALBODYGAPUP(IDX2,IDX1) ( min(inOpen[IDX2],inClose[IDX2]) > max(inOpen[IDX1],inClose[IDX1]) ) +#define TA_REALBODYGAPDOWN(IDX2,IDX1) ( max(inOpen[IDX2],inClose[IDX2]) < min(inOpen[IDX1],inClose[IDX1]) ) +#define TA_CANDLEGAPUP(IDX2,IDX1) ( inLow[IDX2] > inHigh[IDX1] ) +#define TA_CANDLEGAPDOWN(IDX2,IDX1) ( inHigh[IDX2] < inLow[IDX1] ) + +#ifdef TA_LIB_PRO +/* Section for code distributed with TA-Lib Pro only. */ +#endif + +#endif diff --git a/vendor/ta-lib/src/tools/Makefile.am b/vendor/ta-lib/src/tools/Makefile.am new file mode 100644 index 000000000..e3bfc9182 --- /dev/null +++ b/vendor/ta-lib/src/tools/Makefile.am @@ -0,0 +1,2 @@ +AUTOMAKE_OPTIONS = foreign 1.4 +SUBDIRS = gen_code ta_regtest diff --git a/vendor/ta-lib/src/tools/gen_code/Makefile.am b/vendor/ta-lib/src/tools/gen_code/Makefile.am new file mode 100644 index 000000000..cb839c231 --- /dev/null +++ b/vendor/ta-lib/src/tools/gen_code/Makefile.am @@ -0,0 +1,14 @@ + +# ta_regrest is used for testing and should +# not be installed. +noinst_PROGRAMS = gen_code + +gen_code_SOURCES = gen_code.c + +gen_code_CPPFLAGS = -I../../ta_common +gen_code_LDFLAGS = -L../../ta_common -L../../ta_abstract -L../../ta_func +gen_code_LDADD = -lta_common -lta_abstract_gc -lta_func -lm + +all-local: + $(MAKE) $(AM_MAKEFLAGS) gen_code + cp gen_code ../../../bin diff --git a/vendor/ta-lib/src/tools/gen_code/gen_code.c b/vendor/ta-lib/src/tools/gen_code/gen_code.c new file mode 100644 index 000000000..9a8792394 --- /dev/null +++ b/vendor/ta-lib/src/tools/gen_code/gen_code.c @@ -0,0 +1,4648 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier (mfortier@ta-lib.org) + * ST Steve Thames (steve@softlife.com) + * AC Angelo Ciceri + * RM Robert Meier (talib@meierlim.com) + * CM Craig Miller (c-miller@users.sourceforge.net) + * RG Richard Gomes + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF First version. + * 052403 MF Many modifications related to generate code that works + * with the windows .NET Managed C++ compiler. + * 092103 MF Now touch files only when there is really a change. + * 101303 MF Remove underscore from names. + * 020804 MF,ST Fixes to make it work on Linux (Bug#873879). + * 022904 MF Add TA_GetLookback + * 030604 MF Add generation of "ta_func.swg" + * 082004 AC Add generation of candlestick functions declaration + * 010405 RM Change createProjTemplate to work with VS03 and VS05 + * 031805 MF Add generation of MSVC project file. + * 061805 MF Changes related to .NET verifiable code. + * 062505 MF Fix 'out' attribute for .NET verifiable code. + * 121705 MF Complete Java port. + * 012806 MF Add call to Java post-processing. + * 093006 MF Add code generation for TA_FunctionDescription + * 110206 AC Change volume and open interest to double + * 120106 MF Add generation of java_defs.h + * 122406 MF Add generation of Makefile.am + * 011707 CM Add ta_pragma.h handles VC8 warnings, type conversion of strlen handles VC warning + * 021807 MF Add generation of VS2005 project file + * 040107 MF,RG Add generation of CoreAnnotated.java + */ + +/* Description: + * Generates a lot of source code. Run "gen_code ?" for + * the list of file. + * + * The generator use as input the interface definition + * of each of the TA functions. The interface is provided + * from static data in the TA-Abstract module. + * (See the 'table_x.c' files) + * + * This utility is intended only to people integrating new + * TA functions in TA-Lib. + * + * Note: All directory in this code is relative to the 'bin' + * directory. You must run "gen_code" from ta-lib/c/bin. + * + */ +#include "ta_pragma.h" /* this must be the first inclusion */ +#include +#include +#include +#include +#include +#include + +#if !defined(__WIN32__) && !defined(__MSDOS__) && !defined(WIN32) + #include +#endif + +#if defined (WIN32) + #include +#endif + +#include "ta_common.h" +#include "ta_abstract.h" +#include "ta_memory.h" + +extern int mcpp_main( int argc, char ** argv); + +#define BUFFER_SIZE 16000 + +#define FILE_WRITE 0 +#define WRITE_ON_CHANGE_ONLY 0 + +#define FILE_READ 0x00000001 +#define WRITE_ALWAYS 0x00000002 + +#ifndef min + #define min(a, b) (((a) < (b)) ? (a) : (b)) +#endif + +#ifndef max + #define max(a, b) (((a) > (b)) ? (a) : (b)) +#endif + +typedef struct +{ + FILE *file; + FILE *fileTarget; + FILE *templateFile; + char f1_name[BUFFER_SIZE]; + char f2_name[BUFFER_SIZE]; + + int flags; +} FileHandle; + +FileHandle *gOutFunc_H; /* For "ta_func.h" */ +FileHandle *gOutFrame_H; /* For "ta_frame.h" */ +FileHandle *gOutFrame_C; /* For "ta_frame.c" */ +FileHandle *gOutGroupIdx_C; /* For "ta_group_idx.c" */ +FileHandle *gOutFunc_C; /* For "ta_x.c" where 'x' is TA function name. */ +FileHandle *gOutRetCode_C; /* For "ta_retcode.c" */ +FileHandle *gOutRetCode_CSV; /* For "ta_retcode.csv" */ +FileHandle *gOutFuncList_TXT; /* For "ta_func_list.txt" */ +FileHandle *gOutDefs_H; /* For "ta_defs.h" */ +FileHandle *gOutFunc_SWG; /* For SWIG */ +FileHandle *gOutFunc_XML; /* For "ta_func_api.xml" */ +FileHandle *gOutFuncAPI_C; /* For "ta_func_api.c" */ +FileHandle *gOutMakefile_AM; /* For "Makefile.am" */ + +#ifdef _MSC_VER +/* The following files are generated only on Windows platform. */ +FileHandle *gOutDotNet_H; /* For .NET interface file */ +FileHandle *gOutCore_Java; /* For Core.Java */ +FileHandle *gOutProjFile; /* For .NET project file */ +FileHandle *gOutMSVCProjFile; /* For MSVC project file */ +FileHandle *gOutVS2005ProjFile; /* For VS2005 project file */ +FileHandle *gOutExcelGlue_C; /* For "excel_glue.c" */ +FileHandle *gOutJavaDefs_H; /* For "java_defs.h" */ +FileHandle *gOutFunc_Annotation; /* For "CoreAnnotated.java" */ + +/* Why these file are not generated from a unix platform? + * + * The reason is obvious for .NET, Excel and MSVC related files. + * + * For the Java code, the reason is that I use a C preprocessor + * called MCPP and for now I have ported it only on windows. + * (see the mcpp.exe included in the package). + * If someone get the mcpp or an equivalent to be integrated + * in gen_code, then Java code could also be generated from unix. + */ +static void printExcelGlueCode( FILE *out, const TA_FuncInfo *funcInfo ); +static void genJavaCodePhase1( const TA_FuncInfo *funcInfo ); +static void genJavaCodePhase2( const TA_FuncInfo *funcInfo ); + +/* To generate CoreAnnotated.java */ +static void printJavaFunctionAnnotation(const TA_FuncInfo *funcInfo); +#endif + + +typedef void (*TA_ForEachGroup)( const char *groupName, + unsigned int index, + unsigned int isFirst, /* Boolean */ + unsigned int isLast /* Boolean */ + ); + +static unsigned int forEachGroup( TA_ForEachGroup forEachGroupfunc, + void *opaqueData ); + +static void doForEachFunctionPhase1( const TA_FuncInfo *funcInfo, + void *opaqueData ); + +static void doForEachFunctionPhase2( const TA_FuncInfo *funcInfo, + void *opaqueData ); + +static void doForEachFunctionXml( const TA_FuncInfo *funcInfo, + void *opaqueData ); + +static void doForEachUnstableFunction( const TA_FuncInfo *funcInfo, + void *opaqueData ); + +static void doDefsFile( void ); + +static int gen_retcode( void ); + +static void printIndent( FILE *out, unsigned int indent ); + +static void printFunc( FILE *out, + const char *prefix, /* Can be NULL */ + const TA_FuncInfo *funcInfo, + unsigned int prototype, /* Boolean */ + unsigned int frame, /* Boolean */ + unsigned int semiColonNeeded, /* Boolean */ + unsigned int validationCode, /* Boolean */ + unsigned int lookbackSignature, /* Boolean */ + unsigned int managedCPPCode, /* Boolean */ + unsigned int managedCPPDeclaration, /* Boolean */ + unsigned int inputIsSinglePrecision, /* Boolean */ + unsigned int outputForSWIG, /* Boolean */ + unsigned int outputForJava, /* Boolean */ + unsigned int lookbackValidationCode, /* Boolean */ + unsigned int useSubArrayObject, /* Boolean */ + unsigned int arrayToSubArrayCnvt /* Boolean */ + ); + +static void printCallFrame ( FILE *out, const TA_FuncInfo *funcInfo ); +static void printFrameHeader( FILE *out, const TA_FuncInfo *funcInfo, unsigned int lookbackSignature ); + +static void printExternReferenceForEachFunction( const TA_FuncInfo *info, + void *opaqueData ); + +static void printFunctionAddress( const TA_FuncInfo *info, + void *opaqueData ); + +static void printPerGroupList( const char *groupName, + unsigned int index, + unsigned int isFirst, + unsigned int isLast + ); + +static void printGroupListAddress( const char *groupName, + unsigned int index, + unsigned int isFirst, + unsigned int isLast + ); +static void printGroupSize( const char *groupName, + unsigned int index, + unsigned int isFirst, + unsigned int isLast + ); +static void printGroupSizeAddition( const char *groupName, + unsigned int index, + unsigned int isFirst, + unsigned int isLast + ); + +static int addUnstablePeriodEnum( FILE *out ); + +static int createTemplate( FileHandle *in, FileHandle *out ); + +static int generateFuncAPI_C( void ); + +#ifdef _MSC_VER +static int createProjTemplate( FileHandle *in, FileHandle *out ); +static int createMSVCProjTemplate( FileHandle *in, FileHandle *out ); +static int createVS2005ProjTemplate( FileHandle *in, FileHandle *out ); +static void printVS2005FileNode( FILE *out, const char *name ); +#endif + +static void writeFuncFile( const TA_FuncInfo *funcInfo ); +static void doFuncFile( const TA_FuncInfo *funcInfo ); +static void printOptInputValidation( FILE *out, + const char *name, + const TA_OptInputParameterInfo *optInputParamInfo, + int lookbackValidationCode /* Boolean */ ); +static int skipToGenCode( const char *dstName, FILE *out, FILE *templateFile ); +static void printDefines( FILE *out, const TA_FuncInfo *funcInfo ); + +static void printFuncHeaderDoc( FILE *out, + const TA_FuncInfo *funcInfo, + const char *prefix ); + + +static void extractTALogic( FILE *inFile, FILE *outFile ); + +static void cnvtToUpperCase( char *str ); +static void cnvtChar( char *str, char from, char to ); +static char *trimWhitespace( char *str ); + +/* Return 1 on success */ +static int copyFile( const char *src, const char *dest ); + +/* Return 1 when identical */ +static int areFileSame( const char *file1, const char *file2 ); + +static void fileDelete( const char *fileToDelete ); + +static void appendToFunc( FILE *out ); + +static void convertFileToCArray( FILE *in, FILE *out ); + +static void ReplaceReservedXmlCharacters(const char *input, char *output ); + +char gToOpen[BUFFER_SIZE]; +char gTempBuf[BUFFER_SIZE]; +char gTempBuf2[BUFFER_SIZE]; +char gTempBuf3[BUFFER_SIZE]; +char gTempBufForPrint[BUFFER_SIZE]; +char gTempDoubleToStr[200]; + +/* Because Microsoft and Borland does not display + * the value of a double in the same way (%e), this + * function attempts to eliminate difference. This + * is done to avoid annoying difference with CVS. + */ +const char *doubleToStr( double value ); + +const char *gCurrentGroupName; + +static int genCode(int argc, char* argv[]); + +extern const TA_OptInputParameterInfo TA_DEF_UI_MA_Method; + +/* Set this variable to 1 whenever you wish to output a + * prefix to all generated line. + */ +int genPrefix = 0; + +void print( FILE *out, const char *text, ... ) +{ + va_list arglist; + memset(gTempBufForPrint,0,sizeof(gTempBufForPrint)); + + va_start(arglist,text); + vsprintf(gTempBufForPrint,text,arglist); + va_end(arglist); + + if( strlen(gTempBufForPrint) >= BUFFER_SIZE-strlen("/* Generated */ ") ) + { + printf( "Lines length exceed internal buffers (%lu,%lu)\n", + (unsigned long)strlen(gTempBufForPrint), + (unsigned long)(BUFFER_SIZE-strlen("/* Generated */ ")) ); + exit(-1); + } + if( genPrefix ) + fprintf( out, "/* Generated */ %s", gTempBufForPrint ); + else + fprintf( out, "%s", gTempBufForPrint ); +} + +static void printIndent( FILE *out, unsigned int indent ) +{ + unsigned int i; + + if( genPrefix ) + fprintf( out, "/* Generated */ " ); + + for( i=0; i < indent; i++ ) + { + fprintf( out, " " ); + } +} + + +int main(int argc, char* argv[]) +{ + int retValue; + TA_RetCode retCode; + + if( argc > 1 ) + { + /* There is no parameter needed for this tool. */ + printf( "\n" ); + printf( "gen_code V%s - Updates many TA-Lib source files\n", TA_GetVersionString() ); + printf( "\n" ); + printf( "Usage: gen_code\n"); + printf( "\n" ); + printf( " No parameter needed.\n" ); + printf( "\n" ); + printf( " This utility is useful only for developers adding new TA\n" ); + printf( " functions to TA-Lib.\n" ); + printf( "\n" ); + printf( " The interface definitions in c/src/ta_abstract/tables\n" ); + printf( " are used to generate code, documentation and some more.\n" ); + printf( "\n" ); + printf( " The following files are updated or regenerated:\n" ); + printf( " 1) ta-lib/c/include/ta_func.h\n" ); + printf( " 2) ta-lib/c/include/ta_defs.h\n" ); + printf( " 3) ta-lib/ta_func_list.txt\n" ); + printf( " 4) ta-lib/c/src/ta_common/ta_retcode.*\n" ); + printf( " 5) ta-lib/c/src/ta_abstract/ta_group_idx.c\n"); + printf( " 6) ta-lib/c/src/ta_abstract/frames/*.*\n"); + printf( " 7) ta-lib/swig/src/interface/ta_func.swg\n" ); + printf( " 8) ta-lib/dotnet/src/Core/TA-Lib-Core.vcproj (Win32 only)\n" ); + printf( " 9) ta-lib/dotnet/src/Core/TA-Lib-Core.h (Win32 only)\n" ); + printf( " 10) ta-lib/c/src/ta_abstract/excel_glue.c (Win32 only)\n" ); + printf( " 11) ta-lib/c/src/ta_abstract/java_defs.h (Win32 only)\n" ); + printf( " 12) ta-lib/c/ide/msvc/lib_proj/ta_func/ta_func.dsp (Win32 only)\n" ); + printf( " 13) ta-lib/java/src/com/tictactec/ta/lib/Core.java (Win32 only)\n" ); + printf( " 14) ta-lib/java/src/com/tictactec/ta/lib/CoreAnnotated.java (Win32 only)\n" ); + printf( " 15) ta-lib/ta_func_api.xml\n" ); + printf( " 16) ta-lib/c/src/ta_abstract/ta_func_api.c\n" ); + printf( "\n" ); + printf( " The function header, parameters and validation code of all TA\n" ); + printf( " function in c/src/ta_func are also updated.\n" ); + printf( "\n" ); + printf( "** Must be directly run from the 'bin' directory.\n" ); + exit(-1); + } + + printf( "gen_code V%s\n", TA_GetVersionString() ); + + retCode = TA_Initialize(); + if( retCode != TA_SUCCESS ) + { + printf( "\nCannot initialize the library\n"); + return -1; + } + + printf( "Now updating source code...\n" ); + + retValue = genCode( argc, argv ); + + retCode = TA_Shutdown(); + if( retCode != TA_SUCCESS ) + { + printf( "Shutdown failed (%d)\n", retCode ); + } + + return retValue; +} + + +/* The following I/O function allows to manipulate + * more easily files. + * + * When opening the file, the caller can specifiy a + * path relative to the position of the binary. + * That is: ta-lib\c\bin + * + * 'templateFile' allows to create a new file using + * a template. This template must contain one + * line starting with '%%%GENCODE%%%'. + * All character before this string are added to the output + * file on fileOpen, and all character after this string are + * added to the output file on fileClose. Obviously, all + * character added to the file between fileOpen/fileClose + * will replace the "%%%GENCODE%%%" line. + * + * 'templateFile' is ignored when FILE_READ is specified. + * + * Another advantage to use fileOpen and fileClose is that + * the writing to the file is done "silently" in a temporary + * file and the target file is touch only if there was actually + * a modification to it. + * + * On failure, simply exit the software. + */ +static void init_gToOpen( const char *filePath, const char *suffix ) +{ + + char *ptr; + #ifdef WIN32 + const int sepChar = (int)'\\'; + #else + const int sepChar = (int)'/'; + #endif + + + strcpy( gToOpen, filePath ); + if( suffix ) + strcat( gToOpen, suffix ); + + /* Replace all directory separator with the + * one applicable for this OS. + */ + ptr = gToOpen; + while( *ptr != '\0' ) + { + if( (*ptr == '\\') || (*ptr == '/') ) + *ptr = (char)sepChar; + ptr++; + } +} + + +static FileHandle *fileOpen( const char *fileToOpen, + const char *templateFile, + int flags ) +{ + FileHandle *retValue; + + if( (fileToOpen == NULL) || + ((flags&FILE_READ) && (templateFile != NULL)) ) + { + printf( "Internal error line %d", __LINE__ ); + return (FileHandle *)NULL; + } + + retValue = TA_Malloc( sizeof(FileHandle) ); + if( !retValue ) + { + printf( "Memmory alloc error line %d", __LINE__ ); + return (FileHandle *)NULL; + } + + memset( retValue, 0, sizeof(FileHandle) ); + + retValue->flags = flags; + + init_gToOpen( fileToOpen, NULL ); + strcpy( retValue->f1_name, gToOpen ); + + /* First let's try to open the file. Might fail when + * for writing but that is ok. (the file might not exist). + */ + if( flags&FILE_READ ) + { + retValue->file = fopen( gToOpen, "r" ); + if( retValue->file == NULL ) + { + memset( retValue, 0, sizeof(FileHandle) ); + TA_Free( retValue ); + return (FileHandle *)NULL; + } + } + else if( flags&WRITE_ALWAYS ) + { + retValue->file = fopen( gToOpen, "w" ); + if( retValue->file == NULL ) + { + memset( retValue, 0, sizeof(FileHandle) ); + TA_Free( retValue ); + return (FileHandle *)NULL; + } + } + else + { + retValue->file = fopen( gToOpen, "r" ); + + if( retValue->file ) + { + /* Move pointer to fileTarget. The file + * ptr will become the temporary file who + * is going to be truly write enabled. + */ + retValue->fileTarget = retValue->file; + init_gToOpen( fileToOpen, ".tmp" ); + strcpy( retValue->f2_name, gToOpen ); + retValue->file = fopen( gToOpen, "w" ); + if( !retValue->file ) + { + fclose( retValue->fileTarget ); + memset( retValue, 0, sizeof(FileHandle) ); + TA_Free( retValue ); + return (FileHandle *)NULL; + } + } + else + { + /* File does not exist, directly open for write + * no temporary will be used. + */ + retValue->fileTarget = NULL; + retValue->file = fopen( gToOpen, "w" ); + + if( retValue->file == NULL ) + { + memset( retValue, 0, sizeof(FileHandle) ); + TA_Free( retValue ); + return (FileHandle *)NULL; + } + } + } + + if( !(flags&FILE_READ) ) + { + /* Handle the template. */ + if( templateFile ) + { + init_gToOpen( templateFile, NULL ); + retValue->templateFile = fopen( gToOpen, "r" ); + if( retValue->templateFile == NULL ) + { + if(retValue->fileTarget) fclose( retValue->fileTarget ); + if(retValue->file) fclose( retValue->file ); + if(retValue->templateFile) fclose( retValue->templateFile ); + memset( retValue, 0, sizeof(FileHandle) ); + TA_Free( retValue ); + printf( "\nCannot open template [%s]\n", gToOpen ); + return (FileHandle *)NULL; + } + + /* Copy the header part of the template. */ + if( skipToGenCode( fileToOpen, retValue->file, retValue->templateFile ) != 0 ) + { + if(retValue->fileTarget) fclose( retValue->fileTarget ); + if(retValue->file) fclose( retValue->file ); + if(retValue->templateFile) fclose( retValue->templateFile ); + memset( retValue, 0, sizeof(FileHandle) ); + TA_Free( retValue ); + return (FileHandle *)NULL; + } + } + } + + return retValue; +} + +static void fileClose( FileHandle *handle ) +{ + if( !handle ) return; + + /* Write remaining template info. */ + if( handle->templateFile && handle->file ) + { + while( fgets( gTempBuf, BUFFER_SIZE, handle->templateFile ) != NULL ) + { + if( fputs( gTempBuf, handle->file ) == EOF ) + { + printf( "Cannot write to output file! Disk Full? " ); + break; + } + } + + #if 0 + /* Make sure the last line of the output + * finish with a carriage return. This may + * avoid warning from some compilers. + */ + if( gTempBuf[0] != '\n' ) + { + fprintf( handle->file, "\n" ); + } + #endif + } + + if(handle->fileTarget) fclose( handle->fileTarget ); + if(handle->templateFile) fclose( handle->templateFile ); + if(handle->file) fclose( handle->file ); + + if( !(handle->flags&FILE_READ) && !(handle->flags&WRITE_ALWAYS) && (handle->fileTarget != NULL)) + { + if( !areFileSame( handle->f1_name, handle->f2_name ) ) + copyFile( handle->f2_name, handle->f1_name ); + + fileDelete( handle->f2_name ); + } + + memset( handle, 0, sizeof(FileHandle) ); + TA_Free( handle ); +} + +static void fileDelete( const char *fileToDelete ) +{ + init_gToOpen( fileToDelete, NULL ); + + #if defined (WIN32) + DeleteFile (fileToDelete); + #else + unlink (fileToDelete); + #endif +} + +static int genCode(int argc, char* argv[]) +{ + TA_RetCode retCode; + unsigned int nbGroup; + + #ifdef _MSC_VER + FileHandle *tempFile; + FileHandle *tempFileOut; + #endif + + (void)argc; /* Get ride of compiler warning */ + (void)argv; /* Get ride of compiler warning */ + + #ifdef _MSC_VER + /* Create .NET project files template */ + #define FILE_NET_PROJ "..\\..\\dotnet\\src\\Core\\TA-Lib-Core.vcproj" + #define FILE_NET_PROJ_TMP "..\\temp\\dotnetproj.tmp" + gOutProjFile = fileOpen( FILE_NET_PROJ, NULL, FILE_READ ); + if( gOutProjFile == NULL ) + { + printf( "\nCannot access [%s]\n", gToOpen ); + return -1; + } + tempFile = fileOpen( FILE_NET_PROJ_TMP, NULL, FILE_WRITE|WRITE_ALWAYS ); + if( tempFile == NULL ) + { + printf( "Cannot create temporary .NET project file!\n" ); + return -1; + } + if( createProjTemplate( gOutProjFile, tempFile ) != 0 ) + { + printf( "Failed to parse and write the temporary .NET project file!\n" ); + return -1; + } + fileClose(gOutProjFile); + fileClose(tempFile); + + /* Create MSVC project files template */ + #define FILE_MSVC_PROJ "..\\..\\c\\ide\\msvc\\lib_proj\\ta_func\\ta_func.dsp" + #define FILE_MSVC_PROJ_TMP "..\\temp\\ta_func_dsp.tmp" + gOutMSVCProjFile = fileOpen( FILE_MSVC_PROJ, NULL, FILE_READ ); + if( gOutMSVCProjFile == NULL ) + { + printf( "\nCannot access [%s]\n", gToOpen ); + return -1; + } + tempFile = fileOpen( FILE_MSVC_PROJ_TMP, NULL, FILE_WRITE|WRITE_ALWAYS ); + if( tempFile == NULL ) + { + printf( "Cannot create temporary MSVC project file!\n" ); + return -1; + } + if( createMSVCProjTemplate( gOutMSVCProjFile, tempFile ) != 0 ) + { + printf( "Failed to parse and write the temporary MSVC project file!\n" ); + return -1; + } + fileClose(gOutMSVCProjFile); + fileClose(tempFile); + + /* Create VS2005 project files template */ + #define FILE_VS2005_PROJ "..\\..\\c\\ide\\vs2005\\lib_proj\\ta_func\\ta_func.vcproj" + #define FILE_VS2005_PROJ_TMP "..\\temp\\ta_func_vcproj.tmp" + gOutVS2005ProjFile = fileOpen( FILE_VS2005_PROJ, NULL, FILE_READ ); + if( gOutVS2005ProjFile == NULL ) + { + printf( "\nCannot access [%s]\n", gToOpen ); + return -1; + } + tempFile = fileOpen( FILE_VS2005_PROJ_TMP, NULL, FILE_WRITE|WRITE_ALWAYS ); + if( tempFile == NULL ) + { + printf( "Cannot create temporary VS2005 project file!\n" ); + return -1; + } + if( createVS2005ProjTemplate( gOutVS2005ProjFile, tempFile ) != 0 ) + { + printf( "Failed to parse and write the temporary VS2005 project file!\n" ); + return -1; + } + fileClose(gOutVS2005ProjFile); + fileClose(tempFile); + #endif + + #ifdef _MSC_VER + /* Create Java template for Core.java */ + #define FILE_CORE_JAVA "..\\..\\java\\src\\com\\tictactec\\ta\\lib\\Core.java" + #define FILE_CORE_JAVA_TMP "..\\temp\\CoreJava.tmp" + #define FILE_CORE_JAVA_UNF "..\\temp\\CoreJavaUnformated.tmp" + gOutCore_Java = fileOpen( FILE_CORE_JAVA, NULL, FILE_READ ); + if( gOutCore_Java == NULL ) + { + printf( "\nCannot access [%s]\n", gToOpen ); + return -1; + } + tempFile = fileOpen( FILE_CORE_JAVA_TMP, NULL, FILE_WRITE|WRITE_ALWAYS ); + if( tempFile == NULL ) + { + printf( "Cannot create temporary Core.java project file!\n" ); + return -1; + } + if( createTemplate( gOutCore_Java, tempFile ) != 0 ) + { + printf( "Failed to parse and write the temporary Core.java project file!\n" ); + return -1; + } + fileClose(gOutCore_Java); + fileClose(tempFile); + #endif + + /* Create the .NET interface file template */ + #ifdef _MSC_VER + #define FILE_NET_HEADER "..\\..\\dotnet\\src\\Core\\TA-Lib-Core.h" + #define FILE_NET_HEADER_TMP "..\\temp\\dotneth.tmp" + gOutDotNet_H = fileOpen( FILE_NET_HEADER, NULL, FILE_READ ); + if( gOutDotNet_H == NULL ) + { + printf( "\nCannot access [%s]\n", gToOpen ); + return -1; + } + tempFile = fileOpen( FILE_NET_HEADER_TMP, NULL, FILE_WRITE|WRITE_ALWAYS ); + if( tempFile == NULL ) + { + printf( "Cannot create temporary .NET header file!\n" ); + return -1; + } + if( createTemplate( gOutDotNet_H, tempFile ) != 0 ) + { + printf( "Failed to parse and write the temporary .NET header file!\n" ); + return -1; + } + fileClose(gOutDotNet_H); + fileClose(tempFile); + #endif + + /* Create ta_retcode.c */ + if( gen_retcode() != 0 ) + { + printf( "\nCannot generate src/ta_common/ta_retcode.c\n" ); + return -1; + } + + /* Create "ta_func.h" */ + gOutFunc_H = fileOpen( "..\\include\\ta_func.h", + "..\\src\\ta_abstract\\templates\\ta_func.h.template", + FILE_WRITE|WRITE_ON_CHANGE_ONLY ); + + if( gOutFunc_H == NULL ) + { + printf( "\nCannot access [%s]\n", gToOpen ); + return -1; + } + + gOutFunc_XML = fileOpen( "..\\..\\ta_func_api.xml", NULL, FILE_WRITE|WRITE_ON_CHANGE_ONLY ); + if(gOutFunc_XML == NULL) + { + printf( "\nCannot access ta_func_api.xml" ); + } + + + /* Create "ta_func.swg" */ + gOutFunc_SWG = fileOpen( "..\\..\\swig\\src\\interface\\ta_func.swg", + "..\\src\\ta_abstract\\templates\\ta_func.swg.template", + FILE_WRITE|WRITE_ON_CHANGE_ONLY ); + + if( gOutFunc_SWG == NULL ) + { + printf( "\nCannot access [%s]\n", gToOpen ); + return -1; + } + + /* Create the "ta_func_list.txt" */ + gOutFuncList_TXT = fileOpen( "..\\..\\ta_func_list.txt", + NULL, + FILE_WRITE|WRITE_ON_CHANGE_ONLY ); + + if( gOutFuncList_TXT == NULL ) + { + printf( "\nCannot access [%s]\n", gToOpen ); + return -1; + } + + + /* Create the "ta_frame.h" */ + gOutFrame_H = fileOpen( "..\\src\\ta_abstract\\frames\\ta_frame.h", + "..\\src\\ta_abstract\\templates\\ta_frame.h.template", + FILE_WRITE|WRITE_ON_CHANGE_ONLY ); + + if( gOutFrame_H == NULL ) + { + printf( "\nCannot access [%s]\n", gToOpen ); + return -1; + } + + /* Create the "ta_frame.c" */ + gOutFrame_C = fileOpen( "..\\src\\ta_abstract\\frames\\ta_frame.c", + "..\\src\\ta_abstract\\templates\\ta_frame.c.template", + FILE_WRITE|WRITE_ON_CHANGE_ONLY ); + + if( gOutFrame_C == NULL ) + { + printf( "\nCannot access [%s]\n", gToOpen ); + return -1; + } + + /* Create the "Makefile.am" */ + gOutMakefile_AM = fileOpen( "..\\src\\ta_func\\Makefile.am", + "..\\src\\ta_abstract\\templates\\Makefile.am.template", + FILE_WRITE|WRITE_ON_CHANGE_ONLY ); + + if( gOutMakefile_AM == NULL ) + { + printf( "\nCannot access [%s]\n", gToOpen ); + return -1; + } + + + #ifdef _MSC_VER + /* Create "excel_glue.c" */ + gOutExcelGlue_C = fileOpen( "..\\src\\ta_abstract\\excel_glue.c", + "..\\src\\ta_abstract\\templates\\excel_glue.c.template", + FILE_WRITE|WRITE_ON_CHANGE_ONLY ); + + if( gOutExcelGlue_C == NULL ) + { + printf( "\nCannot access [%s]\n", gToOpen ); + return -1; + } + + /* Create "java_defs.h" */ + gOutJavaDefs_H = fileOpen( "..\\src\\ta_abstract\\ta_java_defs.h", + "..\\src\\ta_abstract\\templates\\ta_java_defs.h.template", + FILE_WRITE|WRITE_ON_CHANGE_ONLY ); + + + if( gOutJavaDefs_H == NULL ) + { + printf( "\nCannot access [%s]\n", gToOpen ); + return -1; + } + + /* Re-open the .NET project template. */ + gOutProjFile = fileOpen( FILE_NET_PROJ, FILE_NET_PROJ_TMP, FILE_WRITE|WRITE_ON_CHANGE_ONLY ); + if( gOutProjFile == NULL ) + { + printf( "Cannot update [%s]\n", FILE_NET_PROJ ); + return -1; + } + + /* Re-open the MSVC project template. */ + gOutMSVCProjFile = fileOpen( FILE_MSVC_PROJ, FILE_MSVC_PROJ_TMP, FILE_WRITE|WRITE_ON_CHANGE_ONLY ); + if( gOutMSVCProjFile == NULL ) + { + printf( "Cannot update [%s]\n", FILE_MSVC_PROJ ); + return -1; + } + + /* Re-open the VS2005 project template. */ + gOutVS2005ProjFile = fileOpen( FILE_VS2005_PROJ, FILE_VS2005_PROJ_TMP, FILE_WRITE|WRITE_ON_CHANGE_ONLY ); + if( gOutVS2005ProjFile == NULL ) + { + printf( "Cannot update [%s]\n", FILE_VS2005_PROJ ); + return -1; + } + + /* Create "CoreAnnotated.java" */ + gOutFunc_Annotation = fileOpen( "..\\..\\java\\src\\com\\tictactec\\ta\\lib\\CoreAnnotated.java", + "..\\src\\ta_abstract\\templates\\CoreAnnotated.java.template", + FILE_WRITE|WRITE_ON_CHANGE_ONLY ); + + if(gOutFunc_Annotation == NULL) + { + printf( "\nCannot access CoreAnnotated.java" ); + } + + #endif + + #ifdef _MSC_VER + /* Re-open the Core.java template. */ + gOutCore_Java = fileOpen( FILE_CORE_JAVA_UNF, FILE_CORE_JAVA_TMP, FILE_WRITE|WRITE_ON_CHANGE_ONLY ); + if( gOutCore_Java == NULL ) + { + printf( "Cannot update [%s]\n", FILE_CORE_JAVA_UNF ); + return -1; + } + #endif + + /* Re-open the .NET interface template. */ + #ifdef _MSC_VER + gOutDotNet_H = fileOpen( FILE_NET_HEADER, FILE_NET_HEADER_TMP, FILE_WRITE|WRITE_ON_CHANGE_ONLY ); + if( gOutDotNet_H == NULL ) + { + printf( "Cannot update [%s]\n", FILE_NET_HEADER ); + return -1; + } + #endif + + /* Process each functions. Two phase. */ + TA_ForEachFunc( doForEachFunctionPhase1, NULL ); + TA_ForEachFunc( doForEachFunctionPhase2, NULL ); + + /* Leave empty line for Makefile.am */ + fprintf( gOutMakefile_AM->file, "\n" ); + + /* Seperate generation of xml description file */ + fprintf(gOutFunc_XML->file, "\n"); + fprintf(gOutFunc_XML->file, "\n"); + retCode = TA_ForEachFunc( doForEachFunctionXml, NULL ); + fprintf(gOutFunc_XML->file, "\n"); + + /* Append some "hard coded" prototype for ta_func */ + appendToFunc( gOutFunc_H->file ); + appendToFunc( gOutFunc_SWG->file ); + + /* Close all files who were updated with the list of TA functions. */ + fileClose( gOutFuncList_TXT ); + fileClose( gOutFunc_H ); + fileClose( gOutFunc_SWG ); + fileClose( gOutFrame_H ); + fileClose( gOutFrame_C ); + fileClose( gOutFunc_XML ); + fileClose( gOutMakefile_AM ); + + #ifdef _MSC_VER + fileClose( gOutDotNet_H ); + fileClose( gOutCore_Java ); + fileClose( gOutProjFile ); + fileClose( gOutMSVCProjFile ); + fileClose( gOutVS2005ProjFile ); + fileClose( gOutExcelGlue_C ); + fileClose( gOutJavaDefs_H ); + fileClose( gOutFunc_Annotation ); + fileDelete( FILE_CORE_JAVA_TMP ); + #endif + + if( retCode != TA_SUCCESS ) + { + printf( "Failed [%d]\n", retCode ); + return -1; + } + + /* Create the "ta_group_idx.c" file. */ + genPrefix = 1; + gOutGroupIdx_C = fileOpen( "..\\src\\ta_abstract\\ta_group_idx.c", + "..\\src\\ta_abstract\\templates\\ta_group_idx.c.template", + FILE_WRITE|WRITE_ON_CHANGE_ONLY ); + + if( gOutGroupIdx_C == NULL ) + { + printf( "\nCannot access [%s]\n", gToOpen ); + return -1; + } + + retCode = TA_ForEachFunc( printExternReferenceForEachFunction, NULL ); + if( retCode != TA_SUCCESS ) + { + fileClose( gOutGroupIdx_C ); + return -1; + } + + nbGroup = forEachGroup( printPerGroupList, NULL ); + + print( gOutGroupIdx_C->file, "const TA_FuncDef **TA_PerGroupFuncDef[%d] = {\n", nbGroup ); + forEachGroup( printGroupListAddress, NULL ); + print( gOutGroupIdx_C->file, "};\n\n" ); + + print( gOutGroupIdx_C->file, "const unsigned int TA_PerGroupSize[%d] = {\n", nbGroup ); + forEachGroup( printGroupSize, NULL ); + print( gOutGroupIdx_C->file, "};\n\n" ); + + print( gOutGroupIdx_C->file, "const unsigned int TA_TotalNbFunction =\n" ); + forEachGroup( printGroupSizeAddition, NULL ); + + fileClose( gOutGroupIdx_C ); + genPrefix = 0; + + /* Update "ta_defs.h" */ + doDefsFile(); + + /* Convert the xml description file into a format embedded in the library. */ + if( generateFuncAPI_C() != 1 ) + { + return -1; /* Failed. */ + } + + + /* Run Java Post-Processing. + * On Success, the Java program create a file named "java_success". + */ + #ifndef _MSC_VER + printf( "\nWarning: Java code update supported only for MSVC compiler for now.\n" ); + #else + printf( "\nPost-Processing Java Code\n" ); + #define JAVA_SUCCESS_FILE "..\\temp\\java_success" + #define JAVA_PRETTY_TEMP_FILE "..\\temp\\CoreJavaPretty.tmp" + fileDelete( JAVA_SUCCESS_FILE ); + system( "javac -cp . -d . \"..\\src\\tools\\gen_code\\java\\PrettyCode.java" ); + system( "javac -cp . -d . \"..\\src\\tools\\gen_code\\java\\Main.java" ); + system( "java -cp . Main" ); + tempFile = fileOpen(JAVA_SUCCESS_FILE,NULL,FILE_READ ); + fileDelete( FILE_CORE_JAVA_UNF ); + + if( tempFile == NULL ) + { + printf( "\nWarning: Java code NOT updated.\n" ); + } + else + { + + fileClose( tempFile ); + + /* Java processing done. Overwrite the original Core.java ONLY if there + * is changes (re-use fileOpen/fileClose even if not efficient). + */ + tempFile = fileOpen( JAVA_PRETTY_TEMP_FILE, NULL, FILE_READ ); + tempFileOut = fileOpen( FILE_CORE_JAVA, NULL, + FILE_WRITE|WRITE_ON_CHANGE_ONLY ); + + if( (tempFile == NULL) || (tempFileOut == NULL) ) + { + printf( "\nError: Java code update failed.\n" ); + return -1; + } + else + { + + while( fgets( gTempBuf, BUFFER_SIZE, tempFile->file ) ) + fputs(gTempBuf,tempFileOut->file); + + fileClose(tempFile); + fileClose(tempFileOut); + } + } + fileDelete( JAVA_SUCCESS_FILE ); + fileDelete( JAVA_PRETTY_TEMP_FILE ); + #endif + + /* Remove temporary files. */ + #ifdef _MSC_VER + fileDelete( FILE_NET_PROJ_TMP ); + fileDelete( FILE_MSVC_PROJ_TMP ); + fileDelete( FILE_NET_HEADER_TMP ); + #endif + + printf( "\n** Update completed with success **\n"); + + return 0; +} + +static unsigned int forEachGroup( TA_ForEachGroup forEachGroupFunc, + void *opaqueData ) +{ + TA_RetCode retCode; + TA_StringTable *table; + unsigned int i; + + (void)opaqueData; /* Get ride of compiler warning */ + + retCode = TA_GroupTableAlloc( &table ); + if( retCode != TA_SUCCESS ) + return 0; + + for( i=0; i < table->size; i++ ) + { + forEachGroupFunc( table->string[i], + i, + i==0? 1:0, + i==(table->size-1)? 1:0 ); + } + + retCode = TA_GroupTableFree( table ); + if( retCode != TA_SUCCESS ) + return 0; + + return i; +} + +/* Replaces reserved xml characters with the appropriate escape sequence. */ +static void ReplaceReservedXmlCharacters(const char *input, char *output ) +{ + char *currentPosition; + char tempString[8*1024]; + + if((input == NULL) || (output == NULL)) + { + return; + } + + strcpy(output, input); + + /*Replace '&' with "&" + *Note1: '&' has to be processed first as otherwise we replace the + * '&' in the escaped characters. + *Note2: We assume that the input string does not have any escaped + * characters already. + */ + currentPosition = output; + while((currentPosition = strchr(currentPosition, '&')) != NULL) + { + tempString[0] = '\0'; + if(strlen(currentPosition) > 1) + { + strcpy(tempString, currentPosition+1); + } + sprintf(currentPosition, "&%s", tempString); + } + + /* Replace '<' with "<" */ + currentPosition = output; + while((currentPosition = strchr(currentPosition, '<')) != NULL) + { + tempString[0] = '\0'; + if(strlen(currentPosition) > 1) + { + strcpy(tempString, currentPosition+1); + } + sprintf(currentPosition, "<%s", tempString); + } + + /* Replace '>' with ">" */ + currentPosition = output; + while((currentPosition = strchr(currentPosition, '>')) != NULL) + { + tempString[0] = '\0'; + if(strlen(currentPosition) > 1) + { + strcpy(tempString, currentPosition+1); + } + sprintf(currentPosition, ">%s", tempString); + } + + /* Replace ''' with "'" */ + currentPosition = output; + while((currentPosition = strchr(currentPosition, '\'')) != NULL) + { + tempString[0] = '\0'; + if(strlen(currentPosition) > 1) + { + strcpy(tempString, currentPosition+1); + } + sprintf(currentPosition, "'%s", tempString); + } + + /* Replace '"' with """ */ + currentPosition = output; + while((currentPosition = strchr(currentPosition, '"')) != NULL) + { + tempString[0] = '\0'; + if(strlen(currentPosition) > 1) + { + strcpy(tempString, currentPosition+1); + } + sprintf(currentPosition, ""%s", tempString); + } +} + +static void doForEachFunctionXml(const TA_FuncInfo *funcInfo, + void *opaqueData) +{ + TA_RetCode retCode; + const TA_InputParameterInfo *inputInfo; + const TA_OptInputParameterInfo *optInputInfo; + const TA_OutputParameterInfo *outputInfo; + char tempString[8*1024]; + unsigned int i; + + (void)opaqueData; + + /* General stuff about function */ + fprintf(gOutFunc_XML->file, " \n", funcInfo->name); + fprintf(gOutFunc_XML->file, " \n"); + fprintf(gOutFunc_XML->file, " %s\n", (funcInfo->name == NULL)? "" : funcInfo->name); + fprintf(gOutFunc_XML->file, " %s\n", (funcInfo->camelCaseName == NULL)? "" : funcInfo->camelCaseName); + ReplaceReservedXmlCharacters(funcInfo->hint, tempString); + fprintf(gOutFunc_XML->file, " %s\n", (funcInfo->hint == NULL)? "" : tempString); + fprintf(gOutFunc_XML->file, " %s\n", funcInfo->group); + + /* Optional function flags */ + if(funcInfo->flags & (TA_FUNC_FLG_OVERLAP | TA_FUNC_FLG_VOLUME | TA_FUNC_FLG_CANDLESTICK | TA_FUNC_FLG_UNST_PER)) + { + fprintf(gOutFunc_XML->file, " \n"); + if(funcInfo->flags & TA_FUNC_FLG_OVERLAP) + { + fprintf(gOutFunc_XML->file, " Overlap\n"); + } + if(funcInfo->flags & TA_FUNC_FLG_VOLUME) + { + fprintf(gOutFunc_XML->file, " Volume\n"); + } + if(funcInfo->flags & TA_FUNC_FLG_CANDLESTICK) + { + fprintf(gOutFunc_XML->file, " Candlestick\n"); + } + if(funcInfo->flags & TA_FUNC_FLG_UNST_PER) + { + fprintf(gOutFunc_XML->file, " Unstable Period\n"); + } + + fprintf(gOutFunc_XML->file, " \n"); + } + + + /* Required input arguments */ + fprintf(gOutFunc_XML->file, " \n"); + for(i=0; inbInput; i++) + { + retCode = TA_GetInputParameterInfo( funcInfo->handle, i, &inputInfo); + if(inputInfo->type == TA_Input_Price) + { + if(inputInfo->flags & TA_IN_PRICE_OPEN) + { + fprintf(gOutFunc_XML->file, " \n"); + fprintf(gOutFunc_XML->file, " Open\n"); + fprintf(gOutFunc_XML->file, " Open\n"); + fprintf(gOutFunc_XML->file, " \n"); + } + if(inputInfo->flags & TA_IN_PRICE_HIGH) + { + fprintf(gOutFunc_XML->file, " \n"); + fprintf(gOutFunc_XML->file, " High\n"); + fprintf(gOutFunc_XML->file, " High\n"); + fprintf(gOutFunc_XML->file, " \n"); + } + if(inputInfo->flags & TA_IN_PRICE_LOW) + { + fprintf(gOutFunc_XML->file, " \n"); + fprintf(gOutFunc_XML->file, " Low\n"); + fprintf(gOutFunc_XML->file, " Low\n"); + fprintf(gOutFunc_XML->file, " \n"); + } + if(inputInfo->flags & TA_IN_PRICE_CLOSE) + { + fprintf(gOutFunc_XML->file, " \n"); + fprintf(gOutFunc_XML->file, " Close\n"); + fprintf(gOutFunc_XML->file, " Close\n"); + fprintf(gOutFunc_XML->file, " \n"); + } + if(inputInfo->flags & TA_IN_PRICE_VOLUME) + { + fprintf(gOutFunc_XML->file, " \n"); + fprintf(gOutFunc_XML->file, " Volume\n"); + fprintf(gOutFunc_XML->file, " Volume\n"); + fprintf(gOutFunc_XML->file, " \n"); + } + if(inputInfo->flags & TA_IN_PRICE_OPENINTEREST) + { + fprintf(gOutFunc_XML->file, " \n"); + fprintf(gOutFunc_XML->file, " Open Interest\n"); + fprintf(gOutFunc_XML->file, " Open Interest\n"); + fprintf(gOutFunc_XML->file, " \n"); + } + if(inputInfo->flags & TA_IN_PRICE_TIMESTAMP) + { + fprintf(gOutFunc_XML->file, " \n"); + fprintf(gOutFunc_XML->file, " Timestamp\n"); + fprintf(gOutFunc_XML->file, " Timestamp\n"); + fprintf(gOutFunc_XML->file, " \n"); + } + } + else + { + fprintf(gOutFunc_XML->file, " \n"); + if(inputInfo->type == TA_Input_Real) + { + fprintf(gOutFunc_XML->file, " Double Array\n"); + } + else if(inputInfo->type == TA_Input_Integer) + { + fprintf(gOutFunc_XML->file, " Integer Array\n"); + } + else + { + printf("Unknown input type detected.\n"); + } + fprintf(gOutFunc_XML->file, " %s\n", inputInfo->paramName); + fprintf(gOutFunc_XML->file, " \n"); + } + } + fprintf(gOutFunc_XML->file, " \n"); + + /* Optional input arguments */ + if(funcInfo->nbOptInput > 0) + { + + fprintf(gOutFunc_XML->file, " \n"); + for(i=0; inbOptInput; i++) + { + retCode = TA_GetOptInputParameterInfo( funcInfo->handle, i, &optInputInfo ); + + fprintf(gOutFunc_XML->file, " \n"); + fprintf(gOutFunc_XML->file, " %s\n", optInputInfo->displayName); + ReplaceReservedXmlCharacters(optInputInfo->hint, tempString); + fprintf(gOutFunc_XML->file, " %s\n", (optInputInfo->hint == NULL)? "" : tempString); + if(optInputInfo->flags != 0) + { + fprintf(gOutFunc_XML->file, " \n"); + + if(optInputInfo->flags & TA_OPTIN_IS_PERCENT) + { + fprintf(gOutFunc_XML->file, " Percent\n"); + } + if(optInputInfo->flags & TA_OPTIN_IS_DEGREE) + { + fprintf(gOutFunc_XML->file, " Degree\n"); + } + if(optInputInfo->flags & TA_OPTIN_IS_CURRENCY) + { + fprintf(gOutFunc_XML->file, " Currency\n"); + } + if(optInputInfo->flags & TA_OPTIN_ADVANCED) + { + fprintf(gOutFunc_XML->file, " Advanced\n"); + } + + fprintf(gOutFunc_XML->file, " \n"); + } + + if(optInputInfo->type == TA_OptInput_RealRange) + { + TA_RealRange *doubleRange; + + doubleRange= (TA_RealRange*)optInputInfo->dataSet; + fprintf(gOutFunc_XML->file, " Double\n"); + fprintf(gOutFunc_XML->file, " \n"); + fprintf(gOutFunc_XML->file, " %s\n", doubleToStr(doubleRange->min)); + fprintf(gOutFunc_XML->file, " %s\n", doubleToStr(doubleRange->max)); + fprintf(gOutFunc_XML->file, " %d\n", doubleRange->precision); + fprintf(gOutFunc_XML->file, " %s\n", doubleToStr(doubleRange->suggested_start)); + fprintf(gOutFunc_XML->file, " %s\n", doubleToStr(doubleRange->suggested_end)); + fprintf(gOutFunc_XML->file, " %s\n", doubleToStr(doubleRange->suggested_increment)); + fprintf(gOutFunc_XML->file, " \n"); + fprintf(gOutFunc_XML->file, " %s\n", doubleToStr(optInputInfo->defaultValue)); + } + else if(optInputInfo->type == TA_OptInput_IntegerRange) + { + TA_IntegerRange *integerRange; + + integerRange = (TA_IntegerRange*)optInputInfo->dataSet; + fprintf(gOutFunc_XML->file, " Integer\n"); + fprintf(gOutFunc_XML->file, " \n"); + fprintf(gOutFunc_XML->file, " %d\n", integerRange->min); + fprintf(gOutFunc_XML->file, " %d\n", integerRange->max); + fprintf(gOutFunc_XML->file, " %d\n", integerRange->max); + fprintf(gOutFunc_XML->file, " %d\n", integerRange->max); + fprintf(gOutFunc_XML->file, " %d\n", integerRange->max); + fprintf(gOutFunc_XML->file, " \n"); + fprintf(gOutFunc_XML->file, " %d\n", (int)optInputInfo->defaultValue); + } + else if(optInputInfo->type == TA_OptInput_IntegerList) + { + TA_IntegerList *intList; + + intList = (TA_IntegerList*) optInputInfo->dataSet; + fprintf(gOutFunc_XML->file, " MA Type\n"); + fprintf(gOutFunc_XML->file, " %d\n", (int)optInputInfo->defaultValue); + if( intList != (TA_IntegerList*) TA_DEF_UI_MA_Method.dataSet ) + { + printf("Integer lists are not supported.\n"); + } + } + else + { + printf("Unknown optional input type detected.\n"); + } + + fprintf(gOutFunc_XML->file, " \n"); + } + fprintf(gOutFunc_XML->file, " \n"); + } + + /* Output arguments */ + fprintf(gOutFunc_XML->file, " \n"); + for(i=0; inbOutput; i++) + { + retCode = TA_GetOutputParameterInfo( funcInfo->handle, i, &outputInfo ); + fprintf(gOutFunc_XML->file, " \n"); + if(outputInfo->type == TA_Output_Integer) + { + fprintf(gOutFunc_XML->file, " Integer Array\n"); + } + else if(outputInfo->type == TA_Output_Real) + { + fprintf(gOutFunc_XML->file, " Double Array\n"); + } + else + { + printf("Unknown output type detected.\n"); + } + fprintf(gOutFunc_XML->file, " %s\n", outputInfo->paramName); + if(outputInfo->flags != 0) + { + fprintf(gOutFunc_XML->file, " \n"); + + if(outputInfo->flags & TA_OUT_LINE) + { + fprintf(gOutFunc_XML->file, " Line\n"); + } + if(outputInfo->flags & TA_OUT_DOT_LINE) + { + fprintf(gOutFunc_XML->file, " Dotted Line\n"); + } + if(outputInfo->flags & TA_OUT_DASH_LINE) + { + fprintf(gOutFunc_XML->file, " Dashed Line\n"); + } + if(outputInfo->flags & TA_OUT_DOT) + { + fprintf(gOutFunc_XML->file, " Dots\n"); + } + if(outputInfo->flags & TA_OUT_HISTO) + { + fprintf(gOutFunc_XML->file, " Histogram\n"); + } + if(outputInfo->flags & TA_OUT_PATTERN_BOOL) + { + fprintf(gOutFunc_XML->file, " Pattern Bool\n"); + } + if(outputInfo->flags & TA_OUT_PATTERN_BULL_BEAR) + { + fprintf(gOutFunc_XML->file, " Pattern Bull Bear\n"); + } + if(outputInfo->flags & TA_OUT_PATTERN_STRENGTH) + { + fprintf(gOutFunc_XML->file, " Pattern Strength\n"); + } + if(outputInfo->flags & TA_OUT_POSITIVE) + { + fprintf(gOutFunc_XML->file, " Positive\n"); + } + if(outputInfo->flags & TA_OUT_NEGATIVE) + { + fprintf(gOutFunc_XML->file, " Negative\n"); + } + if(outputInfo->flags & TA_OUT_ZERO) + { + fprintf(gOutFunc_XML->file, " Zero\n"); + } + if(outputInfo->flags & TA_OUT_UPPER_LIMIT) + { + fprintf(gOutFunc_XML->file, " Upper Limit\n"); + } + if(outputInfo->flags & TA_OUT_LOWER_LIMIT) + { + fprintf(gOutFunc_XML->file, " Lower Limit\n"); + } + + fprintf(gOutFunc_XML->file, " \n"); + } + fprintf(gOutFunc_XML->file, " \n"); + } + fprintf(gOutFunc_XML->file, " \n"); + fprintf(gOutFunc_XML->file, " \n"); + fprintf(gOutFunc_XML->file, "\n"); + fprintf(gOutFunc_XML->file, "\n"); +} + +static void doForEachFunctionPhase1( const TA_FuncInfo *funcInfo, + void *opaqueData ) +{ + (void)opaqueData; + + #ifdef _MSC_VER + /* Run the func file through the pre-processor to generate the Java code. */ + genJavaCodePhase1( funcInfo ); + #else + (void)funcInfo; + #endif +} + +static void doForEachFunctionPhase2( const TA_FuncInfo *funcInfo, + void *opaqueData ) +{ + static int firstTime = 1; + + (void)opaqueData; /* Get ride of compiler warning */ + + /* Add this function to the "ta_func_list.txt" */ + genPrefix = 0; + fprintf( gOutFuncList_TXT->file, "%-20s%s\n", funcInfo->name, funcInfo->hint ); + + fprintf( gOutFunc_H->file, "\n" ); + fprintf( gOutFunc_SWG->file, "\n" ); + + printf( "Processing [TA_%s]\n", funcInfo->name ); + + fprintf( gOutFunc_H->file, "/*\n" ); + printFuncHeaderDoc( gOutFunc_H->file, funcInfo, " * " ); + fprintf( gOutFunc_H->file, " */\n" ); + + fprintf( gOutFunc_SWG->file, "/*\n" ); + printFuncHeaderDoc( gOutFunc_SWG->file, funcInfo, " * " ); + fprintf( gOutFunc_SWG->file, " */\n" ); + + /* Generate the defines corresponding to this function. */ + printDefines( gOutFunc_H->file, funcInfo ); + printDefines( gOutFunc_SWG->file, funcInfo ); + + /* Generate the function prototype. */ + printFunc( gOutFunc_H->file, NULL, funcInfo, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ); + fprintf( gOutFunc_H->file, "\n" ); + + printFunc( gOutFunc_H->file, NULL, funcInfo, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 ); + fprintf( gOutFunc_H->file, "\n" ); + + /* Generate the SWIG interface. */ + printFunc( gOutFunc_SWG->file, NULL, funcInfo, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 ); + fprintf( gOutFunc_SWG->file, "\n" ); + + /* Generate the corresponding lookback function prototype. */ + printFunc( gOutFunc_H->file, NULL, funcInfo, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 ); + printFunc( gOutFunc_SWG->file, NULL, funcInfo, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 ); + + /* Create the frame definition (ta_frame.c) and declaration (ta_frame.h) */ + genPrefix = 1; + printFrameHeader( gOutFrame_H->file, funcInfo, 0 ); + fprintf( gOutFrame_H->file, ";\n" ); + printFrameHeader( gOutFrame_H->file, funcInfo, 1 ); + fprintf( gOutFrame_H->file, ";\n\n" ); + printCallFrame( gOutFrame_C->file, funcInfo ); + + /* Add this function to the Makefile.am */ + if( firstTime ) + fprintf( gOutMakefile_AM->file, "\tta_%s.c", funcInfo->name ); + else + fprintf( gOutMakefile_AM->file, " \\\n\tta_%s.c", funcInfo->name ); + + #ifdef _MSC_VER + /* Add the entry in the .NET project file. */ + fprintf( gOutProjFile->file, " file, " RelativePath=\"..\\..\\..\\c\\src\\ta_func\\ta_%s.c\">\n", funcInfo->name ); + fprintf( gOutProjFile->file, " file, " Name=\"Debug|Win32\">\n" ); + fprintf( gOutProjFile->file, " file, " Name=\"VCCLCompilerTool\"\n" ); + fprintf( gOutProjFile->file, " AdditionalIncludeDirectories=\"\"\n" ); + fprintf( gOutProjFile->file, " UsePrecompiledHeader=\"0\"\n" ); + fprintf( gOutProjFile->file, " CompileAs=\"2\"/>\n" ); + fprintf( gOutProjFile->file, " \n" ); + fprintf( gOutProjFile->file, " file, " Name=\"Release|Win32\">\n" ); + fprintf( gOutProjFile->file, " file, " Name=\"VCCLCompilerTool\"\n" ); + fprintf( gOutProjFile->file, " AdditionalIncludeDirectories=\"\"\n" ); + fprintf( gOutProjFile->file, " UsePrecompiledHeader=\"0\"\n" ); + fprintf( gOutProjFile->file, " CompileAs=\"2\"/>\n" ); + fprintf( gOutProjFile->file, " \n" ); + fprintf( gOutProjFile->file, " file, " Name=\"Debug SubArray|Win32\">\n" ); + fprintf( gOutProjFile->file, " file, " Name=\"VCCLCompilerTool\"\n" ); + fprintf( gOutProjFile->file, " AdditionalIncludeDirectories=\"\"\n" ); + fprintf( gOutProjFile->file, " UsePrecompiledHeader=\"0\"\n" ); + fprintf( gOutProjFile->file, " CompileAs=\"2\"/>\n" ); + fprintf( gOutProjFile->file, " \n" ); + fprintf( gOutProjFile->file, " file, " Name=\"Release SubArray|Win32\">\n" ); + fprintf( gOutProjFile->file, " file, " Name=\"VCCLCompilerTool\"\n" ); + fprintf( gOutProjFile->file, " AdditionalIncludeDirectories=\"\"\n" ); + fprintf( gOutProjFile->file, " UsePrecompiledHeader=\"0\"\n" ); + fprintf( gOutProjFile->file, " CompileAs=\"2\"/>\n" ); + fprintf( gOutProjFile->file, " \n" ); + fprintf( gOutProjFile->file, " \n" ); + + /* Add the entry in the MSVC project file. */ + fprintf( gOutMSVCProjFile->file, "# Begin Source File\n" ); + fprintf( gOutMSVCProjFile->file, "\n" ); + fprintf( gOutMSVCProjFile->file, "SOURCE=..\\..\\..\\..\\src\\ta_func\\ta_%s.c\n", funcInfo->name ); + fprintf( gOutMSVCProjFile->file, "# End Source File\n" ); + + /* Add the entry in the VS2005 project file. */ + printVS2005FileNode( gOutVS2005ProjFile->file, funcInfo->name ); + + /* Generate the excel glue code */ + printExcelGlueCode( gOutExcelGlue_C->file, funcInfo ); + + /* Generate CoreAnnotated */ + printJavaFunctionAnnotation( funcInfo ); + + /* Generate the functions declaration for the .NET interface. */ + printFunc( gOutDotNet_H->file, NULL, funcInfo, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0 ); + + fprintf( gOutDotNet_H->file, " #if defined( _MANAGED ) && defined( USE_SUBARRAY )\n" ); + printFunc( gOutDotNet_H->file, NULL, funcInfo, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0 ); + fprintf( gOutDotNet_H->file, "\n" ); + + printFunc( gOutDotNet_H->file, NULL, funcInfo, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 ); + + fprintf( gOutDotNet_H->file, " { return " ); + printFunc( gOutDotNet_H->file, NULL, funcInfo, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1 ); + fprintf( gOutDotNet_H->file, " }\n" ); + + fprintf( gOutDotNet_H->file, " #elif defined( _MANAGED )\n" ); + printFunc( gOutDotNet_H->file, NULL, funcInfo, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 ); + fprintf( gOutDotNet_H->file, " #endif\n" ); + + printFunc( gOutDotNet_H->file, NULL, funcInfo, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0 ); + fprintf( gOutDotNet_H->file, "\n" ); + fprintf( gOutDotNet_H->file, " #define TA_%s Core::%s\n", funcInfo->name, funcInfo->camelCaseName ); + fprintf( gOutDotNet_H->file, " #define TA_%s_Lookback Core::%sLookback\n\n", funcInfo->name, funcInfo->camelCaseName ); + #endif + + doFuncFile( funcInfo ); + + #ifdef _MSC_VER + /* Run the func file through the pre-processor to generate the Java code. */ + genJavaCodePhase2( funcInfo ); + #endif + + firstTime = 0; +} + +static void doForEachUnstableFunction( const TA_FuncInfo *funcInfo, + void *opaqueData ) +{ + unsigned int *i; + + i = (unsigned int *)opaqueData; + + if( funcInfo->flags & TA_FUNC_FLG_UNST_PER ) + { + print( gOutDefs_H->file, " /* %03d */ ENUM_DEFINE( TA_FUNC_UNST_%s, %s),\n", *i, funcInfo->name, funcInfo->camelCaseName ); + (*i)++; + } +} + +static void printDefines( FILE *out, const TA_FuncInfo *funcInfo ) +{ + TA_RetCode retCode; + const TA_OptInputParameterInfo *optInputParamInfo; + unsigned int i, j; + unsigned int paramNb; + const char *paramName; + const char *defaultParamName; + TA_IntegerList *intList; + TA_RealList *realList; + + /* Go through the optional parameter and print + * the corresponding define for the TA_OptInput_IntegerList + * and TA_OptInput_RealList having a string. + */ + paramNb = 0; + for( i=0; i < funcInfo->nbOptInput; i++ ) + { + retCode = TA_GetOptInputParameterInfo( funcInfo->handle, + i, &optInputParamInfo ); + + if( retCode != TA_SUCCESS ) + { + printf( "[%s] invalid 'optional input' information\n", funcInfo->name ); + return; + } + + paramName = optInputParamInfo->paramName; + + /* TA_MA: Value for parameter */ + + switch( optInputParamInfo->type ) + { + case TA_OptInput_RealList: + defaultParamName = "optInReal"; + break; + case TA_OptInput_IntegerList: + defaultParamName = "optInInteger"; + break; + default: + paramNb++; + continue; /* Skip other type of parameter */ + } + + if( !paramName ) + paramName = defaultParamName; + + /* Output a comment to guide the user. */ + switch( optInputParamInfo->type ) + { + case TA_OptInput_IntegerList: + intList = (TA_IntegerList *)optInputParamInfo->dataSet; + if( intList != (TA_IntegerList *)TA_DEF_UI_MA_Method.dataSet ) + { + fprintf( out, "\n/* TA_%s: Optional Parameter %s */\n", + funcInfo->name, paramName ); + for( j=0; j < intList->nbElement; j++ ) + { + strcpy( gTempBuf, intList->data[j].string ); + cnvtChar( gTempBuf, ' ', '_' ); + trimWhitespace( gTempBuf ); + cnvtToUpperCase( gTempBuf ); + fprintf( out, "#define TA_%s_%s %d\n", + funcInfo->name, + gTempBuf, + intList->data[j].value ); + + } + fprintf( out, "\n" ); + } + break; + case TA_OptInput_RealList: + fprintf( out, "\n/* TA_%s: Optional Parameter %s */\n", + funcInfo->name, paramName ); + + realList = (TA_RealList *)optInputParamInfo->dataSet; + for( j=0; j < realList->nbElement; j++ ) + { + strcpy( gTempBuf, realList->data[j].string ); + cnvtChar( gTempBuf, ' ', '_' ); + trimWhitespace( gTempBuf ); + cnvtToUpperCase( gTempBuf ); + fprintf( out, "#define TA_%s_%s %s\n", + funcInfo->name, + gTempBuf, + doubleToStr(realList->data[j].value) ); + + } + fprintf( out, "\n" ); + break; + default: + /* Do nothing */ + break; + } + + paramNb++; + } +} + +static void printFunc( FILE *out, + const char *prefix, /* Can be NULL */ + const TA_FuncInfo *funcInfo, + unsigned int prototype, /* Boolean */ + unsigned int frame, /* Boolean */ + unsigned int semiColonNeeded, /* Boolean */ + unsigned int validationCode, /* Boolean */ + unsigned int lookbackSignature, /* Boolean */ + unsigned int managedCPPCode, /* Boolean */ + unsigned int managedCPPDeclaration, /* Boolean */ + unsigned int inputIsSinglePrecision, /* Boolean */ + unsigned int outputForSWIG, /* Boolean */ + unsigned int outputForJava, /* Boolean */ + unsigned int lookbackValidationCode, /* Boolean */ + unsigned int useSubArrayObject, /* Boolean */ + unsigned int arrayToSubArrayCnvt /* Boolean */ + ) +{ + TA_RetCode retCode; + unsigned int i, j, k, lastParam; + int indent; + unsigned int paramNb; + const char *paramName; + const char *defaultParamName; + const TA_InputParameterInfo *inputParamInfo; + const TA_OptInputParameterInfo *optInputParamInfo; + const TA_OutputParameterInfo *outputParamInfo; + const char *typeString; + const char *inputDoubleArrayType; + const char *inputIntArrayType; + const char *outputDoubleArrayType; + const char *outputIntArrayType; + const char *outputIntParam; + const char *arrayBracket; + const char *funcName; + int excludeFromManaged; + int isMAType; + + const char *startIdxString; + const char *endIdxString; + const char *outNbElementString; + const char *outBegIdxString; + + char funcNameBuffer[1024]; /* Not safe, but 1024 is realistic, */ + + if( arrayToSubArrayCnvt ) + { + inputIntArrayType = " "; + inputDoubleArrayType = " "; + outputDoubleArrayType = " "; + outputIntArrayType = " "; + outputIntParam = " "; + arrayBracket = " "; + startIdxString = "startIdx"; + endIdxString = "endIdx"; + outNbElementString = "outNBElement"; + outBegIdxString = "outBegIdx"; + funcName = funcInfo->camelCaseName; + } + else if( managedCPPCode ) + { + if( inputIsSinglePrecision ) + { + inputDoubleArrayType = "cli::array^"; + } + else + { + inputDoubleArrayType = useSubArrayObject? "SubArray^":"cli::array^"; + } + + inputIntArrayType = "cli::array^"; + outputDoubleArrayType = "cli::array^"; + outputIntArrayType = "cli::array^"; + outputIntParam = "[Out]int%"; + arrayBracket = ""; + startIdxString = "startIdx"; + endIdxString = "endIdx"; + outNbElementString = "outNBElement"; + outBegIdxString = "outBegIdx"; + funcName = funcInfo->camelCaseName; + } + else if( outputForSWIG ) + { + if( inputIsSinglePrecision ) + inputDoubleArrayType = "const float *"; + else + inputDoubleArrayType = "const double *"; + inputIntArrayType = "const int *"; + outputIntArrayType = "int"; + outputDoubleArrayType = "double"; + outputIntParam = "int"; + arrayBracket = ""; + startIdxString = " START_IDX"; + endIdxString = " END_IDX"; + outNbElementString = "OUT_SIZE"; + outBegIdxString = "BEG_IDX"; + funcName = funcInfo->name; + } + else if( outputForJava ) + { + if( inputIsSinglePrecision ) + inputDoubleArrayType = "float"; + else + inputDoubleArrayType = "double"; + inputIntArrayType = "int"; + outputDoubleArrayType = "double"; + outputIntArrayType = "int"; + outputIntParam = "MInteger"; + arrayBracket = "[]"; + startIdxString = "startIdx"; + endIdxString = "endIdx"; + outNbElementString = "outNBElement"; + outBegIdxString = "outBegIdx"; + funcName = funcNameBuffer; + + /* For Java, first letter is always lowercase. */ + strcpy( funcNameBuffer, funcInfo->camelCaseName ); + funcNameBuffer[0] = tolower(funcNameBuffer[0]); + } + else + { + if( inputIsSinglePrecision ) + inputDoubleArrayType = "const float"; + else + inputDoubleArrayType = "const double"; + inputIntArrayType = "const int"; + outputDoubleArrayType = "double"; + outputIntArrayType = "int"; + outputIntParam = "int"; + arrayBracket = "[]"; + startIdxString = "startIdx"; + endIdxString = "endIdx"; + outNbElementString = "outNBElement"; + outBegIdxString = "outBegIdx"; + funcName = funcInfo->name; + } + + typeString = ""; + defaultParamName = ""; + + if( prototype ) + { + if( lookbackSignature ) + { + if( managedCPPCode ) + { + sprintf( gTempBuf, "%s%sint %s%sLookback( ", + prefix? prefix:"", + managedCPPDeclaration? " static ":"", + managedCPPDeclaration? "":"Core::", + funcName ); + } + else if( outputForJava ) + { + sprintf( gTempBuf, "%spublic int %sLookback( ", + prefix? prefix:"", + funcName ); + } + else + { + sprintf( gTempBuf, "%sint TA_%s_Lookback( ", + prefix? prefix:"", + funcName ); + } + print( out, gTempBuf ); + indent = (unsigned int)strlen(gTempBuf) - 2; + } + else + { + if( arrayToSubArrayCnvt ) + { + sprintf( gTempBuf, "%s%s( %s, ", prefix? prefix:"", funcName, startIdxString ); + } + else if( managedCPPCode ) + { + sprintf( gTempBuf, "%s%senum class %sRetCode %s%s( int %s,\n", + prefix? prefix:"", + managedCPPDeclaration? " static ":"", + managedCPPDeclaration? "":"Core::", + managedCPPDeclaration? "":"Core::", + funcName, + startIdxString ); + } + else if( outputForJava ) + { + sprintf( gTempBuf, "%spublic RetCode %s( int %s,\n", + prefix? prefix:"", + funcName, + startIdxString ); + } + else + { + if( inputIsSinglePrecision ) + sprintf( gTempBuf, "%sTA_RetCode TA_S_%s( int %s,\n", + prefix? prefix:"", + funcName, + startIdxString ); + else + sprintf( gTempBuf, "%sTA_RetCode TA_%s( int %s,\n", + prefix? prefix:"", + funcName, + startIdxString ); + } + print( out, gTempBuf ); + indent = (unsigned int)strlen(gTempBuf); + + if( outputForSWIG ) + indent -= 25; + else + indent -= 17; + + if( indent < 0 ) indent = 0; + + printIndent( out, indent ); + if( arrayToSubArrayCnvt ) + fprintf( out, "%s,\n", endIdxString ); + else + fprintf( out, "int %s,\n", endIdxString ); + } + } + else if( frame ) + { + indent = (unsigned int)strlen(funcName); + if( lookbackSignature ) + { + print( out, "%sTA_%s_Lookback(", prefix == NULL? "" : prefix, funcName ); + indent += 12; + + } + else + { + print( out, "%sTA_%s(\n", prefix == NULL? "" : prefix, funcName ); + indent += 4; + } + } + else if( validationCode ) + { + indent = 3; + } + else + { + printf( "printFunc has nothing to do?\n" ); + return; + } + + if( prefix ) + indent += (unsigned int)strlen(prefix); + if( frame ) + indent -= 5; + + if( frame && !lookbackSignature ) + { + printIndent( out, indent ); + fprintf( out, "%s,\n", startIdxString ); + printIndent( out, indent ); + fprintf( out, "%s,\n", endIdxString ); + } + + /* Go through all the input. */ + if( !lookbackSignature && !lookbackValidationCode ) + { + if( validationCode ) + { + printIndent( out, indent ); + fprintf( out, "#if !defined(_JAVA)\n" ); + } + + paramNb = 0; + for( i=0; i < funcInfo->nbInput; i++ ) + { + retCode = TA_GetInputParameterInfo( funcInfo->handle, + i, &inputParamInfo ); + + if( retCode != TA_SUCCESS ) + { + printf( "[%s] invalid 'input' information (%d,%d)\n", funcName, i, paramNb ); + return; + } + + paramName = inputParamInfo->paramName; + + switch( inputParamInfo->type ) + { + case TA_Input_Price: + /* Find how many component are requested. */ + j = 0; + if( inputParamInfo->flags & TA_IN_PRICE_TIMESTAMP ) + j++; + if( inputParamInfo->flags & TA_IN_PRICE_OPEN ) + j++; + if( inputParamInfo->flags & TA_IN_PRICE_HIGH ) + j++; + if( inputParamInfo->flags & TA_IN_PRICE_LOW ) + j++; + if( inputParamInfo->flags & TA_IN_PRICE_CLOSE ) + j++; + if( inputParamInfo->flags & TA_IN_PRICE_VOLUME ) + j++; + if( inputParamInfo->flags & TA_IN_PRICE_OPENINTEREST ) + j++; + + if( j == 0 ) + { + printf( "[%s] invalid 'price input' information (%d,%d)\n", funcName, i, paramNb ); + return; + } + + if( validationCode ) + { + printIndent( out, indent ); + fprintf( out, "/* Verify required price component. */\n" ); + printIndent( out, indent ); + fprintf( out, "if(" ); + k = 0; + if( inputParamInfo->flags & TA_IN_PRICE_TIMESTAMP ) + { + k++; + fprintf( out, "!inTimestamp%s", k != j? "||":")"); + } + + if( inputParamInfo->flags & TA_IN_PRICE_OPEN ) + { + k++; + fprintf( out, "!inOpen%s", k != j? "||":")"); + } + + if( inputParamInfo->flags & TA_IN_PRICE_HIGH ) + { + k++; + fprintf( out, "!inHigh%s", k != j? "||":")"); + } + + if( inputParamInfo->flags & TA_IN_PRICE_LOW ) + { + k++; + fprintf( out, "!inLow%s", k != j? "||":")"); + } + + if( inputParamInfo->flags & TA_IN_PRICE_CLOSE ) + { + k++; + fprintf( out, "!inClose%s", k != j? "||":")"); + } + + if( inputParamInfo->flags & TA_IN_PRICE_VOLUME ) + { + k++; + fprintf( out, "!inVolume%s", k != j? "||":")"); + } + + if( inputParamInfo->flags & TA_IN_PRICE_OPENINTEREST ) + { + k++; + fprintf( out, "!inOpenInterest%s", k != j? "||":")"); + } + + fprintf( out, "\n" ); + printIndent( out, indent ); + fprintf( out, " return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam);\n" ); + print( out, "\n" ); + } + else + { + if( inputParamInfo->flags & TA_IN_PRICE_OPEN ) + { + printIndent( out, indent ); + if( frame ) + fprintf( out, "params->in[%d].data.inPrice.open, /*", paramNb ); + fprintf( out, "%-*s%s%s%s", + prototype? 12 : 0, + prototype? inputDoubleArrayType : "", + outputForSWIG?"":" ", + outputForSWIG? "IN_ARRAY /* inOpen */": + arrayToSubArrayCnvt? "gcnew SubArray(inOpen,0)" : "inOpen", + prototype? arrayBracket : "" ); + fprintf( out, "%s\n", frame? " */":"," ); + } + + if( inputParamInfo->flags & TA_IN_PRICE_HIGH ) + { + printIndent( out, indent ); + if( frame ) + fprintf( out, "params->in[%d].data.inPrice.high, /*", paramNb ); + fprintf( out, "%-*s%s%s%s", + prototype? 12 : 0, + prototype? inputDoubleArrayType : "", + outputForSWIG?"":" ", + outputForSWIG? "IN_ARRAY /* inHigh */": + arrayToSubArrayCnvt? "gcnew SubArray(inHigh,0)" : "inHigh", + prototype? arrayBracket : "" ); + fprintf( out, "%s\n", frame? " */":"," ); + } + + if( inputParamInfo->flags & TA_IN_PRICE_LOW ) + { + printIndent( out, indent ); + if( frame ) + fprintf( out, "params->in[%d].data.inPrice.low, /*", paramNb ); + fprintf( out, "%-*s%s%s%s", + prototype? 12 : 0, + prototype? inputDoubleArrayType : "", + outputForSWIG?"":" ", + outputForSWIG? "IN_ARRAY /* inLow */": + arrayToSubArrayCnvt? "gcnew SubArray(inLow,0)" : "inLow", + prototype? arrayBracket : "" ); + fprintf( out, "%s\n", frame? " */":"," ); + } + + if( inputParamInfo->flags & TA_IN_PRICE_CLOSE ) + { + printIndent( out, indent ); + if( frame ) + fprintf( out, "params->in[%d].data.inPrice.close, /*", paramNb ); + fprintf( out, "%-*s%s%s%s", + prototype? 12 : 0, + prototype? inputDoubleArrayType : "", + outputForSWIG?"":" ", + outputForSWIG? "IN_ARRAY /* inClose */": + arrayToSubArrayCnvt? "gcnew SubArray(inClose,0)" : "inClose", + prototype? arrayBracket : "" ); + fprintf( out, "%s\n", frame? " */":"," ); + } + + if( inputParamInfo->flags & TA_IN_PRICE_VOLUME ) + { + printIndent( out, indent ); + if( frame ) + fprintf( out, "params->in[%d].data.inPrice.volume, /*", paramNb ); + fprintf( out, "%-*s%s%s%s", + prototype? 12 : 0, + prototype? inputDoubleArrayType : "", + outputForSWIG?"":" ", + outputForSWIG? "IN_ARRAY /* inVolume */": + arrayToSubArrayCnvt? "gcnew SubArray(inVolume,0)" : "inVolume", + prototype? arrayBracket : "" ); + fprintf( out, "%s\n", frame? " */":"," ); + } + + if( inputParamInfo->flags & TA_IN_PRICE_OPENINTEREST ) + { + printIndent( out, indent ); + if( frame ) + fprintf( out, "params->in[%d].data.inPrice.openInterest, /*", paramNb ); + fprintf( out, "%-*s%s%s%s", + prototype? 12 : 0, + prototype? inputDoubleArrayType : "", + outputForSWIG?"":" ", + outputForSWIG? "IN_ARRAY /* inOpenInterest */": + arrayToSubArrayCnvt? "gcnew SubArray(inOpenInterest,0)" : "inOpenInterest", + prototype? arrayBracket : "" ); + fprintf( out, "%s\n", frame? " */":"," ); + } + } + break; + case TA_Input_Real: + typeString = inputDoubleArrayType; + defaultParamName = outputForSWIG? "IN_ARRAY": + arrayToSubArrayCnvt? "gcnew SubArray(inReal,0)" : "inReal"; + break; + case TA_Input_Integer: + typeString = inputIntArrayType; + defaultParamName = outputForSWIG? "IN_ARRAY":"inInteger"; + break; + default: + if( !paramName ) + paramName = "inParam"; + printf( "[%s,%s,%d] invalid 'input' type(%d)\n", + funcName, paramName, paramNb, + inputParamInfo->type ); + return; + } + + if( inputParamInfo->type != TA_Input_Price ) + { + printIndent( out, indent ); + if( validationCode ) + fprintf( out, "if( !%s ) return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam);\n", inputParamInfo->paramName ); + else + { + + if( frame ) + fprintf( out, "params->in[%d].data.%s, /*", paramNb, defaultParamName ); + if( outputForSWIG ) + fprintf( out, "%-*s%s%s /* %s */", + prototype? 12 : 0, + prototype? typeString : "", + defaultParamName, + prototype? arrayBracket : "", + inputParamInfo->paramName ); + else + { + if( arrayToSubArrayCnvt ) + { + fprintf( out, "%-*sgcnew SubArray(%s,0)", + prototype? 12 : 0, "", + inputParamInfo->paramName ); + } + else + { + fprintf( out, "%-*s %s%s", + prototype? 12 : 0, + prototype? typeString : "", + inputParamInfo->paramName, + prototype? arrayBracket : "" ); + } + } + fprintf( out, "%s\n", frame? " */":"," ); + } + } + paramNb++; + } + + if( validationCode ) + { + printIndent( out, indent ); + fprintf( out, "#endif /* !defined(_JAVA)*/\n" ); + } + } + + /* Go through all the optional input */ + paramNb = 0; + lastParam = 0; + for( i=0; i < funcInfo->nbOptInput; i++ ) + { + excludeFromManaged = 0; + + if( (i == (funcInfo->nbOptInput-1)) && lookbackSignature ) + lastParam = 1; + + retCode = TA_GetOptInputParameterInfo( funcInfo->handle, + i, &optInputParamInfo ); + + if( retCode != TA_SUCCESS ) + { + printf( "[%s] invalid 'optional input' information\n", funcName ); + return; + } + + paramName = optInputParamInfo->paramName; + + /* Boolean to detect special TA_MAType enumeration. */ + if( optInputParamInfo->dataSet == TA_DEF_UI_MA_Method.dataSet ) + isMAType = 1; + else + isMAType = 0; + + switch( optInputParamInfo->type ) + { + case TA_OptInput_RealRange: + case TA_OptInput_RealList: + typeString = "double"; + defaultParamName = outputForSWIG? "OPT_REAL":"optInReal"; + break; + case TA_OptInput_IntegerRange: + typeString = "int"; + defaultParamName = outputForSWIG? "OPT_INT":"optInInteger"; + break; + case TA_OptInput_IntegerList: + if( isMAType && !frame ) + { + + typeString = managedCPPCode||outputForJava? "MAType":"TA_MAType"; + defaultParamName = outputForSWIG? "OPT_MATYPE":"optInMAType"; + excludeFromManaged = 1; + } + else + { + typeString = "int"; + defaultParamName = outputForSWIG? "OPT_INT":"optInInteger"; + } + break; + default: + if( !paramName ) + paramName = "optInParam"; + printf( "[%s,%s,%d] invalid 'optional input' type(%d)\n", + funcName, paramName, paramNb, + optInputParamInfo->type ); + return; + } + + if( arrayToSubArrayCnvt ) + typeString = ""; + + if( !paramName ) + paramName = defaultParamName; + + if( validationCode ) + { + if( excludeFromManaged ) + { + printIndent( out, indent ); + fprintf( out, "#if !defined(_MANAGED) && !defined(_JAVA)\n" ); + } + + printOptInputValidation( out, paramName, optInputParamInfo, lookbackValidationCode ); + + if( excludeFromManaged ) + { + printIndent( out, indent ); + fprintf( out, "#endif /* !defined(_MANAGED) && !defined(_JAVA)*/\n" ); + } + } + else + { + if( !(lookbackSignature && (i == 0 )) ) + printIndent( out, indent ); + + if( frame ) + { + fprintf( out, "%sparams->optIn[%d].data.%s%s /*", + isMAType?"(TA_MAType)":"", + paramNb, defaultParamName, + lookbackSignature&&lastParam?"":"," ); + } + if( outputForSWIG ) + fprintf( out, "%-*s %s /* %s */", + prototype? 13 : 0, + prototype? typeString : "", + defaultParamName, paramName ); + else + fprintf( out, "%-*s %s", + prototype? 13 : 0, + prototype? typeString : "", + paramName ); + + if( frame ) + { + if( lookbackSignature && lastParam ) + fprintf( out, "*/ )%s\n", semiColonNeeded? ";":"" ); + else + fprintf( out, "*/\n" ); + } + else + { + switch( optInputParamInfo->type ) + { + case TA_OptInput_RealRange: + if( lookbackSignature && lastParam ) + fprintf( out, " )%s ", semiColonNeeded? ";":"" ); + else + fprintf( out, "," ); + + if( ((TA_RealRange *)(optInputParamInfo->dataSet))->min == TA_REAL_MIN ) + fprintf( out, " /* From TA_REAL_MIN" ); + else + fprintf( out, " /* From %.*g", + ((TA_RealRange *)(optInputParamInfo->dataSet))->precision, + ((TA_RealRange *)(optInputParamInfo->dataSet))->min ); + + if( ((TA_RealRange *)(optInputParamInfo->dataSet))->max == TA_REAL_MAX ) + fprintf( out, " to TA_REAL_MAX */\n" ); + else + { + fprintf( out, " to %.*g%s */\n", + ((TA_RealRange *)(optInputParamInfo->dataSet))->precision, + ((TA_RealRange *)(optInputParamInfo->dataSet))->max, + optInputParamInfo->flags & TA_OPTIN_IS_PERCENT? " %":"" ); + } + break; + case TA_OptInput_IntegerRange: + if( lookbackSignature && lastParam ) + fprintf( out, " )%s ", semiColonNeeded? ";":"" ); + else + fprintf( out, "," ); + + if( ((TA_IntegerRange *)(optInputParamInfo->dataSet))->min == TA_INTEGER_MIN ) + fprintf( out, " /* From TA_INTEGER_MIN" ); + else + { + fprintf( out, " /* From %d", + ((TA_IntegerRange *)(optInputParamInfo->dataSet))->min ); + } + + if( ((TA_IntegerRange *)(optInputParamInfo->dataSet))->max == TA_INTEGER_MAX ) + fprintf( out, " to TA_INTEGER_MAX */\n" ); + else + { + fprintf( out, " to %d */\n", + ((TA_IntegerRange *)(optInputParamInfo->dataSet))->max ); + } + break; + default: + if( lookbackSignature && lastParam ) + fprintf( out, " )%s ", semiColonNeeded? ";":"" ); + else + fprintf( out, ",\n" ); + } + } + } + + paramNb++; + } + + if( lookbackSignature && (funcInfo->nbOptInput == 0) ) + { + if( frame || outputForJava ) + fprintf( out, " )%s\n", semiColonNeeded? ";":"" ); + else + fprintf( out, "void )%s\n", semiColonNeeded? ";":"" ); + } + + /* Go through all the output */ + if( lookbackSignature ) + { + if( !frame ) + print( out, "\n" ); + } + else if( !lookbackValidationCode ) + { + paramNb = 0; + lastParam = 0; + + if( !validationCode ) + { + printIndent( out, indent ); + if( frame ) + fprintf( out, "%s, ", outBegIdxString ); + else + fprintf( out, "%-*s %s%s", + prototype? 12 : 0, + prototype? outputIntParam : "", + prototype&&!managedCPPCode&&!outputForJava? "*" : "", + outBegIdxString ); + + fprintf( out, "%s\n", frame? "":"," ); + + printIndent( out, indent ); + if( frame ) + fprintf( out, "%s, ", outNbElementString ); + else + fprintf( out, "%-*s %s%s", + prototype? 12 : 0, + prototype? outputIntParam : "", + prototype&&!managedCPPCode&&!outputForJava? "*" : "", + outNbElementString ); + fprintf( out, "%s\n", frame? "":"," ); + } + + if( validationCode ) + { + printIndent( out, indent ); + fprintf( out, "#if !defined(_JAVA)\n" ); + } + + for( i=0; i < funcInfo->nbOutput; i++ ) + { + if( i == (funcInfo->nbOutput-1) ) + lastParam = 1; + + retCode = TA_GetOutputParameterInfo( funcInfo->handle, + i, &outputParamInfo ); + + if( retCode != TA_SUCCESS ) + { + printf( "[%s] invalid 'output' information\n", funcName ); + return; + } + + paramName = outputParamInfo->paramName; + + switch( outputParamInfo->type ) + { + case TA_Output_Real: + typeString = outputDoubleArrayType; + defaultParamName = outputForSWIG? "OUT_ARRAY":"outReal"; + break; + case TA_Output_Integer: + typeString = outputIntArrayType;; + defaultParamName = outputForSWIG? "OUT_ARRAY":"outInteger"; + break; + default: + if( !paramName ) + paramName = "outParam"; + printf( "[%s,%s,%d] invalid 'output' type(%d)\n", + funcName, paramName, paramNb, + outputParamInfo->type ); + return; + } + + if( !paramName ) + paramName = defaultParamName; + + if( validationCode ) + { + print( out, " if( !%s )\n", paramName ); + print( out, " return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam);\n" ); + print( out, "\n" ); + } + else + { + printIndent( out, indent ); + if( frame ) + fprintf( out, "params->out[%d].data.%s%s /*", + paramNb, defaultParamName, + lastParam? "":"," ); + + if( outputForSWIG ) + fprintf( out, "%-*s *%s%s /* %s */", + prototype? 12 : 0, + prototype? typeString : "", + defaultParamName, + prototype? arrayBracket : "", + paramName ); + else + fprintf( out, "%-*s %s%s", + prototype? 12 : 0, + prototype? typeString : "", + paramName, + prototype? arrayBracket : "" ); + + if( !lastParam ) + fprintf( out, "%s\n", frame? " */":"," ); + else + { + fprintf( out, "%s )%s\n", + frame? " */":"", + semiColonNeeded? ";":"" ); + } + } + + paramNb++; + } + + if( validationCode ) + { + printIndent( out, indent ); + fprintf( out, "#endif /* !defined(_JAVA) */\n" ); + } + + } + +} + +static void printCallFrame( FILE *out, const TA_FuncInfo *funcInfo ) +{ + genPrefix = 1; + + printFrameHeader( out, funcInfo, 0 ); + print( out, "{\n" ); + printFunc( out, " return ", funcInfo, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ); + print( out, "}\n" ); + + printFrameHeader( out, funcInfo, 1 ); + print( out, "{\n" ); + if( funcInfo->nbOptInput == 0 ) + print( out, " (void)params;\n" ); + printFunc( out, " return ", funcInfo, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 ); + print( out, "}\n" ); + + genPrefix = 0; +} + + +static void printFrameHeader( FILE *out, const TA_FuncInfo *funcInfo, unsigned int lookbackSignature ) +{ + if( lookbackSignature ) + { + print( out, "unsigned int TA_%s_FramePPLB( const TA_ParamHolderPriv *params )\n", funcInfo->name ); + } + else + { + print( out, "TA_RetCode TA_%s_FramePP( const TA_ParamHolderPriv *params,\n", funcInfo->name ); + print( out, " int startIdx,\n" ); + print( out, " int endIdx,\n" ); + print( out, " int *outBegIdx,\n" ); + print( out, " int *outNBElement )\n" ); + } +} + +static void printExternReferenceForEachFunction( const TA_FuncInfo *info, + void *opaqueData ) +{ + (void)opaqueData; /* Get ride of compiler warning */ + + fprintf( gOutGroupIdx_C->file, "extern const TA_FuncDef TA_DEF_%s;\n", info->name ); +} + +static void printPerGroupList( const char *groupName, + unsigned int index, + unsigned int isFirst, + unsigned int isLast + ) +{ + (void)isLast; /* Get ride of compiler warning. */ + (void)isFirst; /* Get ride of compiler warning. */ + + fprintf( gOutGroupIdx_C->file, + "\nconst TA_FuncDef *TA_PerGroupFunc_%d[] = {\n", index ); + + gCurrentGroupName = groupName; + TA_ForEachFunc( printFunctionAddress, NULL ); + fprintf( gOutGroupIdx_C->file, "NULL };\n" ); + + fprintf( gOutGroupIdx_C->file, + "#define SIZE_GROUP_%d ((sizeof(TA_PerGroupFunc_%d)/sizeof(const TA_FuncDef *))-1)\n", + index, index ); +} + +static void printFunctionAddress( const TA_FuncInfo *info, + void *opaqueData ) +{ + (void)opaqueData; /* Get ride of compiler warning. */ + + if( strcmp( info->group, gCurrentGroupName ) == 0 ) + fprintf( gOutGroupIdx_C->file, "&TA_DEF_%s,\n", info->name ); +} + +static void printGroupListAddress( const char *groupName, + unsigned int index, + unsigned int isFirst, + unsigned int isLast + ) +{ + (void)isFirst; /* Get ride of compiler warning. */ + + if( groupName == NULL ) + fprintf( gOutGroupIdx_C->file, "NULL%s", isLast? "" : "," ); + else fprintf( gOutGroupIdx_C->file, "&TA_PerGroupFunc_%d[0]%s\n", + index, isLast? "" : "," ); +} + +static void printGroupSize( const char *groupName, + unsigned int index, + unsigned int isFirst, + unsigned int isLast + ) +{ + (void)isFirst; /* Get ride of compiler warning. */ + (void)groupName; /* Get ride of compiler warning. */ + + fprintf( gOutGroupIdx_C->file, "SIZE_GROUP_%d%s\n", + index, isLast? "" : "," ); +} + +static void printGroupSizeAddition( const char *groupName, + unsigned int index, + unsigned int isFirst, + unsigned int isLast + ) +{ + (void)isFirst; /* Get ride of compiler warning. */ + (void)groupName; /* Get ride of compiler warning. */ + + fprintf( gOutGroupIdx_C->file, "SIZE_GROUP_%d%s", + index, isLast? ";" : "+\n" ); +} + +static void doFuncFile( const TA_FuncInfo *funcInfo ) +{ + + FileHandle *tempFile1; + + unsigned int useTempFile; + FILE *logicIn; + FILE *logicTmp; + char localBuf1[500]; + + #define TEMPLATE_PASS1 "..\\temp\\pass1.tmp" + #define TEMPLATE_PASS2 "..\\temp\\pass2.tmp" + #define TEMPLATE_DEFAULT "..\\src\\ta_abstract\\templates\\ta_x.c.template" + #define LOGIC_TEMP "..\\temp\\logic.tmp" + + /* Check if the file already exist. */ + sprintf( localBuf1, "..\\src\\ta_func\\ta_%s.c", funcInfo->name ); + + gOutFunc_C = fileOpen( localBuf1, NULL, FILE_READ); + if( gOutFunc_C == NULL ) + useTempFile = 0; + else + { + useTempFile = 1; + /* Create a temporary template using it. */ + tempFile1 = fileOpen( TEMPLATE_PASS1, NULL, FILE_WRITE|WRITE_ALWAYS ); + if( tempFile1 == NULL ) + { + printf( "Cannot create temporary file!\n" ); + return; + } + + createTemplate( gOutFunc_C, tempFile1 ); + + fileClose( tempFile1 ); + fileClose( gOutFunc_C ); + } + + /* Open the file using the template. */ + if( useTempFile ) + gOutFunc_C = fileOpen( TEMPLATE_PASS2, TEMPLATE_PASS1, FILE_WRITE|WRITE_ALWAYS ); + else + gOutFunc_C = fileOpen( TEMPLATE_PASS2, TEMPLATE_DEFAULT, FILE_WRITE|WRITE_ALWAYS ); + + if( gOutFunc_C == NULL ) + { + printf( "Cannot create [%s]\n", localBuf1 ); + return; + } + + /* Generate. 1st Pass */ + writeFuncFile( funcInfo ); + + fileClose( gOutFunc_C ); + + if( !useTempFile ) + { + /* When the file is new, the first pass becomes the + * original. + */ + if( !copyFile( TEMPLATE_PASS2, localBuf1 ) ) + { + printf( "Cannot copy %s to %s\n", TEMPLATE_PASS2, localBuf1 ); + return; + } + } + + /* Extract the TA function code in a temporary file */ + init_gToOpen( localBuf1, NULL ); + logicIn = fopen( gToOpen, "r" ); + if( !logicIn ) + { + printf( "Cannot open [%s] for extracting TA logic\n", localBuf1 ); + return; + } + init_gToOpen( LOGIC_TEMP, NULL ); + logicTmp = fopen( gToOpen, "w" ); + if( !logicTmp ) + { + fclose(logicIn); + printf( "Cannot open logic.tmp\n" ); + return; + } + extractTALogic( logicIn, logicTmp ); + fclose(logicIn); + fclose(logicTmp); + + /* Insert the TA function code in the single-precision frame + * using the template generated from the first pass. + */ + gOutFunc_C = fileOpen( localBuf1, TEMPLATE_PASS2, FILE_WRITE|WRITE_ON_CHANGE_ONLY ); + if( gOutFunc_C == NULL ) + { + printf( "Cannot complete 2nd pass with [%s]\n", localBuf1 ); + return; + } + + /* Duplicate the function, but using float this time */ + print( gOutFunc_C->file, "\n" ); + print( gOutFunc_C->file, "#define USE_SINGLE_PRECISION_INPUT\n" ); + print( gOutFunc_C->file, "#if !defined( _MANAGED ) && !defined( _JAVA )\n" ); + print( gOutFunc_C->file, " #undef TA_PREFIX\n" ); + print( gOutFunc_C->file, " #define TA_PREFIX(x) TA_S_##x\n" ); + print( gOutFunc_C->file, "#endif\n" ); + print( gOutFunc_C->file, "#undef INPUT_TYPE\n" ); + print( gOutFunc_C->file, "#define INPUT_TYPE float\n" ); + + print( gOutFunc_C->file, "#if defined( _MANAGED )\n" ); + printFunc( gOutFunc_C->file, NULL, funcInfo, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 ); + print( gOutFunc_C->file, "#elif defined( _JAVA )\n" ); + printFunc( gOutFunc_C->file, NULL, funcInfo, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0 ); + print( gOutFunc_C->file, "#else\n" ); + printFunc( gOutFunc_C->file, NULL, funcInfo, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 ); + print( gOutFunc_C->file, "#endif\n" ); + + /* Insert the internal logic of the function */ + init_gToOpen( LOGIC_TEMP, NULL ); + logicTmp = fopen( gToOpen, "r" ); + if( !logicTmp ) + { + fileClose( gOutFunc_C ); + printf( "Cannot read open logic.tmp\n" ); + return; + } + while( fgets(gTempBuf,BUFFER_SIZE,logicTmp) ) + fputs( gTempBuf, gOutFunc_C->file ); + fclose(logicTmp); + print( gOutFunc_C->file, "\n" ); + + /* Add the suffix at the end of the file. */ + print( gOutFunc_C->file, "#if defined( _MANAGED )\n" ); + print( gOutFunc_C->file, "}}} // Close namespace TicTacTec.TA.Lib\n" ); + print( gOutFunc_C->file, "#endif\n" ); + + fileClose( gOutFunc_C ); + fileDelete( LOGIC_TEMP ); + fileDelete( TEMPLATE_PASS1 ); + fileDelete( TEMPLATE_PASS2 ); +} + +static void doDefsFile( void ) +{ + + FileHandle *tempFile; + FILE *out; + + #define FILE_TA_DEFS_H "..\\include\\ta_defs.h" + #define FILE_TA_DEFS_TMP "..\\temp\\ta_defs.tmp" + + /* Check if the file already exist. If not, this is an error. */ + gOutDefs_H = fileOpen( FILE_TA_DEFS_H, NULL, FILE_READ ); + if( gOutDefs_H == NULL ) + { + printf( "ta_defs.h must exist for being updated!\n" ); + exit(-1); + } + + /* Create the template. The template is just the original file content + * with the GENCODE SECTION emptied (so they can be re-generated) + */ + tempFile = fileOpen( FILE_TA_DEFS_TMP, NULL, FILE_WRITE|WRITE_ALWAYS ); + if( tempFile == NULL ) + { + printf( "Cannot create temporary file!\n" ); + exit(-1); + } + + createTemplate( gOutDefs_H, tempFile ); + + fileClose( tempFile ); + fileClose( gOutDefs_H ); + + /* Re-open the file using the template. */ + gOutDefs_H = fileOpen( FILE_TA_DEFS_H, FILE_TA_DEFS_TMP, FILE_WRITE|WRITE_ON_CHANGE_ONLY ); + + if( gOutDefs_H == NULL ) + { + printf( "Cannot create ta_defs.h\n" ); + exit(-1); + } + + /* Generate the GENCODE SECTION */ + out = gOutDefs_H->file; + + genPrefix = 1; + addUnstablePeriodEnum( out ); + print( out, "\n" ); + genPrefix = 0; + + fileClose( gOutDefs_H ); + fileDelete( FILE_TA_DEFS_TMP ); + #undef FILE_TA_DEFS_H + #undef FILE_TA_DEFS_TMP +} + +#ifdef _MSC_VER +static int createProjTemplate( FileHandle *in, FileHandle *out ) +{ + FILE *inFile; + FILE *outFile; + unsigned int skipSection; + unsigned int sectionDone; + unsigned int step; + + inFile = in->file; + outFile = out->file; + + skipSection = 0; + sectionDone = 0; + step = 0; + + while( fgets( gTempBuf, BUFFER_SIZE, inFile ) ) + { + if( !skipSection ) + { + fputs( gTempBuf, outFile ); + if( !strstr( gTempBuf, "" ) ) + continue; + + skipSection = 1; + fputs( "%%%GENCODE%%%\n", outFile ); + } + else if( strstr( gTempBuf, "" ) ) + { + skipSection = 0; + fputs( gTempBuf, outFile ); + sectionDone++; + } + } + + return 0; +} + +static int createMSVCProjTemplate( FileHandle *in, FileHandle *out ) +{ + FILE *inFile; + FILE *outFile; + unsigned int skipSection; + + inFile = in->file; + outFile = out->file; + + skipSection = 0; + + while( !skipSection && fgets( gTempBuf, BUFFER_SIZE, inFile ) ) + { + if( strstr( gTempBuf, "# Begin Source File") ) + skipSection = 1; + else + fputs( gTempBuf, outFile ); + } + + if( !skipSection ) + { + printf( "Unexpected end-of-file\n" ); + return -1; + } + + fputs( "%%%GENCODE%%%\n", outFile ); + + while( fgets( gTempBuf, BUFFER_SIZE, inFile ) ) + { + if( strstr( gTempBuf, "# End Group" ) ) + { + /* Add the "non TA function" source files. */ + fprintf( outFile, "# Begin Source File\n"); + fprintf( outFile, "\n"); + fprintf( outFile, "SOURCE=..\\..\\..\\..\\src\\ta_func\\ta_utility.c\n"); + fprintf( outFile, "# End Source File\n"); + fprintf( outFile, "# End Group\n"); + break; + } + } + + while( fgets( gTempBuf, BUFFER_SIZE, inFile ) ) + fputs( gTempBuf, outFile ); + + return 0; +} + +static int createVS2005ProjTemplate( FileHandle *in, FileHandle *out ) +{ + FILE *inFile; + FILE *outFile; + unsigned int skipSection; + + inFile = in->file; + outFile = out->file; + + skipSection = 0; + + while( !skipSection && fgets( gTempBuf, BUFFER_SIZE, inFile ) ) + { + if( strstr( gTempBuf, "") ) + skipSection = 1; + else + fputs( gTempBuf, outFile ); + } + + if( !skipSection ) + { + printf( "Unexpected end-of-file. Missing \"\"\n" ); + return -1; + } + + + fputs( gTempBuf, outFile ); + + skipSection = 0; + + while( !skipSection && fgets( gTempBuf, BUFFER_SIZE, inFile ) ) + { + if( strstr( gTempBuf, "" ) ) + { + /* Add the "non TA function" source files. */ + printVS2005FileNode( outFile, "utility" ); + fprintf( outFile, " \n"); + break; + } + } + + while( fgets( gTempBuf, BUFFER_SIZE, inFile ) ) + fputs( gTempBuf, outFile ); + + return 0; +} + +static void printVS2005FileNode( FILE *out, const char *name ) +{ + fprintf( out, " \n" ); +/* + fprintf( out, " \n" ); + fprintf( out, " \n" ); + fprintf( out, " \n" ); + fprintf( out, " \n" ); + fprintf( out, " \n" ); + fprintf( out, " \n" ); + fprintf( out, " \n" ); + fprintf( out, " \n" ); + fprintf( out, " \n" ); + fprintf( out, " \n" ); + fprintf( out, " \n" ); + fprintf( out, " \n" ); + fprintf( out, " \n" ); + fprintf( out, " \n" ); + fprintf( out, " \n" ); + fprintf( out, " \n" ); + fprintf( out, " \n" ); + fprintf( out, " \n" ); +*/ + fprintf( out, " \n" ); +} +#endif + +static int createTemplate( FileHandle *in, FileHandle *out ) +{ + FILE *inFile; + FILE *outFile; + char *inTheLinePtr; + unsigned int skipSection; + unsigned int sectionDone; + + inFile = in->file; + outFile = out->file; + + skipSection = 0; + sectionDone = 0; + while( fgets( gTempBuf, BUFFER_SIZE, inFile ) ) + { + inTheLinePtr = gTempBuf; + /* Skip leading whitespace. */ + while( isspace(*inTheLinePtr) ) inTheLinePtr++; + + if( strncmp( inTheLinePtr, "/**** START GENCODE SECTION", 27 ) == 0 ) + { + skipSection = 1; + fputs( gTempBuf, outFile ); + fputs( "%%%GENCODE%%%\n", outFile ); + } + + else if( strncmp( inTheLinePtr, "/**** END GENCODE SECTION", 25 ) == 0 ) + { + if( skipSection ) + { + skipSection = 0; + sectionDone++; + } + } + + if( !skipSection ) + { + if( fputs( gTempBuf, outFile ) == EOF ) + { + printf( "Cannot write tmp file\n" ); + return -1; + } + } + } + + return 0; +} + +static void writeFuncFile( const TA_FuncInfo *funcInfo ) +{ + FILE *out; + + out = gOutFunc_C->file; + fprintf( out, "/* All code within this section is automatically\n" ); + fprintf( out, " * generated by gen_code. Any modification will be lost\n" ); + fprintf( out, " * next time gen_code is run.\n" ); + fprintf( out, " */\n" ); + + genPrefix = 1; + print( out, "\n" ); + print( out, "#if defined( _MANAGED )\n" ); + print( out, " #include \"TA-Lib-Core.h\"\n" ); + print( out, " #define TA_INTERNAL_ERROR(Id) (RetCode::InternalError)\n" ); + print( out, " namespace TicTacTec { namespace TA { namespace Library {\n" ); + print( out, "#elif defined( _JAVA )\n" ); + print( out, " #include \"ta_defs.h\"\n" ); + print( out, " #include \"ta_java_defs.h\"\n" ); + print( out, " #define TA_INTERNAL_ERROR(Id) (RetCode.InternalError)\n" ); + print( out, "#else\n" ); + print( out, " #include \n" ); + print( out, " #include \n" ); + print( out, " #include \"ta_func.h\"\n" ); + print( out, "#endif\n" ); + print( out, "\n" ); + print( out, "#ifndef TA_UTILITY_H\n" ); + print( out, " #include \"ta_utility.h\"\n" ); + print( out, "#endif\n" ); + print( out, "\n" ); + print( out, "#ifndef TA_MEMORY_H\n" ); + print( out, " #include \"ta_memory.h\"\n" ); + print( out, "#endif\n" ); + print( out, "\n" ); + print( out, "#define TA_PREFIX(x) TA_##x\n" ); + print( out, "#define INPUT_TYPE double\n" ); + print( out, "\n" ); + print( out, "#if defined( _MANAGED )\n" ); + printFunc( out, NULL, funcInfo, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0 ); + print( out, "#elif defined( _JAVA )\n" ); + printFunc( out, NULL, funcInfo, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0 ); + print( out, "#else\n" ); + printFunc( out, NULL, funcInfo, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 ); + print( out, "#endif\n" ); + + genPrefix = 0; + skipToGenCode( funcInfo->name, gOutFunc_C->file, gOutFunc_C->templateFile ); + + genPrefix = 1; + if( funcInfo->nbOptInput != 0 ) + print( out, "#ifndef TA_FUNC_NO_RANGE_CHECK\n" ); + printFunc( out, NULL, funcInfo, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0 ); + if( funcInfo->nbOptInput != 0 ) + print( out, "#endif /* TA_FUNC_NO_RANGE_CHECK */\n" ); + else + print( out, "/* No parameters to validate. */\n" ); + + genPrefix = 0; + skipToGenCode( funcInfo->name, gOutFunc_C->file, gOutFunc_C->templateFile ); + + genPrefix = 1; + fprintf( out, "/*\n" ); + printFuncHeaderDoc( out, funcInfo, " * " ); + fprintf( out, " */\n" ); + print( out, "\n" ); + print( out, "#if defined( _MANAGED ) && defined( USE_SUBARRAY )\n" ); + printFunc( out, NULL, funcInfo, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0 ); + print( out, "#elif defined( _MANAGED )\n" ); + printFunc( out, NULL, funcInfo, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 ); + print( out, "#elif defined( _JAVA )\n" ); + + /* Handle special case to avoid duplicate definition of min,max */ + if( strcmp( funcInfo->camelCaseName, "Min" ) == 0 ) + print( out, "#undef min\n" ); + else if( strcmp( funcInfo->camelCaseName, "Max" ) == 0 ) + print( out, "#undef max\n" ); + + printFunc( out, NULL, funcInfo, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 ); + print( out, "#else\n" ); + printFunc( out, NULL, funcInfo, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ); + print( out, "#endif\n" ); + + genPrefix = 0; + skipToGenCode( funcInfo->name, gOutFunc_C->file, gOutFunc_C->templateFile ); + + genPrefix = 1; + print( out, "\n" ); + print( out, "#ifndef TA_FUNC_NO_RANGE_CHECK\n" ); + print( out, "\n" ); + print( out, " /* Validate the requested output range. */\n" ); + print( out, " if( startIdx < 0 )\n" ); + print( out, " return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_START_INDEX,OutOfRangeStartIndex);\n" ); + print( out, " if( (endIdx < 0) || (endIdx < startIdx))\n" ); + print( out, " return ENUM_VALUE(RetCode,TA_OUT_OF_RANGE_END_INDEX,OutOfRangeEndIndex);\n" ); + print( out, "\n" ); + /* Generate the code for checking the parameters. + * Also generates the code for setting up the + * default values. + */ + printFunc( out, NULL, funcInfo, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 ); + + print( out, "#endif /* TA_FUNC_NO_RANGE_CHECK */\n" ); + print( out, "\n" ); + + skipToGenCode( funcInfo->name, gOutFunc_C->file, gOutFunc_C->templateFile ); + + /* Put a marker who is going to be used in the second pass */ + fprintf( out, "%%%%%%GENCODE%%%%%%\n" ); +} + +static void printOptInputValidation( FILE *out, + const char *name, + const TA_OptInputParameterInfo *optInputParamInfo, + int lookbackValidationCode /* Boolean */ ) +{ + int minInt, maxInt; + double minReal, maxReal; + unsigned int i; + int isMAType; + + const TA_RealList *realList; + const TA_IntegerList *integerList; + const TA_RealRange *realRange; + const TA_IntegerRange *integerRange; + + minInt = maxInt = (int)0; + minReal = maxReal = (double)0.0; + + switch( optInputParamInfo->type ) + { + case TA_OptInput_RealRange: + realRange = (const TA_RealRange *)optInputParamInfo->dataSet; + minReal = realRange->min; + maxReal = realRange->max; + break; + case TA_OptInput_IntegerRange: + integerRange = (const TA_IntegerRange *)optInputParamInfo->dataSet; + minInt = integerRange->min; + maxInt = integerRange->max; + break; + case TA_OptInput_RealList: + /* Go through the list to find the min/max. */ + realList = (const TA_RealList *)optInputParamInfo->dataSet; + minReal = realList->data[0].value; + maxReal = realList->data[0].value; + for( i=0; i < realList->nbElement; i++ ) + { + minReal = min( realList->data[i].value, minReal ); + maxReal = max( realList->data[i].value, maxReal ); + } + break; + case TA_OptInput_IntegerList: + /* Go through the list to find the min/max. */ + integerList = (const TA_IntegerList *)optInputParamInfo->dataSet; + minInt = integerList->data[0].value; + maxInt = integerList->data[0].value; + for( i=0; i < integerList->nbElement; i++ ) + { + minInt = min( integerList->data[i].value, minInt ); + maxInt = max( integerList->data[i].value, maxInt ); + } + break; + } + + /* Boolean to detect special TA_MAType enumeration. */ + if( optInputParamInfo->dataSet == TA_DEF_UI_MA_Method.dataSet ) + isMAType = 1; + else + isMAType = 0; + + switch( optInputParamInfo->type ) + { + case TA_OptInput_RealList: + print( out, " /* min/max are checked for %s. */\n", name ); + case TA_OptInput_RealRange: + print( out, " if( %s == TA_REAL_DEFAULT )\n", name ); + print( out, " %s = %s;\n", name, doubleToStr(optInputParamInfo->defaultValue) ); + print( out, " else if( (%s < %s) ||", name, doubleToStr(minReal) ); + print( out, " (%s > %s) )\n", name, doubleToStr(maxReal) ); + break; + case TA_OptInput_IntegerRange: + print( out, " /* min/max are checked for %s. */\n", name ); + case TA_OptInput_IntegerList: + print( out, " if( (int)%s == TA_INTEGER_DEFAULT )\n", name ); + print( out, " %s = %s%d;\n", name, isMAType?"(TA_MAType)":"", (int)optInputParamInfo->defaultValue ); + print( out, " else if( ((int)%s < %d) || ((int)%s > %d) )\n", + name, minInt, + name, maxInt ); + break; + } + + if( lookbackValidationCode ) + print( out, " return -1;\n" ); + else + print( out, " return ENUM_VALUE(RetCode,TA_BAD_PARAM,BadParam);\n" ); + + print( out, "\n" ); +} + + +static int skipToGenCode( const char *dstName, FILE *out, FILE *templateFile ) +{ + unsigned int headerWritten = 0; + + while( fgets( gTempBuf, BUFFER_SIZE, templateFile ) ) + { + if( strncmp( gTempBuf, "%%%GENCODE%%%", 13 ) == 0 ) + { + headerWritten = 1; + break; + } + if( out && (fputs( gTempBuf, out ) == EOF) ) + { + printf( "Cannot write to [%s]\n", dstName ); + return -1; + } + } + + if( !headerWritten ) + { + printf( "Line with string %%%%%%GENCODE%%%%%% Missing in [%s]", dstName ); + return -1; + } + + return 0; +} + +static void printFuncHeaderDoc( FILE *out, + const TA_FuncInfo *funcInfo, + const char *prefix ) +{ + TA_RetCode retCode; + unsigned int paramNb; + const char *paramName; + const char *defaultParamName; + const TA_InputParameterInfo *inputParamInfo; + const TA_OptInputParameterInfo *optInputParamInfo; + const TA_OutputParameterInfo *outputParamInfo; + int first; + + fprintf( out, "%sTA_%s - %s\n", prefix, funcInfo->name, funcInfo->hint ); + fprintf( out, prefix ); + + fprintf( out, "\n" ); + fprintf( out, "%sInput = ", prefix ); + for( paramNb=0; paramNb < funcInfo->nbInput; paramNb++ ) + { + retCode = TA_GetInputParameterInfo( funcInfo->handle, + paramNb, &inputParamInfo ); + + if( retCode != TA_SUCCESS ) + { + printf( "[%s] invalid 'input' information\n", funcInfo->name ); + return; + } + + switch( inputParamInfo->type ) + { + case TA_Input_Price: + first = 1; + #define PRICE_PARAM(upperParam,lowerParam) \ + { \ + if( inputParamInfo->flags & TA_IN_PRICE_##upperParam ) \ + { \ + if( !first ) fprintf( out, ", " ); \ + fprintf( out, lowerParam ); \ + first = 0; \ + } \ + } + + PRICE_PARAM( OPEN, "Open" ); + PRICE_PARAM( HIGH, "High" ); + PRICE_PARAM( LOW, "Low" ); + PRICE_PARAM( CLOSE, "Close" ); + PRICE_PARAM( VOLUME, "Volume" ); + PRICE_PARAM( OPENINTEREST, "OpenInterest" ); + PRICE_PARAM( TIMESTAMP, "Timestamp" ); + + #undef PRICE_PARAM + + break; + case TA_Input_Integer: + fprintf( out, "int" ); + break; + case TA_Input_Real: + fprintf( out, "double" ); + break; + } + if( paramNb+1 == funcInfo->nbInput ) + fprintf( out, "\n" ); + else + fprintf( out, ", " ); + } + + fprintf( out, "%sOutput = ", prefix ); + for( paramNb=0; paramNb < funcInfo->nbOutput; paramNb++ ) + { + retCode = TA_GetOutputParameterInfo( funcInfo->handle, + paramNb, &outputParamInfo ); + + if( retCode != TA_SUCCESS ) + { + printf( "[%s] invalid 'output' information\n", funcInfo->name ); + return; + } + + switch( outputParamInfo->type ) + { + case TA_Output_Real: + fprintf( out, "double" ); + break; + case TA_Output_Integer: + fprintf( out, "int" ); + break; + } + if( paramNb+1 == funcInfo->nbOutput ) + fprintf( out, "\n" ); + else + fprintf( out, ", " ); + } + + if( funcInfo->nbOptInput != 0 ) + { + fprintf( out, "%s\n", prefix ); + fprintf( out, "%sOptional Parameters\n", prefix ); + fprintf( out, "%s-------------------\n", prefix ); + + for( paramNb=0; paramNb < funcInfo->nbOptInput; paramNb++ ) + { + retCode = TA_GetOptInputParameterInfo( funcInfo->handle, + paramNb, &optInputParamInfo ); + + if( retCode != TA_SUCCESS ) + { + printf( "[%s] invalid 'optional input' information\n", funcInfo->name ); + return; + } + + paramName = optInputParamInfo->paramName; + + switch( optInputParamInfo->type ) + { + case TA_OptInput_RealRange: + case TA_OptInput_RealList: + defaultParamName = "optInReal"; + break; + case TA_OptInput_IntegerRange: + case TA_OptInput_IntegerList: + defaultParamName = "optInInteger"; + break; + default: + if( !paramName ) + paramName = "optInParam"; + printf( "[%s,%s,%d] invalid 'optional input' type(%d)\n", + funcInfo->name, paramName, paramNb, + optInputParamInfo->type ); + return; + } + + if( !paramName ) + paramName = defaultParamName; + + fprintf( out, "%s%s:", prefix, paramName ); + switch( optInputParamInfo->type ) + { + case TA_OptInput_RealRange: + if( ((TA_RealRange *)(optInputParamInfo->dataSet))->min == TA_REAL_MIN ) + fprintf( out, "(From TA_REAL_MIN" ); + else + { + fprintf( out, "(From %.*g", + ((TA_RealRange *)(optInputParamInfo->dataSet))->precision, + ((TA_RealRange *)(optInputParamInfo->dataSet))->min ); + } + + if( ((TA_RealRange *)(optInputParamInfo->dataSet))->max == TA_REAL_MAX ) + fprintf( out, " to TA_REAL_MAX)\n" ); + else + { + fprintf( out, " to %.*g%s)\n", + ((TA_RealRange *)(optInputParamInfo->dataSet))->precision, + ((TA_RealRange *)(optInputParamInfo->dataSet))->max, + optInputParamInfo->flags & TA_OPTIN_IS_PERCENT? " %":"" ); + } + break; + case TA_OptInput_IntegerRange: + if( ((TA_IntegerRange *)(optInputParamInfo->dataSet))->min == TA_INTEGER_MIN ) + fprintf( out, "(From TA_INTEGER_MIN" ); + else + { + fprintf( out, "(From %d", + ((TA_IntegerRange *)(optInputParamInfo->dataSet))->min ); + } + + if( ((TA_IntegerRange *)(optInputParamInfo->dataSet))->max == TA_INTEGER_MAX ) + fprintf( out, " to TA_INTEGER_MAX)\n" ); + else + { + fprintf( out, " to %d)\n", + ((TA_IntegerRange *)(optInputParamInfo->dataSet))->max ); + } + break; + default: + fprintf( out, "\n" ); + } + fprintf( out, "%s %s\n", prefix, optInputParamInfo->hint ); + fprintf( out, "%s\n", prefix ); + } + } + + fprintf( out, "%s\n", prefix ); +} + +static int addUnstablePeriodEnum( FILE *out ) +{ + TA_RetCode retCode; + unsigned int id; + + print( out, "\n" ); + print( out, "ENUM_BEGIN( FuncUnstId )\n"); + + /* Enumerate the function having an "unstable period". Give + * to each a unique identifier. + */ + id = 0; + retCode = TA_ForEachFunc( doForEachUnstableFunction, &id ); + + print( out, " ENUM_DEFINE( TA_FUNC_UNST_ALL, FuncUnstAll),\n"); + print( out, " ENUM_DEFINE( TA_FUNC_UNST_NONE, FuncUnstNone) = -1\n" ); + print( out, "ENUM_END( FuncUnstId )\n"); + + if( retCode != TA_SUCCESS ) + return -1; + + return 0; +} + +static int gen_retcode( void ) +{ + FileHandle *inHdr; + char *ptr1, *ptr2; + int step1Done; + int retValue; + TA_RetCode retCodeValue; + char *retCodeEnum, *retCodeInfo; + + retValue = -1; + + /* Create "ta_retcode.c" */ + gOutRetCode_C = fileOpen( "..\\src\\ta_common\\ta_retcode.c", + "..\\src\\ta_abstract\\templates\\ta_retcode.c.template", + FILE_WRITE|WRITE_ON_CHANGE_ONLY ); + + if( gOutRetCode_C == NULL ) + { + printf( "\nCannot access [%s]\n", gToOpen ); + return -1; + } + + /* Create "ta_retcode.csv" */ + gOutRetCode_CSV = fileOpen( "..\\src\\ta_common\\ta_retcode.csv", + NULL, + FILE_WRITE|WRITE_ON_CHANGE_ONLY ); + + if( gOutRetCode_CSV == NULL ) + { + fileClose( gOutRetCode_C ); + printf( "\nCannot access [%s]\n", gToOpen ); + return -1; + } + + inHdr = fileOpen( "..\\include\\ta_defs.h", + NULL, + FILE_READ ); + if( inHdr == NULL ) + { + fileClose( gOutRetCode_C ); + fileClose( gOutRetCode_CSV ); + printf( "\nCannot access [%s]\n", gToOpen ); + return -1; + } + + step1Done = 0; + while( fgets( gTempBuf, sizeof( gTempBuf ), inHdr->file ) ) + { + if( !step1Done ) + { + if( strstr( gTempBuf, "ENUM_BEGIN( RetCode )" ) != NULL ) + step1Done = 1; + } + else + { + if( strstr( gTempBuf, "TA_UNKNOWN_ERR" ) != NULL ) + { + retValue = 0; + goto gen_retcode_exit; + } + + ptr1 = strstr( gTempBuf, "/*" ); + ptr2 = strstr( gTempBuf, "/***" ); + if( ptr1 && !ptr2 ) + { + ptr1 += 2; + retCodeValue = (TA_RetCode)atoi(ptr1); + ptr1 = strstr( ptr1, "TA_" ); + if( !ptr1 ) + { + printf( "Can't find TA_" ); + goto gen_retcode_exit; + } + retCodeEnum = ptr1; + + retCodeInfo = NULL; + while( isdigit(*ptr1) || isalpha(*ptr1) || *ptr1 == '_' ) + ptr1++; + if( *ptr1 != '\0' ) + { + *ptr1 = '\0'; + ptr1++; + if( *ptr1 != '\0' ) + { + retCodeInfo = strstr( ptr1, "/* " ); + if( retCodeInfo ) + { + retCodeInfo += 3; + ptr1 = strstr( retCodeInfo, "*/" ); + if( ptr1 == NULL ) + retCodeInfo = NULL; + else + *ptr1 = '\0'; + } + } + } + + if( !retCodeInfo ) + retCodeInfo = "No Info"; + + strcpy( gTempBuf, retCodeEnum ); + ptr1 = trimWhitespace( gTempBuf ); + fprintf( gOutRetCode_C->file, " {(TA_RetCode)%d,\"%s\",", retCodeValue, ptr1 ); + fprintf( gOutRetCode_CSV->file, "%d,%s", retCodeValue, ptr1 ); + strcpy( gTempBuf, retCodeInfo ); + ptr1 = trimWhitespace( gTempBuf ); + fprintf( gOutRetCode_C->file, "\"%s\"},\n", ptr1 ); + fprintf( gOutRetCode_CSV->file, ",%s\n", ptr1 ); + } + } + } + +gen_retcode_exit: + fileClose( inHdr ); + fileClose( gOutRetCode_C ); + fileClose( gOutRetCode_CSV ); + + return retValue; /* Success. */ +} + +const char *doubleToStr( double value ) +{ + int length; + int i, outIdx; + sprintf( gTempDoubleToStr, "%e", value ); + + /* Remove extra "0" added by Microsoft in the + * exponential part. + */ + length = (int)strlen( gTempDoubleToStr ); + outIdx = 0; + for( i=0; i < length; i++ ) + { + /* Will skip two leading zero in the exponent */ + if( (i >= 2) && + (toupper(gTempDoubleToStr[i-2]) == 'E') && + ((gTempDoubleToStr[i-1] == '+')||(gTempDoubleToStr[i-1] == '-')) && + (gTempDoubleToStr[i] == '0') && + (gTempDoubleToStr[i+1] == '0') && + (isdigit(gTempDoubleToStr[i+2])) ) + { + i++; + continue; + } + + /* Will skip one leading zero in the exponent */ + if( (i >= 2) && + (toupper(gTempDoubleToStr[i-2]) == 'E') && + ((gTempDoubleToStr[i-1] == '+')||(gTempDoubleToStr[i-1] == '-')) && + (gTempDoubleToStr[i] == '0') && + (isdigit(gTempDoubleToStr[i+1]))) + { + continue; + } + + gTempDoubleToStr[outIdx++] = gTempDoubleToStr[i]; + } + gTempDoubleToStr[outIdx] = '\0'; + + return gTempDoubleToStr; +} + +static void cnvtToUpperCase( char *str ) +{ + char c; + + if( !str ) return; + + c = *str; + while( c != '\0' ) + { + *str = (char)toupper(c); + str++; + c = *str; + } +} + +static char *trimWhitespace( char *str ) +{ + int i; + + if( !str ) return str; + + while( isspace(*str) ) str++; + if( *str == '\0' ) return str; + + for( i=(int)strlen(str)-1; i >= 0; i-- ) + { + if( !isspace(str[i]) ) + return str; + str[i] = '\0'; + } + + return str; +} + +static void cnvtChar( char *str, char from, char to ) +{ + char c; + + if( !str ) return; + + c = *str; + while( c != '\0' ) + { + if( c == from ) *str = to; + str++; + c = *str; + } +} + +#ifdef _MSC_VER +static void printExcelGlueCode( FILE *out, const TA_FuncInfo *funcInfo ) +{ + /*fprintf( out, "#include \"ta_%s.c\"\n", funcInfo->name ); + fprintf( out, "#include \"ta_%s_frame.c\"\n", funcInfo->name ); */ + int nbParam; + unsigned int i; + TA_RetCode retCode; + const TA_InputParameterInfo *inputParamInfo; + + nbParam = funcInfo->nbOptInput; + + for( i=0; i < funcInfo->nbInput; i++ ) + { + retCode = TA_GetInputParameterInfo( funcInfo->handle, + i, &inputParamInfo ); + + if( retCode != TA_SUCCESS ) + { + printf( "[%s] invalid 'input' information (%d,%d)\n", funcInfo->name, i, nbParam ); + return; + } + + if( inputParamInfo->type != TA_Input_Price ) + nbParam++; + else + { + if( inputParamInfo->flags & TA_IN_PRICE_TIMESTAMP ) + nbParam++; + if( inputParamInfo->flags & TA_IN_PRICE_OPEN ) + nbParam++; + if( inputParamInfo->flags & TA_IN_PRICE_HIGH ) + nbParam++; + if( inputParamInfo->flags & TA_IN_PRICE_LOW ) + nbParam++; + if( inputParamInfo->flags & TA_IN_PRICE_CLOSE ) + nbParam++; + if( inputParamInfo->flags & TA_IN_PRICE_VOLUME ) + nbParam++; + if( inputParamInfo->flags & TA_IN_PRICE_OPENINTEREST ) + nbParam++; + } + } + + fprintf( out, "EXCEL_GLUE_CODE_WITH_%d_PARAM(%s)\n", + nbParam, + funcInfo->name ); +} +#endif + + +static void extractTALogic( FILE *inFile, FILE *outFile ) +{ + int i, length, nbCodeChar; + int commentBlock, commentFirstCharFound, outIdx; + + #define START_DELIMITATOR "/**** END GENCODE SECTION 3" + #define STOP_DELIMITATOR "/**** START GENCODE SECTION 5" + + /* Find the begining of the function */ + while( fgets( gTempBuf, BUFFER_SIZE, inFile ) ) + { + length = (int)strlen(gTempBuf); + if( length > BUFFER_SIZE ) + return; + + if( strncmp( gTempBuf, START_DELIMITATOR, strlen(START_DELIMITATOR) ) == 0) + break; + } + + /* Copy until the end of the function. + * At the same time, eliminate all empty line and + * comments to avoid confusion with original code. + */ + commentBlock = 0; + commentFirstCharFound = 0; + while( fgets( gTempBuf, BUFFER_SIZE, inFile ) ) + { + length = (int)strlen(gTempBuf); + if( length > BUFFER_SIZE ) + return; + + if( strncmp( gTempBuf, STOP_DELIMITATOR, strlen(STOP_DELIMITATOR) ) == 0) + break; + + /* Process the whole line and put it in gTempBuf2 */ + outIdx = 0; + nbCodeChar = 0; + for( i=0; i < length; i++ ) + { + if( !commentBlock ) + { + if( !commentFirstCharFound ) + { + if( gTempBuf[i] == '/' ) + commentFirstCharFound = 1; + else + { + gTempBuf2[outIdx++] = gTempBuf[i]; + if( !isspace(gTempBuf[i]) ) + nbCodeChar++; + } + } + else + { + commentFirstCharFound = 0; + if( gTempBuf[i] == '*' ) + commentBlock = 1; + else + { + gTempBuf2[outIdx++] = '/'; + nbCodeChar++; + if( gTempBuf[i] == '/' ) + commentFirstCharFound = 1; + else + { + gTempBuf2[outIdx++] = gTempBuf[i]; + if( !isspace(gTempBuf[i]) ) + nbCodeChar++; + } + } + } + } + else + { + if( !commentFirstCharFound ) + { + if( gTempBuf[i] == '*' ) + commentFirstCharFound = 1; + } + else + { + commentFirstCharFound = 0; + if( gTempBuf[i] == '/' ) + commentBlock = 0; + else if( gTempBuf[i] == '*' ) + commentFirstCharFound = 1; + } + } + } + + if( nbCodeChar != 0 ) + { + gTempBuf2[outIdx] = '\0'; + fputs( "/* Generated */ ", outFile ); + fputs( gTempBuf2, outFile ); + } + } +} + +static int copyFile( const char *src, const char *dest ) +{ + FILE *in; + FILE *out; + + init_gToOpen( src, NULL ); + in = fopen( gToOpen, "rb" ); + if( !in ) + return 0; + + init_gToOpen( dest, NULL ); + out = fopen( gToOpen, "wb" ); + if( !out ) + { + fclose( in ); + return 0; + } + + while( fgets( gTempBuf, BUFFER_SIZE, in ) ) + { + fputs(gTempBuf,out); + } + + fclose(in); + fclose(out); + return 1; +} + +static int areFileSame( const char *file1, const char *file2 ) +{ + /* Text comparison of both files */ + unsigned int i; + + FILE *f1; + FILE *f2; + + + init_gToOpen( file1, NULL ); + f1 = fopen( gToOpen, "r" ); + if( !f1 ) + return 0; + + init_gToOpen( file2, NULL ); + f2 = fopen( gToOpen, "r" ); + if( !f2 ) + { + fclose( f1 ); + return 0; + } + + memset( gTempBuf, 0, sizeof(gTempBuf ) ); + memset( gTempBuf2, 0, sizeof(gTempBuf2) ); + + while( fgets( gTempBuf, BUFFER_SIZE, f1 ) ) + { + if( !fgets( gTempBuf2, BUFFER_SIZE, f2 ) ) + { + fclose(f1); + fclose(f2); + return 0; + } + + for( i=0; i < sizeof(gTempBuf); i++ ) + { + if( gTempBuf[i] != gTempBuf2[i] ) + { + fclose(f1); + fclose(f2); + return 0; + } + if( gTempBuf[i] == '\0' ) + i = sizeof(gTempBuf); + } + + memset( gTempBuf, 0, sizeof(gTempBuf ) ); + memset( gTempBuf2, 0, sizeof(gTempBuf2) ); + } + + if( fgets( gTempBuf2, BUFFER_SIZE, f2 ) ) + { + fclose(f1); + fclose(f2); + return 0; + } + + fclose(f1); + fclose(f2); + return 1; +} + + +static void appendToFunc( FILE *out ) +{ + fprintf( out, "\n" ); + fprintf( out, "/* Some TA functions takes a certain amount of input data\n" ); + fprintf( out, " * before stabilizing and outputing meaningful data. This is\n" ); + fprintf( out, " * a behavior pertaining to the algo of some TA functions and\n" ); + fprintf( out, " * is not particular to the TA-Lib implementation.\n" ); + fprintf( out, " * TA-Lib allows you to automatically strip off these unstabl\n" ); + fprintf( out, " * data from your output and from any internal processing.\n" ); + fprintf( out, " * (See documentation for more info)\n" ); + fprintf( out, " *\n" ); + fprintf( out, " * Examples:\n" ); + fprintf( out, " * TA_SetUnstablePeriod( TA_FUNC_UNST_EMA, 30 );\n" ); + fprintf( out, " * Always strip off 30 price bar for the TA_EMA function.\n" ); + fprintf( out, " *\n" ); + fprintf( out, " * TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 30 );\n" ); + fprintf( out, " * Always strip off 30 price bar from ALL functions\n" ); + fprintf( out, " * having an unstable period.\n" ); + fprintf( out, " *\n" ); + fprintf( out, " * See ta_defs.h for the enumeration TA_FuncUnstId\n" ); + fprintf( out, " */\n" ); + fprintf( out, "\n" ); + fprintf( out, "TA_RetCode TA_SetUnstablePeriod( TA_FuncUnstId id,\n" ); + fprintf( out, " unsigned int unstablePeriod );\n" ); + fprintf( out, "\n" ); + fprintf( out, "unsigned int TA_GetUnstablePeriod( TA_FuncUnstId id );\n" ); + fprintf( out, "\n" ); + fprintf( out, "/* You can change slightly the behavior of the TA functions\n" ); + fprintf( out, " * by requesting compatibiliy with some existing software.\n" ); + fprintf( out, " *\n" ); + fprintf( out, " * By default, the behavior is as close as the original \n" ); + fprintf( out, " * author of the TA functions intend it to be.\n" ); + fprintf( out, " *\n" ); + fprintf( out, " * See ta_defs.h for the enumeration TA_Compatibility.\n" ); + fprintf( out, " */\n" ); + fprintf( out, "TA_RetCode TA_SetCompatibility( TA_Compatibility value );\n" ); + fprintf( out, "TA_Compatibility TA_GetCompatibility( void );\n" ); + fprintf( out, "\n" ); + fprintf( out, "/* Candlesticks struct and functions\n" ); + fprintf( out, " * Because candlestick patterns are subjective, it is necessary \n" ); + fprintf( out, " * to allow the user to specify what should be the meaning of \n" ); + fprintf( out, " * 'long body', 'short shadows', etc.\n" ); + fprintf( out, " */\n" ); + fprintf( out, "\n" ); + fprintf( out, "/* Call TA_SetCandleSettings to set that when comparing a candle \n" ); + fprintf( out, " * basing on settingType it must be compared with the average \n" ); + fprintf( out, " * of the last avgPeriod candles' rangeType multiplied by factor.\n" ); + fprintf( out, " * This setting is valid until TA_RestoreCandleDefaultSettings is called\n" ); + fprintf( out, " */\n" ); + fprintf( out, "TA_RetCode TA_SetCandleSettings( TA_CandleSettingType settingType, \n" ); + fprintf( out, " TA_RangeType rangeType, \n" ); + fprintf( out, " int avgPeriod, \n" ); + fprintf( out, " double factor );\n" ); + fprintf( out, "\n" ); + fprintf( out, "/* Call TA_RestoreCandleDefaultSettings after using custom settings \n" ); + fprintf( out, " * to restore the default settings for the specified settingType\n" ); + fprintf( out, " */\n" ); + fprintf( out, "TA_RetCode TA_RestoreCandleDefaultSettings( TA_CandleSettingType settingType );\n" ); +} + +#ifdef _MSC_VER +void genJavaCodePhase1( const TA_FuncInfo *funcInfo ) +{ + fprintf( gOutJavaDefs_H->file, "#define TA_%s_Lookback %c%sLookback\n", funcInfo->name, tolower(funcInfo->camelCaseName[0]), &funcInfo->camelCaseName[1] ); + fprintf( gOutJavaDefs_H->file, "#define TA_%s %c%s\n", funcInfo->name, tolower(funcInfo->camelCaseName[0]), &funcInfo->camelCaseName[1] ); +} + +void genJavaCodePhase2( const TA_FuncInfo *funcInfo ) +{ + FILE *logicTmp; + char buffer[500]; + int idx, again; + static int firstTime = 1; + + if( firstTime == 1 ) + { + /* Clean-up jus tin case. */ + fileDelete( "..\\temp\\CoreJavaCode1.tmp" ); + fileDelete( "..\\temp\\CoreJavaCode2.tmp" ); + firstTime = 0; + } + + init_gToOpen( "..\\temp\\CoreJavaCode1.tmp", NULL ); + logicTmp = fopen( gToOpen, "w" ); + if( !logicTmp ) + { + printf( "Cannot open CoreJavaCode1.tmp\n" ); + return; + } + fprintf( logicTmp, "#include \"ta_java_defs.h\"\n" ); + fclose(logicTmp); + + sprintf( buffer, "..\\src\\tools\\gen_code\\mcpp -c -+ -z -P -I..\\src\\ta_common -I..\\src\\ta_abstract -I..\\include -D _JAVA ..\\src\\ta_func\\TA_%s.c >>..\\temp\\CoreJavaCode1.tmp ", funcInfo->name); + system( buffer ); + + sprintf( buffer, "..\\src\\tools\\gen_code\\mcpp -c -+ -z -P -I..\\src\\ta_common -I..\\src\\ta_abstract -I..\\include -D _JAVA ..\\temp\\CoreJavaCode1.tmp >..\\temp\\CoreJavaCode2.tmp " ); + system( buffer ); + + /* Append the output of the C pre-processor to the Core.Java file. */ + init_gToOpen( "..\\temp\\CoreJavaCode2.tmp", NULL ); + logicTmp = fopen( gToOpen, "r" ); + if( !logicTmp ) + { + printf( "Cannot open CoreJavaCode2.tmp\n" ); + return; + } + while( fgets(gTempBuf,BUFFER_SIZE,logicTmp) ) + { + /* Remove empty lines and lines with only a ';' */ + idx = 0; + again = 1; + while( again && gTempBuf[idx] != '\0' ) + { + if( !isspace(gTempBuf[idx]) && !(gTempBuf[idx] == ';') ) + again = 0; + idx++; + } + if( (again == 0) && (idx > 0) ) + fputs( gTempBuf, gOutCore_Java->file ); + } + + /* Clean-up */ + fclose(logicTmp); + print( gOutCore_Java->file, "\n" ); + fileDelete( "..\\temp\\CoreJavaCode1.tmp" ); + fileDelete( "..\\temp\\CoreJavaCode2.tmp" ); +} +#endif + + +static int generateFuncAPI_C() +{ + FileHandle *inFile; + FILE *out; + FILE *in; + + #define FILE_INPUT "..\\..\\ta_func_api.xml" + #define FILE_OUTPUT "..\\src\\ta_abstract\\ta_func_api.c" + #define FILE_OUTPUT_TEMPLATE "..\\src\\ta_abstract\\templates\\ta_func_api.c.template" + + inFile = fileOpen( FILE_INPUT, NULL, FILE_READ ); + if( inFile == NULL ) + { + printf( "\nCannot access [%s]\n", gToOpen ); + return -1; + } + gOutFuncAPI_C = fileOpen( FILE_OUTPUT, FILE_OUTPUT_TEMPLATE, FILE_WRITE|WRITE_ON_CHANGE_ONLY ); + if( gOutFuncAPI_C == NULL ) + { + printf( "\nCannot write to [%s]\n", gToOpen ); + return -1; + } + + out = gOutFuncAPI_C->file; + in = inFile->file; + + convertFileToCArray(in, out); + + fileClose(gOutFuncAPI_C); + fileClose(inFile); + + return 1; +} + +static void convertFileToCArray( FILE *in, FILE *out ) +{ + int c; + int position; + + position = 0; + c = getc(in); + while( c != EOF ) + { + if( position == 0 ) + fprintf( out, "0x%02X", (char)c ); + else + { + fprintf( out, ",0x%02X", (char)c ); + if( (position % 20) == 0 ) + fprintf( out, "\n" ); + } + position++; + c = getc(in); + } + +} + +#ifdef _MSC_VER +static void printJavaFunctionAnnotation(const TA_FuncInfo *funcInfo) +{ + TA_RetCode retCode; + TA_InputParameterInfo *inputInfo; + TA_OptInputParameterInfo *optInputInfo; + TA_OutputParameterInfo *outputInfo; + TA_RealRange *doubleRange; + TA_IntegerRange *integerRange; + TA_IntegerList *intList; + unsigned int i, j; + #define FUNCNAME_SIZE 100 + char funcName[FUNCNAME_SIZE]; + + memset(funcName, 0, FUNCNAME_SIZE); + if( strlen(funcInfo->name) > (FUNCNAME_SIZE-1) ) + { + printf( "\n*** Error buffer size exceeded (printJavaFunctionAnnotation)\n" ); + strcpy( funcName, "1A2"); /* Substitute name. Will cause Java compilation to fail */ + } + else + { + if (funcInfo->camelCaseName==NULL) { + strcpy(funcName, funcInfo->name); + for (i=0; funcName[i]; i++) { + funcName[i] = tolower(funcName[i]); + } + } else { + strcpy(funcName, funcInfo->camelCaseName); + funcName[0] = tolower(funcName[0]); + } + } + + + /* + * Generate Lookback method + */ + fprintf(gOutFunc_Annotation->file, "public int %sLookback(\n", funcName); + for(i=0; inbOptInput; i++) + { + retCode = TA_GetOptInputParameterInfo( funcInfo->handle, i, (void*)&optInputInfo ); + if(optInputInfo->type == TA_OptInput_RealRange) + { + fprintf(gOutFunc_Annotation->file, " double %s", optInputInfo->paramName); + } + else if(optInputInfo->type == TA_OptInput_IntegerRange) + { + fprintf(gOutFunc_Annotation->file, " int %s", optInputInfo->paramName); + } + else if(optInputInfo->type == TA_OptInput_IntegerList) + { + fprintf(gOutFunc_Annotation->file, " MAType %s", optInputInfo->paramName); + } + else + { + printf( "Unexpected error 1 (doForEachFunctionAnnotation)\n"); + } + if (inbOptInput-1) fprintf(gOutFunc_Annotation->file, ",\n"); + } + fprintf(gOutFunc_Annotation->file, ") {\n"); + fprintf(gOutFunc_Annotation->file, " return super.%sLookback(\n", funcName); + for(i=0; inbOptInput; i++) + { + retCode = TA_GetOptInputParameterInfo( funcInfo->handle, i, (void*)&optInputInfo ); + fprintf(gOutFunc_Annotation->file, " %s", optInputInfo->paramName); + if (inbOptInput-1) fprintf(gOutFunc_Annotation->file, ",\n"); + } + fprintf(gOutFunc_Annotation->file, "); }\n\n"); + + /* + * Annotate Function + */ + fprintf(gOutFunc_Annotation->file, "@FuncInfo(\n"); + fprintf(gOutFunc_Annotation->file, " name = \"%s\",\n", funcInfo->name); + fprintf(gOutFunc_Annotation->file, " group = \"%s\",\n", funcInfo->group); + fprintf(gOutFunc_Annotation->file, " flags = %d,\n", funcInfo->flags); /* TODO: should be like: FuncFlags.TA_FUNC_FLG_OVERLAP | FuncFlags.TA_FUNC_FLG_UNST_PER */ + /*fprintf(gOutFunc_Annotation->file, " hint = \"%s\",\n", funcInfo->hint);*/ + /*fprintf(gOutFunc_Annotation->file, " helpFile = \"%s\",\n", funcInfo->helpFile);*/ + fprintf(gOutFunc_Annotation->file, " nbInput = %d,\n", funcInfo->nbInput); + fprintf(gOutFunc_Annotation->file, " nbOptInput = %d,\n", funcInfo->nbOptInput); + fprintf(gOutFunc_Annotation->file, " nbOutput = %d\n", funcInfo->nbOutput); + fprintf(gOutFunc_Annotation->file, ")\n"); + fprintf(gOutFunc_Annotation->file, "public RetCode %s(\n", funcName); + + fprintf(gOutFunc_Annotation->file, " int startIdx,\n"); + fprintf(gOutFunc_Annotation->file, " int endIdx,\n"); + + + /* + * Anotate Input parameters + */ + for(i=0; inbInput; i++) + { + char idx = ' '; + /*if (funcInfo->nbInput>1) idx='0'+i;*/ /* TODO: compile Java code and see if it is necessary to distinguish parameters*/ + + retCode = TA_GetInputParameterInfo( funcInfo->handle, i, (void*)&inputInfo); + if(inputInfo->type == TA_Input_Price) + { + fprintf(gOutFunc_Annotation->file, " @InputParameterInfo(\n"); + fprintf(gOutFunc_Annotation->file, " paramName = \"%s\",\n", inputInfo->paramName); + fprintf(gOutFunc_Annotation->file, " flags = %d,\n", inputInfo->flags); + /*fprintf(gOutFunc_Annotation->file, " hint = \"%s\",\n", inputInfo->hint);*/ + /*fprintf(gOutFunc_Annotation->file, " helpFile = \"%s\",\n", inputInfo->helpFile);*/ + fprintf(gOutFunc_Annotation->file, " type = InputParameterType.TA_Input_Price\n"); + fprintf(gOutFunc_Annotation->file, " )\n"); + + if(inputInfo->flags & TA_IN_PRICE_OPEN) + { + fprintf(gOutFunc_Annotation->file, " double inOpen%c[],\n",idx); + } + if(inputInfo->flags & TA_IN_PRICE_HIGH) + { + fprintf(gOutFunc_Annotation->file, " double inHigh%c[],\n",idx); + } + if(inputInfo->flags & TA_IN_PRICE_LOW) + { + fprintf(gOutFunc_Annotation->file, " double inLow%c[],\n",idx); + } + if(inputInfo->flags & TA_IN_PRICE_CLOSE) + { + fprintf(gOutFunc_Annotation->file, " double inClose%c[],\n",idx); + } + if(inputInfo->flags & TA_IN_PRICE_VOLUME) + { + fprintf(gOutFunc_Annotation->file, " double inVolume%c[],\n",idx); + } + if(inputInfo->flags & TA_IN_PRICE_OPENINTEREST) + { + fprintf(gOutFunc_Annotation->file, " double inOpenInterest%c[],\n",idx); /* FIXME: does it exist? */ + } + if(inputInfo->flags & TA_IN_PRICE_TIMESTAMP) + { + fprintf(gOutFunc_Annotation->file, " long inTimestamp%c[],\n",idx); /* FIXME: does it exist? */ + } + } + else + { + if(inputInfo->type == TA_Input_Real) + { + fprintf(gOutFunc_Annotation->file, " @InputParameterInfo(\n"); + fprintf(gOutFunc_Annotation->file, " paramName = \"%s\",\n", inputInfo->paramName); + fprintf(gOutFunc_Annotation->file, " flags = %d,\n", inputInfo->flags); + fprintf(gOutFunc_Annotation->file, " type = InputParameterType.TA_Input_Real\n"); + fprintf(gOutFunc_Annotation->file, " )\n"); + fprintf(gOutFunc_Annotation->file, " double %s[],\n", inputInfo->paramName); + } + else if(inputInfo->type == TA_Input_Integer) + { + fprintf(gOutFunc_Annotation->file, " @InputParameterInfo(\n"); + fprintf(gOutFunc_Annotation->file, " paramName = \"%s\",\n", inputInfo->paramName); + fprintf(gOutFunc_Annotation->file, " flags = %d,\n", inputInfo->flags); + fprintf(gOutFunc_Annotation->file, " type = InputParameterType.TA_Input_Integer\n"); + fprintf(gOutFunc_Annotation->file, " )\n"); + fprintf(gOutFunc_Annotation->file, " int %s[],\n", inputInfo->paramName); + } + else + { + printf( "Unexpected error 2(doForEachFunctionAnnotation)\n"); /* FIXME: fatal error! */ + } + } + } + + + + /* + * Annotate Optional input parameters + */ + for(i=0; inbOptInput; i++) + { + retCode = TA_GetOptInputParameterInfo( funcInfo->handle, i, (void*)&optInputInfo ); + fprintf(gOutFunc_Annotation->file, " @OptInputParameterInfo(\n"); + fprintf(gOutFunc_Annotation->file, " paramName = \"%s\",\n", optInputInfo->paramName); + fprintf(gOutFunc_Annotation->file, " displayName = \"%s\",\n", optInputInfo->displayName); + fprintf(gOutFunc_Annotation->file, " flags = %d,\n", optInputInfo->flags); + /*fprintf(gOutFunc_Annotation->file, " hint = \"%s\",\n", optInputInfo->hint);*/ + /*fprintf(gOutFunc_Annotation->file, " helpFile = \"%s\",\n", optInputInfo->helpFile);*/ + if(optInputInfo->type == TA_OptInput_RealRange) + { + fprintf(gOutFunc_Annotation->file, " type = OptInputParameterType.TA_OptInput_RealRange,\n"); + fprintf(gOutFunc_Annotation->file, " dataSet = com.tictactec.ta.lib.meta.annotation.RealRange.class\n"); + fprintf(gOutFunc_Annotation->file, " )\n"); + doubleRange= (TA_RealRange*)optInputInfo->dataSet; + fprintf(gOutFunc_Annotation->file, " @RealRange(\n"); + fprintf(gOutFunc_Annotation->file, " paramName = \"%s\",\n", optInputInfo->paramName); + fprintf(gOutFunc_Annotation->file, " defaultValue = %.5f,\n", (double)optInputInfo->defaultValue); + fprintf(gOutFunc_Annotation->file, " min = %.5f,\n", doubleRange->min); + fprintf(gOutFunc_Annotation->file, " max = %.5f,\n", doubleRange->max); + fprintf(gOutFunc_Annotation->file, " precision = %d,\n", doubleRange->precision); + fprintf(gOutFunc_Annotation->file, " suggested_start = %.5f,\n", doubleRange->suggested_start); + fprintf(gOutFunc_Annotation->file, " suggested_end = %.5f,\n", doubleRange->suggested_end); + fprintf(gOutFunc_Annotation->file, " suggested_increment = %.5f\n", doubleRange->suggested_increment); + fprintf(gOutFunc_Annotation->file, " )\n"); + fprintf(gOutFunc_Annotation->file, " double %s,\n", optInputInfo->paramName); + } + else if(optInputInfo->type == TA_OptInput_IntegerRange) + { + fprintf(gOutFunc_Annotation->file, " type = OptInputParameterType.TA_OptInput_IntegerRange,\n"); + fprintf(gOutFunc_Annotation->file, " dataSet = com.tictactec.ta.lib.meta.annotation.IntegerRange.class\n"); + fprintf(gOutFunc_Annotation->file, " )\n"); + integerRange= (TA_IntegerRange*)optInputInfo->dataSet; + fprintf(gOutFunc_Annotation->file, " @IntegerRange(\n"); + fprintf(gOutFunc_Annotation->file, " paramName = \"%s\",\n", optInputInfo->paramName); + fprintf(gOutFunc_Annotation->file, " defaultValue = %d,\n", (int)optInputInfo->defaultValue); + fprintf(gOutFunc_Annotation->file, " min = %d,\n", integerRange->min); + fprintf(gOutFunc_Annotation->file, " max = %d,\n", integerRange->max); + fprintf(gOutFunc_Annotation->file, " suggested_start = %d,\n", integerRange->suggested_start); + fprintf(gOutFunc_Annotation->file, " suggested_end = %d,\n", integerRange->suggested_end); + fprintf(gOutFunc_Annotation->file, " suggested_increment = %d\n", integerRange->suggested_increment); + fprintf(gOutFunc_Annotation->file, " )\n"); + fprintf(gOutFunc_Annotation->file, " int %s,\n", optInputInfo->paramName); + } + else if(optInputInfo->type == TA_OptInput_IntegerList) + { + fprintf(gOutFunc_Annotation->file, " type = OptInputParameterType.TA_OptInput_IntegerList,\n"); + fprintf(gOutFunc_Annotation->file, " dataSet = com.tictactec.ta.lib.meta.annotation.IntegerList.class\n"); + fprintf(gOutFunc_Annotation->file, " )\n"); + intList = (TA_IntegerList*) optInputInfo->dataSet; + /*if( intList != (TA_IntegerList*) TA_DEF_UI_MA_Method.dataSet ) + *{ + * + *} + */ + fprintf(gOutFunc_Annotation->file, " @IntegerList(\n"); + fprintf(gOutFunc_Annotation->file, " paramName = \"%s\",\n", optInputInfo->paramName); + fprintf(gOutFunc_Annotation->file, " defaultValue = %d,\n", (int)optInputInfo->defaultValue); + + if (intList->nbElement>0) { + fprintf(gOutFunc_Annotation->file, " value = { "); + for (j=0; jnbElement-1; j++) { + fprintf(gOutFunc_Annotation->file, "%d, ", intList->data[j].value); + } + fprintf(gOutFunc_Annotation->file, "%d },\n", intList->data[intList->nbElement-1].value); + fprintf(gOutFunc_Annotation->file, " string = { "); + for (j=0; jnbElement-1; j++) { + fprintf(gOutFunc_Annotation->file, "\"%s\", ", intList->data[j].string); + } + fprintf(gOutFunc_Annotation->file, "\"%s\" }\n", intList->data[intList->nbElement-1].string); + } + + fprintf(gOutFunc_Annotation->file, " )\n"); + fprintf(gOutFunc_Annotation->file, " MAType %s,\n", optInputInfo->paramName); + } + else + { + printf( "Unexpected error 2(doForEachFunctionAnnotation)\n"); /* FIXME: fatal error! */ + } + } + + fprintf(gOutFunc_Annotation->file, " MInteger outBegIdx,\n"); + fprintf(gOutFunc_Annotation->file, " MInteger outNBElement,\n"); + + + /* + * Annotate Output parameters + */ + for(i=0; inbOutput; i++) + { + retCode = TA_GetOutputParameterInfo( funcInfo->handle, i, (void*)&outputInfo ); + if(outputInfo->type == TA_Output_Integer) + { + fprintf(gOutFunc_Annotation->file, " @OutputParameterInfo(\n"); + fprintf(gOutFunc_Annotation->file, " paramName = \"%s\",\n", outputInfo->paramName); + fprintf(gOutFunc_Annotation->file, " flags = %d,\n", outputInfo->flags); + /*fprintf(gOutFunc_Annotation->file, " hint = \"%s\",\n", outputInfo->hint);*/ + /*fprintf(gOutFunc_Annotation->file, " helpFile = \"%s\",\n", outputInfo->helpFile);*/ + fprintf(gOutFunc_Annotation->file, " type = OutputParameterType.TA_Output_Integer\n"); + fprintf(gOutFunc_Annotation->file, " )\n"); + fprintf(gOutFunc_Annotation->file, " int %s[]\n", outputInfo->paramName); + } + else if(outputInfo->type == TA_Output_Real) + { + fprintf(gOutFunc_Annotation->file, " @OutputParameterInfo(\n"); + fprintf(gOutFunc_Annotation->file, " paramName = \"%s\",\n", outputInfo->paramName); + fprintf(gOutFunc_Annotation->file, " flags = %d,\n", outputInfo->flags); + fprintf(gOutFunc_Annotation->file, " type = OutputParameterType.TA_Output_Real\n"); + fprintf(gOutFunc_Annotation->file, " )\n"); + fprintf(gOutFunc_Annotation->file, " double %s[]", outputInfo->paramName); + } + else + { + printf( "Unexpected error 3(doForEachFunctionAnnotation)\n"); /* FIXME: fatal error!*/ + } + + if (inbOutput-1) { + fprintf(gOutFunc_Annotation->file, ","); + } + fprintf(gOutFunc_Annotation->file, "\n"); + + } + + fprintf(gOutFunc_Annotation->file, ") {\n"); + fprintf(gOutFunc_Annotation->file, " return super.%s (\n", funcName); + + fprintf(gOutFunc_Annotation->file, " startIdx,\n"); + fprintf(gOutFunc_Annotation->file, " endIdx,\n"); + + for(i=0; inbInput; i++) + { + retCode = TA_GetInputParameterInfo(funcInfo->handle, i, (void*)&inputInfo); + if(inputInfo->type == TA_Input_Price) + { + char idx = ' '; + /*if (funcInfo->nbInput>1) idx='0'+i;*/ /* TODO: compile Java code and see if it is necessary to distinguish parameters */ + + if(inputInfo->flags & TA_IN_PRICE_OPEN) + { + fprintf(gOutFunc_Annotation->file, " inOpen%c,\n", idx); + } + if(inputInfo->flags & TA_IN_PRICE_HIGH) + { + fprintf(gOutFunc_Annotation->file, " inHigh%c,\n", idx); + } + if(inputInfo->flags & TA_IN_PRICE_LOW) + { + fprintf(gOutFunc_Annotation->file, " inLow%c,\n", idx); + } + if(inputInfo->flags & TA_IN_PRICE_CLOSE) + { + fprintf(gOutFunc_Annotation->file, " inClose%c,\n", idx); + } + if(inputInfo->flags & TA_IN_PRICE_VOLUME) + { + fprintf(gOutFunc_Annotation->file, " inVolume%c,\n", idx); + } + if(inputInfo->flags & TA_IN_PRICE_OPENINTEREST) + { + fprintf(gOutFunc_Annotation->file, " inOpenInterest%c,\n", idx); /* FIXME: does it exist?*/ + } + if(inputInfo->flags & TA_IN_PRICE_TIMESTAMP) + { + fprintf(gOutFunc_Annotation->file, " inTimestamp%c,\n", idx); /* FIXME: does it exist? */ + } + } else { + fprintf(gOutFunc_Annotation->file, " %s,\n", inputInfo->paramName); + } + } + + for(i=0; inbOptInput; i++) + { + retCode = TA_GetOptInputParameterInfo(funcInfo->handle, i, (void*)&optInputInfo); + fprintf(gOutFunc_Annotation->file, " %s,\n", optInputInfo->paramName); + } + + fprintf(gOutFunc_Annotation->file, " outBegIdx,\n"); + fprintf(gOutFunc_Annotation->file, " outNBElement,\n"); + + for(i=0; inbOutput-1; i++) + { + retCode = TA_GetOutputParameterInfo(funcInfo->handle, i, (void*)&outputInfo); + fprintf(gOutFunc_Annotation->file, " %s,\n", outputInfo->paramName); + } + retCode = TA_GetOutputParameterInfo(funcInfo->handle, funcInfo->nbOutput-1, (void*)&outputInfo); + fprintf(gOutFunc_Annotation->file, " %s\n", outputInfo->paramName); + + fprintf(gOutFunc_Annotation->file, "); }\n\n\n"); +} +#endif diff --git a/vendor/ta-lib/src/tools/gen_code/java/Main.java b/vendor/ta-lib/src/tools/gen_code/java/Main.java new file mode 100644 index 000000000..21f582774 --- /dev/null +++ b/vendor/ta-lib/src/tools/gen_code/java/Main.java @@ -0,0 +1,89 @@ +/* TA-LIB Copyright (c) 1999-2006, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * BT Barry Tsung + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 012706 BT First version. + */ + +/* Description: + * Perform text processing to the generated TA-Lib code. + * + * Action Performed: + * - Do proper indentation of the Core.java file. + * + * This Java command line utility is expected to be + * called only by the gen_code tool. + * + * Note: All directory in this code is relative to the 'bin' directory. + * ta-lib/c/bin must be your working directory when launching this + * utility, which is the also the expected directory when launching + * gen_code. + */ +import java.io.BufferedReader; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; +import java.io.PrintWriter; + +class Main +{ + public static void main(String[] args) { + try { + String inFile = "..\\temp\\CoreJavaUnformated.tmp"; + String outFile = "..\\temp\\CoreJavaPretty.tmp"; + new PrettyCode(inFile,outFile).process().close(); + if( PrettyCode.verify(inFile,outFile) ){ + /* Create a file when all done. The "caller" gen_code will + * look for that file to confirm success. + */ + PrintWriter out = new PrintWriter("..\\temp\\java_success"); + out.print("OK"); + out.close(); + } + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } +} + diff --git a/vendor/ta-lib/src/tools/gen_code/java/PrettyCode.java b/vendor/ta-lib/src/tools/gen_code/java/PrettyCode.java new file mode 100644 index 000000000..5c5b60363 --- /dev/null +++ b/vendor/ta-lib/src/tools/gen_code/java/PrettyCode.java @@ -0,0 +1,224 @@ +/* TA-LIB Copyright (c) 1999-2006, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * BT Barry Tsung + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 012706 BT First version. + */ + +/* Description: + * Do formating of Java source code files. + */ + +import java.io.BufferedReader; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; +import java.io.PrintWriter; + +public class PrettyCode { + int line; + int level; + BufferedReader in; + PrintWriter out; + + String indentString = " "; + + boolean insideOfComment; + + boolean unfinishedStatement; + + String lineBuffer; + + public PrettyCode(String inFileName, String outFileName) throws FileNotFoundException{ + this.in = new BufferedReader(new FileReader(inFileName)); + this.out = new PrintWriter(outFileName); + } + + public PrettyCode process() throws IOException{ + while( (lineBuffer=in.readLine())!=null ){ + processLine(lineBuffer); + out.println(); + line++; + } + out.flush(); + return this; + } + + public PrettyCode close() throws IOException{ + in.close(); + out.close(); + return this; + } + + void processLine(String buffer){ + if( level > 0 ){ + buffer=buffer.trim(); + } + if( insideOfComment ){ + appendIndents(""); + buffer = processComment(buffer); + while((buffer=processBuffer(buffer))!=null); + }else{ + appendIndents(buffer); + while((buffer=processBuffer(buffer))!=null); + } + } + + String processBuffer(String buffer){ + if( buffer == null ){ return null; } + if( buffer.startsWith("/*")){ + if( insideOfComment ){ + error("comment inside of comment"); + } + insideOfComment=true; + out.print(buffer.substring(0,2)); + buffer=processComment(substring(buffer,2)); + }else if(buffer.startsWith( "//")){ + out.print(buffer); + }else if(buffer.startsWith("\"")){ + unfinishedStatement=true; + int i=buffer.indexOf("\""); + if( i == -1 ){ + error("no matching ending \""); + }else{ + out.print(buffer.substring(0,i+1)); + return buffer.substring(i+1); + } + }else{ + for(int i=0;i(s.length()-1)){return "";} + return s.substring(i); + } + + public static boolean verify(String fileName1, String fileName2) throws IOException{ + BufferedReader f1 = new BufferedReader(new FileReader(fileName1)); + BufferedReader f2 = new BufferedReader(new FileReader(fileName2)); + int line=0; + String buf1, buf2; + while((buf1=f1.readLine())!= null){ + if((buf2=f2.readLine())==null){ + System.err.println(fileName2+" is shorter than "+fileName1); + return false; + } + if( !buf1.trim().equals(buf2.trim()) ){ + System.err.println("Error on line "+line); + System.err.println(fileName1+"='"+buf1+"'"); + System.err.println(fileName2+"='"+buf2+"'"); + return false; + } + line++; + } + if( (buf2 = f2.readLine()) != null ){ + System.err.println(fileName1+" is shorter than "+fileName2); + return false; + } + return true; + } +} + diff --git a/vendor/ta-lib/src/tools/gen_code/mcpp.exe b/vendor/ta-lib/src/tools/gen_code/mcpp.exe new file mode 100644 index 000000000..c180a4dae Binary files /dev/null and b/vendor/ta-lib/src/tools/gen_code/mcpp.exe differ diff --git a/vendor/ta-lib/src/tools/ta_regtest/Makefile.am b/vendor/ta-lib/src/tools/ta_regtest/Makefile.am new file mode 100644 index 000000000..64229e21b --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/Makefile.am @@ -0,0 +1,38 @@ + +# ta_regrest is used for testing and should +# not be installed. +noinst_PROGRAMS = ta_regtest + +ta_regtest_SOURCES = ta_regtest.c \ + test_data.c \ + test_util.c \ + test_abstract.c \ + ta_test_func/test_adx.c \ + ta_test_func/test_mom.c \ + ta_test_func/test_sar.c \ + ta_test_func/test_rsi.c \ + ta_test_func/test_candlestick.c \ + ta_test_func/test_per_ema.c \ + ta_test_func/test_per_hlc.c \ + ta_test_func/test_stoch.c \ + ta_test_func/test_macd.c \ + ta_test_func/test_minmax.c \ + ta_test_func/test_per_hlcv.c \ + ta_test_func/test_1in_1out.c \ + ta_test_func/test_1in_2out.c \ + ta_test_func/test_per_ohlc.c \ + ta_test_func/test_stddev.c \ + ta_test_func/test_bbands.c \ + ta_test_func/test_ma.c \ + ta_test_func/test_po.c \ + ta_test_func/test_per_hl.c \ + ta_test_func/test_trange.c \ + test_internals.c + +ta_regtest_CPPFLAGS = -I../../ta_func \ + -I../../ta_common/trio \ + -I../../ta_common/mt \ + -I../../ta_common \ + -I../../ta_abstract +ta_regtest_LDFLAGS = -L../.. -lta_lib \ + -lm diff --git a/vendor/ta-lib/src/tools/ta_regtest/ReadMe.txt b/vendor/ta-lib/src/tools/ta_regtest/ReadMe.txt new file mode 100644 index 000000000..c1b99a15a --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ReadMe.txt @@ -0,0 +1,12 @@ +This directory contains the code for performing +regression testing of the library. + +This will provide developpers a way to validate that +a modificaiton to the code did not break the existing +functionality. + +It will be helpful in particular for validating that the +TA-LIB is performing as expected when ported to a new +platform. + +Internet access is required for the test to succeed. diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_error_number.h b/vendor/ta-lib/src/tools/ta_regtest/ta_error_number.h new file mode 100644 index 000000000..b761bd860 --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_error_number.h @@ -0,0 +1,297 @@ +#ifndef TA_ERROR_NUMBER_H +#define TA_ERROR_NUMBER_H + +/* All possible failure should have a unique number different than zero. */ +typedef enum +{ + TA_TEST_PASS = 0, + + /* Error code for test in ta_regtest.c */ + TA_REGTEST_BAD_USER_PARAM = 1, + TA_REGTEST_ADDDATASOURCE_FAILED = 2, + TA_REGTEST_HISTORYALLOC_FAILED = 3, + TA_REGTEST_HISTORYFREE_FAILED = 4, + TA_REGTEST_HISTORYALLOC_0 = 5, + TA_REGTEST_HISTORYALLOC_1 = 6, + TA_REGTEST_HISTORYALLOC_2 = 7, + TA_REGTEST_HISTORYALLOC_3 = 8, + TA_REGTEST_HISTORYALLOC_4 = 9, + TA_REGTEST_HISTORYALLOC_5 = 10, + TA_REGTEST_HISTORYALLOC_6 = 11, + TA_REGTEST_HISTORYALLOC_7 = 12, + TA_REGTEST_HISTORYALLOC_8 = 13, + TA_REGTEST_HISTORYALLOC_9 = 14, + TA_REGTEST_HISTORYALLOC_10 = 15, + TA_REGTEST_HISTORYALLOC_11 = 16, + TA_REGTEST_HISTORYALLOC_12 = 17, + TA_REGTEST_HISTORYALLOC_13 = 18, + TA_REGTEST_HISTORYALLOC_14 = 19, + TA_REGTEST_HISTORYALLOC_15 = 20, + TA_REGTEST_HISTORYALLOC_16 = 21, + TA_REGTEST_HISTORYALLOC_17 = 22, + TA_REGTEST_HISTORYALLOC_18 = 23, + TA_REGTEST_HISTORYALLOC_19 = 24, + TA_REGTEST_ADDDSOURCE_FAILED = 25, + TA_REGTEST_OPTIMIZATION_REF_ERROR = 26, + + /* Error code for test in test_util.c */ + TA_TESTUTIL_INIT_FAILED = 101, + TA_TESTUTIL_SET_FATAL_ERROR_FAILED = 102, + TA_TESTUTIL_UDBASE_ALLOC_FAILED = 103, + TA_TESTUTIL_UDBASE_FREE_FAILED = 104, + TA_TESTUTIL_SHUTDOWN_FAILED = 105, + + TA_TESTUTIL_TFRR_BAD_PARAM = 120, + TA_TESTUTIL_TFRR_BAD_RETCODE = 121, + TA_TESTUTIL_TFRR_BAD_CALCULATION = 122, + TA_TESTUTIL_TFRR_BAD_BEGIDX = 123, + TA_TESTUTIL_TFRR_BAD_OUTNBELEMENT = 124, + + TA_TEST_TFRR_BAD_OVERLAP_OR_NAN = 125, + TA_TEST_TFRR_INPUT_HAS_BEEN_MODIFIED = 126, + TA_TEST_TFRR_CHECK_SAME_CONTENT = 127, + TA_TEST_TFRR_OVERLAP_OR_NAN_0 = 128, + TA_TEST_TFRR_OVERLAP_OR_NAN_1 = 129, + TA_TEST_TFRR_OVERLAP_OR_NAN_2 = 130, + TA_TEST_TFRR_OVERLAP_OR_NAN_3 = 131, + TA_TEST_TFRR_OVERLAP_OR_NAN_4 = 132, + TA_TEST_TFRR_OVERLAP_OR_NAN_5 = 133, + TA_TEST_TFRR_OVERLAP_OR_NAN_6 = 134, + TA_TEST_TFRR_OVERLAP_OR_NAN_7 = 135, + TA_TEST_TFRR_OVERLAP_OR_NAN_8 = 136, + TA_TEST_TFRR_OVERLAP_OR_NAN_9 = 137, + TA_TEST_TFRR_SETUNSTABLE_PERIOD_FAIL = 138, + TA_TEST_TFRR_NB_ELEMENT_OUT_OF_RANGE = 139, + TA_TEST_TFRR_BAD_MA_TYPE = 140, + TA_TEST_TFFR_BAD_MA_LOOKBACK = 141, + + TA_TESTUTIL_DRT_REF_FAILED = 150, + TA_TESTUTIL_DRT_ALLOC_ERR = 151, + TA_TESTUTIL_DRT_RETCODE_ERR = 152, + TA_TESTUTIL_DRT_BAD_SUFFIX = 153, + TA_TESTUTIL_DRT_BAD_PREFIX = 154, + TA_TESTUTIL_DRT_MISSING_DATA = 155, + TA_TESTUTIL_DRT_BAD_OUTNBLEMENT = 156, + TA_TESTUTIL_DRT_BAD_OUTBEGIDX = 157, + TA_TESTUTIL_DRT_LOOKBACK_TOO_HIGH = 158, + TA_TESTUTIL_DRT_LOOKBACK_INCORRECT = 159, + TA_TESTUTIL_DRT_REF_OUTPUT_INCORRECT = 160, + TA_TESTUTIL_DRT_DATA_DIFF = 161, + TA_TESTUTIL_DRT_DATA_DIFF_INT = 162, + TA_TESTUTIL_DRT_OUT_OF_BOUND_OUT = 163, + TA_TESTUTIL_DRT_OUT_OF_BOUND_OUT_INT = 164, + + /* Error code for test in test_period.c */ + TA_PERIOD_HISTORYALLOC_FAILED = 200, + TA_PERIOD_NBBAR_INCORRECT = 201, + TA_PERIOD_PRICE_INCORRECT = 202, + TA_PERIOD_OPENINTEREST_INCORRECT = 203, + TA_PERIOD_TIMESTAMP_YEAR_INCORRECT = 204, + TA_PERIOD_TIMESTAMP_MONTH_INCORRECT = 205, + TA_PERIOD_TIMESTAMP_DAY_INCORRECT = 206, + TA_PERIOD_HISTORYFREE_FAILED = 207, + TA_PERIOD_DELTA_WEEKDAY_FAILED = 208, + TA_PERIOD_DELTA_WEEKDAY_FAILED_1 = 209, + TA_PERIOD_END_OF_PERIOD_ADD_FAILED = 210, + TA_PERIOD_END_OF_PERIOD_HISTORY_FAILED = 211, + TA_PERIOD_END_OF_PERIOD_CONSOLIDATED_FAILED = 212, + TA_PERIOD_END_OF_PERIOD_WRONG_HISTORY = 213, + TA_PERIOD_HISTORYCOMPARE_FAILED = 214, + + /* Error code for test in test_ascii.c */ + TA_TESTASCII_UNEXPECTED_RETCODE = 301, + TA_TESTASCII_FOREACHSYMBOL_FAILED = 302, + TA_TESTASCII_SEARCHININDEX_FAILED = 303, + TA_TESTASCII_CANTFIND_CATSYM_IN_INDEX = 304, + TA_TESTASCII_SAMPLING_FILE_NOT_FOUND = 305, + TA_TESTASCII_CATTABLE_ALLOC_ERROR = 306, + TA_TESTASCII_SYMTABLE_ALLOC_ERROR = 307, + TA_TESTASCII_CATTABLE_FREE_ERROR = 308, + TA_TESTASCII_SYMTABLE_FREE_ERROR = 309, + TA_TESTASCII_EQV_HISTORYALLOC = 310, + TA_TESTASCII_EQV_DIFF_HISTORY_PTR = 311, + TA_TESTASCII_HISTORYFREE_FAILED = 312, + TA_TESTASCII_EQV_DIFF_NBBARS = 313, + TA_TESTASCII_EQV_DIFF_PERIOD = 314, + TA_TESTASCII_EQV_DIFF_VALUE = 315, + TA_TESTASCII_UDBASEFREE_FAILED = 316, + TA_TESTASCII_EQV_BAD_FILENAME = 317, + TA_TESTASCII_EQV_ADDDATASOURCE = 318, + TA_TESTASCII_EQV_BAD_FIELD_ID = 319, + TA_TESTASCII_REFHISTORYFREE_FAILED = 320, + TA_TESTASCII_EQV_DIFF_DATA = 321, + TA_TESTASCII_CATSYM_NOT_FOUND = 322, + + /* Error code for test in test_yahoo.c */ + TA_YAHOO_ADDDATASOURCE_USA_FAILED = 330, + TA_YAHOO_HISTORYALLOC_1_FAILED = 331, + TA_YAHOO_HISTORYALLOC_2_FAILED = 332, + TA_YAHOO_HISTORYALLOC_3_FAILED = 333, + TA_YAHOO_HISTORYFREE_FAILED = 334, + TA_YAHOO_VALUE_1_FAILED = 335, + TA_YAHOO_VALUE_2_FAILED = 336, + TA_YAHOO_VALUE_3_FAILED = 337, + TA_YAHOO_FIELD_MISSING_1 = 338, + TA_YAHOO_FIELD_MISSING_2 = 339, + TA_YAHOO_FIELD_MISSING_3 = 340, + TA_YAHOO_CRS_HISTORYALLOC_FAILED = 341, + TA_YAHOO_CRS_NBBARSBAD = 342, + TA_YAHOO_CRS_PRICEBARBAD = 343, + TA_YAHOO_ADDDATASOURCE_CAN_FAILED = 344, + TA_YAHOO_ADDDATASOURCE_KPN_AS_FAILED = 345, + TA_YAHOO_HISTORYALLOC_KPN_AS_FAILED = 346, + + /* Error code for test in test_pm.c */ + TA_PM_EMPTY_TA_TRADE_LOG_TESTS_0 = 400, + TA_PM_EMPTY_TA_TRADE_LOG_TESTS_1 = 401, + TA_PM_EMPTY_TA_TRADE_LOG_TESTS_2 = 402, + TA_PM_EMPTY_TA_TRADE_LOG_TESTS_3 = 403, + TA_PM_EMPTY_TA_TRADE_LOG_TESTS_4 = 404, + TA_PM_EMPTY_TA_TRADELOGFREE_FAILED = 405, + TA_PM_ERR_INVALID_KEY_TYPE = 406, + TA_PM_TRADELOGADD_ONE_TRADE_FAILED = 407, + TA_PM_TRADELOGFREE_ONE_TRADE_FAILED = 408, + TA_PM_2TRADETST_BAD_TRADE_TYPE = 409, + TA_PM_2TRADETST_TRADELOGADD_1 = 410, + TA_PM_2TRADETST_TRADELOGADD_2 = 411, + TA_PM_2TRADETST_PMALLOC_FAILED = 412, + TA_PM_2TRADETST_PMADDTRADELOG_FAILED = 413, + TA_PM_2TRADETST_PMFREE_FAILED = 414, + TA_PM_CHECKVALUE_FAILED_0 = 415, + TA_PM_CHECKVALUE_FAILED_1 = 416, + TA_PM_CHECKVALUE_FAILED_2 = 417, + TA_PM_CHECKVALUE_FAILED_3 = 418, + TA_PM_CHECKVALUE_FAILED_4 = 419, + TA_PM_CHECKVALUE_FAILED_5 = 420, + TA_PM_CHECKVALUE_FAILED_6 = 421, + TA_PM_CHECKVALUE_FAILED_7 = 422, + TA_PM_CHECKVALUE_FAILED_8 = 423, + TA_PM_CHECKVALUE_FAILED_9 = 424, + TA_PM_CHECKVALUE_FAILED_10 = 425, + TA_PM_ERR_CHECK_NO_HANG_1 = 426, + TA_PM_ERR_CHECK_NO_HANG_2 = 427, + TA_PM_ERR_CHECK_NO_HANG_3 = 428, + TA_PM_ERR_CHECK_NO_HANG_4 = 429, + TA_PM_ERR_CHECK_NO_HANG_5 = 430, + TA_PM_ERR_CHECK_NO_HANG_6 = 431, + TA_PM_TRADELOGADD_ONE_TRADE_FAILED_1 = 432, + TA_PM_TRADELOGADD_ONE_TRADE_FAILED_2 = 433, + TA_PM_TRADELOGADD_ONE_TRADE_FAILED_3 = 434, + TA_PM_UNKNOWN_TRANSACTION_TYPE = 435, + TA_PM_REPORT_ALLOC_FAILED = 436, + TA_PM_TEST_VALUE_ID_FAILED_0 = 437, + TA_PM_TEST_VALUE_ID_FAILED_1 = 438, + TA_PM_TEST_VALUE_ID_FAILED_2 = 439, + TA_PM_TEST_VALUE_ID_FAILED_3 = 440, + TA_PM_TEST_VALUE_ID_FAILED_4 = 441, + TA_PM_TEST_VALUE_ID_FAILED_5 = 442, + TA_PM_TEST_VALUE_ID_FAILED_6 = 443, + TA_PM_TEST_VALUE_ID_FAILED_7 = 444, + TA_PM_TEST_VALUE_ID_FAILED_8 = 445, + TA_PM_TEST_VALUE_ID_FAILED_9 = 446, + TA_PM_VALUE_TO_FILE_FAILED = 447, + TA_PM_TEST_ARRAY_ID_FAILED_0 = 448, + TA_PM_TEST_ARRAY_ID_FAILED_1 = 449, + TA_PM_TEST_ARRAY_ID_FAILED_2 = 450, + TA_PM_TEST_ARRAY_ID_FAILED_3 = 451, + TA_PM_TEST_ARRAY_ID_FAILED_4 = 452, + TA_PM_TEST_ARRAY_ID_FAILED_5 = 453, + TA_PM_TEST_ARRAY_ID_FAILED_6 = 454, + TA_PM_TEST_ARRAY_ID_FAILED_7 = 455, + TA_PM_TEST_ARRAY_ID_FAILED_8 = 456, + TA_PM_TEST_ARRAY_ID_FAILED_9 = 457, + TA_PM_TEST_ARRAY_WITH_INVALID_DATE = 458, + + /* Error code related to call to ta_abstract */ + TA_ABS_TST_FAIL_GETFUNCHANDLE = 600, + TA_ABS_TST_FAIL_GETFUNCINFO = 601, + TA_ABS_TST_FAIL_PARAMHOLDERALLOC = 602, + TA_ABS_TST_FAIL_PARAMHOLDERFREE = 603, + TA_ABS_TST_FAIL_PARAMREALPTR = 604, + TA_ABS_TST_FAIL_OPTINPUTPARAMINTEGER = 605, + TA_ABS_TST_FAIL_SETOUTPUTPARAMREALPTR = 606, + TA_ABS_TST_FAIL_CALLFUNC = 607, + TA_ABS_TST_FAIL_GETLOOKBACK_CALL_1 = 608, + TA_ABS_TST_FAIL_GETLOOKBACK_CALL_2 = 609, + TA_ABS_TST_FAIL_GETLOOKBACK_1 = 610, + TA_ABS_TST_FAIL_GETLOOKBACK_2 = 611, + TA_ABS_TST_FAIL_CALLFUNC_1 = 612, + TA_ABS_TST_FAIL_CALLFUNC_2 = 613, + TA_ABS_TST_FAIL_CALLFUNC_3 = 614, + TA_ABS_TST_FAIL_CALLFUNC_4 = 615, + TA_ABS_TST_FAIL_INVALID_OUTPUT = 616, + TA_ABS_TST_FAIL_STARTEND_ZERO = 617, + TA_ABS_TST_FAIL_FUNCTION_DESC_SMALL = 618, + TA_ABS_TST_FAIL_FUNCTION_DESC_LARGE = 619, + + /* Error code related to internal tests. */ + TA_INTERNAL_CIRC_BUFF_FAIL_0 = 700, + TA_INTERNAL_CIRC_BUFF_FAIL_1 = 701, + TA_INTERNAL_CIRC_BUFF_FAIL_2 = 702, + TA_INTERNAL_CIRC_BUFF_FAIL_3 = 703, + TA_INTERNAL_CIRC_BUFF_FAIL_4 = 704, + TA_INTERNAL_CIRC_BUFF_FAIL_5 = 705, + TA_INTERNAL_CIRC_BUFF_FAIL_6 = 706, + TA_INTERNAL_FATAL_TST_FAIL = 707, + TA_INTERNAL_ASSERT_TST_FAIL = 708, + TA_INTERNAL_TIMESTAMP_TEST_FAILED = 709, + TA_INTERNAL_PSEUDORANDOM_UINT32 = 710, + TA_INTERNAL_PSEUDORANDOM_DOUBLE = 711, + + /* Error code related to CSI data source tests. */ + TA_CSI_ADDDATASOURCE_FAILED = 800, + TA_CSI_HISTORYALLOC_1_FAILED = 801, + TA_CSI_VALUE_1_FAILED = 802, + TA_CSI_FIELD_MISSING_1 = 803, + TA_CSI_HISTORYFREE_FAILED = 804, + TA_CSI_HISTORYALLOC_3_FAILED = 805, + TA_CSI_CRS_HISTORYALLOC_FAILED = 806, + TA_CSI_CRS_NBBARSBAD = 807, + TA_CSI_CRS_PRICEBARBAD = 808, + TA_CSI_HISTORYALLOC_4_FAILED = 809, + TA_CSI_HISTORYALLOC_5_FAILED = 810, + + /* Error code related to test_candlestick */ + TA_TSTCDL_GETFUNCHANDLE_FAIL = 900, + TA_TSTCDL_PARAMHOLDERALLOC_FAIL= 901, + TA_TSTCDL_NBINPUT_WRONG = 902, + TA_TSTCDL_INPUT_TYPE_WRONG = 903, + TA_TSTCDL_INPUT_FLAG_WRONG = 904, + TA_TSTCDL_NBOUTPUT_WRONG = 905, + TA_TSTCDL_OUTPUT_TYPE_WRONG = 906, + TA_TSTCDL_CALLFUNC_FAIL = 907, + TA_TSTCDL_GETLOOKBACK_FAIL = 908, + TA_TSTCDL_PARAMHOLDERFREE_FAIL = 909, + + /* Error code related to test_merge */ + TA_TSTMERGE_AC_ADDFAILED_1 = 1000, + TA_TSTMERGE_AC_ADDFAILED_2 = 1001, + TA_TSTMERGE_AC_HISTALLOC_1 = 1002, + TA_TSTMERGE_AC_HISTFREE_1 = 1003, + TA_TSTMERGE_ASCII_ADDFAILED_1 = 1004, + TA_TSTMERGE_ASCII_ADDFAILED_2 = 1005, + TA_TSTMERGE_ASCII_ADDFAILED_3 = 1006, + TA_TSTMERGE_ASCII_ADDFAILED_4 = 1007, + TA_TSTMERGE_ASCII_HISTALLOC = 1008, + TA_TSTMERGE_ASCII_HISTFREE = 1009, + TA_TSTMERGE_ASCII_BAD_PATTERN_1 = 1010, + TA_TSTMERGE_ASCII_BAD_PATTERN_2 = 1011, + TA_TSTMERGE_ASCII_BAD_PATTERN_3 = 1012, + TA_TSTMERGE_ASCII_BAD_PATTERN_VOL = 1013, + TA_TSTMERGE_ASCII_BAD_PATTERN_OI = 1014, + TA_TSTMERGE_ASCII_BAD_PATTERN_OPEN = 1015, + TA_TSTMERGE_ASCII_BAD_PATTERN_LOW = 1016, + TA_TSTMERGE_ASCII_BAD_PATTERN_HIGH = 1017, + TA_TSTMERGE_ASCII_BAD_PATTERN_CLOSE = 1018, + TA_TSTMERGE_ASCII_BAD_PATTERN_TS = 1019, + + /* Error code related to bug fix documentented on SourceForge. */ + TA_TEST_FAIL_BUG1359452_1 = 2000, + TA_TEST_FAIL_BUG1359452_2 = 2001, + TA_TEST_FAIL_BUG1359452_3 = 2003, + TA_TEST_FAIL_BUG1359452_4 = 2004, + TA_TEST_FAIL_BUG1359452_5 = 2005, + + TA_LAST_VALID_ERROR = 0xFFFF +} ErrorNumber; +#endif diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_gDataClose.c b/vendor/ta-lib/src/tools/ta_regtest/ta_gDataClose.c new file mode 100644 index 000000000..4eccb811d --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_gDataClose.c @@ -0,0 +1,723 @@ +double gDataClose[10000] = { +111.45,110,109.04,109.22,110.9,109.69,111.23,112.05,112.71,112.64,110.73,112.98,113.53,113.89, +111.89,113.23,112.04,110.65,114.52,115.62,116.53,118.1,116.17,116.38,114.81,115.86,111.08,110.77, +109.66,108.6,109.28,109.1,108.63,108.97,109.03,108.05,106.58,105.01,105.25,105.95,105.43,105.33, +105.1,104.44,106.6,106,106.5,105.33,105.09,103.85,103.12,102.34,103.22,103.07,101.8,102.41, +105.84,106.23,106.54,106.6,106.93,105.91,105.18,103.95,105.58,106.7,107.04,107.99,105.31,105.87, +104.83,105.57,105.98,104.68,104.38,103.29,103.16,102.96,102.8,102.22,103.17,102.21,101.17,100.9, +101.46,98.49,95.21,94.58,94.29,94.8,97.12,96.18,94.93,95.67,95.16,96.46,96.62,96.52, +96.21,96.1,95.21,94.26,94.57,94.26,94.73,95,95.03,95.19,95.36,94.5,93.99,93.25, +93.45,93.76,92.71,94.11,93.28,93,93.94,93.8,91.81,90.9,92.27,92.94,93.96,96.91, +97.73,98.5,99.09,99.35,98.99,98.92,99.2,98.29,98.58,98.55,99.62,99.54,99.85,100.38, +99.17,99,99.15,99.37,98.54,97.45,97.51,97.4,97.08,97.11,96.17,99.45,100.02,100.82, +99.34,98.65,98.89,100.07,98.9,97.42,98.31,97.27,97.15,96.97,97.2,95.66,95.25,95.91, +96,96,95.44,95.3,95.36,94.77,94.12,93.64,93.86,94.23,94.12,94.48,93.51,91.25, +91.92,91.52,91.35,91.45,93.35,93.52,93.08,93.25,93.81,93.47,93.11,93.29,92.07,91.76, +92.42,92.59,92.75,92.6,91.41,91.68,91.8,92.33,91.5,90.76,91.54,91.83,91.49,91.56, +90.48,89.86,89.82,86.95,86.71,86.08,84.7,84.19,84.19,84,83.14,82.92,83.1,81.65, +81.87,81.94,81.99,82.09,82.5,82,81.21,81.61,83.42,81.87,82.24,82.94,82.47,82.21, +82.28,80.93,80.66,79.4,80.28,80.85,81.41,80.97,81.22,81.4,80.32,79.88,79.38,78.67, +78.95,79.28,79.9,79.37,79.09,77.08,76.68,75.48,75.74,75.39,75.33,75.52,75.91,76.33, +76.32,76.14,77.41,76.96,76.15,75.83,75.89,75.99,74.86,75.48,76.07,74.26,73.7,73.57, +74.24,75.48,76.47,76.67,76.42,78.09,77.77,78.02,76.82,77.59,76.56,76.63,77.15,77.1, +77.19,78.3,77.99,77.67,77.95,78.56,77.71,76.93,77.02,77.63,77.03,79.15,79.76,79.06, +79.52,80.69,79.9,80.16,80.75,80.14,79.78,79.83,80.02,80.28,80.66,81.27,82.16,82.89, +82.39,82.46,82.9,83.23,82.89,83.28,82.43,82.7,82.42,82.23,82.34,83.88,83.35,82.67, +82.11,81.66,82.02,81.86,83.31,81.64,81.98,80.75,81.16,82.1,82.48,83.81,84.17,83.45, +83.06,82.47,83.2,83.13,82.43,83.08,83.36,83.2,84.45,83.81,83.58,83.3,82.87,83.38, +82.88,81.93,81.57,81.02,81.14,80.29,80,79.96,79.94,79.9,80.24,80.63,80.1,80.2, +81.35,80.5,80.71,80.91,80.85,81.09,80.44,81.33,80.4,80.8,79.85,79.51,79.97,81.23, +81.94,81.3,81.63,81.02,80.72,80.91,80.85,81.41,81.36,83.09,83.8,83,83.17,83.57, +84.17,84.07,83.73,84.95,82.5,81.95,82.06,82.2,82.4,83.04,82.99,83.48,83.22,83.12, +82.48,82.76,83.37,83.53,83.13,83.71,85.96,86.97,87.5,88.72,89.14,88.43,88.65,89.21, +88.9,89.1,89.11,88.8,88.8,87.99,87.29,87.77,86.89,86.54,85.53,84.36,84.55,83.99, +82.84,83.15,83.61,83,82.87,81.06,81.59,81.88,81.42,82.31,82.89,83.36,83.47,83.33, +83.17,84.17,83.48,82.59,82.35,82.2,82.19,83.19,81.25,80.5,79.7,79.82,80.11,80.45, +80.22,80.36,79.5,77.99,77.41,78,78.21,77.56,78.7,79.43,80.33,80.01,80.48,80.75, +81.48,81.44,80.8,80.98,81.02,79.46,79.54,80.62,80.54,81.34,80.38,81.1,81.32,82.03, +82.6,82.76,81.15,81.3,81.3,82.5,82.19,82.66,82.02,83.5,83.36,83.36,83.12,84.06, +83.31,83.43,83.46,83.8,83.87,84.12,84.2,84.44,84.4,84.6,83.7,81.81,82.38,82.42, +81.45,80.04,78.96,79.3,77.38,75.81,74.79,74.67,74.2,74.73,75.3,73.88,74.01,75.41, +77.23,76.41,76.55,76.39,77.05,76.3,74.89,75.05,74.77,74.93,74.8,75.04,75,75.79, +77.35,76.84,75.55,77.1,77.14,76,75.81,76.51,76.41,77.16,76.36,74.29,74.34,73.16, +72.62,73.28,73.3,74.98,75.26,75.5,77.08,76.47,76.51,76.38,75.91,77.05,75.43,74.61, +74.21,74.03,72.01,75.48,76.65,76.7,83.64,84.57,85.75,86.2,87.6,88.44,89,89.57, +90.32,90.44,91.38,90.68,90.6,91.04,90.7,90.52,89.5,89.51,89.28,89.86,90.65,91.38, +91.9,91.51,92.41,92.35,92.13,91.6,92.37,92.41,92.92,93.3,92.58,92.8,92.64,92.1, +92.32,93.27,93.75,94.62,94.33,93.57,93.3,92.76,92.7,94.13,94.53,94.51,93.54,94.3, +93.86,93.42,92.89,91.98,91.95,92.19,91.79,92.38,93,93.1,94.9,94.1,94.45,95.21, +95,95.68,95.78,96.2,96.5,96.7,97.75,98.58,98.3,98.18,98.3,97.5,97.72,97.61, +97.02,96.55,96.2,97.45,97.33,97.31,96.45,96.67,97.51,96.65,96.1,97.67,97.08,95.76, +95.88,94.24,95.5,94.72,95.46,95.28,95.11,94.45,95.1,95.46,94.89,95.92,95.32,94.79, +93.61,93.37,93.37,93.28,92.38,91.2,90.47,90.11,89.75,89.5,90,89,88.43,87.39, +88.1,88.82,89.37,85.92,84.85,84.78,84.98,86,86.63,86.71,87.42,88.04,87.32,87.16, +86.72,85.74,84.98,84.48,84.16,84.43,83.88,84.31,85.72,85.7,85.74,86.12,86.37,86.72, +86.49,86.76,86.44,85.86,84.97,84.39,84.57,84.22,84.69,84.4,84.94,84.69,85.07,84.71, +84.65,85.25,84.89,85.13,84.04,84.02,83.91,82.21,83.69,84.99,83.55,83.48,85.19,85.97, +85.71,86.69,87.07,86.77,85.85,85.88,85.09,84.85,86.06,85.3,86.36,85.3,84.28,84.02, +84.13,85.25,84.1,83.89,83.65,85.35,85.7,87.04,87.5,88.15,88.29,88.71,89.55,89.99, +90.79,90.02,89.49,90.06,90.44,90.38,90.54,90.07,90.46,90.09,90.04,88.64,87.56,87.35, +87.98,88.12,88.59,88.59,88.35,88.7,87.1,87.13,87.42,87.05,86.06,85.53,86.41,87.19, +86.81,87.13,86.88,88.19,88.36,88.96,89,88.02,88.17,89.08,90.41,91.11,90.43,91.28, +90.74,91.26,90.65,91.94,92.28,93.45,93.7,93.04,93.74,93.12,93.08,93.7,94.18,94.2, +92.37,91.84,92.32,92.68,92.77,92.39,91.77,91.32,91.02,91.62,92.85,93.39,92.45,91.82, +93.3,91.21,93.06,94.53,94.59,96.45,96.39,96.84,96.82,97.04,96.5,96.79,96.54,96.79, +95.96,97.31,97.8,98.42,99.37,99.71,99.3,99.96,99.61,98.95,98.94,98.86,100.19,100, +99.39,99.23,98.01,97.38,98.8,99.85,97.9,97.51,97.7,97.1,95.32,94.02,90.31,89.7, +91.55,91.21,93.04,92.78,93.06,93.05,91.55,92.68,92.63,93.52,92.9,92.27,92.79,93.39, +93.14,92.73,93.4,93.98,92.11,92.71,92.4,91.73,90.63,91.2,90.64,91.42,90.3,90.75, +91.01,90.54,89.91,89.43,89.66,88.63,88.39,89.4,88.95,89.8,90.25,91.09,90.69,89.36, +89.95,88.26,89.34,88.49,89.14,89.68,89.48,89.12,89.34,89.9,88.52,88.42,88.15,88.46, +88.93,89,89.23,89.28,92.74,92.72,93.2,92.67,92.45,92.66,91.7,91.18,90.64,90.08, +90.35,88.33,89.45,89.05,89.41,89.4,91.34,91.39,93.28,92,90.63,90.29,88.49,88.7, +87.92,87.84,89.42,89.1,86.95,87.91,86.33,85.76,82.01,81.9,82,82.5,81.96,82.97, +82.85,83.05,82.85,83.52,81.79,81.56,81.2,81.51,81.02,80.88,80.69,79.75,79.85,81.13, +81.27,81.25,80.96,81.8,82.54,83.55,81.51,82.3,81.85,82.5,83.72,83.33,86.74,86.44, +85.42,84.89,84.03,85.47,86.25,86.09,83.95,84.74,83.59,82.5,83.42,84.35,82.49,83.63, +83.18,84.92,84.55,84.7,84.3,84.5,82.75,83.95,83.97,81.71,82,80.05,81.9,84.25, +83.82,87.33,88.04,87.36,87.57,87.69,85.26,86.08,86.18,85.77,86.45,88.99,89.9,88.7, +89.98,89,87.55,86.05,86.68,87.51,86.52,87.57,85.89,84.9,85.66,85.12,83.88,85.2, +85.75,85.63,83.36,84.26,82.88,82.79,80.07,78.75,79.01,78.71,80.07,80.47,80.79,81.91, +81.46,78.73,78.43,80.85,81.45,81.55,83.45,82.25,84.9,82.2,82,82.47,82.46,79, +78.45,75.18,75.35,75.7,77.9,77.07,77.73,76.7,77.33,77.95,77.28,77.4,79.07,78.56, +79.95,79.15,79.51,79.33,77.45,75.86,76.5,77.39,77.91,77.1,77.51,77.26,77.09,78.18, +78.2,78.3,80.32,80.11,78.42,78.99,81.05,79.7,80.54,81.3,86.05,87.59,88.58,87.51, +87.68,87,84.19,86,83.59,81.65,80.57,77.5,76.25,77.36,78.5,79.76,80.26,79.79, +78.66,79.13,80.31,81.62,80,80.17,81.44,80.8,79.59,82.32,83.06,83.69,85.21,87.3, +86.92,87.7,85.06,86.2,84.43,84.9,81.61,78.37,79.18,80.01,80.72,79.35,79.15,77.29, +77.59,78.95,81.54,81.68,82.5,80.4,78.94,78.67,76.74,76.56,74.56,72.1,74.6,74.49, +75.55,74.25,72.2,64.9,68.48,63.42,63.92,57.58,55.07,57.05,56.86,56.6,60,59.63, +61.17,58.31,60.36,62.02,63.01,59.75,63.37,63.92,64.8,69.55,71.75,72.32,72.5,71.87, +74.2,75.6,74.5,73.2,72.18,73.73,72.35,75.38,76.62,76.06,77.96,79.42,80.4,81.99, +81,81.27,82.49,79.35,76.5,74.92,71.9,71.77,71.83,71.61,69.17,67.9,65.99,67.88, +68.25,70.4,71.79,71.18,66.4,69.35,69.54,67.05,68.5,72,72.05,70.69,69.01,71, +69.21,69.41,68.76,69.67,71.3,73.5,70.51,68.58,67.6,72,71.9,70.05,68.6,69.7, +68.75,71.58,73.35,75.94,77.14,76.17,75.6,74.65,75.49,76.8,78.3,79.66,80.55,79.31, +78.11,80.45,82.25,81.6,82.08,83.1,84.35,84,83.45,84.45,85.69,85.45,84.5,85.48, +82.19,79.68,79.93,82.45,76.5,76,81.78,83.86,84.3,83.76,83.89,84.71,86.71,86.5, +87.33,87.93,89,88.95,84.81,86.2,85.35,85.6,84.19,89.01,87.74,87.41,97.25,100.84, +99.96,100.95,102.86,104,103.39,102.9,103.56,105.6,106.78,105.5,107.49,106.35,106.79,106.6, +107.18,108.5,105.24,105.09,103.71,106.3,105.67,105.9,103.02,98.12,97.83,97.15,98.3,98.45, +96.38,99.31,101.3,102.89,107.89,108.07,106.57,107.38,104.99,103.91,106.63,106.3,106.8,108, +107.89,105.55,103,108.15,109.28,108.72,107.9,110.5,114.25,119.9,117.4,118.85,118.05,120.31, +122.14,124.49,124.7,124.05,125.6,123.66,121.5,120.96,122.9,123.5,122.4,121.45,122,122.7, +123.89,122.2,121.34,121.1,120.25,123.2,121.5,119.66,120.4,120.14,121.4,116.64,114.13,115.59, +114.43,112.15,114.2,116.33,115.35,114.34,115.44,115,114.5,114.75,114.35,116.7,114.86,114.08, +113.81,113.85,113.61,109.97,109.5,109.89,108.07,108.65,108.62,111.16,110.66,108.57,105.81,105.25, +102.65,101.26,102.9,101.85,102,100.84,99.4,97.25,97.14,98.5,98.02,97.31,96.95,93.77, +92.71,91.72,90,91.3,94.45,94.8,90.5,93.4,96,96.4,93.34,96.47,96.59,98, +100.35,101.49,99.95,100.36,104.13,104.95,106.86,106.99,103,103.96,101.89,104.1,104.59,105.75, +105.01,106.2,105.86,104.95,104.08,104.19,106.25,106.51,108.18,108.8,107.06,105.21,105.85,104.7, +106,104.89,104.51,105.85,105.7,104,104.28,108.53,107.82,108.53,107.25,103.85,101.96,104.72, +106.5,112.1,112.98,114.35,113.5,115.1,113.52,113.04,112.65,112.87,112.6,113.09,114.84,114.27, +113.6,115.75,116.54,117.25,117.36,116.1,117.25,117.5,116.97,113.64,112.89,111.8,112.65,115.27, +117.8,119.6,117.4,118.01,119.04,117.44,115.07,115.8,113.58,112.56,111.81,115.2,116.98,117.7, +115.9,115.86,113.7,115.4,118.51,115.14,116.2,113.74,114.85,112.67,112,114.83,114.47,106.5, +99.7,96.75,96.2,97.43,99.05,96,97.95,98.21,92,90.39,94.66,96.18,95.04,94.41, +99.5,95.4,93.51,89.1,89.08,88.3,92.6,90.1,95.56,94.96,98.39,95.49,99.29,106.47, +107.55,106,104.91,102.3,106.05,99.9,102.59,105.3,104,108.9,107.51,111.5,115,116.78, +115.1,113.75,114.9,112,114.1,116.91,114.19,112.22,110.27,114.05,112,116.61,114.98,114.19, +110.75,110.44,109.06,108.56,111.25,108.31,96.69,92.75,93.81,93.69,93.44,92.56,93.56,94, +93.19,94.62,84.81,85,85.25,84.69,84.81,89,81.56,86,90.12,90.5,87.81,92.44, +91.25,93.87,95,97,93.12,96.75,103.37,98.37,95.62,93.5,99.81,97.87,98.44,99.94, +98.5,98.5,103.25,101.94,98.25,99.37,99.5,97.44,93,99.44,100,102.31,100.31,100.12, +101.94,98.56,98.5,93.31,93.69,92.75,87.56,91.44,92.87,94.75,96.44,95.44,113,111.12, +109.06,103.12,112,114.87,117.94,116,113.19,114.37,110.56,117.81,112.62,115.25,118,119.12, +123,123.87,121.5,124.75,124.94,123.25,125,126.87,127.69,125,124.5,129.5,133.38,131.44, +131.19,133.63,132.02,130.31,132.88,131.5,129,124.81,123.25,121.37,121.44,120.44,122.5,122.37, +122,123.25,120.62,119.75,118.75,118.87,116.31,115.87,116,114.25,110.5,112.25,111.81,110.31, +109.87,112,112.5,114.75,117.25,108.75,103.31,105.5,103.94,104,104.62,102,103.31,105.06, +101.25,105,109.5,109.56,114,113.78,109.75,114.41,111.87,111.81,114.5,116.37,120.37,113.25, +116.81,116,119.31,118.84,119.69,119.75,121,112.37,112.81,108.81,106,107.31,110.94,106.94, +106.5,109.62,107.37,109.25,106.44,106.06,107.87,109,104.19,104.44,104.44,103,109,109.75, +107.87,107.62,108.12,111.37,112,111.5,110.62,110.5,112.5,106.5,104,105,111.5,111.87, +105,110.62,113.75,119.37,122.12,123.12,122.75,125,121.19,122,118.37,122.75,119,122.5, +126.87,120.62,115.25,114.25,113.5,112.75,110,109,107,108.62,107.69,105.25,108,106.25, +103,103.06,108,103.12,100.25,102.75,104.5,108,110.5,108.75,111,112.5,116.75,115.75, +117.12,116.06,115.37,119.12,117.37,118.81,114.12,115.62,117.12,113.5,110,112.25,111.56,113.5, +116.75,119.12,121.5,121.5,119,119.5,115.75,119.62,118.25,119.5,119,118,113.5,114, +116,112.06,116,107.87,108.75,109,109.81,109.75,108.62,108,110.12,109.2,110,109.19, +107,109.25,109.7,109,113.37,118.28,116.62,116,111.87,105.27,103.42,103.06,104.19,105, +104.5,106.06,107.87,103.94,98,93.75,94.62,94.06,95.87,95,97,93.62,93.94,90.25, +91.56,94.37,94.81,96.75,98.25,94.94,93,95.5,93.87,93.94,91,107,107.12,107, +107.87,107,105.06,110,114.25,113.5,116.37,119.19,122,119.87,117.75,121,120.06,123.5, +123,125,122,125.19,127.12,130.13,125.37,130,131.94,133.31,132.38,135,134.75,130.75, +132,128.86,125.87,127.25,124.56,123.19,124,122.94,122.37,122,124.44,121.75,122.94,123.87, +128.5,127.37,123.37,121.12,123.31,119.31,122.19,123.5,123.19,118.5,119.37,122.25,125.69,125.37, +128.38,126.25,123,124.81,123.87,129,128.25,134.63,136.25,136.31,137.25,137.88,137.81,137.38, +134,132.81,131,132.25,131,129.25,124.62,122.56,123.12,122.56,122.94,123.37,124.75,120.75, +120.19,120.69,115.87,115.5,114.31,115.25,117,116.62,120.5,116,112.94,113.75,112,116, +116,236.25,221.19,223.75,230.38,232.88,235.88,238.5,237.5,239.25,246,225.5,221,218.63, +217.25,209.25,212.13,212,212.25,209.19,204.81,205,212,209.88,199.75,194.5,171.88,169.75, +166.75,170.38,177.75,179.38,180,183.44,186.31,187,186.5,183,183.94,177,177.25,178.56, +177.88,172.38,171.31,169.5,165.38,167,168.56,177.63,178.06,181,182,178,182.88,181.5, +182.19,178.88,178.38,171,166.75,167.75,168.38,169.75,173.63,173.75,176.94,177.94,171.63,174.25, +170.5,172.5,172.75,178.5,168.88,162.75,167,166,169.56,175.25,176.75,179.75,183.25,178.69, +178.31,185.63,182,179.75,197,194.5,192.25,184.94,180.63,185.5,185.06,189.25,187.56,190.19, +188.75,189.63,183,184.38,186.75,187.13,189.25,187.94,185,182.25,176.38,171.56,166.06,164.38, +165,162.88,168,165,169.44,168.19,167.19,164.25,163.5,167.44,169.88,165.13,170,166.75, +165.25,166.56,160.13,158.56,159,158,159.38,157.44,157.88,157.13,156,151.38,149.94,149, +147.88,147.38,148.38,148.5,148.75,146.19,144.38,143.06,141.56,141.81,142.69,137.88,139.38,135.94, +136.5,130.5,128.19,130.88,127.31,123.5,120.75,119.25,120.25,124.81,125.37,128.5,131.44,133.63, +133.5,130.56,132.06,127.75,128.19,124.69,126.75,130.5,130,129.13,126.56,122.5,123.5,125.94, +119.37,121.75,120.5,117.94,112.62,122.56,125.25,130.88,128.44,128.56,127.87,128.06,129.94,128.88, +125.12,125.37,126.19,128,128.5,129.88,129.13,129.75,128.75,126.81,132.75,132.5,133.38,127.87, +125.44,125.5,124.25,123.87,127.44,128.13,122,120.19,118.37,117,119.62,119.37,118.5,117.06, +115,113.87,113.69,115.19,116.75,114.81,114.12,113,112.44,112,111.75,108.12,106.12,108.81, +111,110,112.25,116.25,116,117.25,119.25,118.81,118.87,116.06,113.87,115.56,117.19,117.5, +120.06,120.25,121,121.94,123.62,123.5,125,124.62,124.94,125.81,121.87,119.62,119.31,120, +117.12,117.25,117.81,116.62,116.87,115.87,115.56,115.69,115.31,117.37,117.5,114.75,118,111.19, +107.75,107.81,109.75,106.25,104.19,106.37,104.5,104.69,106,104.69,105.81,104.44,103.87,103.25, +104.37,105.06,106,103.5,101.37,102.06,102.87,101.56,100.87,101.25,99.62,100.25,99.12,97.5, +96.12,98.12,98.94,99,102.12,101.94,104.44,105.5,105.25,102.5,102.87,102.62,102.75,102.75, +102,102.37,102.87,102.69,100.87,98,98,99.56,98.31,99.37,100.56,98.75,98.19,97, +96.5,98.12,99.19,99.37,100.12,108.37,105,103.44,102.62,102.12,100.12,100.06,104.19,104.25, +105.25,106.44,105.62,104.62,103.12,102.75,101.69,99.12,98.62,102.56,102.12,100,102,103.75, +100.87,100.37,101.62,106.5,110.37,112.87,112.25,109.25,110.37,110.75,112.56,109.5,109.75,107.37, +103.12,105.56,104.75,103.06,102.12,103.5,101.5,99.12,96.62,99,97.69,99.5,101.06,102.75, +101.94,101.62,98.5,95.81,98.25,99.37,90,98,100.37,105.12,105.19,97.5,95.44,99.87, +101.69,103.31,104.5,104.94,104.62,105.25,106.81,104.81,104.31,104.56,103.5,106,105,102.62, +101.62,101.56,103.25,103.87,99.25,98.75,99.62,99.62,96.25,97.75,98,97,100,102.87, +103.62,103.75,103.56,104.06,101.37,101.12,103.87,103.31,105,106.37,105.75,108,107.94,104, +99.94,103.62,104.37,103.44,103,105.25,107.37,107.87,106.5,106.25,104.75,105.75,106,102.87, +105,107,107.81,105.12,103,103.75,104.5,99.62,97.62,96,95.25,95.75,95.75,96.19, +95.75,94.5,94.81,93.44,91.81,90.25,91.25,90.62,91.87,91.81,87.75,89.87,89.62,89, +89.87,89.25,89,88.12,87.12,86.25,86.87,85.62,82.87,83.37,84.37,87.12,86.5,87.75, +90.12,179.25,173.38,172.5,175.13,173.75,168.75,170,173.88,173.88,173.63,173.5,167.5,167.38, +162.13,165.5,166.13,162.13,161.38,160.5,158.38,150.38,150.75,153.63,142.38,140,137.38,139.75, +137.75,137.5,137.88,136.5,133.38,133,133.13,136.63,132.5,129.25,131.13,133.75,136.75,137.25, +137,140.25,135.88,136.75,132.5,136.88,137.88,139.38,139.5,143.63,142.88,144.88,146,146.13, +144.75,146.63,145.5,144.88,145.13,143.75,143,146.88,146.5,143.88,137.63,141.25,143.63,145.25, +145,146.38,145,145.25,142.75,148.75,146,148.75,153.63,154.88,156.88,157.25,156.38,150.75, +145.75,150.5,151.75,158,168,167,165.25,165.5,164.63,167.02,163.88,163,161.88,159.88, +163.38,161.25,159.13,153.25,151.5,153.63,155.13,155.75,155.75,154.25,154.63,158.13,158.63,151.88, +148.63,152.88,151.63,156.13,157.75,160,155.63,158.5,162,162.63,163,159.38,158.13,158, +157.63,158.5,154.13,152.63,154.13,146.75,145,136.88,134.75,133.25,134.5,134.38,133.75,133.38, +130.25,128.75,127.5,129,126.37,125.62,127.37,126.5,127.37,129.25,127,130.13,129.38,125.62, +127.62,129.5,130,129.88,127.75,126.25,128.38,127.87,126.62,125,125.87,123.75,124.5,124.75, +124.37,126.5,124.12,124.25,123,123.5,124.5,123.62,122.75,122.12,117.25,118,118.12,117.62, +115.5,113.12,114.62,115.25,114.37,115.12,115,111.75,112.5,113,112.62,112.25,110.5,110, +110,110.87,111.25,109.37,112.12,112.37,113.5,112.62,109.62,109.25,108.87,107.25,107.5,107.37, +104.75,103.87,103.62,91.75,90.25,92.5,93.75,94.25,94.12,95.75,90.87,95.31,96,98.87, +99,98.37,97.87,98.5,100,101.5,99,98.87,98.62,99.75,99.62,98.62,100.75,102.12, +101.25,102.5,101.62,103.25,103,103.12,102.62,101.75,101.25,104.87,105.87,105.37,106.75,107.25, +106.87,108.25,108.75,109.25,110.37,111,112.12,110.87,108.62,109,108.62,107.62,106.37,107, +105.87,105.87,107,108.12,107.87,107.87,107.75,108.62,107.75,108.25,106.75,107,107.25,105.37, +105.5,105.25,115.5,114.12,111.5,117.5,116,117.87,119.37,117.75,119.75,117.62,110.37,111.25, +109.75,111.25,110.75,108.75,114.25,114.87,117,121.75,124.62,119.87,116.87,115.87,114.25,117.25, +114.25,117.12,117,119,116.12,118.12,122.62,127.37,128.75,124.87,125.62,124.12,120.25,119.12, +118,117.62,114.25,113.62,115.25,113.5,113.5,112.62,114.75,112.25,109.62,109,108.5,108.62, +106.5,104.75,104.12,107,103,102.25,102,96.25,87.62,87,83.12,86.37,87.25,87.25, +86.75,89.12,88.62,86.87,89.25,90.87,91.37,90.12,92,91.75,91.25,90.87,89.37,91.87, +89,90.25,93.75,94.5,95.37,96.25,96.87,94.75,95.75,95.75,96.12,94.75,96.62,97.12, +97,95.87,95.87,95.25,94.5,93,95.12,95.62,95.5,95.37,97.37,97.37,98.37,97.75, +98.75,100.5,101.5,99.62,96.87,97.25,98.25,96.5,95.87,96.12,98,99,95.37,98.25, +96.37,96.87,94,92.5,93,92.5,90.75,92,94.12,94.5,93.75,94.87,93.5,94.5, +93.87,94.37,92.87,92.75,93.87,94.37,95.75,96.75,94.12,92.25,93.37,94.62,97.5,96.37, +98.87,99.37,100.75,101.12,102.75,103.37,101.62,102.37,101.62,103.87,104.87,106.62,107.62,106.75, +111.37,113.62,112.37,112,110.75,109.25,109.12,109.87,109.62,108.87,108.62,109,107.5,109.62, +108.87,110.62,110.75,109,108.37,107.5,103.62,104.12,101.25,107,107.25,103.87,103.75,101.62, +99.75,100.62,99.5,98.87,96.75,97.62,96,97,96.12,95.37,98.25,98.62,97.5,97.12, +97.75,93.75,92.62,93,93,91.75,90.25,89.12,89.37,89.87,91.37,91.25,93.87,94.25, +93,92.62,95,96.75,96.12,97.25,95.25,93.37,93.12,94.87,94.62,95,94.37,94.25, +93.87,93.62,93.75,93.12,93.75,94.25,92.87,92.12,94.62,96.87,95.25,93.62,93.5,91.62, +89,87.12,88.25,87.87,86.37,87.12,86.75,86,84,83.87,84,83,82.87,82.12, +82.37,83,84.5,85,83.62,83.37,81.62,82.25,83.5,82.62,83.5,81.75,81.5,82, +81.12,80.62,79.75,79.75,80.25,79.87,77.25,75.37,75.25,74,74.87,74.25,74.25,74.25, +75,75.5,75.62,75.62,74.87,75,75,74.25,74.25,74.37,74.62,74.37,73.62,72.12, +71.75,72.5,72.37,72.37,74,74.25,75.37,76.5,77.25,77.5,77.5,76.37,76,76, +76.62,75.5,75.12,74,74.37,73.75,73.5,74.37,73,74.25,73.5,73.5,73.62,70.75, +71.62,70.12,70.5,70.25,69.75,70.62,71.5,70.12,71.25,71.62,71.37,71.37,69.5,70.75, +70.62,70.62,70.75,70,69.75,72.87,73.25,73.12,72.75,73.12,72.87,72.37,72,74, +73,71.87,71.12,73.5,74.25,73.87,74.5,76.12,74.12,74.37,73.87,73,74.62,75, +75.37,74.5,73.25,73.12,72.25,73.12,71.62,71.5,71.12,68.75,69.12,68.37,68.87,69.62, +69.5,68.5,69,69,69.12,69.62,69.5,70.25,70.37,71,69.75,69.75,69.25,67.87, +67.25,67.87,67.5,67.5,67.25,67.87,68.5,69.37,69.37,70,69.37,67.37,67.62,67.75, +68.12,66.25,64.87,64.62,64.37,63.75,64.62,64.12,64.5,63.25,62.38,63.13,63,62.25, +62.88,61.88,62.25,62.5,62.38,62.25,61.38,62.38,55.88,55.63,56.88,56.88,58.25,56.75, +55.88,55.63,56.63,56.75,57,56.25,57,58.75,60.38,61.13,61.5,59.88,60.88,62, +61,61.63,62.38,62.88,63.75,65,63.75,62.63,62,61.63,62.63,62.63,61,62, +63.5,63,63.63,64,63.63,63.13,61.75,62.13,61.38,60.75,61.25,58.5,57.5,57.25, +57.25,58,57,56.5,57.13,57.75,58.38,58,57.5,57.13,58.5,59.25,58.75,58.38, +52.25,53.38,53.38,53,53.88,52.38,52.88,53,52.5,53.13,53.13,53.38,53,54.63, +53.5,52.63,53.63,54,56.38,57.25,58.25,58.63,57.13,57.88,58.25,57.38,57.5,55.88, +56,55.38,54.75,52.25,52.63,52.63,53,53.63,52.88,52.88,52.88,53.5,53.63,52.63, +52.75,54.63,54.5,54,53.25,52.88,53.13,53.63,54.25,52,55.75,56.38,56.5,56.5, +57.75,57.13,56.38,58.25,58.63,55.25,55.25,56,57.13,57.5,58.63,58.75,58.13,58.63, +59.25,58.88,58.5,59.5,59,57.63,56.5,57,58.13,58.38,59.13,58.63,59.25,58.63, +58.38,59.75,57.5,56.88,56.13,57.38,55.25,53.63,53.88,53.75,53.75,53.5,53.75,53.13, +53.88,54.38,55.75,55.13,53.13,52,51.88,52.75,51.88,52.75,51,51.63,52,49.88, +49.13,50.25,49.88,49.75,50.75,50.88,47.75,46,45.75,46,46.25,44.88,44.5,45, +43.63,43.38,44,44.5,42.63,43.13,43.75,44.13,44.25,44,44,43.75,44.25,43.88, +42,41.63,41.75,41.75,41.75,41.88,41.88,42.13,42.25,43.38,43.5,43.63,43.5,43.88, +43.75,44.38,44.38,45.5,45.75,46,45.88,45.75,44.63,44.13,44,44,43.88,44.38, +43.13,43,42.75,43,41,41.63,41.75,42.25,43.25,43.13,43.38,43.75,44.38,43.38, +43.88,44.5,43.88,44,45.63,42.38,42.25,43.38,43.63,42.88,43.63,45.63,47.5,47.38, +47.63,48.13,46.63,46.63,46.63,46.88,48.25,49.25,49.38,49.38,50.38,49.75,48.75,48.63, +49.25,49.25,49.38,49.63,50.38,49.88,52,52.5,52.5,52.88,52.25,52.25,54,53.88, +53.88,52,52.75,53.25,52.75,50.38,49.75,48.38,49.25,49.63,49,47.63,47.88,47.5, +48,48.88,48.88,48.63,48.25,49.38,49.25,49.25,48.63,48.88,49.88,48.38,48.38,47.75, +48.5,49.13,50.63,49.25,49,48.75,49,49.38,51,50.25,52.25,52,52.63,52.63, +51.88,50.88,50,51.75,51.38,50.5,51.13,54.25,53.63,53.75,54.63,54.5,55.13,55, +55.63,54.88,55.88,56.63,56.13,55.25,54.88,55.25,54.25,54.75,54.38,53.75,51.88,51.13, +51.25,50.5,50.5,50.5,50,50.75,51.13,52.25,53.38,52.88,52,51.38,51.13,52.13, +52.63,51.5,50.25,49.63,49,48.88,48.63,46.38,46.88,48.38,49.5,48.25,48.75,47.75, +48.75,47.75,46.5,47,48,48.88,50.13,50.38,50.13,49.75,51.75,52.75,51.25,51.75, +48.88,51.38,53,51.88,56.13,62.88,62.38,61.75,62.63,65.37,65.87,67,67.25,67.87, +67.75,68.25,66,65.37,64.87,63.25,62.25,61.25,63.13,64.25,64.87,64.87,64.12,65, +65.87,67.5,66.25,65.87,68.25,69.12,68.87,66.87,66,67.12,65.75,67.5,69.12,68.5, +68.5,68.37,68.5,70.75,72.87,78,78.75,78.5,78.5,79.37,78.37,79.75,78.87,78.5, +80.12,80.75,81,82.75,82.25,82.5,83.62,83.25,84.37,83.5,83.75,83.12,85.5,88.37, +88,87.5,86.87,86.12,86,86.62,87.5,87.62,86.62,87.25,87.37,86.37,87.12,85.12, +86,85.87,86.62,88,88.62,88.37,88.12,88.37,88,88.5,87.12,88.25,91.62,94.25, +94.87,94.75,95.37,94.37,93.75,92.37,92.75,92.75,92.5,93.75,92.87,95,100.25,99.25, +97.87,97.87,97.62,97.5,97.87,96.75,98.12,96.87,98.25,97.87,98.62,97.25,97.12,97.62, +95.87,95.25,95,94.5,92.62,93.12,94.12,93,92,90.12,90.62,91,90.37,89, +89.75,90.62,90.62,90.75,91.12,90.87,90.5,91.75,91.5,91.62,92.5,90.75,91.62,91.75, +92.37,93.5,93.87,93.12,93.75,93.37,93.87,92.5,90.62,90.75,88.12,88.5,88.12,88.12, +89.25,90.12,90,89.5,88.62,88.5,88.25,87.5,86,85.12,84.87,82.37,83.12,81.75, +82.25,82.87,83.5,83.37,83.25,84.12,85.12,85.25,85.62,86.12,85.87,87.5,87.62,88.75, +89.62,89.12,87.75,87.87,87.37,86.37,86.62,87.37,88.25,87.5,86.87,87.75,88.25,88.25, +89.37,89.87,89.75,89.62,89.62,89.75,90.75,92.12,90.25,89.75,89.25,89.87,91.25,92.25, +91.37,90,91.75,91.87,93.25,93.75,93.12,93.5,95.62,92.87,95.25,96.37,95.5,95.37, +92.37,90.25,90.87,91.25,92.37,94.62,92.25,90.37,90.25,89,90.37,89.37,88.25,88.25, +88.25,85.75,84.87,86.25,85.5,86.87,88,88.62,87.75,86.25,85.12,89,90.25,90, +91.25,92.25,92.5,94.25,97.87,95.12,94.75,95.37,95.5,96.5,97.25,96.25,100,98.87, +99.37,100.12,100.25,99.87,96.62,96.62,97,98.37,98.25,100.25,98.87,98.25,98,98.25, +98.5,98.5,100.25,100.37,99.87,101.62,104.25,101.25,99.87,99.75,97.25,98,98.87,98.25, +99,101.12,102.62,103.62,102.25,104.87,105,105.87,104.62,104.25,104.87,105.37,104.87,103.62, +102.87,104,101.37,99.62,101,99.37,98.25,98.62,98,96.87,95.5,94.5,95.25,95.12, +94.87,94.37,95.62,95.75,95,96.5,98.37,98.5,99,98.62,98.87,99.25,99,100.37, +101,100.37,101.25,101.25,101.62,101.37,100.5,100.5,100.75,100.62,102,100.5,98.25,96.25, +96.62,99.25,99.37,98.25,98.75,99.5,100.5,98.62,98.12,99.12,98.37,97.12,97.62,98.62, +99.37,98.37,99.62,99.12,101,100.87,99.5,100.37,100.62,101.5,102.25,102.37,102,103, +103.25,105,106.37,106.12,104.37,104.12,105.12,105,104.62,104.62,101.5,103.25,103.75,104.12, +102.75,106,105.87,103.37,105.87,103.75,101.87,103.37,103.62,105.87,104,103,104.87,107.37, +108,108.25,108.37,108.5,109.5,109.75,109.87,109.25,106.87,108.5,110.62,111.25,111.25,113, +112.62,113.5,113.12,113.25,112.25,113.87,112.87,113.87,113.5,111.62,111.87,114.12,115.12,127.87, +126.62,128.13,129.13,127,129.13,131.25,132.5,132.88,133.5,130.63,131,128.75,130.88,129.75, +133.63,133.25,135.5,137.88,139.5,137.38,135,134.63,132.75,132.38,129.5,128.5,129.88,128.5, +127.37,126.87,126.75,127,124.5,124.25,122.62,121,119.25,118,119.62,117.62,115.75,109.12, +107.5,106.75,108.12,108.37,106.87,109,110.25,112.12,112.5,112.12,113,113.37,113.62,113.5, +113.87,113.87,113.75,112.75,113.5,111.5,111.25,112.87,114.37,112.87,113.37,112.5,111.5,114.62, +114.75,113.37,113.62,112,112.37,113.5,113.87,112.62,114.12,113.37,114.75,113.62,112.62,113.5, +112,113,110.25,107.5,106.5,107.87,107.87,108.37,107.25,105.5,106.37,106,106.87,108.12, +108.62,106.75,107.75,107.62,105.37,100.75,99.37,99.25,100.25,101,103.5,105.37,109.5,108.25, +107.87,107.37,108.25,109,106.37,104.37,105.37,106.37,105,106.75,107.87,108.37,107.25,105.12, +104.37,105,107.87,107.5,105.87,105.5,102.37,102.5,102.5,101.87,101.75,103.87,103.62,104.37, +100.37,96.87,99,100.5,102.25,101.37,103.75,105,104.37,103.75,102,103.25,103.12,103, +103.87,108.12,109.75,111.62,111.5,112.12,111.37,113.12,114.75,114.75,115.87,117.62,120,119.87, +120.75,122.37,121,120,119.12,117.75,119,118,117.37,117.62,118.5,117.5,117.62,118, +116.75,116.62,116.25,119.12,118,118.75,118.62,120.37,120.87,121.37,120.25,119.87,118.75,120.62, +120.62,120.75,120.37,119.5,120,120.87,119.75,116.25,118.75,118.75,117.75,117,115.37,116.12, +115.37,115.62,114.25,114,112.37,111.25,110.75,110.5,110.5,109.25,109.12,108,109,107.37, +108.75,109.37,108.87,109.37,109.37,109.12,109.87,111.12,110.87,107.12,106.37,105.87,105.5,105.87, +106.12,106.5,106.62,105.87,106.12,106,105.87,104.5,104.12,105,106.5,107.25,108,109, +108.62,107,106.25,106.25,107.75,106.5,107,105.5,105.75,105,104.87,104,103.87,103.75, +104,102.62,103.25,104.87,102.87,103.5,103.75,103.75,103.25,101.12,102.5,102.75,103.12,101, +99.62,98.37,97.75,98.62,97.25,97.25,96.87,95.87,97.5,96.75,96.62,98.62,99.5,98.87, +100.12,98.12,97.87,99.87,99,99.37,100.37,99.75,100,98.87,98,94.12,94.12,94.75, +94.5,95.37,95.12,94.62,94.75,93.62,95,95.12,95.87,97,96.12,96.87,98,98.62, +99.62,99.25,97.12,97.62,97.75,98.87,99.37,100.37,100.12,99.5,98.75,99.12,97.12,97.87, +98,98.25,98.12,97.37,96.75,97.37,96.62,98.5,97.87,100,100.25,99.5,99.87,100.75, +101.87,103,103.5,104.25,104.12,101.75,102.25,103,102,107.62,107.75,108.25,109.25,107.5, +107.5,108.25,106,108.62,109.25,109,111.5,117.5,116.25,116.5,116.12,116,116,116.12, +115.5,115.75,115.37,116.87,116.25,116,116.25,116.75,117.75,117.37,117.12,116.87,116.37,118, +116.12,116,114,113.62,113,115.12,114.75,115.5,116.25,116.12,115.5,117.5,117.12,118.25, +117.37,115.5,113.75,114,114.62,115,113.37,113,112.5,112.75,113.5,114.12,112.75,114.37, +114.75,116,114.75,114.87,114.75,113.87,114.62,112.12,111.62,112,112.25,111.87,111.5,113.87, +114.37,112,110.87,109.12,109.75,109.5,110.37,109.5,109.37,110.37,111,108.87,108.37,109.25, +109.5,109.62,109,110.12,110,109.62,108.25,109.5,109.62,109.75,109.5,109.87,111.12,112, +111.5,111.37,112.75,110.75,109.12,109.62,109.75,109.5,109.37,110.62,111.5,112.37,113.37,114.12, +114.62,114.5,114.5,113.5,113.5,112.37,112.37,113,111.37,110.87,109.25,111.12,111.12,110, +109.75,108,107.75,107.12,108.5,109.12,108.75,109.62,110,110.12,109.62,109.25,110.12,109.5, +112.5,118.12,117,117.87,118.87,118.25,118.62,119.62,119.87,121.5,120.87,120.5,119.87,121.5, +121.62,121.12,123.37,123.37,125.5,125.25,125.87,127,124.75,126,125,126.37,127,127.62, +126.62,127.75,128.38,129.63,130.63,128.75,126.87,126,123.25,124.25,122.37,123.62,124.25,125, +123.87,124.25,123.37,123.12,122.25,121.12,122,121.87,122.25,122.5,121,121.87,123.25,122.5, +123.12,123.37,122.5,123,123.25,122.75,121.25,121,120.5,120.75,120.5,120.37,119.37,121, +122.12,120.87,119.25,118.25,118.5,119.37,118.87,116,118,117,115.62,115.75,115.5,115.5, +117.5,117.12,116.62,119.75,119.87,119.75,119.12,120.25,122.25,122.87,124,122.62,120.75,120.25, +121.62,122.87,123.12,124.37,124.87,122.37,124.37,121.12,119.75,118.62,117.5,118.75,116.12,116, +114,113.87,114.5,114.87,115.37,115.37,113.87,113.25,112.25,112.87,112,113.25,112.75,112.75, +114.25,113.75,114.62,115,113.62,114.37,112.12,111.75,112.87,114,110.25,111.5,112.87,113.37, +112.25,111.62,112.75,110.87,110.75,112.75,114.62,114.62,115.75,115.12,118,119,118.87,121.62, +123.12,123.87,124.25,125.75,125.75,126.25,125.75,123.75,121.12,122.62,122.37,120.12,121.75,124, +124,125.12,126.5,124.75,125.25,125.25,126.75,126.37,127.62,126.87,129.25,126.62,127.37,127, +127,125,125.12,125.75,123,120.25,117.12,117.5,117.12,118.87,118.75,117,116,115.37, +116.62,113.75,114.37,113.25,112.62,113.12,112.5,108,108.25,108.5,109.25,108.75,109.5,110.5, +108.87,110.12,111.62,110.37,108.75,108.75,110.87,110.5,110.5,111.25,113.25,114.62,114.12,113.37, +113.12,114,114.25,113.87,113.75,112.37,112.87,113.12,114,114.12,111.37,116.12,113.62,113.37, +111.62,109.25,109.62,107.5,107.5,107.62,105.12,105.87,108.12,107,110,111.62,113.12,113.75, +114.25,114.87,115.25,114,115.5,115.5,113.75,116.62,117.62,117.25,116.87,116.5,117.25,117, +117.5,115.75,114.5,116.12,115.37,115.25,113.37,112.5,112.75,113.75,112,111.25,111.62,109.12, +107.75,108,108.62,109,109.87,110,112.37,113.75,112.75,111.87,113.25,110.5,111,110.37, +111.75,117.75,119,115.87,116.12,115.25,117.75,114.87,123.37,122.87,121.87,120.75,115.5,117, +116,115.75,119.87,119.5,118.25,118.25,117.25,115.5,118.87,116,115.12,110.12,111,114, +111.5,109.5,107.75,106.5,110.5,111.25,110.75,114.87,117.62,118.5,117.5,117.75,115.62,118.37, +117.75,120,121.62,122.25,119.25,117.75,118.12,119.5,123.75,120.62,121.87,124.5,122.5,120.25, +118,118,112,120.75,120,122.75,115,103.25,135,140.13,145.25,148.75,149.5,147.38, +151.5,152.75,151,156.5,155.25,154.63,150.75,150.5,152.75,156,155.88,154.25,155.75,150.5, +155.38,157.88,156.63,157.5,162,161.13,157.75,157.25,157.75,160.75,161.63,162.5,162.88,168.38, +166.5,166.25,167.88,172,174.63,174.75,174.75,172.63,172.88,174.5,173.25,173.38,170.38,169, +166.75,164.38,163,160.25,159.38,159.25,161,162.38,161.5,161.25,162.13,161.25,160.13,161.38, +162.75,164.63,167,168.13,168,167.5,169.88,167,166.25,166.75,163.88,165.13,164.25,164, +162.5,165.38,166.5,167.88,166.13,164.88,163.25,161.38,160.88,161.38,162,159.63,156.63,157.63, +157.75,159.88,161.25,160,161.38,160.25,157.25,159.63,160,162.63,161,160.63,156.63,157.25, +156.63,156.75,161,160.63,165.13,166.25,165.38,163,163.75,164.88,166.75,166.88,163,160.63, +160.13,158.63,155.25,154.25,151.75,154.25,154.25,157,150,150,150.88,148.13,147.63,145, +144,147.25,146.5,149.38,149.5,148,151.13,150.13,152.38,150.75,154,155.63,152.88,149.75, +148.63,147,146.25,147.13,144.63,144.88,144.25,141.75,142.88,138.88,139.38,140.38,139.88,138.13, +138.5,139.5,139.38,141.75,143,143.38,139.63,139.13,138,138.38,134.5,132.63,134,133.38, +133.75,135.75,136.88,135.13,133,132.25,128.75,128.63,130,129.38,127.25,126.25,127.37,122.75, +122.75,125.25,120,120,118.62,116.5,120.37,122.25,122.87,123.5,123,123.62,122,120, +120.87,120.62,122,122,120.5,123.12,125.12,125.37,126.75,128.13,127.62,126.5,128,128, +126.87,127.75,126.62,127.75,128.63,129.88,127.37,127.12,126,127.12,124.62,123.25,123.5,123, +120.5,122,121.37,119.87,122.75,123.75,123.12,121.5,121.37,123.12,125.87,126.37,123.62,122, +120.87,120.75,122.12,121.37,121.5,120.37,121.37,120.25,121.87,121.12,123,120.87,122,123.62, +122,127.5,128.13,133.5,130.88,133,133,134.5,134.25,135.5,135.75,137.5,139.25,138.63, +136.88,138.38,137.63,138.25,137,137.38,139.25,144.13,143.88,143.75,140.38,139.38,136.13,136, +138.75,140,141.13,141.13,139,138,138,139.25,136.75,135.38,133.13,134.25,134,132.5, +131,130,131,131.13,130.88,131.63,131.38,132.5,132.25,131.25,132.38,134.13,133.13,133.13, +133.63,131.88,131.75,132,133.13,135.75,139.25,143.13,145.75,144.25,144.63,145.25,149,149.5, +148.63,146.5,147,146.75,147.5,146.5,145.13,147.5,145,146.38,146.88,148.5,149.63,148, +149.13,148.38,146.75,149.88,150.75,150,152.75,152.25,152.38,152.88,151.38,147,143.88,143.38, +144.5,146.25,144.13,144.88,145.38,148.13,148.88,150,149.75,149,151.25,154.25,155.63,154.13, +156.88,156.25,159.38,161.38,159.5,157.63,155.25,153,154.88,152.63,154.63,154.75,152.63,152.38, +149.75,150.25,149.25,152,149.5,148.25,149.63,151,149.13,151.5,149.13,147.63,148,148.88, +149,150.13,151.63,152.38,150.88,150.38,150.5,149,152,148.5,146,146.75,148.38,149.75, +151.25,150.88,155.88,158.25,157.5,158.88,159.75,159.13,157.5,158.88,156.25,155.63,155,156.75, +157.25,155.75,155,154.88,154,154.63,151.5,149.5,151,151.75,149.63,150,148,144.25, +149.5,149.38,150.88,156,152.63,149.25,149,148.5,150.38,148.88,155.63,154.38,154.38,152, +155.5,158.25,155.38,153.25,152.75,154,154.25,153.75,152.88,152.5,152.25,150.25,148.63,149, +146.63,144.63,141.75,140.75,141.88,138.63,137.88,139.75,140.25,139,139,139.5,140.25,139, +138.25,138.5,136.75,136.63,135,135.38,134.63,132.5,132.13,132.88,133.38,132.25,130.88,129.88, +131.13,130.5,129.38,128,128.63,130.5,129.13,127.5,127.62,128.5,129.38,128,128,125.62, +124.37,124.25,124.37,124.25,123.5,124.37,124.37,126.62,123.87,123.75,124,126.75,128.13,126.75, +128,127.5,126.75,128.38,127.5,127.12,127.25,127.87,129.38,129.13,128.38,127.25,127.12,126.62, +127.5,128,128.25,128.25,126.87,126.62,128.38,127.5,125.87,125.75,126.37,126.75,126.62,127.12, +127.37,128.38,129.25,129.38,131.25,131.63,132.5,131.38,130.5,129.63,132,130.25,129.13,129.38, +129.88,129.25,128.75,129.38,128.5,125.5,124.25,123.75,123,121.25,123.5,124.5,123.75,124.37, +124.87,123.75,124,123.12,122,120.87,119.37,118.75,119.37,119.87,120.12,121.12,118.62,120.75, +126,127.62,127.37,129.75,128.5,129.75,129.13,128.63,128,129.75,130.38,130.88,131.38,132.63, +133,133,130.75,129,128.5,128,130.25,130.13,127.87,127.12,125.75,124.75,125,125.37, +125.62,126.5,126.25,127.12,128.88,128.63,129,127.75,127.62,127.5,129.63,129.75,129.25,128, +127,125.87,124.62,123.87,127,126.5,127.75,128.13,127,126.62,126.37,125.37,124.5,127.75, +128.75,129.38,130.5,128.38,128.63,128.88,130,131.88,131.5,129.63,130.13,132.88,135,135, +135.88,134,133.13,134.5,133.88,132.88,133.75,133.75,131.88,131.38,132,133.75,131.75,133.5, +137.25,137.13,135.38,136.5,137.63,135.63,136.38,136.63,137,134.63,133.25,133.13,132.5,129.63, +128.25,124.12,123.62,123.87,124.62,124.75,122.75,123.75,120.37,119.75,120.37,119.75,120,121, +123.12,123.5,123.12,123.75,124.25,123.75,122.37,123,123.12,119,118.75,117.75,118.75,119.12, +117.87,117.12,118.5,117.87,120.25,120,121.75,122,123.12,124.75,122.62,122.62,121,121.25, +120,121.5,122.75,123.12,122.75,124,123.25,125.75,125.75,127.5,126.75,125.87,126,124.62, +126.75,124.87,124.12,125,126.75,126.62,125.75,125.12,126,121.87,121.25,122.5,121.87,120.25, +121.62,120.5,121,121.25,121.87,121.25,121.75,122.62,124.25,125.75,124.62,124,123.75,124.25, +126,125.87,126.62,127.62,126.75,126.12,122.5,122.25,122.75,121.62,123.37,122.5,122.5,123.75, +123.62,124.25,125.37,124.75,125.5,124.87,124,125.87,123.25,123,123.12,121.87,121.25,122.25, +121.12,122.75,118.5,121.25,121.75,120.25,114.87,112.87,110.62,108.37,109,108.25,107.12,105.37, +106.12,107,106.75,107.25,108.12,107.25,105.25,104.37,105.25,107.12,107.25,105.75,106.25,107.12, +105.75,105.75,105.12,103.12,104.12,105.5,105.25,105.87,102.12,102.62,101.75,99.12,100.75,104.37, +104.5,104.25,105.75,105.62,105.75,105.37,108.25,107.87,107.75,107.5,106.62,107.25,106.75,107.75, +107.87,108.62,109.37,110.5,111.87,113,112.25,111.25,112.37,112.87,114.25,113.25,112.75,115.62, +116.25,116.5,113.75,113.25,113.25,111.87,110.75,109.87,110.75,111.12,112.25,112.75,111.25,112.5, +108.87,110,109.62,109.75,108.75,111,112,112,113.87,113.75,115.37,113.87,112.25,112.25, +112.75,114,114.75,114,113.75,112,111,110.62,110.25,108,108.5,107.62,109.25,111, +112,111.5,110.25,110,112.87,111.25,109.25,109.12,109.37,109.75,109.62,109.62,110.87,109, +109.87,109,107.75,110.5,108.75,110.75,114.37,113.75,114.12,113.87,114.87,114.62,115.37,116.75, +116.12,117,118.87,120.5,121,120.5,119,121.25,122.25,122.25,123.25,123.5,124.25,123.87, +121.75,122,123.12,124.25,124.62,123.62,122.87,123.62,121.75,121.25,120.87,119.5,120.87,122.12, +124,122.25,119,119.25,117.62,118.62,117.87,118.87,117.37,121.62,119.25,121,120.87,123, +125.25,123.5,123.37,124.75,124.5,127.5,126.87,125.25,123.62,122.25,122.12,122.25,123.87,126.5, +126.75,126.75,128,129.38,128,128.5,128.25,127,129.75,130.5,128.75,131.75,131.75,133.63, +132.63,133,134.25,132.25,132.13,131.13,129.88,128.13,126.87,127.87,128.75,127.87,128.63,126.62, +124.62,123,123.87,123.75,123.12,121.75,122.87,122,121.5,122.25,122.25,122.37,121.87,119.75, +118.62,119.5,117.37,119,117.87,116.25,116.5,119.37,121.25,122.5,121.62,123,121.62,120.5, +118.5,117.75,118.12,118.12,119,119.75,119.5,121.25,120.5,120.75,120.37,122,123.37,125.75, +125.87,124.37,125.5,125.37,120.87,119.87,120.12,122,121.25,120.87,123.25,121.5,119.75,121.62, +119.25,121,120.25,120,118,120.87,123,123.25,123.5,123.12,122,121.12,121.75,121, +118,117.25,114.25,113.75,113.37,113.12,115.75,114,113.5,111.87,111.25,113,114.37,115.62, +114.62,112.5,110.75,111.25,114,114,115.25,116.5,115.5,115.5,116.87,117.5,117.62,115.75, +116.5,115.5,115,117,117.25,116,117.12,114.5,117.25,115,115.12,111.5,112.62,110.12, +109.5,108.75,107,106.62,103.87,103.25,102.62,102,102.37,101.75,104.25,102.87,102.37,102.12, +102.25,102.12,100.12,100.75,99.87,98.87,98.87,100.87,100.5,100.75,100.25,102.25,100.87,103, +102.25,101.87,102.12,101.75,99,100.37,100.87,98.75,97.12,98.62,98.37,98.37,98.87,99, +96.37,96.37,94.5,95.12,97.12,97.37,95.5,96,97,98.87,97.37,97.62,95.12,96, +93.87,94.62,97.87,98.5,99.62,99.25,99.12,98.62,98.12,98,98,96.62,97.62,96, +95.62,93,96.25,96.12,96.62,95.12,96.37,93.62,93.5,95.75,92.5,93.37,90.75,89.37, +91,93.87,92.75,93.62,94.5,95.12,92.75,88.25,88.25,86.5,86.5,82.5,83.37,82.75, +81.25,80.5,83.5,83.75,84,82.12,82.25,85.37,85.37,84.37,85.75,83.37,84.25,84, +85.25,81.87,81.5,79.87,79.62,81.62,82,80,82.75,84.75,84.5,82.12,83,79.5, +80.12,83.5,82.75,83.5,81.12,80.37,79,75.12,74.5,74.12,73.37,74.75,76.25,76.62, +76,76.37,75.5,76.75,74.75,74.12,74.12,73.37,72.5,72.87,71.37,71.87,72.5,72.5, +72.12,71.37,69.75,70.5,69.87,69,69.12,69.12,68.37,69.37,68.25,66,65.75,66, +62.88,62.88,62.25,62.38,63,63.25,63.13,63.88,65.62,66,66.75,65.62,65.5,64.87, +65.5,65.87,66.5,66.62,67.5,67.37,65.87,66.75,66.75,66.87,64.5,66.87,62.5,61.5, +61,60.38,60,60.63,60.63,61.13,61.13,60.25,60.5,61.13,59.88,58.63,58.38,58.5, +59.5,59.75,59.13,59.63,58.75,58.13,58.25,60,60.25,61.5,62,61.75,61.5,62, +62,61.88,62.25,62.63,63,62.5,62.75,62.88,63.63,63.63,63.88,64.37,63.88,64.75, +64.87,65.12,64.75,64.5,64.25,64.12,64.87,65.12,66,65.75,64.37,63.88,63.25,63.75, +64.5,64.62,63.63,62,62.13,62.25,61.75,61.75,61.5,61.5,61,59.75,60.38,59.88, +59,59.75,59.13,59.5,59.13,57.63,57.88,57.38,57.38,58.88,57.88,58.25,59,58.63, +57.5,58.5,59.13,59.88,61,62.13,61.88,61.63,62,60.88,60.38,62.38,62.75,62.25, +62.25,61,61.25,61.88,61.38,61.5,63.25,63.25,62.75,63,62.63,63.63,64.37,62.63, +61.75,62,61.63,62.5,61.5,61,61.88,59.75,58.88,57.38,57.5,56.75,56.75,56.75, +56.75,57,58.25,56.88,57.25,56,56.5,57,56.13,56.88,56.38,56.75,55.75,54.13, +53.63,53.38,54.38,54.63,53.88,53.25,53.5,54.63,54,53,54.13,54.5,54.5,52.63, +52.25,50.5,50.63,50.38,50.38,51,51,51.63,52.75,52.5,52.25,51.63,50.88,51.5, +52.38,53,53,51.5,49,49.5,50.75,50.63,51,51.13,51.38,51.63,51.25,51.25, +52.25,52.5,53.75,55.5,55.88,55.5,55,54.25,55.13,55,54,54.13,53.25,54.88, +53.63,54.63,54.5,54.38,54.88,54,54.13,54.88,55.5,55.88,55.75,54.75,54.13,54, +54,54.63,55.75,56,55.13,55.88,55.25,55.5,55.88,55.88,56.88,57.25,57,56.63, +56.75,58,58.25,57.88,58.75,57.88,57,56.88,58.38,58.25,56.5,56.13,56.38,55.38, +55.38,55.63,55,54.88,55.13,55.5,55.38,56.13,56.63,56.63,56.88,55.88,56.38,56.63, +56.63,57,57,56.88,56.88,57.88,57.88,58.75,59,59.5,59.38,58.13,57.5,57.63, +58.5,58.88,59.88,59.38,59,57.88,57.38,58.25,58.38,58,59.13,59.88,60.25,58.75, +58,57.88,56.13,55.5,55.63,56.38,56.63,56.75,56.38,56.63,56.75,56.75,56,57.88, +57.38,57.88,57.75,58.38,59.13,58.63,59.63,60.38,61.13,60.63,60.38,60.38,60.5,61.63, +60,59.63,59.13,60.13,60.75,61.75,60,60,60.38,61.13,62.13,63,62.38,61.5, +61.75,63.13,63.88,62.25,62.88,63.13,63.75,64.75,64.25,64.62,63.25,64,62.25,62.5, +63,61.88,62,61.88,62.5,63.63,64.25,64.75,64.25,62.13,62,60.5,61.25,62, +62,61.75,61.75,62.63,63,63.5,64.25,64,64.5,64.25,63.38,64.37,64.87,64.62, +65.5,65,65,65.25,65.12,65,66.62,66.87,65.75,66.75,66.5,66.75,67.37,67.62, +69.5,71.5,70.25,69.12,67.87,68.62,68,69,68.5,67.25,67.12,64.62,63.63,65.25, +66.25,64.5,65.75,64.5,63.75,66.12,66.37,67.5,68.37,68,67.87,66.5,68.12,68.75, +69.5,70.37,70.37,72,71.37,72,71.62,71.62,71.25,70.87,67.12,67.25,67.12,66.5, +68.5,67.5,66.62,65.12,65.5,66.62,66.12,66.62,65.87,67.75,68,68.5,68,68.62, +70.37,69.75,70.5,69.25,70.12,70,67.75,68,66.25,65.37,64.62,64.12,63.75,64.62, +66.12,67.5,66.87,68.12,67,66.5,67.25,65.62,66.12,65.87,66.37,65.75,66.12,64.25, +66.5,66.62,67.5,66.12,65.5,65,65.87,66.75,67.12,67.37,67.5,66.87,66,66.37, +68.75,68.87,66.75,66.75,66.75,65.25,65.75,65.62,64.25,64.75,65.12,65.25,65.5,65.12, +65,64.37,64.75,64.87,65.12,66,65.12,65.62,64.25,63.75,65,62.75,61.63,61.5, +61.75,62,61.13,60.63,59.5,58.75,59.75,59.25,59.75,59.38,58.88,57.88,57.88,59.63, +58.88,60.38,58.88,58,58,57.5,56.75,57.13,57,58.13,56.38,56,55.38,54.38, +56.38,55.25,54.75,53.75,52.88,52.75,53.38,53,52.5,53,53.25,52.25,52.13,53.88, +55.13,54.88,55.38,54,54.38,54.88,54.88,54.5,55.38,53.75,53.5,53.88,51.25,51.25, +51.25,51.13,52,53,53.5,54.25,54.63,53.5,53.38,54.88,55.5,54.88,55.75,55.88, +57.5,53,54.75,54.13,56.75,58.25,58.88,59.63,59.13,59.88,60.13,61.38,62.25,61.63, +61,61.13,62,63.25,62.75,63.5,63.38,62,65,65.12,66,66.25,67.25,67, +67.62,68.12,69.37,68.87,66.75,67.25,67.12,68.37,69.62,69.12,69.37,68.62,70.37,70.37, +71,70.12,70.62,71.25,69,69,69.62,69.25,70,70.12,66.87,67,67.5,65.37, +67.37,63.13,63.38,63.5,62.5,64.37,64.25,64.75,64.87,64.87,64,65.12,64.37,64, +65.37,66,65,65.25,65.62,66.37,66.62,67.25,65.75,65.37,65,65.25,65.75,65.75, +64.5,64.62,62,61.63,61.63,61.88,62,62.5,62.5,62.25,62.88,61.75,61.88,61.5, +62.75,63.13,63.25,63.5,62.38,64,62.5,62.25,62.13,62.5,62.75,62.5,61.88,62.88, +63.25,64.12,65.37,65.75,66.5,67.75,66,67.37,68.87,68.62,68.25,68.25,67.62,67.75, +68.25,68.12,68.62,67.87,70,71.25,67.75,67.87,68.5,67.87,66.75,66.25,66.5,67.5, +67.75,67.62,68.25,68.62,70,69.5,69.62,70,70,69.62,69.62,70.5,70.87,71.62, +71.25,71.62,72.25,70.25,70.25,70.37,68.87,69.37,70.75,69.25,68.87,69.62,70,69.75, +69.12,68.5,68.5,69.5,68.87,69.12,69.75,69.5,69.5,69.25,70.5,70,70.12,71.62, +72.25,73.5,73.62,72.12,72.37,72.37,73.37,73.87,73.5,72.75,73.87,74.12,73.5,73, +72.62,72.75,74.25,74.62,75.37,78,77.5,77.37,77.87,77.5,77.87,76,76.25,304, +303.63,307,306.75,306.75,306,309,308.25,307.5,309.5,306.75,305,308,308.38,307.25, +309.75,312,309,311.25,319.75,318,315.63,314.25,310.5,308.88,312,310.25,310,306.75, +308.88,312,312.5,311.63,311.75,312,320,319,318.5,320.75,317.5,319.5,314.13,315.5, +317.75,317.75,320.75,312.25,315,316,316,310.5,310.63,308.75,306.88,307.5,308.5,310, +307.75,309,304.75,303.88,306.13,300.75,301,300,299.13,304,302.25,303.63,306,308, +306.5,308.25,305.5,308.13,306.63,301.75,299.63,298.5,303.5,305.75,308.25,311,308.75,312, +311.25,313,312,308.5,311.25,311.5,306.5,311,310.25,309.63,315.5,312.75,311.5,305.38, +306,304.5,306,305,306.5,303.5,298.5,304,302.5,309.5,295,283.75,284.38,282.88, +270.13,275.38,274.25,274.25,276,278,274.25,276,278,277.88,273.75,273.38,269.5,265.5, +267.88,271.25,269.38,268,264,263.75,261,261,258.5,260,259.75,263.63,263.75,265.88, +262.25,264.13,268.5,269.38,276.13,264.25,273,269.5,272.63,273.75,275,278,277.13,276, +279.75,279,279,286,287,290.5,281.25,283,278.75,279,282,276.63,280.5,277, +277,275,281,280.5,284,284,284.5,286.5,289,289.75,293.5,295,300.88,299.5, +304.5,299.25,300,301,293.5,291.88,293,292.5,295,297.25,297,297.75,296.5,293.38, +293.75,295.25,296.75,291.5,288.63,289,287.5,288.75,289.75,286,288.5,285,293,279.13, +281,278.63,276.25,273.5,273,271,270.25,268.13,269.75,264.5,266,267.5,259.38,258.38, +258.75,260,260.5,258.38,258,256.75,257.25,259.63,261.75,260.88,258.25,262.5,266.38,268, +265.88,269.25,266.25,270,271.13,274.25,267.88,269,268,265.25,266,265.88,260.75,257.13, +258.25,261.13,260.75,261.25,262.5,263.13,266.75,262.13,264.5,266,267.25,266,262.63,265.25, +259.75,260.25,259.63,262.5,260.63,263.25,266,267,266,261.5,262.38,261.75,258,254, +253.5,253,251.25,251.13,243.5,239.5,236.25,239.88,241,240.88,240.63,241.38,238,236.25, +235.5,237.88,238.5,239.63,238.25,239.75,239.5,239.25,240.75,243.88,243.25,240.13,242.25,239, +242.75,244.25,246.13,244.75,240.88,245.25,249,251.5,251.25,253.75,256.63,256,254.75,255.25, +255.25,256,257.25,257.25,258.38,258,259.75,260.13,260.75,258.5,258.63,263.25,265.5,265.5, +266.88,265,264.25,265.88,266,265.38,266.25,267.5,269.25,269,267.5,266,266.63,266.13, +267,268.88,267,266.88,270.75,268.75,273.5,272.75,271,270.25,270.25,267.5,266,264.25, +263.13,263.75,264.75,266.25,264.25,263.25,264.5,262.38,261,260.5,263.13,264.5,263,264, +262.88,267,268.75,268.5,266.25,260.5,260.25,258,257.88,261,258.25,260.13,259.25,252.75, +251,252,253,250,249.63,255.75,257.25,258.88,260.25,260.5,257.25,258.75,258.75,257.75, +256,257.38,258.75,257.88,257.5,255.25,256.5,258,257.25,257.88,257.38,259,262.5,261, +260.38,259.5,258.25,259.5,257,257.63,256.25,259,255.75,259.25,262.75,263.13,262.75,262.75, +262.75,265.38,267.88,268.38,268.5,267.13,268.38,266.63,269.5,267.63,267.25,268,270.13,271.25, +269.13,268.5,268.75,267.75,269.38,266,266.13,268.25,265.63,264,266.5,269,269.75,269.25, +269.75,268.13,267,267.5,271.63,273.88,273.25,273,273,274.88,274,270.13,261.13,259.5, +259.88,259.13,261.5,259.88,261.5,261.63,264,265.25,264.13,267.13,266,262,260.38,259.75, +260,257.5,257.25,258.75,258.5,253.5,251.63,251.25,252.88,252.88,250.5,250.75,246.5,248, +245.5,245.25,249,247.13,247.5,245.38,249.88,252.25,254,255.38,253.25,253.25,252.38,252.75, +255.25,255.25,256.25,260.5,262.88,261.25,260,258.75,259.75,261.25,259.5,258.25,258,264, +270,271.13,272,272.5,272,273.75,278.75,276.63,276.75,275.5,274.5,275.75,278,276.5, +276.63,280.63,279.25,277.5,280.13,282.5,285.5,283.25,283.5,283.5,284,285.25,284,283.25, +284.5,279.63,280.13,280.5,278,278.25,276.5,277,276,275.5,275.5,276.25,275.75,270.13, +270.5,271.5,272.25,274.25,267,269,268,270,270.5,269,271.13,274.25,276.5,275.25, +272.5,268.5,268.25,269.75,271.75,274,273,277.5,275.25,273,270.5,270.5,269,269, +271.25,272,274,274,273,276.5,279.13,280.5,276.5,278.5,277.5,271.63,270.25,270.38, +265.75,265,267.25,268.75,269.88,270,271,271.5,272.75,270.75,273,272,269.5,269.5, +271,271.38,274.13,272.25,269.38,271.5,270,271,267.5,263.5,264.25,262,264.5,261, +260.25,259.5,262.25,267.38,268,271.25,271.75,266.5,266,263.5,259.5,256.5,257.25,263.5, +263.5,263.63,262.5,264.5,272.5,271.75,278,278.25,281.25,279.5,279,280,280.5,281.38, +281.5,283.88,286.75,283.75,284.25,285.5,287.75,284.25,284,284,278.25,278,277.63,279.5, +278,277,280,278.5,276.38,276.88,273.63,272.25,269.75,268.88,272,269.5,273.5,273, +275.25,279.5,280,279.38,278.25,277.5,277.38,278.5,274.5,275.25,274.63,276.75,275.88,271.75, +272.13,273,273,272.25,275.5,273,272.5,271,270.5,272,274.25,276.25,276.63,277.63, +279.75,278,276.5,278,275,276,274.5,276.75,275.5,273.63,274.5,275.25,272,268.75, +270.5,266,269,262.25,259,260.25,257.75,255.5,253.25,253,253.38,253,256,257.5, +254,256.63,253.25,250,251,249.75,253.5,257,253.75,253,252.25,252.25,255.5,257, +256.5,258,250.5,249.63,250,252.5,249,253.38,253.5,256,255.88,259.25,258.63,260, +260.5,261.25,259.13,256.5,255.5,263.5,261.63,267.88,268.25,269,269.75,272,267,261.75, +262,260.25,260.25,259.5,258.5,261.75,262,258.25,258.75,258,258.13,261.88,259.63,261.5, +265.75,261.75,258.75,260,257.5,256.25,259.38,259.25,259.25,255.63,256,260,262.5,260.25, +262,261.25,255.75,253.13,254,252.5,255.25,258,253.5,254,258,263.75,261,259.25, +257.75,256.5,251,249.88,254.25,254.25,250,247.5,252.88,250,242,239.63,241.25,234.25, +235.75,231.25,230.38,228.5,229.38,230,226.5,224.25,223.25,222.5,223.25,223.25,220,216, +217.75,219.5,219.75,219.88,216.75,215.63,214.75,217.5,215.88,215,214.63,220.13,219,220.75, +224.13,226.38,225,224.63,222.25,221.75,221,219.5,220.38,225,222.5,221.38,224.75,219.75, +216.63,216.25,217,215.75,213.5,211.25,212.25,211.13,211,215,211.13,209,215.38,213.25, +212.88,211.5,207.25,209.38,208.75,208.5,210.5,206,205.25,206,201.25,201,195.25,188.75, +183.38,188.25,190.75,196,192,191,188.5,186.5,189.25,186.25,179.75,178.13,179.88,180, +181.25,180,179,183.5,180,182,182.75,181.25,186.25,186.25,181,178.25,182,180.25, +177.5,176.5,178.25,182,182.25,179.75,177.5,182,183.5,180,183,186,184.38,187.75, +189.25,190.25,194.88,192,190.63,190.5,194.25,193,197.5,201,201.88,202.38,204.63,206.75, +208,205.5,204.75,209.5,206.13,204,206.5,206.88,208.5,209,209,209.25,210.5,211.5, +213,206.38,208.38,204.25,203.5,208.25,206.13,208.5,210.25,211.5,212,213.5,218,216.63, +218.5,218,215,212.5,213.38,216.13,218.88,214,212.75,216,219,216.63,217.5,223.5, +223.5,216,214.5,209.75,212.38,209.75,213.75,207.63,209.25,209.88,202.25,202.5,206,206.88, +208,211.88,213.75,209.38,212.5,212.75,209.5,209.5,205,208.13,209.5,201.5,197.88,198, +198,203.75,206.13,206.63,207.5,209.88,210,204.63,209.13,209.5,214.5,214.75,218.75,215.5, +217,213,215.5,219.5,217,219.25,215.38,214.5,220,215.5,212.25,212,207.5,212, +218.25,217.75,217.75,212,220.13,215.5,210.25,201.63,198.63,197.63,196,199.88,191.75,193, +188.25,182.88,187.25,179.75,162.88,162.88,163,163.5,159.63,160,158.13,160.75,163.5,168.25, +169.25,171.25,168.5,163.25,165.75,166.63,167.5,168.88,168,164.25,162.25,165,167.38,165.75, +169.5,169,170,171.63,165.25,167.25,169.5,171.75,172,168.5,164.5,166.25,169.75,168.13, +170.75,177.25,178.25,177,174,170.5,171.5,168.5,169.5,173.88,180.25,182.13,184.75,185, +190,190.5,187.25,184,195.88,189.5,191.5,189.13,193,191.75,180.75,177.25,181.25,182, +187.75,192.5,184.25,180,177.13,177.25,179,178,176.13,172,162,164.13,156.25,157.75, +159.5,160.25,159,160.88,164,165,166.75,169.25,171.5,170.5,166.5,161.88,159.63,152, +156.5,165.13,171.5,173,179,182.25,180,183.5,192,188.75,191.25,192,193.5,190, +192.75,192,199.75,196.75,198.5,200,200,202.25,203,208.5,208.5,214.75,208.75,204.25, +200.75,201.75,201.63,207.5,203,206.25,214.75,221,222.25,219.88,217.75,217,217.75,213.75, +219,215,198.75,197.75,201.75,199,205.75,210,211.5,212.75,212.75,212,216.25,221.5, +215.75,213,213.75,216.5,216,218.75,222.75,227.5,224.75,226.5,230.25,229.25,227.5,220.38, +220.5,219,212.5,214.5,210.63,217,218.75,216.25,216.13,217.5,218.25,218.25,220,222.38, +223,221.5,224,230.5,226,228.13,224.25,226.25,229.38,230,227.25,224.5,225.5,221.63, +223.63,227.25,230.5,231.63,235,234.25,234.25,230.5,229.5,230.25,233,230.75,233.5,240.13, +239.25,234,229.75,235.75,239.75,244,250,247.5,243.5,243,246.25,245.75,247.5,249.25, +248.75,250,249.5,246.5,240.5,239.75,244.25,241.75,236.75,236,237.88,237,237.75,235.75, +236.5,237.5,235.5,231.75,233.5,226.5,229.25,228.25,228,233.13,236.25,237.25,236.75,237, +241.25,245.25,246.25,243.25,244.38,247,246.5,248,249.75,245,246,250.75,243.75,239.13, +237,240,229,227.75,228,227.25,230.75,239.25,242.75,246.75,249.25,255,248.5,237.5, +240.5,243,250.75,249.5,240,246,252,250.63,251.5,263,265,260.75,253.25,255.25, +258.5,265,266,269.25,263.5,266,272.5,276.75,272,276,284.5,280,287,289.75, +284.25,278.38,282.25,276.75,276,276.75,280.25,281.25,280.25,278.5,285,285.5,289,287.5, +286,280,291.5,287.5,283.25,281.88,279.25,282,281,274,261.75,261.75,259.5,251.5, +248.5,255.5,257.75,258,260,260.5,259.5,251.5,260,268.75,270.75,259.5,272,298, +292.25,290.5,286,293.25,296.13,298.25,297.75,296.88,301,303.25,304.25,304,304.5,298.25, +299.25,297.75,297.75,299.75,300.5,300.5,302.5,299.75,301.5,301.25,303.5,304,308,311, +311.5,313,311.5,314.5,320.75,318,318.75,319,311.75,312.75,315,315,314.25,310, +319,310,313.75,320,314,305.5,300.25,300,298.5,305.25,317,319.75,313.25,312.75, +308.75,316.75,315.5,321.5,318,314,318.25,321,329.5,329.25,323,324.25,322,315, +317,309.75,310,314.75,319,323.5,408,400.5,389.75,390,386.75,389,397,400, +400,396.13,405.63,410.5,414,422,417,421.75,424,415.38,415.38,408,405.25,409.75, +407.5,415.25,425.5,429,432,425,425.25,429.75,432.25,430.25,434.25,429.5,423.5,422.88, +423,424.25,428,431.5,438.75,434.5,437.5,432.5,428,425.5,430.5,437.75,437.88,443.5, +444,448.75,444.75,442.5,439.5,440.5,441,437.25,438.75,442,427,431.5,423,431, +433.5,444,443.75,447,441.25,441.5,445.63,451,448.5,446,437.5,438.5,437.75,430, +429.75,429,435.5,439,441.5,437.75,436,444.25,436,439,428.88,424,422.5,423.25, +420,415.25,411.5,417.5,418.75,418.75,411.75,409.25,409,402,399,391.75,390.5,385.5, +389.5,390,394.5,398.13,395.5,396.25,399,404.25,403,396.75,397,398,400.5,398, +391,387,382.25,385.5,389,394,387.25,385,384,385,384.25,388,376.75,372.25, +371.5,376.5,381,387.88,391,389.5,385.5,379.75,378.75,377.5,383.5,389.25,390.5,387, +378.5,379,370.25,364.5,379,384.5,390.75,394,400.25,401.5,395,403.25,406.75,405.25, +406.5,404.25,407,398.13,398.25,398.25,399.5,400.5,397,396.25,397.75,399.5,398,395, +396.5,398.75,399.5,401.25,404.75,406.25,408.5,408,408.75,404.25,406,407.25,413,412.75, +410.5,411.5,413.25,416,420.25,424.75,425.5,423.5,423.5,418.25,417.75,416,415.25,409, +410,400.75,398,397,394.5,398,398.75,396.5,390.75,390,388.5,388,393.25,391.75, +395.75,397,399,404,403.75,400,395.13,392,391.5,390.63,392.25,392.25,395,395.75, +397.5,397,396.5,398.75,397.5,399.75,392.75,387.75,391,392.75,395.25,393,394.5,398.5, +399,397.75,395.5,404,404,403,402,401,396.25,394.5,389.5,383.75,386.5,382, +383.5,383.75,379.25,386.25,388.75,384.5,379,380,382.5,386,381,380,381.5,385, +385,387.75,391,395.75,395,395,394.25,397.5,390.5,390.5,389.25,391,392,389, +385.5,382.25,380,384.88,385,382.75,382.25,377.75,376.5,376.88,377,373,373,371.5, +373.25,378.25,383,382,383.75,380,377.5,376.25,372.5,368.5,367,372.5,364.75,369, +368.5,368.75,367.75,369.38,369.75,369,373.75,372,373.75,372.25,368.5,369.75,373.25,373.5, +369,368,368.25,368.25,368.75,366,360.5,368.25,363.5,353.25,349.5,349.5,350,341, +342.25,341,338,338.75,341,341,340,333,336.5,335,337,339.25,333.5,336, +341.25,346,341.5,339,339,327.13,320,324.25,324.5,317.5,313.5,317,313.25,321, +309.5,309.75,305.5,302.25,298.75,291.75,290.5,291.75,293.5,294.75,301,302,294.25,294.25, +292.25,297.25,299,299.25,300,300.25,303,295.5,292.38,300.5,298.25,297,299,302, +301.63,304,305,309,309,308.75,307.75,309.25,315.13,305.75,304.75,308.5,309,307.75, +306.5,306,303.75,302.75,304.25,303.88,304.75,305,307.75,305.5,304,300.75,301,303, +299.75,300,305.25,306.38,310.5,310,307.75,299.5,301.5,304,310.13,315.5,314,314.75, +318.25,314.75,309,307,310.25,315.75,314,295,296.75,291.25,286,284,285.5,287, +287,290,293.75,291.25,296.75,299.5,292.75,296.75,298,299.5,301.75,299,296.5,294.5, +298,300,302,315,316,311.25,311.5,316.5,319,317.75,317,314,311.75,311.25, +313,315.25,314.75,314,315.5,321,323.5,321.5,318.63,324.5,321.5,318.25,312.5,317.75, +324.25,321.25,326.5,328.75,327,334,337.25,337,341,344,348,342,338,334, +335.5,340.25,342.5,342.25,344.75,347,351.75,353,353.5,353.25,357.75,362,361.25,358, +356,355,352,353,356,354,352,356.25,358.75,358,357,356.75,361,361.13, +360.75,358,356,357.5,357,356.5,358,356,355,355.75,358.5,360.63,361,363.5, +362.5,363.5,354,347.75,348.75,349,348.5,345.5,340.75,337.25,338,339,336.5,334, +338.25,335.25,330.5,328.25,329.25,336.5,341.63,339.5,338.75,337.25,338.5,340.75,336.5,330.5, +328.63,327.75,327.25,325.5,317.5,322.5,326,321.75,316.5,315.5,314.75,312.75,311.75,310, +314.5,315.63,315.75,312.5,314.5,316.25,318,316.25,313,317.75,319.5,320.25,318.5,315, +312.5,316,317.25,315.5,313,313,311,310.75,317,317.5,317.25,316.25,316,311.75, +311.5,314,308,307.25,308.5,299,300,299,296.5,291,290.5,292.88,293.25,293.13, +297.13,297.25,299,297.5,294,292.63,296.25,296.13,299.75,294,298.5,296.5,291,289.75, +295,288,288.88,291.13,284.5,290.75,293,291.5,292,290.25,296.13,298.25,305.75,307.13, +306.75,299.25,297,291.75,291.75,290,288.5,288.5,281,273.25,275.5,280.25,276.5,271, +266.38,266,268.75,268.25,273,275,272,269.75,264,263.88,266.25,271.25,265.25,263.75, +264,262.75,249.25,244.75,239.75,239.75,235.25,229.88,223,230.63,238.25,240.5,245.5,248.5, +249.75,250.25,249.25,252.25,253.5,252.5,252.75,253.25,253.75,257,254,257.75,258,259.5, +254,252,251.25,247.75,250.25,254.25,252.5,242.5,244.5,250.75,254,250,257.5,257.5, +258,255,257.13,268.5,270.25,272,265.75,271,259,259,259.25,265.5,268.25,266.25, +270,271.25,283,283,287,278,267,259,242,241,248,245.5,250.5,258.5, +270,270.75,268.5,275,282.5,285.5,290.5,289.75,287.5,283,283,296.75,298,300.25, +290.25,301.5,309,309.63,313,321,324.5,322.5,320.75,323.25,324.75,327,331.5,325.75, +324,320,320.5,326.5,332,337.75,338.5,336.75,333.25,333,328,322,319.75,322.38, +322.25,322.5,320,324.25,328.75,328.5,326.5,316.75,325.25,329.25,329.75,333.25,335.5,340.25, +344.25,345,344.5,349.5,352,351.25,349.75,349.25,349,352,355,346,349.75,344.75, +338.75,343.25,343.25,343,335.19,338.5,341,345.25,348.5,356,356,355,356.5,350, +369.75,381.5,373.75,374.13,367.75,369,369.5,368.75,368.5,368.25,364.75,364.5,359.5,358.25, +361,355,351.5,360.5,366.5,360.25,351.5,353.25,358,359.5,355.5,355.5,356,355.5, +357,357,355.13,356,360,357,350,346.25,345.75,351,354.75,359,363.25,362.5, +363,364.5,367,367.75,366.75,365,360.5,360.5,359.5,359.5,360.5,359.5,356.25,361.5, +363.5,364,356.5,355.5,357,353,351,351.75,354,353,347.25,346.5,347,341.5, +346,348.5,344.75,344.5,343.5,345.25,346.25,346.5,347.75,357,357.25,358.5,351,348.5, +347,346.75,344,345.5,343.5,348.5,338.5,335.25,338,340.25,340.75,343.5,345,348, +342.75,340,341,350.25,349,346.88,342,341.25,339.5,338.75,335,330.5,329.25,333.5, +333.75,336,334.5,326.75,329.5,324.5,315.5,313,313.13,316.5,317,320.25,318.25,323, +327.5,328.5,323.5,321.5,331.5,327,333.5,336,348,351.25,348,337.5,337.75,331.5, +329.75,320.5,325.5,315.5,312.25,314,314.25,314.25,313.5,311.5,308,309.5,310.25,312.25, +315,318,319,318,319.5,319,321.75,322.25,327,327,322.75,322.5,319.5,324.25, +330.5,330,334,331.5,326.5,327,329.75,329,331.5,327.5,326.5,325.5,328,327.25, +324.25,317.75,315.5,311.25,312.5,308,308.25,306.75,308.75,310.5,309.25,312.25,313.75,312, +306.5,307.25,310.75,311,313,314,311.25,309.5,308,306.5,305.5,305.5,303.5,299.88, +301.75,295.75,294.75,299.63,303,303.5,299.75,301,301,297.75,296,293.38,296,298.5, +296.25,296.75,295.5,295.5,300,300,308.75,310.25,305.5,303,298,297.25,296.75,296.25, +294.88,296.25,296.5,296.25,299.75,299.75,299.75,300.5,303,303,300,307.5,312.75,308.75, +308.5,300,305.75,310,306,303.5,302.5,312,313.75,315,313.5,319,319.75,321, +317.75,322,326,319.5,315.75,316.5,321,328,327,326,328.5,330,329,333.75, +334.5,329.75,327,327.75,326,325,322.5,327,325,324,320,315.5,316.75,310, +315,309,307,309.5,313.5,316.75,318,324,327,327,319,315,319.75,325, +329.5,330.75,330.25,331,324.5,327,335,332.25,335.75,337,337,331,335.75,336.75, +336,337.5,337,337,338.5,340.5,339.75,339,336.5,335,338,338,340,338.25, +343.5,344.5,345,340.5,339,343.25,338.75,335,336,338,335.5,336,337.88,338.75, +331.5,332,335.5,343.75,342,345,358,355,357,354.75,358,363,365,358, +352,351.5,353.75,360.5,354.5,348.25,358.25,358.5,346.75,346.5,355.75,360,370,370.75, +370,368,365,369.75,375,357,345.75,335.5,332.5,329.5,326.5,329,330,324.88, +325,331.25,334.5,335.5,335,338.88,341.25,343.5,343.88,343,344,348,343,338.75, +334.25,329.5,328,326.5,327.5,636,636.5,640,643,645,648.25,649,641,642, +630,637.5,639,635,631,612.5,600.5,598,594,587.5,585.5,580,586.75,581.5, +590.75,589.13,573,590.5,595.5,593,579.5,585,587.5,569.75,562,577,580,590, +594,587.5,589.75,599,595,585.13,577,586,585,571,571,579,592.5,587, +592.5,596,599.5,594.5,609.5,614.5,618.5,617,614,623,607,621,621.5,616, +616,623,616,609,604,598.5,597.5,593,588.75,606,613.5,627,624.5,625, +616.5,613.5,622.25,625,617.5,618,637.25,648,643.5,641,645.5,644.5,640,632.75, +629,630,616,612 +}; + + + + + + diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_gDataHigh.c b/vendor/ta-lib/src/tools/ta_regtest/ta_gDataHigh.c new file mode 100644 index 000000000..67b7a40b8 --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_gDataHigh.c @@ -0,0 +1,723 @@ +double gDataHigh[10000] = { +111.68,110.5,110.11,111.1,112.67,111.42,112.85,113.15,113.95,113.5,114.49,114.6,114.17,113.89, +114.18,114.05,112.73,114.72,115.75,117.95,118.82,118.38,117,116.43,115.86,116.48,111.88,111.47, +110.04,109.2,109.65,109.6,109.15,109.35,109.66,108.39,107.08,105.8,106.58,106.92,105.47,106.06, +105.77,106.44,107,107.02,106.66,105.65,105.19,104.24,103.26,103.18,104,103.21,103.17,105.51, +106.55,106.59,107.24,107.67,107.1,106.63,105.43,105.98,107,107.25,108,108.05,106.23,105.89, +105.8,106.25,105.99,105.11,104.75,103.39,103.17,103.03,103,103.14,103.17,103,101.17,101.5, +101.7,99.9,95.73,95.15,94.87,95.91,97.66,96.3,95.75,95.82,96.7,96.8,96.94,96.75, +96.45,96.23,95.5,94.75,95.11,95.02,95.03,95.25,95.22,95.44,95.81,94.53,94.32,94.45, +93.97,94.03,94.47,94.17,94,94.82,94.85,93.89,92.15,92.37,93.05,94.09,96.01,97.86, +98.44,99.5,99.37,99.46,99.25,99.52,99.43,98.74,99.2,99.7,99.74,100.36,100.4,100.44, +99.73,99.18,99.48,99.45,98.66,97.83,97.92,97.58,97.38,97.23,96.85,99.95,100.9,100.84, +99.69,99.9,99.05,100.33,99.5,97.95,98.79,98.4,97.88,97.4,97.23,95.81,95.98,96.5, +96.5,96.39,96.16,95.8,95.72,95.33,94.85,94.35,94.39,94.43,94.87,94.64,93.95,91.91, +92.48,91.66,91.57,93.24,93.75,93.74,93.43,93.8,94.05,93.6,93.28,93.29,92.43,92.35, +93.19,92.92,93.4,92.74,92.34,91.95,92.68,92.68,92,91.89,91.93,91.99,91.95,92, +90.7,90.98,92.04,87.94,87.6,86.21,84.9,84.69,84.63,84.08,83.78,83.21,83.25,82.26, +82.47,82.79,82.35,82.67,82.66,82.28,82.12,83.25,83.79,82.09,83.21,83.59,83,82.7, +82.5,81.2,80.86,80.38,80.69,81.54,81.57,81.5,81.68,81.48,80.47,80,79.5,79.47, +79.55,79.88,79.97,79.56,79.28,77.14,77.49,75.78,76.08,76.28,76.26,76.2,76.77,76.73, +76.93,77.38,77.5,77.3,77.29,76.3,76.41,76.15,75.5,75.88,77.06,74.42,73.94,74.3, +75.28,76.3,76.65,76.83,78.09,78.53,78.39,78.27,77.93,77.8,76.6,77.6,77.52,77.84, +78.37,78.56,78.3,78.3,78.53,78.78,77.85,77.93,78.09,78.1,79.58,80.74,79.9,80.04, +80.56,80.87,80.83,80.96,80.86,80.18,80.04,81.3,80.34,81,81.35,82.21,83.25,83.15, +83.69,83.09,83.33,83.29,83.22,83.34,83.09,83.29,82.74,83.31,83.62,84.4,83.48,82.9, +82.41,82.5,82.85,84,83.53,82.92,82.6,81.37,82.06,82.74,83.8,84.32,84.45,83.78, +83.59,83.6,83.7,83.55,83.39,83.26,83.72,84.27,84.68,84.99,83.75,83.41,83.72,83.76, +82.99,82.4,82.25,81.98,81.6,80.79,80.64,80.83,80.21,80.81,80.55,80.89,80.65,81.34, +81.65,80.75,81.03,80.91,81.5,81.45,81.91,81.46,80.8,80.9,80.19,79.95,80.77,81.59, +82.24,82,81.81,81.77,81.65,81.62,82.15,81.92,83.05,84.39,84.7,83.16,83.45,83.96, +84.81,84.12,84.25,85.03,82.9,82.5,82.55,82.49,83.06,83.57,84.5,84.2,83.23,84, +83.1,83.6,84,83.63,83.95,84.9,87.35,87.1,88.91,89.92,89.84,88.65,89.15,89.74, +89.64,89.94,89.43,89.32,89.39,88.08,87.87,88,86.98,86.58,85.9,85,84.84,84.3, +83.33,83.9,83.85,83.3,83.03,81.89,82.15,82.3,82.43,82.93,83.87,83.95,83.61,84, +84.19,84.2,84.6,82.99,82.71,83.2,82.93,83.52,82.1,81.12,80.27,80.68,81.47,80.6, +80.5,80.55,79.73,78.6,78.41,78.11,78.5,78.46,79.65,79.98,80.5,80.65,81.4,81.49, +82.11,81.49,81.52,81.13,81.19,80.01,80.32,80.79,81,81.75,81.02,81.45,82.4,83.14, +83.35,83.3,82,81.94,82.43,82.94,82.58,82.75,84.01,83.95,83.89,83.74,83.89,84.2, +83.86,83.85,83.95,83.97,84.13,84.35,84.52,84.63,84.95,84.96,85.11,83.94,82.75,82.67, +81.75,80.49,79.52,79.52,77.53,76.15,74.97,75.33,75.49,75.68,75.3,74.77,75.4,76.97, +77.49,77,76.98,77.73,77.25,76.5,75.43,75.93,75.05,75.47,75.4,76.09,75.9,77.1, +77.39,77.5,77.41,77.24,77.41,76.03,76.51,76.95,77.28,77.64,76.82,74.43,74.49,73.86, +73.8,73.69,74.76,75.46,75.92,78.11,77.2,76.96,77.29,77.08,77.11,77.18,76.98,75.72, +74.7,74.1,75.87,77.2,77.75,79.66,85.41,85.97,86.24,87.56,88.46,89.2,89.38,90.33, +90.62,91.76,91.41,90.88,91.07,91.63,91.55,91.17,90.34,90.28,89.9,90.68,91.4,92.27, +92.04,92.41,92.8,93,92.56,92.51,93.18,93.21,93.73,93.43,92.76,92.8,93.09,92.44, +93.5,94.25,94.76,94.97,94.67,94.02,93.97,93.1,94.83,94.64,94.9,94.74,93.94,94.35, +94,93.95,93.59,92.22,92.87,92.59,92.85,93.3,93.84,95.15,95.34,94.25,96.2,95.28, +95.79,96.09,96.8,96.98,97.83,98.42,99.1,98.91,99,98.47,98.55,97.97,98,97.98, +97.15,97.57,98,98.15,97.7,97.7,97.2,97.99,97.6,97.35,98.25,97.9,97.63,96.78, +96.07,95.65,96.38,95.38,95.79,95.37,95.4,95.16,95.7,96.63,95.5,96,95.5,95.22, +94.3,93.95,93.7,93.52,92.7,91.9,91.22,90.6,89.9,90.24,90.27,89.57,88.9,88.45, +88.76,89.19,89.73,86.15,85.25,84.98,86.48,86.2,87.2,87.91,88.1,88.1,88.03,88.1, +86.98,85.98,84.98,84.65,84.44,84.74,84.27,85.44,86.11,86.43,86.5,86.96,86.5,86.88, +87.28,87,86.79,86.51,85.44,84.69,84.78,85.09,84.69,84.99,84.95,85.04,85.27,85.15, +85.45,85.25,85.35,85.13,84.54,84.56,83.94,83.05,83.98,84.99,83.96,84.76,86.42,86.65, +86.8,87.39,87.4,87.22,86.28,86.3,85.58,86.06,86.4,87.11,86.49,85.85,86.48,84.63, +85.24,86.09,85.25,84.5,85.01,85.94,86.73,87.55,88.44,88.5,88.49,89.9,90.23,90.92, +90.84,90.24,90.43,90.8,90.56,90.93,91.21,90.58,90.75,90.55,90.5,88.99,88.49,88.1, +88.64,88.48,88.85,89.08,88.85,88.92,87.84,88.18,87.95,88.88,86.49,86.03,87.35,87.41, +87.25,88.15,88.1,89.4,89.1,89.75,89.74,88.52,89.2,90.26,90.98,91.99,91.56,91.61, +91.51,91.42,92.48,92.3,92.35,94.09,93.86,94.04,94.36,94.39,93.58,93.79,94.37,94.55, +92.68,92.24,92.67,93.61,93.25,92.63,92.49,92.16,91.48,92.97,93.18,93.79,92.7,92.69, +93.38,92.98,94.74,95.28,96.88,96.98,96.92,96.89,97.6,97.25,97.38,97.26,97.09,97.46, +97.51,98.6,99.23,99.77,100,100.09,100.3,100.31,99.97,99.44,99.24,100.09,100.43,100, +99.94,99.33,98.6,99.42,99.67,99.85,98.21,98.16,98.04,97.44,95.35,95.65,90.46,91.51, +92.14,92.35,93.21,93.38,93.19,93.09,93.05,92.85,93.5,93.73,93,92.8,93.44,93.5, +93.25,93.38,93.87,94.12,93.97,93.16,92.97,92.74,92.16,91.47,91.3,91.44,91.44,91.48, +91.36,90.68,90.09,89.85,89.74,88.85,89.79,89.83,90.18,90.05,91.42,91.48,91.16,90.03, +90.47,89.6,89.59,88.88,89.8,90.84,90.71,90.17,89.94,89.9,89.1,88.64,88.4,89.01, +89.34,89.4,89.68,89.7,94.54,92.95,93.54,93.18,93.6,92.87,91.7,91.76,91.95,90.45, +90.6,89.25,90.18,90.14,90.97,91.82,92.09,92.24,93.47,92.43,91.94,90.41,89.96,89.01, +88.42,89,89.97,89.66,88.26,88.29,87.3,85.96,82.11,82.34,82.53,82.54,83.03,84.72, +83.85,83.31,83.81,83.68,81.98,81.75,82.19,81.54,81.5,81.27,80.82,80.68,81.33,81.36, +81.27,82.54,82.45,82.88,83.7,83.74,82.99,82.77,83.26,83.43,84.02,83.94,87.03,87, +86.58,85.28,85.22,86.35,86.75,86.45,84.69,84.89,83.66,84.2,84.65,84.38,84.16,84.18, +84.79,85.24,85.29,84.99,84.95,84.55,84.29,84.98,84.15,82.92,82,83.23,84.25,84.96, +85.24,89.08,88.68,88.59,88.7,87.9,85.95,86.8,86.18,87.24,88.47,89.89,89.96,90.4, +90.1,89.26,87.7,86.78,87.81,88.34,88,87.57,86.23,85.67,86.49,85.5,85.28,85.7, +85.97,86.06,84.51,84.4,84.4,82.85,80.07,81.29,79.25,80.74,80.7,82.9,82.55,83.48, +81.97,79.56,79.61,81.99,82.33,83.25,84,83.35,84.9,82.49,82.5,83.5,82.67,79.48, +78.68,75.63,76.33,77.45,77.99,77.78,77.73,77.75,79,78.47,78.59,79.05,79.37,79.99, +80,80.05,79.7,79.5,77.45,76.35,78.09,78.97,78.02,78.15,78.2,78.9,78.18,78.87, +78.34,81.3,80.7,80.47,79.5,81.5,81.36,80.77,81.85,83.74,87.71,88.65,88.59,88.95, +88.04,87.02,85.69,86.18,84.8,81.65,80.57,78.46,77.43,79.18,80.7,81,81.5,80, +80.34,79.69,81.77,81.79,80,81.69,82.48,81,81.33,82.75,84.98,84.86,87.03,89.46, +88.05,88.11,86.15,86.25,85.17,84.92,81.71,79.45,80.99,80.4,80.99,80.33,79.9,78.36, +79.29,80,81.88,82.01,83.81,80.5,79.79,79.4,77.05,77.5,74.62,75.55,74.97,75.68, +75.9,74.25,73,67,68.48,63.8,63.92,58.48,56.7,58.09,58.5,59.51,61.16,62, +61.98,59.89,63.49,64.88,63.77,63.3,63.75,65.4,66.48,70.9,73.45,72.72,72.88,74.05, +77.5,75.6,74.98,73.99,72.85,73.99,75,76.35,77.35,77.01,80.44,80.89,81.48,82.45, +82.33,82,82.85,79.98,76.71,75.02,73.8,72.64,74.3,72.05,69.9,69.42,68.35,68.23, +70.7,71.6,72.7,71.4,69.47,70,70,70,72.19,72.7,74.2,71.6,71.39,71, +71.74,69.75,71.25,72.25,73.48,73.9,70.71,69.4,72.41,73.62,72.15,70.59,71.45,71.49, +70.99,74.09,75.2,76.9,77.75,76.77,77.4,75.95,78.25,78.8,78.85,80.95,80.71,79.65, +80.91,82.05,82.25,82,83.11,83.75,85.05,84.39,85,85.46,86.4,86,86.49,85.48, +82.29,80.5,83,82.8,77.5,81.87,83.5,84.8,84.65,85.23,85.1,86.96,86.92,88.25, +89.08,88.95,90.03,89.1,87.2,86.85,86.6,87.96,88.51,89.95,88.52,88.59,101.25,101.14, +101.5,102.01,104,105.14,103.79,105.7,106.66,106.7,106.78,106.9,108.05,108.64,107.45,107.95, +108.65,108.85,105.97,107.34,107.5,107.09,106.5,106.53,103.1,99.6,100.31,99.19,99.25,99.2, +99.7,100,101.8,104.8,109.15,108.48,107.89,107.69,105.72,107,107.82,108.5,108,109.3, +107.98,105.75,108.56,110.21,110.69,109.73,111.25,114.26,114.9,120.55,118.75,119.7,120.09,122.18, +124,126.39,125.2,126.19,125.6,124.22,121.5,123.24,123.88,123.93,123.7,122.48,123.5,124, +124.7,122.97,122.14,121.48,122.3,123.21,122.74,121,121,121.7,121.98,116.72,114.85,115.94, +114.55,114.38,116.3,116.4,115.37,115.25,116.8,115.8,115,116.33,116.85,117,114.9,114.9, +115.56,115.2,114.8,110.59,110.3,110.17,111.12,109.75,110.7,112.1,110.85,108.75,106.69,105.78, +102.74,103.75,106.7,103,102.76,101,99.4,97.3,98.5,99,98.45,98.88,97.62,93.9, +93.48,92.71,91.5,94.45,96,95.54,93.5,95.75,96.85,96.75,95.86,97.4,98.15,100.68, +102.83,103.13,101.36,103.4,105.9,107.17,108.2,107.8,104.7,104.04,104.97,105,105.49,106.02, +106.59,106.85,106.64,104.95,104.54,106.1,107.37,107.37,110.09,109.47,108.5,107,106.25,105.95, +106,105.7,106.15,106.95,105.7,106,107.6,108.58,109.38,109.3,107.8,104.13,105.4,106.95, +110.9,113.26,114.19,115.4,116.65,116.95,114.18,114.05,114.9,114.43,114.7,114.99,117.25,115.44, +115.45,116.08,118.47,117.8,118.14,117.5,118.25,119,117.6,114.75,113.6,113.86,114.1,117.59, +119.9,119.6,118.95,119.7,119.9,117.68,117.09,115.8,114.15,113.18,114.15,118.9,118.18,117.75, +117.25,115.86,115.1,118.95,118.65,118.05,116.9,116.7,114.85,114.75,114.05,116.4,115.9,110, +99.88,99.89,97.5,101.94,99.9,98.74,100,100,94.05,94.65,98.1,97.56,97.07,98.45, +100,95.66,94.99,91,91.6,92.03,92.8,93.9,97.87,98.9,98.44,98.4,105.01,107.34, +108.25,108.4,105.6,107.65,106.4,103.54,106.87,105.8,107.5,110.9,111.5,115.6,115.75,118.64, +116.17,117.38,115.72,114.99,118.2,117.6,115.69,112.6,113.99,114.34,116.75,116.75,115.5,115.25, +111.12,111.44,109.94,109.94,113.94,110,97.75,94,96.44,94.25,94.94,95.75,93.94,94.69, +99.75,95,87.5,86.94,88.19,88.12,89.56,89.37,87.94,88,94.44,90.5,90.69,93.69, +96.62,96.12,98.25,99,95.94,101.81,104.75,99.19,99.31,98,99.94,100.75,102,101.75, +100.81,104.37,103.25,102.5,99.69,100.06,99.87,99.44,98.37,100,103.75,103.5,102.37,102.62, +102.31,99.87,99.12,93.75,93.69,92.87,90.94,94.37,95,96.25,98.5,99.12,113.87,113.12, +110.44,114.37,112.94,117.12,119.37,116.12,114.56,114.87,119.37,119.62,116.94,118.87,120.31,121.87, +126.62,124.31,126.69,126.56,126.25,126,127.25,129.19,128.81,126.87,128.25,132.94,134.5,134.88, +133.31,134.94,134.19,131.5,134.25,133.19,129.88,125.44,123.75,122.19,122.19,123.37,122.81,122.94, +122.62,123.69,121.81,120.25,120.81,119.62,119,116.5,116.5,114.87,112.44,113.69,112.5,111.5, +112.37,113.37,115.62,117,117.81,109.5,104.81,107.87,104.87,105.94,105.87,104,104.94,105.06, +105.12,105.62,109.87,113.19,114.37,115.19,112.81,115.75,113.62,114.31,115.94,120.69,120.37,117.69, +119,120,119.94,120.44,120.75,122.31,121.75,114.62,114.19,109.75,108.94,110.75,111,107.19, +112.25,110,110,109.25,107.5,107.31,108.87,109.25,104.87,105.75,107.5,105.69,110.62,110.37, +109.62,109.19,111.12,113.62,113.19,112.69,113.12,113.94,113,107.19,105.25,109.75,115.12,112.25, +112.75,114.31,119.62,121.62,125.37,125.69,128,125.75,126.94,122.37,123.75,123,122.44,127, +128.25,122.25,115.87,115.37,114.69,113.37,111.69,109.81,108.25,110,109,109,108,106.87, +107,111,110,105.44,105.5,105.56,106.5,109.87,111,110.5,113.44,115.94,118.87,117.31, +117.44,116.37,119.44,119.12,119.75,119,116.87,118.44,117.5,115.81,113.44,112.81,114.19,118.44, +119.94,119.5,122.87,123,124.75,122,119.75,123.31,121,122,121.12,119.37,117.94,118.94, +119.75,114.5,116,109.5,110.5,110.5,110.75,110,110.44,110.31,110.12,110.44,111.06,109.69, +107.94,110.19,112.75,111.94,122.12,121,119.19,116.5,112.87,106.31,104.44,104.5,104.94,106, +105,109.87,108.44,105.12,98.25,94.87,95,96.37,96.25,97.5,97.06,95.5,93.94,92.94, +94.44,95.94,96.81,98.81,99,95.31,95.56,96,95.12,94.62,93,113.06,108.5,109, +108.87,107.25,110.87,114.87,116.69,115.06,119.19,122.75,123.25,120,121.06,122.25,122.81,124.75, +126.81,125,127.81,127.25,129.63,130.88,131.44,132.38,135,133.56,135.56,137.69,136.5,133.94, +132.69,129.75,126.75,128.5,126,125.62,125.19,125.87,124.06,123.62,124.87,124.37,124.87,129.63, +128.56,127.87,124.5,123.81,123.75,122.5,124.44,127,124,121.87,123.12,126,126.69,126.62, +128.69,126.5,125.12,125.44,128.5,129.75,132.13,138.88,137.5,138.13,138.5,139.19,138.69,137.44, +135.5,133.5,133.88,132.25,131.31,132,125.31,124.69,125.75,124.44,124.19,127.75,125.75,121.44, +122,121.5,118.31,116,116.5,116.75,120.87,119.87,121.69,116,115.31,114.62,113.87,116.75, +116.87,236.63,226,230.69,233.38,236.38,238.75,240.63,239.63,243.5,246,228.44,221.88,221.88, +217.5,214,212.5,215.88,212.25,211,209,210.5,215.25,210.75,206.56,198.75,171.88,169.75, +172.31,177.5,179.5,183.88,184,183.63,188.06,188.06,187.63,186.75,183.94,177.69,181.5,181.25, +178.75,175.88,173.25,170.5,167.63,170.5,178,177.75,180,183.5,182.31,183.44,185.94,182.88, +184.88,180,178.94,177,168.94,170.94,169.5,171.88,173.94,179.69,180,177.94,174.75,174.5, +174.31,178.25,176.25,178.81,168.88,169.5,168.88,171,176.5,177,180.69,184.5,183.94,181.31, +186.81,186.5,182.63,185.5,198.25,199.25,192.5,185.5,184.94,187.44,190,189.44,192,192.38, +192.75,189.88,186.5,187.19,188.63,188.94,189.94,187.94,185.38,183,178.94,172.19,169.63,166.88, +165.81,167,168.44,170,169.94,169.88,168.19,165.38,169.38,169.25,170,170.56,170.19,166.94, +167.19,167,160.13,159.88,159.63,161.38,159.69,157.5,159.88,158.88,156.75,152.19,150.94,149.56, +149.75,149.94,149.69,149.81,149.5,146.88,146.81,144.44,143.44,143.5,143.69,142.44,139.81,137.5, +138.75,132,130.5,132.88,127.94,123.5,122.87,124,123.75,125.25,126.44,131.5,134.13,136.19, +133.69,134.94,133,130.63,128.63,127.25,128.25,130.94,130.69,129.94,126.56,122.5,127.44,125.94, +122.87,122.69,123.75,118.94,123.37,125.81,128.75,131.75,130.88,128.69,128,130.06,131,129.5, +126,127.37,128.38,129.56,128.5,130.13,134.25,130.94,129.25,134.25,134.88,138.13,133.75,128.44, +126.94,125.75,125.94,129,128.44,131,123,120.37,118.94,120,120.62,120,119.25,118.5, +115.56,114.5,115.06,116.62,116.94,116.31,114.81,113.44,114.69,112.12,112.31,109.5,109.25,109.12, +112.19,111.87,115.44,116.81,118.06,119.62,119.56,120,119,116.19,116.62,117.69,118.31,120.94, +121.62,121.5,123,123.62,124.19,125.81,127,125.75,127.75,129.31,122.25,120,122.75,120, +117.75,118.94,118.25,118.87,117.37,117.44,116.87,118.5,116.62,117.94,117.62,120,118.5,111.25, +107.94,110,109.81,106.25,107.81,106.5,105.62,105.81,106.5,106.37,106.69,104.87,104.94,104.87, +105.5,106.62,106.69,103.69,103.37,103.25,103,102.31,101.81,101.37,101.12,100.62,99.87,98.19, +98.25,99.81,100.37,103.31,102.5,104.56,105.62,105.87,105.25,102.87,103.94,103.44,104.62,103.62, +103.69,103.62,103.25,103.25,102.44,99.62,99.62,99.56,99.81,100.25,101.25,99.56,99.31,98, +97.87,99.94,100,100.62,102,108.37,105.19,104.94,104,102.44,101.12,104.87,105.5,105, +107.19,106.81,105.75,105.19,105.5,103.69,101.75,100.81,104.12,104.75,102.94,102.94,105.5,105.25, +101.94,103.44,103.94,109.62,112.25,113.5,112.87,111.31,111.62,112.19,113.31,109.94,109.87,107.5, +105.75,106.37,105,103.94,104.37,104.87,102.06,99.37,99.5,100,100.81,100.44,103.19,103.94, +102.75,102.19,99.19,99.37,102.25,99.94,98.62,102.81,103.87,105.94,105.37,97.75,98.87,102.69, +102.87,104.12,105.5,105.37,105.81,106.87,107.12,105.25,107.25,104.56,106.44,107.44,105.12,103.19, +103,104.44,105,105.12,99.62,100.25,101.25,100.5,99.19,98,98.37,100.06,104,104.31, +105.25,104.56,105.12,104.31,102.87,103.87,104.81,104.37,107,106.62,107.94,108.44,108,104.12, +104.5,105.12,106,105.62,105.31,107.12,109.25,109.44,107.94,106.5,105.94,107,106,104.62, +106.87,108.44,108.44,107,103.5,106.31,105.25,101.75,98,96.25,96.44,97.37,96.19,96.69, +95.75,95.5,95.12,93.62,92.25,92.5,92,92.94,93.75,92.25,91.37,91.94,90.75,89.5, +90.75,90,89.75,88.37,87.37,87.87,87.62,86,84.87,85.62,86.62,87.87,88.25,90, +91.87,179.25,174.88,176,177.38,175.5,170.38,173.75,175.63,175,177.13,173.5,169.25,169.25, +166.88,167.38,166.25,162.88,161.63,161.13,159,151.75,152.88,157,143.75,140.13,141.25,140.13, +139.75,138.38,139,136.88,134.75,134.88,138,136.88,133.5,131.13,132.25,137.38,137.75,139.5, +141.63,141.13,138.38,136.88,137.13,139.75,138.75,140.75,143.13,144.38,146.25,147.25,149.75,147, +147.63,149,146.5,146.75,146.75,145.75,146.88,147.5,148,144,140.88,143.5,145.88,145.5, +147.75,148.13,146.63,145.25,148.75,150,149.75,153.63,154.75,157.38,157.88,158.25,156.75,154.25, +151.75,154,160.25,160,170.13,167.63,165.75,166.75,168.38,167.63,166.25,164,162,164.25, +163.75,163.38,159.13,154.38,155.38,155.5,155.63,158.38,156,155.38,158.38,159.75,159,153.63, +153.25,154.88,158.5,158.63,161.88,160.13,158,162.63,164,166,163.5,159.63,160.25,160.75, +158.5,158.88,154.88,159,154.88,150,145.5,137.63,135.88,135.75,134.88,134.5,135.13,133.88, +131.5,129.38,129.63,129.13,127.5,127.75,128.13,128,129.75,129.88,130.75,135.38,129.5,129.13, +129.5,131.25,130,130.13,128,129.38,129.5,128,127.12,126.25,125.87,125.25,127.12,125.5, +127.87,126.87,126.87,124.75,124.87,125.12,125.25,123.62,123.37,122.87,118.25,118.25,119.37,117.75, +115.87,114.5,115.62,115.37,115,115.5,115.75,112.75,113.12,113.62,113.87,112.75,110.75,110.37, +111.25,111.62,111.5,112.5,113.25,113.75,113.87,112.87,110.12,109.37,109.37,109,108.87,108, +105.5,104.12,103.75,92.62,93.25,93.37,95.25,95.62,97.87,95.75,94.87,96,97.62,99.5, +100.25,99.25,99.25,100.12,101.25,102.25,99.87,99.62,100.12,99.75,100.12,101.75,102.25,102.62, +102.5,102.75,104.25,104.12,103.87,104.37,103.25,102,104.87,106.37,106.62,106.5,108.25,107.62, +108.37,109.37,109.87,110.5,111,112.12,112.5,111.62,109.25,109.87,108.87,108.5,108.37,107.75, +106,107.25,108.5,109,109.37,108.5,110.25,108.75,108.87,108.5,107.62,107.75,107.62,107.12, +107.25,120.12,116.37,114.37,115.62,118.37,120.87,120.12,119.37,119.87,120.5,118.12,112.75,113.75, +112.37,113.75,112,115.12,115.75,117.87,120.87,125.5,125.12,120,118.75,116.62,116,117.87, +116.87,117.5,119.87,119.5,121.25,121.75,127.37,128.88,128.88,125.5,126.12,125.62,120.62,120.87, +118.87,118.5,115,114.87,115.87,114.37,114.5,114.62,115.12,112.37,109.87,110.37,109.87,109, +106.62,106.25,108,109,104.5,103.87,104.12,96.25,89.25,87.75,86.5,87.25,88.5,89.25, +89.12,89.25,88.75,89.12,91.25,92.12,91.75,91.37,92,92.12,91.87,91.12,92,91.87, +90.12,92,95.12,95.37,96.75,97.25,96.87,95.5,96.5,97.12,97.25,97,98.12,97.5, +97.5,97.37,96.62,96.37,94.87,95.37,95.87,96.75,96.25,97.37,98,98.25,99.75,100.12, +100.62,102.37,101.5,99.87,97.62,99.12,98.75,96.62,96.62,98.5,99.25,99,98.5,98.37, +98.25,97,94.12,94.25,93.5,92.87,91.12,94.12,95.37,95,94.62,95.25,95.62,95.25, +95.37,94.5,93.87,94.75,94.37,96.5,98.12,96.87,94.25,92.75,95.62,98.75,98.5,98.37, +100,101.25,102.62,103,104.5,103.75,103.5,102.62,103.87,105.37,106.62,108.5,108.25,111.37, +114,114.62,112.75,112.12,110.87,109.62,110.37,110.37,110,109.37,109.75,109.5,111.75,110.12, +111.25,111.25,110.87,109.62,110.25,107.87,104.87,104.37,105.5,108.62,107.5,104.12,104.25,102, +101,101.25,100.62,98.87,98.62,97.87,98.12,98.12,96.62,98.69,99.25,99.37,99.12,98.62, +98,94.62,93.62,94,93.37,92.25,90.75,90.25,90.75,91.37,92.75,93.5,95.37,95, +93.62,95.75,97.5,97.87,97.87,97.62,95.37,93.75,96.12,95.62,95.87,95.37,95.62,95.12, +95,94.37,95.25,94.62,96.12,94.62,93.37,94.25,96.25,96.87,95.75,93.87,93.87,92, +90.37,88.25,88.5,88.5,87.37,87.62,86.87,86,85.12,84.62,84.12,83.62,83.5,83.5, +83.37,84.75,84.87,85.12,84.37,83.37,82.62,84,84,83.62,83.62,82.25,82.75,83, +81.62,81.37,80,80.87,81.25,80,77.37,76.37,75.25,75.37,75.37,75.75,74.5,75.12, +75.75,76.25,75.87,75.62,75.37,75.75,75.25,74.87,74.37,74.87,75.25,74.37,73.87,72.87, +73,73.12,73.37,73.12,74.87,74.5,76.5,77.62,77.87,78,78,76.87,76.37,77.12, +77.25,75.87,75.75,75.25,74.62,73.87,74.5,74.37,74.37,74.5,74.25,74.62,73.62,71.62, +71.62,70.87,71,70.62,71,71.37,71.5,71.5,71.37,72,72.37,71.37,70.75,71.25, +71,71.62,70.87,70,72.87,74.12,73.37,73.75,73.12,73.87,73,73,73.62,74.37, +73.5,72.25,73.5,74.62,75.25,75.25,75.62,76.37,74.62,74.5,74.37,74.62,75.37,76.12, +75.75,74.5,73.75,73.12,74.12,73.5,72.37,71.87,71.75,69.5,69.12,69.5,69.5,70.12, +69.87,69.87,69.37,69.12,69.5,70.25,71.37,70.5,71.25,71.37,70.25,70.12,69.62,68.12, +68,68.12,68.25,67.62,68,68.25,69.5,69.75,70,70.12,69.75,67.37,68.25,68.37, +68.62,66.87,65.62,64.75,64.5,65.12,64.62,65,64.5,63.38,63.13,63.5,63.13,63.38, +63.13,62.75,63,62.5,63.13,62.38,62.5,62.63,56.25,56.88,57.63,57.88,58.5,56.75, +56.13,57.13,57.88,57.38,57,57.88,59.13,60.5,61.5,61.88,61.63,61,62.25,62.13, +62.13,62.25,63.13,63.5,64.75,65,64.12,62.88,62.13,63,63.25,63.5,61.88,63.5, +63.63,63.75,64.12,64.12,64.12,63.38,62.5,62.38,62.13,61.88,61.5,58.63,57.88,57.75, +58.25,58.25,57.88,57.13,57.5,58.25,58.63,58.38,57.88,58.25,59.25,59.25,59.5,58.63, +53.5,53.75,54.13,54.5,53.88,53.38,53.88,53.38,53.13,53.25,53.55,54.13,53.5,54.63, +55,54.38,54.63,56.5,57.13,57.88,58.63,58.88,58.25,58.25,58.25,58.38,57.88,56.25, +56.25,55.75,54.88,53,53.25,53.38,53.5,53.88,53.25,53.38,53.38,54.25,53.88,52.88, +55,55.25,54.63,54.63,53.38,53.63,54.25,54.75,54.63,55.63,56.88,56.5,57.38,57.88, +58.13,57.5,58.75,59.38,58.75,55.63,55.88,57,57.38,58.5,59.5,59,58.88,59.38, +59.5,59.38,60,59.88,59.13,57.75,57.38,58.38,58.75,59.38,59.25,59.38,59.25,59.13, +59.38,59.88,57.63,57.63,57.38,57.75,55.5,54.13,54.13,54.25,54.38,54,54.13,54.75, +55.13,56.13,56,55.25,53.25,52.5,52.63,53.13,54.25,53,51.63,52.5,52.38,50.13, +50.63,50.75,50.13,50.5,51.13,51.13,48,46.63,46.38,46.63,46.25,45,45.75,45.25, +43.63,44.63,45.13,44.88,43.25,43.88,44.38,44.38,44.38,44.13,44.38,44.5,44.75,43.88, +42.13,42.13,42.63,41.88,42,42.38,42.5,42.63,43.38,43.38,44,43.88,43.88,44.38, +44.63,44.63,45.38,46.25,46.38,46.38,46.38,45.88,44.75,44.13,44.75,44.13,44.63,44.75, +43.25,43.25,43.5,43,41.75,42,42.5,43.5,43.38,43.75,43.75,44.75,44.38,44.13, +44.75,44.5,44.5,46.38,45.88,43,43.63,44.75,43.88,43.75,46,47.5,47.88,47.88, +48.5,48.25,47,47.63,47,48.13,48.63,49.75,49.88,50.5,50.75,49.75,49.13,49.38, +49.63,50.13,49.63,50.25,50.38,51.88,52.5,53,52.75,53.38,52.5,54,54.38,54.38, +54,53.38,53.13,54,52.75,50.88,49.88,49.25,49.5,50.13,49,48.25,48.13,47.75, +48.63,48.88,49.13,48.63,48.63,49.5,49.88,49.38,49.38,50.13,50.75,48.75,49.25,48.38, +49,50.25,50.63,50.63,49.13,49.25,49.63,51.13,51.88,52.38,52.25,52.63,53,53.13, +52.13,51.5,52,52.75,51.63,50.88,53.75,54.25,53.75,54.5,54.75,55.63,55.38,56.25, +55.75,55.88,57.13,56.75,56.25,55.88,55.25,55.5,54.63,55.38,54.88,53.88,52,51.75, +51.38,50.75,51.25,50.75,50.88,51.63,51.88,53.88,54.5,53.13,52.63,51.88,52.75,53, +52.63,51.63,50.88,50,53.25,49.25,48.75,47,48.25,50.88,50.13,49,49.5,49, +49.88,48.38,46.88,48.63,49.13,50,51.88,51.25,50.88,51.13,53,53,52.63,52, +51.63,53.25,53.38,55,59.88,63.38,62.88,62.38,64.25,65.75,67.37,67.62,68,68.25, +68.87,68.62,66.25,66,65.5,63.88,62.63,63.88,64.37,65,65.5,65.12,65.37,65.75, +68,67.62,66.5,67.25,69.62,69.87,69,67.37,67.62,67.12,67.25,68.75,69.37,69, +69.12,69.62,70.25,72.87,74.12,78.87,80,79,79.87,79.5,80,80.37,78.87,80.5, +81.12,81.37,82.75,82.87,83.12,83.75,83.75,84.62,84.5,84,83.75,84.5,87,88.75, +88.25,87.5,86.87,86.37,86.62,87.75,87.62,87.62,87.5,87.37,87.37,87.12,87.12,86.25, +86.5,86.87,88.5,88.62,89.12,88.75,89.12,89,88.62,88.75,88.62,90.12,93,94.87, +95.25,95.12,95.5,94.87,94,93.25,93.62,93.25,94,94.25,93.37,97.37,100.37,99.37, +98.37,98.87,97.87,98.37,97.87,98.75,98.25,98.25,98.5,98.62,98.62,97.37,98.25,97.87, +96.37,95.37,95.5,95.87,93.87,94,94.12,93.87,92.12,91.12,91,91.25,90.75,89.75, +90.75,91,91.25,92,91.5,91,91.5,92.25,91.62,92.75,92.5,91.87,92.12,92.25, +93.62,93.87,94.37,94.25,94.12,94.12,94,93,92.12,90.75,88.87,88.5,88.75,89.25, +90.62,90.12,90.25,89.75,88.62,88.87,89.75,87.5,86.12,85.87,85,84.87,83.12,82.37, +83.5,83.5,84.87,83.87,84.37,85.37,86,86,86.75,86.62,87.12,88.5,88.87,89.62, +90.25,89.12,88.37,88.37,87.37,87.25,88.12,89.62,88.62,87.75,88.62,88.37,88.62,89.25, +90.25,90.37,90.62,90.75,91.12,91.12,93.25,92.37,90.87,89.87,90.37,90.87,92.12,92.25, +91.37,92,92.5,94.12,94,94,94.25,95.87,95.62,95.5,96.37,98.12,97.12,95.75, +92.5,90.87,92.5,94.25,95,94.75,93.12,91.12,90.62,91.12,90.75,89.62,88.87,90, +88.5,86.25,85.87,86.87,87,88,88.87,89.25,87.87,86.5,89.75,90.25,91.12,91.5, +92.12,92.37,93.87,97.12,98.12,95.62,96,96.75,97.37,96.75,97.75,100.12,100.12,99.12, +100.62,100.75,101.37,100,97.25,97.75,97.75,99.37,100.37,100.25,99.37,98.62,98.62,99.12, +98.75,100.5,101,100.37,101.25,103.75,104.75,101.62,100.5,99.87,98.25,99.37,99.37,99.62, +101,102.5,103.75,104.25,105.37,105.75,105.75,105.87,104.62,105.12,106.37,105.5,104.87,104.37, +103.75,104,101.37,101.25,101.12,99.62,99.12,99.25,98.87,97.12,95.87,95.25,95.62,95.62, +96.12,96.37,96.37,96.25,95.62,98.62,99,99.37,99.87,99.5,99.62,99.75,100.5,100.75, +101.25,101.62,101.75,102.12,102,101.37,101,101.62,101.37,103,102.12,100.87,98.37,96.87, +99.5,99.87,99.75,99,100.37,100.87,100.5,99.25,98.87,99.37,98.62,97.75,98.75,99.37, +99.62,99.62,100,99.25,101.25,101,100,101.62,101.37,102,103.5,102.75,103,103.62, +105.5,106,107.37,106.5,105.12,104.62,105.37,105.12,104.62,104.62,104.25,104.25,104.62,104.25, +105.12,106.25,106,106,105.87,104,103.5,103.62,106.5,106,104.5,105.5,107.87,108.25, +109.12,108.87,109.12,109.37,110.25,110.75,110.75,109.25,108.37,111,111.87,111.62,113.37,113.5, +114.5,114.75,114.25,113.5,114.25,114.37,114.62,114.62,113.62,112.62,115,115.37,119,128.13, +127.75,130.75,129.63,129.25,130.5,133.63,133.75,134.88,135,132.5,131.5,131.5,130.88,133, +135.13,137,138.25,138.75,139.75,137.88,136.25,135,133.88,132.5,129.88,131,130,128.5, +127.62,127.62,127.12,127,125.37,125,122.62,121.62,120.12,119.62,120.12,118.25,116.12,109.25, +107.75,107.12,108.25,108.37,110.75,110.37,111.87,113,113.87,113.75,113.5,113.87,113.87,114.25, +114.25,114.37,114.62,114,113.5,111.75,112.5,114.62,114.5,113.12,113.75,112.87,116,114.87, +115,114.5,114.5,112.87,113.87,114.12,114.25,114.25,114.12,115.12,114.87,114.12,113.62,114, +113.5,113.25,110.25,107.62,108.25,109,108.12,108.62,107.37,106.62,106.87,107.87,107.5,109.25, +109,108.25,108.75,109,105.37,101.62,100.37,100.87,102,103.87,106.62,108.62,109.5,109, +108.25,109,110.37,109.5,107.12,106.62,106.75,106.5,106.25,107.87,109,109.25,107.62,105.75, +105,107.75,108.37,107.75,107.62,105.5,103.5,103.87,102.62,101.87,104.12,104.37,104.12,104.37, +101,98.37,101,101.75,102.75,103.37,105.75,105.25,105.12,104,103.62,103.87,103.87,105, +104.37,109.5,110.75,112.37,112.87,112.37,112.75,114.62,115.5,116,117.75,120.25,120.12,121.62, +122.5,123.12,122.12,120.37,119.25,119.75,119.25,118.5,117.62,118.75,118.75,118.12,118.37,118.12, +118,117.25,119.5,119.12,119.12,119.12,120.75,121.25,121.87,122.12,120.87,120.25,120.87,121.5, +122.25,121.87,120.87,120.75,120.87,122.12,119.87,118,118.87,118.75,117.75,117.37,116.25,116.25, +115.75,115.62,115.5,114.5,112.87,111.25,111,111.37,110.62,110.12,109.12,109.62,109.25,109, +110,110.12,110.37,109.5,109.5,110.25,110.87,111.25,111.25,108,106.5,106.37,105.87,106.37, +106.87,107.75,106.75,105.87,106.75,106.87,105.87,104.75,105.75,106.12,107.5,108.5,109.37,109.12, +108.75,107.37,107,108.25,107.75,107.37,107.37,106.25,105.75,105.87,105.37,104.37,104.62,105.5, +104.12,103.87,105.5,105.12,103.12,104.5,104.62,104.25,103.25,102.37,103.25,103.87,103.75,101.37, +99.87,98.75,99.75,98.62,97.62,97.75,97.25,97.87,97.87,98.25,99.12,99.87,99.62,100.87, +100.37,98.37,99.25,100.37,100,101.25,100.87,101.62,100.37,99.5,98.12,94.62,95.12,95.37, +95.5,95.75,95.37,95.12,95.25,95.25,95.25,95.5,97.37,97,96.75,98.12,99.25,99.25, +101.87,99.5,98.12,98.12,98.62,99.37,100.75,100.75,100.5,99.75,99.37,99.75,98.25,98.5, +99.25,98.87,98.62,97.5,98,97.75,98.12,98.87,99.62,100.37,101.37,100.75,100.87,101.75, +102.75,104.5,104.75,104.62,105.37,103,102.87,107.75,108,107.75,108.25,109.37,109.25,108.12, +109.12,108.25,108.25,109.75,109.37,111.25,112.5,117.75,117.87,116.87,117.25,116.37,116.5,116.12, +116.25,115.87,117.5,117.25,116.37,116.37,117,117.62,118.75,118.25,117.62,117.5,118.37,118.12, +116.5,116.12,114.12,113.87,115.37,115.5,115.75,116.37,116.5,116.5,118.25,118.25,119.12,119.37, +117.62,115.75,114,115,116.5,115.25,114.25,113,112.62,114.37,114.12,114.37,114.62,115.5, +116.75,116.5,115,115.25,115.12,115.87,115,112.75,112.37,112.75,112.5,112.12,113.25,115.12, +114.5,112.75,111.12,109.87,110.37,111.25,110.5,109.62,110.5,111.5,111.62,109,109.5,109.62, +110.37,109.75,110.12,110.87,110.75,110.12,109.75,110,110.25,110.12,109.87,111.87,112.5,112.5, +111.87,113.12,112.87,111.25,109.87,110.25,110.12,109.75,111.37,111.12,112.5,113.75,113.62,114.62, +115.75,114.75,115.12,114.37,113.5,112.87,113.12,113.12,111.75,112,111,112.25,111.37,110.25, +110.25,108.25,108,108.5,109.5,109.5,109.75,110.37,110.87,110.37,110.25,109.37,110.5,111.37, +116.5,118.75,118.75,119.37,119.62,118.5,119.87,120.62,121.12,121.62,121,120.87,122.37,122.25, +121.87,123.5,123.62,125.5,126,126.62,126.87,127.12,126.75,126.25,126.62,127.5,128.38,128.63, +127.87,128.88,129.88,130.88,130.88,129.25,127.87,127,124.37,124.62,124.12,124.37,125.37,125, +124.5,125.12,123.75,124.12,122.25,122.5,122.37,122.75,123.12,122.62,122.25,123.62,124,123.12, +123.87,123.5,123.25,123.62,124.12,123.25,121.87,121.62,121.75,120.75,121.87,120.75,121.37,122.75, +122.12,121.62,119.37,118.75,119.75,119.75,119.75,116.75,118.5,117.25,115.62,116.12,116,117.5, +118.12,117.5,119.25,120.37,120,120.62,120.12,121.37,122.87,123.87,124.37,122.87,121.25,121.25, +122.5,123.5,124.62,124.62,124.87,124.75,124.37,121.87,120.25,119.75,118.5,118.75,116.5,116.25, +114.12,114.37,115.37,115.25,116.5,115.5,114.12,113.62,113.62,113.37,113.87,113.62,113.37,114.12, +115,115.37,115.87,115,115.37,115.25,113.12,113.25,113.87,114.75,111.12,113.5,113.75,114, +112.75,112.12,112.87,111.75,113.12,115,115.5,116.37,116.75,117.87,118.75,119.62,121.62,123.62, +124.37,124.25,125.5,126.5,126.87,126.5,126.25,123.87,123.12,123.37,122.37,121.62,123.62,124.75, +125.37,126.25,126.5,125.75,125.62,127.37,127.37,128.25,127.87,129.5,129.25,127.75,127.75,128.38, +127.75,126.25,126.25,125.87,123.62,120.37,117.62,117.5,118.37,119.62,119.75,117.37,117.37,117.12, +116.87,115.25,114.37,113.87,113.62,114.5,113,108.37,109.25,109.75,109.5,109.87,110.75,110.62, +110.62,112.75,111.75,110.37,109.37,109.87,111.5,110.87,111.87,111.62,114.75,115.12,114.37,113.75, +113.5,114.5,114.75,114.62,114.25,114.12,113.87,116,114.5,114.37,115.75,116.5,114.12,113.62, +112.62,110.25,109.75,108.25,109,108.5,106.62,108.75,108.37,110.37,110.5,113.37,114.25,114, +114.62,115.5,115.37,115.37,115.75,115.5,116.5,117.75,118.62,117.5,117.5,117.25,118.37,118.37, +117.75,115.75,117.87,116.75,115.87,115.62,113.37,113.75,114.25,113.75,112.87,112.37,111.75,109.25, +108.37,109.5,109.25,111.75,110.62,113.5,114.37,114.5,114.75,113.5,113.25,111.75,112,111.37, +115.5,119.75,120.25,117.37,118.25,117.75,118,123.75,124,123.25,123.5,121.25,116.37,117.75, +116.62,117.62,119.87,120.37,118.37,119.5,118.25,119.5,119.25,117,115.75,111.62,114.5,114.75, +111.5,109.5,107.75,110.87,112.12,112.87,112.37,117,118.87,119.5,117.75,117.87,118.87,119.5, +119.25,123.25,122.62,123.5,120.12,119.5,119.75,124.5,124.62,122.5,123,124.87,125,123, +120,118.62,117,122.75,122.5,125.5,122,138,141.25,145.75,147.38,151.5,151.25,151.63, +152.88,153,156.38,157.25,156.88,154.75,151.88,153.75,158.25,156.63,158.13,156,155.75,156.5, +158.5,158.63,159.88,162.25,162.75,161.38,158.38,158.13,160.5,162.75,163.5,164.13,169.38,169.5, +168,168.38,169.5,174.88,175.13,175.88,175.25,173.25,173.88,174.75,175,174,172.13,169.63, +166.75,165.63,163.25,161,160,160.88,163,162.5,161.75,162.88,162.63,161.5,162.25,162.88, +164.63,165.88,168.5,168.75,169.5,169.88,169.88,167.25,167.25,166.88,166,165.63,165.13,164.63, +165.75,166.5,167.75,168.63,167.63,165,163.5,162.13,162,162.5,162.25,160.13,159.38,159.13, +161.5,161.63,161.88,161.25,161.38,160.38,159.75,161.38,163.88,162.75,162.38,160.75,159.25,158.75, +158.63,161.75,161.25,165.38,167.38,167,166.13,167.38,165.88,166.75,167.63,167.63,163,162.38, +161.5,159.63,156.63,156,154.13,156.5,157,158,150.63,152.25,151.88,150.88,150.25,145.63, +147.5,148.25,150.13,150.38,150.75,151.38,152,153.38,152.75,154.13,156.63,156.5,152.88,150.25, +149.25,147.38,148,147.13,145,146,145.13,144.38,142.88,138.88,140.5,141.88,141.38,138.88, +140,140.63,141.63,143.5,144.25,144.13,139.75,139.63,139.5,138.63,134.75,135,134.5,135.5, +135.88,137.13,137.5,135.13,134.38,132.5,129.13,130.88,130.25,129.75,127.87,129.88,128,124.87, +127.25,125.25,121.12,121.37,118.75,118.75,121.12,122.62,123.37,124,124.37,124,122.5,121.87, +121.62,122,122.25,122.5,122.5,125,125.87,127,128.13,128.5,127.62,128.25,129.38,129, +128.13,128.75,128.5,129.25,130.13,129.88,127.37,127.25,127.87,127.5,125.25,125.37,123.87,123, +123.12,123.62,121.5,123,124.37,124.25,123.25,121.87,122,124.75,126.5,126.37,123.75,123, +121.75,122.37,122.12,122.25,122.5,121.5,121.37,121.25,122.37,123.37,123,123,125.25,124.5, +127.87,127.5,133.63,133.63,133.25,133.38,135.5,135.88,135.25,136.63,137.63,139.38,139.38,138.63, +138.25,139,139.63,138.5,138.5,139.88,142.88,144.5,145.5,143.88,141,139.5,136.38,138.88, +140,140.38,142,141.25,140,138.13,140.5,139.5,137.75,135.75,134.5,135.25,134.38,132.75, +131.63,131.63,131.88,131.5,131.88,131.88,133.38,133.25,133.25,132.75,134.88,135,133.63,134, +133.88,132.38,133.5,134,136.13,138.63,141.38,145.63,145.88,144.75,144.63,148.13,150.13,150.13, +148.63,147.5,147.38,147.63,148.5,147.88,147,147.5,147,147,148.75,149.88,149.88,149.13, +149.5,148.75,149,151,150.88,152.88,152.75,153.5,154.63,153.63,152.5,147,146.25,145.13, +146.63,146.38,145.25,145.63,148.13,149.13,150.38,151.5,150.25,150.5,153.5,155.88,155.88,157.25, +157.5,159.75,161.88,161.38,160.38,158.5,155.25,155.13,154.88,154.88,155.63,155.25,153.63,152.63, +152.38,151.5,152.63,152,150.25,150.13,152.88,151.13,152,153.13,151,147.88,148.75,150, +150.88,152.75,152.38,153.5,151,151.5,150.88,152.63,152.13,148.5,147.25,149.13,148.38,153.13, +152.5,156.75,158.25,159.13,158.63,160,161,159.13,160.38,159.75,157.88,155.88,157.25,158.25, +157.88,157.25,156,155,155.5,154.63,153.5,151.13,153.63,151.75,151.25,150.5,148,150, +150.38,150,156.25,156.5,152.75,149.88,149.63,151,150.38,156,156.5,154.88,154.38,154.88, +158.75,158.5,155.63,153.75,154.63,155.13,156.63,154,153.88,154.5,153.5,151.5,149.38,149.38, +148,144.88,141.75,142.88,141.88,138.63,139.88,140.75,140.5,139.75,139.5,140.5,140.25,139.13, +139.25,138.63,138.38,137,135.75,136.38,134.88,133,132.75,133.25,134,132.63,131.13,130.75, +131.38,131.38,129.38,128.88,131.25,130.88,130.13,127.87,129,130,129.5,129,128.13,126.25, +124.75,125.37,124.75,125,124.37,125.25,127,126.62,124.25,123.87,127,128,128.38,128, +128,128,128.5,128.5,128,128.5,128.5,129.5,130.5,129.75,128.63,127.25,127.5,127.62, +128,128.63,128.88,128.25,127.12,128.38,128.38,127.75,126.37,126.37,127.25,129.13,127.5,127.37, +128.63,128.88,129.75,131.75,131.5,132.25,132.75,131.88,130.75,132,132.5,130.25,129.88,131.88, +129.88,130,130,130.25,128.75,126.75,124.62,124.12,123.37,123.25,124.5,124.87,124.62,125.37, +125,124.5,124.25,123.25,123.37,121.12,119.75,119.75,120.87,121.62,120.5,121.12,120.25,126.12, +128.25,127.87,129.88,129.75,130.63,130.13,129.5,130,129.5,130.25,131.75,131.63,132.38,132.75, +133.25,133.25,131.25,129.5,129.25,130.88,130.63,130.88,128.25,127.25,126.25,125.62,125.62,126.87, +126.87,126.75,127.12,129.75,129,129.13,129.25,128,128.13,130,130.13,130.38,129.75,128.13, +127.62,126.62,125.37,127,127.25,127.62,129.5,128.25,127.12,127.62,126.62,125.62,128,128.75, +130,130.63,131.13,129.88,130,130.38,132,132.5,131.75,131,133.38,135.5,135.88,136.38, +136.75,134.5,135,135.5,133.88,134.25,134.5,134.88,132.25,132.75,134.63,134.63,133,137.25, +137.88,137.63,136.63,138.25,138.25,136.63,136.88,137.63,137,135.25,134.13,134.5,132.63,130.63, +128.5,125,124.62,125.5,125.62,125.25,124,123.75,120.75,120.5,120.87,120.37,122.25,122.62, +123.87,124,124.25,124.25,124.5,123.75,123.87,124.5,123.25,119,120.25,119.62,119.37,119.12, +118.25,119.12,119.5,120.25,121,121.37,122.25,123.12,124.87,125.12,123.25,122.62,121.37,121.37, +121.62,123.12,123.25,123.75,124.25,124,125.5,125.75,127.12,127.75,126.87,126.5,126.87,126.75, +127.12,124.87,125.12,126.75,127.37,127.37,126.5,127.75,126.25,123,122.75,123.37,122.25,122.12, +121.75,122.25,121,122.37,122.25,122.5,123.62,123.75,126.12,126,126,124.75,125.12,127.5, +126.25,128.38,127.87,128.5,127.75,126.12,123.37,124.5,123.37,123.87,124.25,122.62,123.12,124.12, +124.87,126,125.75,124.75,125.62,125.75,126.37,126.75,123.5,123.87,123.62,123.5,123.25,122.75, +124.87,123.25,121,122.75,124,121.25,115.12,113.25,110.87,109.37,109.62,108.75,107.75,107, +106.37,107.25,107.37,108.12,108.37,107.25,105.75,105.62,107.12,107.37,107.5,106,107.5,107.37, +105.75,106.5,105.62,104.5,105.5,106.25,106.5,108,102.5,103.75,101.87,101.12,104.12,105.5, +104.87,105.5,106,106.25,106,107.62,109.25,108.62,108.75,108.5,107.62,107.87,108.12,109, +108.5,109.75,110.87,111.75,112.87,113.25,112.25,112.12,113.37,114.87,114.25,113.37,114.87,116.37, +117.25,116.5,114.62,114.25,113.5,112.25,111.62,111.37,111.12,112.25,113.5,112.87,113.5,112.75, +110.37,110.75,110,109.75,111.37,111.5,112.5,114.62,114.62,115.75,115.37,113.87,113.25,113, +114,115.5,115.37,114,114.25,112.5,111.5,112,110.5,108.62,109.25,108.25,111.62,111.5, +112.87,111.62,111.75,112.5,113.5,111.5,109.25,110.87,109.87,110.5,110.37,111.37,111,110.25, +110.5,110.12,110.87,110.75,110.87,114.37,114.5,114.62,114.75,115,115,115.87,117.75,117.25, +117.12,119.12,120.75,121.87,121,120.5,122.25,123,122.75,123.87,124,124.5,125,124, +123.37,123.37,124.87,124.62,124.75,123.75,124.12,123.62,122.62,122.37,120.87,121.62,123.12,124.37, +124.5,122.37,119.87,119.37,119.25,119.12,119.25,119.5,122.25,121.75,121,121.75,123.37,125.62, +125.5,123.75,124.5,125.87,127.62,127.75,127.25,125.75,123.62,122.87,123.37,123.25,126.5,127, +127.25,129,130,129.38,128.88,129.75,128.63,129.75,130.5,130.75,132.13,132.63,133.75,133.88, +133.38,134,134.25,132.5,132.25,131.25,130.13,128.5,128.13,129.5,129.13,128.38,129.5,126.62, +124.75,124.12,124.5,124.87,124.25,123.25,123.5,122,123.37,122.87,123.5,122.87,121.87,119.75, +119.62,119.5,119.25,119.25,118.25,116.87,119,120.87,123.25,122.5,123.75,123.5,122,121.5, +118.87,119.12,119,119.5,119.87,120.12,119.87,121.37,121.5,121.37,122,124.12,126.5,127, +126.25,125.5,126.25,125.37,121.5,120.5,121.75,124,121.75,123.5,123.37,121.5,122.75,121.75, +119.62,121.25,121,120.87,121.37,122.75,123.87,123.75,124.5,123.62,122.75,122.5,122.87,121, +119.75,117.25,114.62,114.5,114.75,116.25,116.12,114.87,113.87,111.87,112.87,115,115.87,115.62, +115,112.87,111.75,112.5,114.75,115,115.25,116.62,116,117,117.62,118.25,118.5,115.87, +116.87,115.87,117.12,117.62,117.5,118,117.25,117.12,117.87,115.5,115.25,112.12,112.62,110.5, +110,109,107.37,106.75,104,103.37,102.75,103.25,102.5,104.87,104.5,104,102.87,103.25, +103.12,102.87,101.12,101.12,100,99.25,100.75,101,101.12,101,102.62,102.37,103.25,103.37, +102.25,103,103,101.87,100.5,101.25,101.5,98.75,99.5,99.5,99,100.25,100.5,99.5, +97.75,96.87,95.5,97.37,98.37,97.5,96,97.25,99.25,98.87,98.5,98,96.12,96.25, +94.12,97.5,98.75,100.25,100.37,100.75,99.87,99.25,100.12,98.37,99.25,98.37,98.5,96.75, +95.62,97,97.12,98,97.25,96.37,96.87,94.5,96.37,96,94.62,94.62,91.25,91.5, +96.25,94.75,95.12,96,97.5,96.37,93.75,89.37,89.25,88.25,86.5,83.75,83.62,82.75, +82.12,83,84.37,84.5,84.5,83.12,82.75,85.37,85.37,86.5,85.87,83.75,85,85.37, +85.5,83,81.5,80.5,81.5,82.37,82.12,81.87,84.75,84.75,84.5,83.5,83,80.37, +81.87,84.12,84.37,84.5,81.12,80.37,79,76.12,74.62,74.62,74.87,76.37,77.25,77, +76.5,76.62,77.62,76.75,74.75,74.75,75,73.62,74,73,72.12,73.25,73.62,72.75, +74,72,71,71,70,69.25,70.5,70.12,69.25,69.5,68.62,66.75,67.62,66.12, +63.63,63,62.88,63.13,63.75,63.25,64.25,64.75,66.12,67.25,67.12,66.25,65.62,66, +66.25,66.62,67,67.37,68.62,67.62,66.62,67.75,67.5,66.87,65,66.87,62.5,61.63, +61.25,60.75,60.63,60.88,61.5,61.38,61.5,60.63,61.25,61.5,59.88,59.63,58.63,59.25, +60,59.75,59.5,60.13,59,58.63,59.88,60.63,61.63,62.13,62.13,61.88,62.13,62.38, +62.38,62.63,62.63,63,63,63.25,63.25,63.75,64,64.25,64.62,64.75,64.87,65.12, +65.12,65.25,65.25,64.75,64.75,64.62,65.25,65.75,66.12,65.75,64.75,63.88,63.88,65.12, +64.87,64.62,64,62.75,62.5,62.5,62.13,61.88,61.75,61.88,61.13,60.63,60.5,60.25, +59.75,60.13,59.38,59.63,59.5,58,58.38,58.13,58.88,58.88,58.13,59.38,59.63,59.5, +59.25,59.38,60,60.88,62.38,62.75,61.88,62.5,62.13,61.38,62.88,63,63,63.25, +62.38,61.75,62,62.38,61.75,63,64,63.5,63.25,63.5,63.38,64.75,64.5,62.75, +62.5,62.25,62.63,63,62,62.13,62.13,60.13,58.88,58.25,58.38,58.75,56.75,57.25, +57,57.88,58.38,57.38,57.63,57,57.38,57,56.88,57.25,56.88,57,55.75,54.5, +53.88,53.88,54.75,54.75,54,53.75,55.38,55.13,54,53.75,54.63,54.5,54.5,53.13, +52.38,50.88,50.88,50.38,51.13,51.38,51.25,52.63,53.13,52.63,53,51.75,51.75,52.75, +52.38,53,53.13,51.75,49.75,50.88,51.25,50.88,51.13,51.63,52.25,51.88,51.63,52.38, +52.88,53.38,55.13,56,56.25,55.5,55,55.13,55.5,55.13,54.38,54.5,54.88,55, +54.25,55.25,54.63,55,55.13,54.5,55.13,55.38,56.5,56.75,56.13,55,54.5,54.13, +54.88,56.13,56.25,56.13,56.38,56.13,56.38,56.13,56.63,56.63,57.38,57.5,57.25,57.13, +58.25,58.75,58.63,58.75,58.88,58.13,57.25,57.5,58.75,58.25,56.75,56.63,56.63,55.75, +55.5,55.63,55.13,55.25,55.88,55.63,55.88,56.63,56.88,56.88,56.88,56.25,56.5,56.88, +57.13,57.38,57.13,57.25,57.88,58,59.13,59.63,60.13,59.5,59.63,58.25,58,58.5, +58.88,59.75,60.38,59.63,59.5,58.25,58.13,58.88,58.5,59.13,59.75,60.5,60.75,59.13, +58.5,58.13,56.38,55.88,56.38,56.63,56.63,56.88,56.88,57.13,57.25,56.88,57.63,57.88, +57.63,58.13,58.25,58.38,59.38,59.75,60.25,61.25,61.38,61.13,61.38,61,61.38,61.75, +60.25,59.88,60,60.75,63.25,61.75,60.5,60.63,61,62.38,62.75,63.38,62.63,62.13, +63.38,64.25,64.12,63.25,63.38,64.12,64.75,65.25,65.25,64.75,64.62,64.12,62.75,63.38, +63.25,62.38,62.38,62.88,63.75,64.25,64.5,64.87,64.25,62.63,62.38,61.63,62.25,62.38, +62.5,62.13,62.75,63.25,63.63,64.37,64.75,64.5,64.75,64.25,64.37,65.5,65.5,65.62, +65.87,65.5,65.62,65.37,65.62,67.12,67.25,67,66.75,67.5,66.75,68,68,69.75, +70.12,71.5,70.75,69.25,69.12,69.25,69.5,69,68.75,68.12,67.25,64.87,65.62,66, +66.25,66.37,66,64.5,66.5,66.75,67.25,68.87,69.5,69,68,68,68.87,69.75, +70.62,70.37,71.62,72.25,72.75,72.62,71.75,72.25,71.62,71.12,67.75,67.25,67.12,68.12, +70.25,67.62,67.25,66.25,67.12,66.75,66.5,66.62,67.75,68.12,68.87,68.5,69.37,71.12, +70.37,70.87,70.75,71.5,70.87,70.37,68.25,68.25,67,65.37,65.62,64.5,64.25,65.87, +67.87,68,69,68.37,67.5,67.37,67.87,66.37,66.25,66.5,66.37,66.25,66.25,66.62, +67.25,68.12,67.5,66.5,65.62,66,67,67.75,67.5,68.87,67.75,67.87,67,68, +69.12,69.12,67.5,68,66.75,66.25,65.75,65.62,65.37,65,65.37,65.37,66,65.5, +65.25,64.62,65,65.37,66.12,66,65.75,65.62,64.62,65.25,65,62.88,62.38,62.88, +62.25,62.25,61.5,61,59.63,59.5,60,60.25,60.25,59.38,59.25,58.38,59.75,59.75, +60.38,60.38,59.13,58.38,58.38,57.75,57.5,57.88,58.38,58.13,57.13,57.38,55.5,56.13, +56.63,55.63,55,54.13,52.88,53.5,53.75,53,53.25,53.5,53.25,53,53.75,54.38, +55.75,55.75,55.75,54.38,54.88,55.13,55.13,55.38,55.38,54.25,54.38,54.5,51.63,51.75, +51.63,52.88,53.5,53.75,55,55.25,54.75,55.75,54.88,55.88,56,55.75,55.88,56.38, +57.5,55.88,55.13,56.38,58.13,59.25,59.75,60.25,60.38,60.75,61.25,62.13,62.25,62.25, +61.88,62.25,63.13,63.38,63.5,63.75,64,65.12,65.37,65.87,66.25,67.12,67.75,67.75, +68,70.25,70.5,68.87,67.5,67.62,68.25,69,69.62,69.62,69.5,71.12,70.62,71.37, +72,70.75,71.5,71.25,69.87,69.87,69.75,70.37,70.87,70.25,67.25,68.25,67.75,68, +67.5,63.38,63.75,63.5,64.5,64.62,64.62,65,65.12,64.87,65.25,65.75,64.62,65.25, +65.87,66.12,65.25,65.75,66.75,66.62,67.62,67.25,66.37,65.37,65.12,65.5,66.25,67, +65.25,64.62,62.25,61.88,62.5,62.38,62.38,63.25,63,62.75,62.88,62.5,62.13,62, +63.13,63.25,63.75,63.63,64.12,64,62.88,62.38,62.88,63.13,63.38,64.37,63,63.75, +64.5,65.75,65.87,67.12,67.62,67.75,67.37,69,69.5,68.87,69,68.75,67.62,68.5, +68.75,69.5,69.25,69.87,71,71.37,68.62,68.5,69.25,68.37,66.87,66.62,67.75,67.87, +68,68.25,68.5,69.87,70,70,70.25,70.12,70.62,70.5,70.75,71.12,71.62,71.87, +71.87,72.5,72.37,70.37,70.37,70.5,69.25,70.37,71.12,69.37,69.5,70.25,70,70, +69.75,69.5,69.37,69.62,69.62,69.37,70.12,70,69.5,70.37,70.62,70,71.5,72.37, +73.62,74,76.75,72.37,72.5,73.62,74.12,74.12,74.5,74.25,74.5,74.25,74.5,73.75, +73.5,74,75,75.25,78,78.5,77.62,77.87,78.25,78.25,78,76.37,76.37,304.75, +306.38,307.25,307.38,307.5,310.5,310.5,308.88,309.75,309.5,307,310,309.75,309,310.13, +312.75,312.25,309.88,317.5,321.5,318.5,317.5,314.25,310.5,312,312.25,312.88,310.25,309.25, +312.88,314,313.5,313.38,314.25,321.5,322,319.75,320.38,320.75,321.38,319.75,315.5,318.63, +319.38,319.88,320.75,314.5,317,317.5,316,311.63,312.25,309.25,308.63,309.75,311.75,310, +309.88,309.5,307.75,306.5,307.75,301.25,301.5,301,304,304.75,303.5,305.5,308.63,308.38, +308,308.5,308.25,310,307,301.88,300.63,299.75,306.5,306.63,311,311,312.5,314.5, +313.25,313.5,312,311.25,313,312,310.75,312,312,314.63,316.25,313.88,312,307.5, +308.38,305.75,307,309,308.75,305,306.5,308,306.5,310,295,284.88,285.5,283.25, +271.88,275.38,275,276.5,278.5,278.75,276.5,278.25,279.5,278.38,274.63,274.5,270,267.5, +272,271.75,270.5,268,265.25,264.5,262.25,261.25,262.25,260.38,264.5,265.5,266.75,266, +263.25,268.25,271.5,272.75,276.5,272.5,273,273.88,275.13,277.5,278.25,278.5,277.5,280.75, +279.75,279.75,286,288.5,293.5,290.5,283.5,283,281.5,282,282,281.5,280.5,278.5, +279,282,282.5,281.5,284.5,285.75,288.5,291.25,291.88,294.5,296.38,301.38,300.88,303.38, +304.5,302.5,303,301,294.88,294,295,296.25,297.38,299.5,300,300.75,297.63,295.75, +299.75,299.38,298.5,291.5,291.5,290.75,291.25,293.25,289.75,290.5,289.63,295,293,281.75, +281.5,279.5,276.25,276.75,273,271,270.25,272,269.75,266.88,270.13,267.75,259.5,259.75, +260.75,260.88,260.63,259,259.5,257.5,260.25,262.25,261.88,262,262.5,266.5,267,268.25, +269.75,270,270.63,272.5,276.25,274.25,271.38,270,269.75,266.63,268.5,266,260.75,259.5, +262.38,261.75,261.88,264,262.5,266,266.75,264.63,266.25,267.63,268.5,266.25,266.25,265.25, +260.88,260.38,263.5,264.5,261.25,266.25,267.63,268.75,266,261.75,265,264,258.25,255.5, +257.88,254,253,253.63,244,239.5,242,240.5,241.5,243,244,241.5,238.38,236.25, +237.63,238.38,240,239.88,239,240.75,240.75,241,244.38,244.25,243.5,242.13,243,243.75, +245.75,247.38,246.75,244.75,244.25,249.75,252.25,252.5,253.75,257.13,257.5,256,256.25,255.63, +256.38,256.25,258,257.75,258.5,260.25,260.13,261.88,260.75,258.75,260.5,266.25,266.38,266.88, +266.88,265.75,266.63,267.38,267,266.25,267.25,269.25,269.75,269.25,268,267.75,268.25,268.13, +269.75,268.88,267,271.75,270.75,273,275.25,273.5,271.25,270.63,270.25,268,266.75,264.38, +264.75,266,267.63,266.38,264.5,265.88,265.88,262.75,261.5,262.38,264.75,264.5,264.25,265, +267.13,268.88,269.25,269.25,266.25,261,260.88,259.25,261.5,263,260,260.75,259.5,252.75, +252.38,253.25,253,250.75,253.38,257.63,259.25,260.13,261.25,261,257.5,259.63,259.5,258.63, +257.5,259.25,258.75,258.75,258.5,256,257.63,258,258.38,258.75,259.25,262,262.5,261.25, +260.63,260.5,259.75,260,258.5,258.63,259,259,258,262.5,263.88,264.25,263.38,263.13, +265.25,267.75,268.5,268.63,268.5,269,268.75,270.88,269.5,267.88,268.75,270.38,272,271.5, +269.38,271.25,270.13,269.25,269.38,267.38,268.75,268.25,266.25,266.5,269.63,269,270.5,269.63, +270.75,268.13,268.5,271.5,273.25,274.25,274.38,273.25,274.75,275.5,274.25,270.75,261.63,261.5, +259.88,262.25,261.5,261.75,263.63,263.88,266.38,265.75,268.88,267.25,266.5,262.25,260.38,261.25, +260.25,258.75,258.38,259.88,258.5,253.75,252.25,253.5,253.75,253,252,250.75,248.38,249, +246.63,249.25,249.13,248.38,248.13,249.63,251,254.5,256.5,255.38,255.13,254.25,252.88,255.5, +257.25,257,260,262,263.75,262,260,259.75,261.63,262,260.5,259.63,263.25,270.5, +271.5,272.88,272.63,272.5,275.5,278,279.25,277.25,276.88,275.5,276.75,278.13,278.5,278.5, +280.5,281.25,279.5,280.75,282.63,285.63,285.5,284,284.75,284.13,285.63,286.13,285,284.38, +284.5,280.13,281.25,280.5,279,278.5,277.5,277.75,276,276.13,276,276.63,277,270.88, +271.88,274,274.5,274.25,269.63,270,270.25,272.13,270.5,272.25,271.75,276.75,277.88,275.25, +274.25,269.5,269.5,273,276,275.5,279,279.63,275.75,273,271,271.25,269,272, +273,274.13,276.5,274.75,277.25,280.5,282,280.5,279,280.13,278,271.75,272.38,270.38, +266.25,269.25,268.88,270.5,270.5,271.25,272.63,274.13,273,273.75,274.5,272,273.88,273.88, +271.63,274,275.5,272.5,271.75,273,270.75,271.38,267.5,266.25,265,264.5,264.88,261.88, +260.63,261.75,267.75,269.38,270.75,272.5,272,268.38,266,263.5,259.75,257.25,264,264.75, +265.5,265.25,265.38,271.5,273.25,279.13,278.75,281.63,281.88,280.38,281,281,283.25,283.5, +285,287.5,287.5,285.5,286.13,288.5,287.75,286.75,285.63,284,279.5,278.5,280.13,279.63, +279,280.13,280.13,278.5,278,277.25,274.75,272.75,270.38,272,272.75,273.75,273.5,275.13, +279.63,280.5,280.75,280,278.88,278,279.75,278.5,275.25,275.25,275.63,277.5,275.88,272.88, +273.5,273.75,273.13,275.5,275.5,273.88,272.5,272.5,272.75,275.5,276.38,279.5,280.38,280.38, +280,279,279.38,278,277.25,276,278,278.88,276,276,276.75,275.25,272,272.88, +270.5,270,269,263,260.5,260.75,257.88,255.75,255.13,254.63,253.63,256.25,258.5,258.25, +256.5,257.25,254,252.75,251.5,253,257.5,257.63,255.25,254.25,253.75,255,257,257.25, +259.5,258.25,251.25,250,251.5,252.88,252.75,254.38,256.75,256,259.75,259.25,260,262.25, +262,261.75,259.25,257.5,262.88,263.75,270.75,269.5,269.25,271.75,273.25,272,267.25,263.75, +262.75,260.75,261.75,260.5,262.5,265.13,262,260.25,259.25,259.63,262.5,262.75,261.25,265.88, +265.88,262.25,262.5,260.13,257.5,259.25,260.38,260.75,259.25,256.38,261.5,262.5,263.13,262, +264.5,262.25,257.25,255.25,255,258,260.5,258,257.75,257.25,263.25,264.5,261.25,259.25, +259.75,257,252.25,255,256,255.5,251,252.5,253,250,242.75,242.88,241.25,238.38, +236.25,231.75,230.75,231,230.88,230,226.5,225.25,223.5,224.63,223.5,223.5,220.75,218, +219.88,221.5,220.75,219.88,216.88,215.75,217.75,218,215.88,217,220.63,220.13,219.63,224.25, +227.25,226.5,226,225.25,222.88,222.75,222,220.75,225.75,225.25,223.25,225,224.75,219.88, +216.88,217.63,218,217,214.25,212.75,212.75,213.5,214.25,215.5,211.75,214.75,215.75,213.75, +214.75,211.88,210.5,212.5,210,213,210.5,207,209.25,206.75,202.38,203.5,195.5,188.75, +189.75,191,195,196.25,193,193.25,188.75,190.25,190,186.5,180.63,180.25,180,183, +182.75,180.75,185.88,183.5,182,183.75,182.75,186.5,187.5,186.5,181,181.75,182,180.25, +178.75,178.13,182.25,183.75,182.25,181,182.25,185.38,183.5,183.75,185.75,186.25,188.75,190.25, +190.75,195.25,194.88,194,192.25,194.5,194.5,198.75,199.25,203.5,201.88,205.25,207.75,209.5, +208,208,209.25,210,206.5,207,208,207.5,210.75,211,211.5,210.5,213.25,215.38, +213,210.25,208.38,205.5,209,208.5,208.75,211.75,213.25,212.88,215,217.63,218,218.75, +219.75,219.25,215.75,215,216.5,219,219.38,216,216.5,220,219.25,219.25,226.38,227.38, +223.5,218.75,214.5,211.5,212.5,214.88,215,210.75,212.5,210,204,207,210,209, +211.75,215.75,215.25,212.88,217.38,212.75,212,209.5,206.25,212.5,210.5,201.5,198.38,200.5, +204.25,207.75,207.5,208.5,210.5,212,210.5,206.25,210,216.38,214.75,219.38,218.75,218.25, +217,216,221,220.5,220.13,219.25,220.25,224.75,220,215.75,214,212.5,209.75,217.75, +220.75,218.88,217.75,220.75,221,218.25,210.5,201.88,201.88,197.75,202,199.88,194.75,193, +189,191.5,188,188,162.88,164.63,165.25,163.5,162.25,160,160.75,164.5,170,170.5, +172.5,173,168.5,167.13,166.5,170.25,171.25,171.38,168.88,164.25,166,168.75,167.5,170, +170,171,173.25,171.63,168.25,170.5,173,175.63,174,168.5,165.75,171.5,172.75,170.5, +175.5,178.75,181.5,178.25,174.5,175.25,173,171.88,174.75,177.5,184,187.75,186.25,189.88, +191.75,191,191.25,200,196,191.25,193.5,194.25,197,191.75,181.25,183.75,181.25,185.5, +195.5,192.5,186.75,181.5,181,182,184,179.38,179.5,172,164.5,164.75,159.5,160.5, +163.5,161.75,159.5,166.75,164,171,168,175,173.5,173.75,166.5,168.5,159.75,157.25, +165,172.25,175.25,178.5,185.5,183.5,180,192.5,193.5,192,195,194.25,196.5,195.25, +196.5,200,200.5,196.75,201,202.5,202,203.75,209.75,210.75,215,215,211.75,206.88, +203.5,203.75,207.5,207.5,203.5,214.5,222.75,222.75,223.88,219.88,220,221.5,217.75,216, +221,215,200.75,203,203,202.25,209.13,213.25,213.5,213.5,214,215,220.5,221.5, +215.75,213.75,218,218.5,219.5,222,226.75,228.25,226,229,230.5,232,227.75,222.5, +222,219,215,214.75,217.88,219.5,218.75,216.75,220.25,221.5,220.75,219.75,223.75,223.5, +224.5,224,230.5,230.75,228.5,228.5,224.5,228.75,232,231.75,229,225,226.75,222.5, +227.75,230.38,232.5,233.75,237,235.5,234.5,233.5,232,234.5,235,233.5,236.5,242.5, +239.5,235.25,236.5,240.25,242.5,249,250.75,247.75,244.5,247.75,246.75,247.5,250.75,250.5, +251.5,254,251.5,246.5,243.25,244.75,244.5,242,236.75,238.25,238,240,237.75,237.5, +237,238,235.5,238,233.5,229.5,232,230,233.5,237.25,237.25,238.5,239.5,240.75, +244.5,249.75,248.5,244.25,248,248.75,248.25,250,249.75,245,251,251.5,244.5,242.25, +245.75,240,235,228.25,230.75,230.75,238,245.75,247,249.5,255,256.25,248.5,239, +244,251,254,249.5,244.5,251.5,255,253,263.5,266,267,260.75,257.75,260.5, +264.75,268,271,270.75,268.25,269.5,276.25,277.75,274.75,284.63,288.25,286,290,290, +284.75,282,285.75,279.5,280.75,279,285,284.75,281.75,284.75,288.75,291.75,291.5,288.75, +289.75,288.25,295,292.5,285,282,280.25,284.5,283.75,284.5,261.75,263.5,262,251.5, +254,257.5,257.75,261,264.5,267.5,261,260.75,264.5,271.75,270.75,261,285.13,298, +294,292.5,291.5,296,298.25,298.75,298,300.5,303,304.25,305,306.5,304.5,299.75, +300.25,300,300.75,301.25,302,304.75,303.5,303.5,302,305.5,306.75,306,310.75,312.75, +312,314,314.75,323.5,320.75,320.75,322.25,322.5,313.5,316.5,318.5,319.25,316,319.5, +319,316.5,319,320,314,305.5,302,301,304,314,319.5,319.75,314.5,315.5, +314.13,320,319,322.25,318,317,319.75,328.5,333.5,330,327,325.25,332.5,319.75, +317,310.75,314,319.75,324,328.5,408,400.5,396.5,393.75,386.75,395,400,402, +402,403.5,409.5,415.5,423,422,419,425.25,424,417.75,417.75,409,411,411.5, +409.75,423.5,428.25,432.5,432,425.75,429.75,430.75,432.25,436.25,435,429.5,428,424, +426.5,428.75,432.75,437.5,439,437.75,438.5,435,429,428.88,441.25,440,442.88,448.5, +449.75,449.5,446.75,444,442.5,443.25,445.5,445.75,442.13,444,435,431.5,432,433.5, +442.5,445,447.5,447,442.75,447.25,450.75,456.5,450,446,439,442,440,432, +432,438,437.75,445,442,438,448.5,444.75,439,439,430,424.25,424.75,429, +425,423,415.5,419.25,420,419.5,412.5,413.75,409.5,403,399,395.5,390.5,389.75, +392.75,393.75,397.5,401,397,399,403.75,405,404.5,397.5,399,400,400.75,401, +391.25,387,386.25,387.25,394.25,394.5,388,385.5,385.25,385.5,390,388,377,374.75, +376.25,383,388.5,390.88,391,389.75,385.5,381,380.75,383.5,388.75,390.5,392.5,387, +379.25,379.75,372,380,383.5,388.5,394.25,403,403.38,403.75,403.5,407.88,407.5,406.75, +406.75,405.75,407,401.5,399,399.75,401,400.88,399.25,397,400.25,400.5,398,398.5, +397.75,400.5,403,405.5,406.75,409.75,409.25,409.5,409,407.5,408,413.5,414,414.5, +413.75,416.5,417.25,421.5,422.75,426.75,425.5,425,423.5,419,420.25,417,416.5,411.5, +410,400.75,399.75,398,398.13,400.5,401,396.5,391.5,394,388.75,395.75,401,397, +398.75,399.5,404,405.5,405.13,401.75,395.25,394.25,392,394.25,395,393.5,397.25,396, +400.75,398,398.75,399.5,400.75,399.75,393,393.25,394.63,397,395.5,396.5,397.5,401, +401,399,403.25,406,404,404.75,402.5,401.5,398,395,389.5,387,386.75,386.5, +386.5,386,385.75,387,389.75,385,383.75,386,386.25,387,384.5,385,383.5,385.5, +389.25,390.75,396.75,399.5,395,398,398,399.75,393.5,393.75,391,393.5,393.75,389.5, +387.75,383.5,383.63,386,385,384,382.5,380.75,379,381,377,374,374.5,374, +377.75,382,385,384.5,383.75,381.75,378.75,380.5,373.75,370.75,371.75,373,371,371.75, +373.5,368.75,372,370,370.25,372.75,374.75,374.75,375,372.25,371,372.25,375,374.88, +369,369.88,372,369.25,370,370,366,370,365,355.25,353.5,350.75,350,341.25, +347.5,341.25,339.75,342.75,341.5,343.5,340,338.5,338,337.25,340,339.75,336.5,339.75, +345,347,348.5,339.75,339.75,328,325.25,328,324.75,318.5,317.25,317.25,320.75,321.5, +312,310,305.5,302.5,298.75,294,293.25,295.25,295.75,301,301.75,302,295,296.5, +296,299.75,302,300,300,306.5,303.5,295.75,300,301,301,300.5,304.75,303.25, +308,305.75,308.5,309.25,309.25,309.25,309.5,313.63,315.25,306,309.25,312.5,309,307.75, +308,306,306.19,304.25,306.5,304.5,309.5,308.75,308.75,306.5,304.5,302.75,302.5,303.75, +300.25,304,305.75,310.75,311.75,313,308,301.75,305.75,307.5,316.75,317.5,315,318.38, +318.88,314.75,310,310,315,318,320,296.5,297.5,291.5,287,285.75,287.75,288.75, +292.75,294.75,296,297.75,299.88,301,296,299.5,299.5,301.75,301.75,301.88,296.75,301.5, +302,301,314.5,316,316.5,313.5,317.25,317.5,319.25,318.5,317.5,314.25,312.5,312, +315.75,316.25,317.5,316.75,320.13,323.75,325,322.5,323.5,325.75,322,318.5,319.5,323.75, +329,327.75,329,331.5,333,338,339.75,340,343,347.5,349.75,342.13,339.5,344.5, +339,343.75,344.5,345.25,347,349.5,354.75,353,355.5,355,361.25,362,361.25,358.5, +358,356.75,352.5,355.75,356,355.25,353.75,358.75,359.25,361.25,360.5,362,364,362.75, +360.75,359,358,359.75,358.25,360,359,356.25,357,359.5,361.75,362.25,365.75,364, +363.25,364.75,354,349.5,350.25,350.75,348.5,345.5,342.75,338.25,338.5,339.25,336.5,338.75, +339.5,335.5,331,331.75,337.25,340.38,343.5,339.5,339.5,338,341.25,341.75,337.5,331, +329.25,328.75,328,325.5,321,326,327.75,321.75,317.75,316,314.75,314,313.75,315, +316,317.75,316.5,314,316.75,319.5,320.5,318.25,316.75,319.75,320.75,320.5,318.5,315.75, +316.75,318.75,318.25,316.75,315.75,314,311.5,316.75,319,319.88,318,319.25,316,314.75, +315,314.25,309,309,308.5,300.75,300,300.5,296.75,293,292.5,295.25,293.25,296, +298.5,303,300,299,294,296.5,300.5,300.75,299.75,297,300,297.25,291,294.75, +295.25,289.5,295.5,292,286.75,293.5,294.88,294.75,293,294.75,298.5,305,307,309.75, +308,301,297,295.5,292.75,292,291.25,288.5,281,275.25,280.38,284.75,277,271.5, +266.5,270.5,271,270.75,276.75,275,274,270.25,264,265.25,269.5,271.5,267.75,270, +268,262.75,250,244.75,242.75,240.25,235.25,229.88,230,235.75,239.75,245.5,249,249.75, +250.75,250.5,251.88,253.25,254.75,254,253.75,255,256,258.5,259,258.25,262.5,260, +255.5,253,251.75,252,254.5,256,252.5,247.25,250.38,255.25,254.75,259.75,260,261, +262,262.25,270,273.25,275.75,272,272.75,271,263,260,262.25,268.75,269.5,273.5, +273.25,281.25,284.75,286.5,287,279.75,267.75,260.5,247.25,247.25,250,245.75,255.5,268.5, +271.5,271,274.5,278.75,288.25,289.5,290.5,290.13,291,284,294.63,299,300.25,301, +299.75,310,311.5,314.5,319.63,325,325.75,323.5,325,327,326.5,331,337,330.5, +324,323,323.5,330.75,337,340.5,338.5,337.75,335,337,328,322.75,323,323.75, +324.25,324,321.75,329,328.75,332,326.5,320,329.13,332,334.75,335.5,341,345, +345,349,348.5,352.5,354.5,354.75,349.75,350.75,352,355,355,351.5,351.5,345.25, +339.5,346.75,346.75,343,344.75,344.75,347.25,345.75,354,359,357,356.5,357,355.13, +387,381.5,375.5,376,369.75,370.5,369.5,368.75,369,368.25,365.75,364.5,360.25,362.75, +361.5,359.5,360,366,367,360.75,354.5,358,359,360.25,356.75,356,361.5,359, +360,357.5,359,359.5,361,357.5,351,351.75,350,354.5,357.25,363.5,363.75,363.75, +364.5,365.75,368.5,368.75,368.5,365.25,361.25,361.25,360.5,360,362.25,359.5,360,363.5, +365,365,356.5,357.25,358.75,353,353.5,356,355.75,353.5,347.75,349.88,347.75,345.75, +350.5,349,346.75,345.5,346,347,348.25,351,356,357.5,360.25,359,353,349.5, +347.5,347.75,347.25,345.5,346.5,349.5,338.5,337.5,340.5,341.5,345.25,345.5,349.88,348, +346,341.75,346.5,350.75,349.5,346.88,344.25,341.5,339.5,338.75,335,330.5,334.25,337.5, +337,338.5,334.5,334,331.75,326.5,320,323,316.25,318.5,321.5,322,325,326, +332,328.5,324,332,333,336,335.5,345,351.5,364.5,348,339.25,339.5,334.5, +329.75,325.5,326.5,315.5,319,317.75,318,314.25,314.75,313.25,309,311,313,314.25, +318.5,319.25,320.5,321.5,320,324,322.5,329.25,329,327.5,324,324,323.75,329, +333,332.5,334.88,331.5,328.25,329.75,331.5,332.5,331.75,328,327.5,328.5,330.25,328.5, +324.5,318,316,313.5,313,308.75,308.75,308.75,311.25,312,312,314.5,313.75,312, +309.5,309,311,313,316,315.5,311.5,310.25,309.5,307,305.5,305.75,304.75,301.75, +303,295.75,300,303.5,307.75,303.5,299.75,302.5,302.5,298.5,296,297.25,298,298.5, +299.5,297.5,296.5,302,300,306.5,310.5,310.5,306.75,303,298,299,296.75,297, +297.25,297.5,297.25,300,300.5,300,300.5,303,303.75,303,300,313,312.75,309.5, +308.5,303.75,310,311,306.75,303.5,307.5,312,315.25,317,318,321.5,324,322, +321.88,329.5,326,319.75,318,319.75,327.5,329,328.5,328.25,330.75,330.25,334.75,334.75, +334.5,331,328,327.88,326.5,325,327.75,327.25,327,324,320,316,317,317, +317,309.75,307.5,314.5,316.75,317.5,323.5,327,329.5,327,319,318.5,325.75,327.75, +333,331,332.25,332.5,326.75,330.5,335,335.5,337,337,337,334,337.5,336.75, +337.5,339.5,338,338,341,341.5,341.5,339,336.5,337.5,338.5,340.5,340.5,343.63, +346.5,344.75,345,341.5,344.75,343.5,339.5,335.5,341,338,336.5,336.5,344,340.5, +332,337,346,344,346.75,353,358,356.5,360.5,358.75,362.5,364.75,365,358, +352,356,359.75,360.5,357,358,359.75,358.5,350,358,359,371.75,371.75,371.75, +370.5,369.5,370.5,375,375,357,345.75,335.5,333.75,329.5,328.25,334.5,330,326.75, +328.25,335,335.25,336.75,338.5,343,344,343.88,345.25,345.25,349.5,350.75,343.25,338.75, +334.5,331,329.75,331.5,327.5,639,640.75,644,644.5,647,649.88,649.5,648,643, +638.5,638.5,648,637.5,632,613,604.5,599.75,596,589,595,588.5,589,592, +599,593,586.13,594.5,597,593.75,582,590,590,571.5,573.75,580,586,596.5, +594,590.5,597.25,600,595,588,579,592.5,586,577,575.5,591.5,592.5,591.5, +594.5,602,599.75,606,612.5,620,620.75,618.5,623.5,626,619,624,624,616.5, +624.75,626,620.5,614,604.5,603,598,599.5,601.75,616,627.25,627.75,626.75,626.5, +619,622,625,626,623,632.5,646,648,644.5,647,647,648,643,633, +633.5,630,616,615.75 +}; + + + + + + diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_gDataLow.c b/vendor/ta-lib/src/tools/ta_regtest/ta_gDataLow.c new file mode 100644 index 000000000..ce311ee75 --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_gDataLow.c @@ -0,0 +1,719 @@ +double gDataLow[10000] = { +110.01,109.15,108.08,109.13,108.66,103.7,109.91,111.74,112.31,109.7,110.73,112.26,112.25,111.7, +111.7,111.5,110.06,110.02,113.52,115.62,115.52,115.24,115.02,114.85,113.94,114.65,110.04,109.45, +108.42,108.1,108.22,108.25,108.25,108.2,107.66,105.98,105.24,104.58,104.1,105.22,104.4,104.82, +104.5,104.44,105.61,105.95,104.9,104.89,103.88,102.81,102.1,102.15,102.5,101.75,101.56,102.39, +105.54,105.58,106.02,106,105.21,105.3,103.85,103.57,105.25,106.01,106.87,105.6,104.73,104.53, +104.7,104.79,104.67,103.71,103.7,102.21,102.4,102.25,101.35,102.13,102.05,100.97,100.06,100.21, +98.73,97.23,95.05,93.91,94,94.4,96.02,94.72,94.59,94.53,94.95,96.16,96.12,95.75, +95.57,95.33,94.06,93.57,93.96,93.8,94.2,94.32,94.65,94.65,93.83,93.55,93.39,93.02, +93.1,92.1,92.62,92.97,92.82,92.52,93.62,92.26,90.1,90.84,88.77,92.47,92.88,96.46, +97.41,97.77,98.7,98.55,98.63,98.48,98.25,97.8,98.22,97.81,98.65,99.12,99.54,98.9, +98.88,97.96,98.35,98.5,97.45,96.84,97.22,96.58,96.2,96.12,94.55,98.91,99.9,99.3, +98.5,98.5,97.93,99.07,98.35,96.91,96.88,96.26,96.83,96.87,96.27,94.92,95.24,95.53, +95.7,94.91,94.8,95.05,94.54,94.5,93.3,93.56,93.47,93.55,94.01,93.44,92.25,90.55, +91.25,91.01,90.43,91.12,92.98,92.8,92.85,93.01,93.31,92.6,92.54,91.65,91.41,91.63, +92.37,92.01,92.41,91.5,91.18,91.25,91.5,91.5,89.8,90.58,91.25,90.94,90.8,90.01, +89.55,89.31,89.73,86.22,85.75,84.44,84.1,83.79,83.56,83,82.5,82.6,81.63,81.56, +81.58,81.77,81.72,81.71,81.7,81.28,81.01,81.35,82.2,81.42,82.17,82.79,81.74,81.84, +81.06,80.25,79.35,79.31,80.17,80.6,80.81,80.78,80.84,80.06,79.76,79.14,78.87,78.42, +78.61,78.87,78.63,78.53,77.35,76.31,75.6,75.2,75.05,75.39,75.11,75.28,75.32,75.4, +76.2,75.75,76.15,76.26,75.75,75.36,75.31,74.92,74.5,75.2,76,72.73,73.2,73.37, +73.83,74.82,75.44,75.87,76.12,77.57,77.52,77.27,76.79,76.56,76.06,76.32,76.8,76.94, +77,77.98,77.25,77.34,77.57,76.95,76.93,76.82,77.01,77.05,76.75,79.12,78.5,79.01, +79.15,79.81,79.61,80.15,79.7,79.65,79.06,79.64,79.4,79.51,80.03,81.02,82.07,81.8, +82.3,82.45,82.6,82.41,82.3,82.7,82.4,82.45,82,82.1,81.98,82.7,82.71,81.6, +81.1,81.38,81.64,81.26,81.7,81.4,81.12,80.63,80.75,82,82.44,83.36,83.32,82.8, +82.65,82.29,82.83,82.2,82.29,82.58,82.99,82.93,83.35,83.58,82.99,82.82,82.61,82.64, +81.47,81.45,81.03,80.8,80.25,79.86,79.9,79.51,79.54,79.78,79.71,79.95,79.85,80.04, +79.97,79.97,80.13,80.13,80.5,80.35,80.18,80.2,79.5,80.24,79.3,78.93,79.72,80.9, +80.65,81.17,80.21,80.75,80.59,80.61,80.8,80.92,81.25,83.02,83.52,82.54,82.5,83.4, +83.4,83.12,83.38,83.41,81.25,81.33,80.81,81.56,82.22,82.8,82.89,83.39,82.3,82.46, +82.06,82.65,83,82.75,82.95,83.5,85.76,86.33,86.67,88.45,88.56,87.71,88.36,89.05, +88.73,89.02,88.75,88.62,87.95,86.88,87.01,87.17,85.76,85.39,84.03,84.11,84.15,82.3, +82.49,83.11,83.07,82.65,81.31,80.64,81.29,81.3,80.5,82.25,82.72,82.71,82.6,82.91, +82.88,82.38,83.35,81.93,81.6,81.7,81.95,81.97,81.08,80.09,78.7,79.56,79.93,79.5, +79.97,78.87,78.06,77.16,76.93,77.5,77.3,77.37,78.63,79.01,79.83,79.67,80.42,80.52, +81,80.52,80.5,80.32,79.7,79.46,79.34,79.87,79.98,79.9,80.26,80.72,81.23,81.6, +81.85,81.36,80.8,80.84,81.09,81.61,82.06,81.62,81.97,82.94,83.02,82.73,82.98,83.11, +83.04,82.85,83.22,83.27,82.81,83.85,83.92,83.86,83.4,82.99,83.7,81.68,81.52,82, +81.16,79.18,78.52,77.14,75,74.4,74.16,74.3,74.07,74.62,73.45,73.5,74,75.06, +76.67,76.11,75.57,76.38,76.31,75.15,74.73,74.45,74.1,74.23,74.63,75,74.92,75.74, +76.68,75.57,75.5,76.53,76.29,75.17,75.56,76,76.36,76.37,74.69,73.33,73.09,72.52, +72.5,72.51,73.04,74.71,74.97,75.33,76.5,75.93,76.03,75.91,75.65,75.5,74.65,74.05, +73.26,72.8,71.85,75.25,76.14,76.33,83.47,84.24,85.17,86.09,87.5,88.1,88.71,89.26, +89.77,90.04,90.22,90.32,90.18,90.62,90.7,89.82,89.26,89.27,89.09,89.7,90.25,91.2, +91.5,91.2,92.09,92.01,91.7,91.59,92.36,92.2,92.75,92.59,92.41,92.29,91.85,91.55, +92.23,92.9,93.74,94.2,93.48,93.16,92.5,92.3,92.54,94.13,94.33,93,93.06,93.63, +93.37,93.05,92.48,91.44,91.94,91.95,91.76,92.23,92.6,92.93,93.62,93.55,93.7,94.06, +94.71,95.24,95.47,96.05,96.4,96.52,97.25,98.49,98.07,97.8,97.37,97.38,97.5,97.29, +96.51,96.35,96.2,96.8,96.81,96.29,96.08,96.1,95.71,95.77,95.99,96.65,96.55,95.49, +94.47,94.24,94.94,94.58,95.04,94.55,94.16,94.25,95.03,95.3,94.65,94.8,94.56,93.54, +92.92,93,92.5,92.4,90.82,90.97,89.5,89.23,88.95,89.43,88.5,88.25,87.31,87.29, +87.66,88.29,88,84.29,84.6,84.3,84.43,85.58,86.27,86.51,87.4,87.1,87.13,86.72, +85.88,85.01,84.15,83.88,83.98,83.78,83.24,84.17,85.34,85.4,85.44,85.93,85.89,86.15, +86.08,86.25,85.86,84.88,84.6,83.96,83.85,84.01,83.65,84.39,84.59,84.69,84.55,84.35, +84.65,84.52,84.45,83.57,83.66,83.51,82.51,81.9,83.1,83.81,82.87,83.42,85.01,85.25, +85.44,86.42,86.39,86.23,84.88,85.45,84.51,84.5,84.68,85.3,85.3,84.4,84.28,83.61, +83.78,85.2,83.42,83.51,83.58,85.05,85.13,86.6,86.57,87.7,87.9,88.36,88.94,89.84, +89.84,89.13,89.31,89.9,90.07,90.09,90.23,89.62,89.89,89.81,88.4,88.01,87.5,87.35, +87.89,87.3,88.25,87.98,88.04,86.55,86.55,86.91,87.05,86.5,86,85.15,86.07,86.26, +85.12,86.82,86.37,87.62,87.59,88.51,88,87.2,88.01,88.19,90.21,90.56,90.35,90.36, +89.7,90.69,90.65,91.7,91.04,93.06,92.1,92.5,93.4,92.55,92.51,93.02,93.51,93.33, +91.62,91.51,91.35,92.18,92.16,91.45,91.04,90.68,90.28,91.51,91.9,92.45,91.42,90.88, +91.68,91.15,92.68,93.77,94.59,95.56,96.13,95.6,96.62,96.15,96.1,96.25,96.23,95.2, +95.46,97.19,97.52,98.15,99.32,99.08,99.3,98.8,98.41,98.6,98.25,98.26,99.3,98.95, +98.5,97.84,96.55,97.28,98.7,97.56,97.1,97.32,96.64,95.73,94.71,93.55,89.75,89.01, +91.21,91,92.03,92.47,92.14,92,91.2,92.16,92.36,93.03,92.3,92.18,92.34,92.78, +92.67,92.5,92.85,91.88,92.08,92.24,91.92,90.65,90.61,90.52,90.5,90.03,90.3,90.52, +90.48,89.62,89.11,89.27,88.95,88.23,88.38,88.32,88.9,89.03,89.81,90.16,89.31,88.89, +89.55,88.26,87.72,88,88.86,89.48,89.2,89.06,89.15,88.52,88.05,87.72,87.53,87.9, +88.7,88.86,88.81,88.66,92.74,92.32,92.58,92.36,92.2,91.95,90.4,90.51,90.57,89.22, +88.7,87.9,89.07,89,89.2,89.33,90.56,90.9,91.8,90.46,90.2,88.49,88.39,87.2, +86.4,87.61,88.93,88.35,86.75,85.69,86,82.3,81.56,81.27,81.9,81.27,81.75,82.96, +82.85,82,82.56,81.9,81.2,80.69,80.58,80.65,80.28,80.35,79.38,78.73,79.8,80.06, +80.05,81.1,80.58,81.6,82.04,81.57,81.51,81.73,81.52,82.21,83.21,82.5,85.85,85.82, +85.42,83.7,83.47,84.85,85.19,84.74,83.48,83.75,81.4,82.5,83.22,82.82,82.09,82.85, +82.97,84.69,84.5,83.22,83.8,82.55,82.51,83.55,82.29,81.21,79.81,79.84,81.75,83.83, +83.24,87.25,87.45,87.2,87.4,84.51,85.1,85.8,85.08,84.89,86.41,88.95,89,88.3, +88.56,87.1,86.4,85.75,86.5,86,86.52,84.45,84.47,84.68,84.97,83.62,83.86,84.63, +84.96,82.6,83.1,81.89,82.74,79.71,78.16,78.45,78.13,78.63,78.47,80.25,80.04,81.71, +79.9,78.12,78.31,80.5,80.51,81.18,81.74,82.23,82.76,80.64,81.08,81.49,77.84,78.11, +75.31,73.17,75.2,75.5,75.71,76.7,76.25,76.53,77.12,77,76.75,77.3,76.9,78.56, +78.16,78.71,78.82,77.91,75.35,74.31,76.5,77.31,76.45,76.61,76.51,76.87,76.25,77.75, +77.02,78.3,78.57,78.36,77.61,78.82,79.8,79.39,80.5,81.18,85.38,86.95,87.22,87.35, +85.7,84.75,84.07,83.75,81.81,80.21,78.19,77.1,75.6,76.61,78.26,79.76,79.44,78.88, +78.35,78.24,80.03,79.05,78.27,79.7,79.99,78.6,79.5,81.07,82.6,82.82,85.15,86.3, +86.76,85.85,84.39,83.52,83.8,82.05,77.9,77.84,79.08,79.01,79.4,77.98,77.3,76.7, +77.2,78.32,80.05,80.47,81.7,78.32,78.5,76.02,74.2,74.56,72.16,71.75,72.46,73.62, +72.94,70.26,71.23,64.24,66.58,61.54,61.5,54.01,54.81,54.8,56.6,55.77,58.95,58.35, +58.99,57.99,60.31,61.33,60.99,59.55,62.37,63.9,64.65,68.86,71.35,71.23,71.31,71.64, +74.06,73.85,71.85,73.07,71.5,71.6,72.3,75.1,75.15,75.67,77.3,77.8,79.35,80.2, +79.55,80.18,79.01,75.98,74.6,71.35,71.19,70.61,70.4,68.35,66.8,66.61,65.85,67.12, +67.22,69.11,70.02,68,65.76,67.3,65.7,66.66,68.31,70,70,69.62,68.48,66.6, +68.8,67.55,68.53,69.45,71.03,72,67.87,67.7,67.16,71.25,69.1,66.1,68.41,67.25, +68.19,71.43,73.25,75.47,75.16,73.25,75.3,73.25,75.2,76.6,77,78.89,79.11,77.6, +78,80.4,80.22,81,81.69,82.62,82.52,82.74,83.3,83.93,85,83.4,84.05,82.19, +79.5,79.25,79,78.2,75.92,76,81.11,83.13,81.67,83.53,83.55,84.7,85.77,86.27, +87.24,87.36,87.6,86.9,84,85.58,84.7,84.4,83.34,88.2,87.1,85.35,97.25,99.5, +98.9,100.51,102.4,103.39,102.5,102.3,103.5,105.07,104.7,105.49,106.49,106.23,105.59,106.59, +106.7,105.51,103.6,104.82,103.24,104.75,104.16,103.13,98.5,97.82,96.7,95.99,97.12,95.76, +96.01,97,98.86,101.7,107.2,106.12,106.06,104.51,102.61,103.86,105.33,106,105.99,106.64, +104.46,101,102.41,107.06,108.1,107.07,107,110.33,112.81,117.26,117.25,117.72,117.1,120.28, +121.42,124.15,123.73,123.7,123.98,120.25,119.8,120.95,122.35,122.64,121.81,121.1,121.71,122.15, +121.01,121.35,120.15,119.41,120.12,120.06,119.8,119.41,118.75,119.8,116.65,113.38,113.21,113.8, +111.81,112.1,114.07,115.2,113.72,113.05,114.25,113.77,112.55,113.84,113.33,115.7,112.05,113.1, +113.61,113.03,109,109.08,108.77,106.9,108.07,107.76,108.62,109.62,106.75,106.09,104.55,101.9, +100.07,100.78,102.9,99.66,99.85,98,96.5,94.9,96.76,96.75,95.37,96.8,92.4,92.1, +91.34,89.9,87.49,90.3,93.41,91.8,89.5,92.85,92.45,93.68,92.55,95.59,96,97.65, +99.61,99.29,99.24,98.86,103.82,104.87,106.64,103.41,103,101.76,101.4,102.8,103.9,103.66, +105.01,105.4,104.65,102.81,102.7,104.1,105.26,105.79,107.1,107.21,105.31,105.15,104.76,104.11, +102.93,102.73,103.79,105.3,103.03,103.1,103.2,104.75,107.28,106.11,105.62,101.56,101.6,103.65, +105.81,111.79,112.76,112.96,113,113.75,112.45,111.1,111.78,112.5,111.36,111.76,114.56,113.31, +113.38,113.99,116.53,115.55,116.1,115.6,117,116.5,113.56,112.85,111.9,111.64,112,115.08, +117.76,117.5,117.1,117.25,117.55,114.9,115.05,112.2,112.5,111,110.96,115.2,115.3,115.5, +115,111.2,112.35,113.74,114.9,114.72,114.55,113.68,111.99,112.3,111.68,113.75,110.45,102.3, +97,95.2,95.15,95.8,96.56,93.8,96.4,95.53,90.05,90.1,93.58,95.14,94.26,94.25, +93.97,93.75,90.29,87.65,87.75,88.1,89.2,88.2,95.17,93.34,94.2,95.02,97.9,105.37, +105.66,105.25,102.64,100.94,97.5,99.1,102.56,101.83,100.25,103.38,107.29,110.78,113.94,116.38, +112.5,113.07,110.3,111,114.03,112.67,111.2,109.3,109.6,111.2,112,113.4,112.47,109.19, +109.44,108.94,107.62,108.19,107.25,103.5,94.31,91.81,92.37,91.25,91.69,91.44,91.56,91, +92.69,83.75,84.12,84.25,82.12,83.56,84.25,84.5,80.06,84.81,89.81,88.37,87.31,91.81, +90.69,92.5,93.75,95.75,93.12,94.81,99.62,95.75,94.37,92.25,96.69,97.37,98.44,99.25, +98.31,98.5,100.87,98.25,98.25,97.62,98.5,91.62,93,95.69,99.25,100.69,99.44,99.37, +98.5,97.25,93.75,90.31,91,87.62,86.94,90.19,91.06,94.19,92.69,90.25,108.56,108.56, +104.19,103.12,107.5,112.44,114.31,112.75,111.56,108.56,110,112.62,110.25,115,115.5,118.37, +121,121.31,120,123.5,122.56,123.06,124.75,126.31,122.75,124.06,123.62,129.38,131.88,130.38, +130.81,132.63,131.63,129.56,131,129.75,124.25,122.69,119.87,121,120.06,120.12,119.5,119.5, +120.75,119.31,119.19,117.87,118.75,115.56,115.81,114.31,112.31,110.75,110.25,110.06,108.87,109.31, +108.87,110.25,111.62,113.75,111.75,101,102.62,104.19,103.12,102,102.62,101,102.87,101.62, +100,101.12,108.31,108.62,110.06,109.87,108.75,112.87,110.81,111.25,113.5,115.37,113.25,113.25, +115.87,115.5,116.75,118.84,118.87,117.5,111.5,111.25,108.44,107.62,105.5,107.19,107.69,104.56, +106.37,104.19,107.12,103.44,105,104.69,106.12,105,102,103.25,103.19,102.06,108.25,107.62, +106.5,107.19,106.56,110.69,110.44,110.12,108.69,109,106.44,101.25,102.06,102.81,110.06,103.31, +102.87,110,111.69,117.81,121.56,121.5,122.62,119.75,115.06,119.44,117.06,118.69,118.5,122.06, +124.62,115.06,111.62,113.87,111.94,109.94,107.69,107.87,106.12,107.37,102.5,105,104.12,102.75, +101.69,101,106.06,99.5,100.06,100.94,103.94,104.94,108.19,108.5,108.75,111.5,115.75,115.25, +113.87,114.5,114.56,116.87,117,116.19,113.12,114.81,114.06,110.37,109.12,109.62,110.06,111.62, +116,116,116.56,119.94,119,112.69,115,117.5,115.75,118.25,116.62,115.37,110.62,113.5, +112.12,110.87,111.87,106.62,108.56,108.75,109.06,108.12,108.19,108,108.06,107.75,108.62,105.75, +104.5,106.87,106.56,107.56,112.25,115.5,115.44,112.5,107.94,103.37,102.25,102.12,103.37,104.12, +101.81,106,104.44,98.37,93.56,92.62,93,93.87,93,94.87,94.12,92.12,90.5,90.19, +90,93.5,93.69,96.37,96.25,94.25,92.81,94.62,92.12,92.5,89,107,105.44,104.69, +103.87,104.69,105,110,113.12,111.06,115.06,119.06,119.06,116.75,115.5,119.62,120,121.69, +121.37,120.44,121.44,124.37,126.25,126,123.75,129.56,131.94,131.94,132,134.38,131.63,130.69, +128.38,128,124.25,125.5,122.87,122.69,122.75,122.06,120.87,121,122.31,121.06,121.25,123.5, +126.56,124.5,122,121,119.81,118.94,121.12,121,117.56,118.06,118.19,121.81,124.37,124.62, +125.81,123.56,122.75,122.62,123.5,126.87,126.06,133.69,135.38,134.5,136.19,135.75,135.38,133.88, +132.13,130.63,130.81,129.5,128,124.37,122.75,122.19,123.12,121.56,121.75,123,122.62,119.75, +119,118.87,114.75,114,112.56,113.31,116.56,116.06,117.5,112.44,111.56,109.44,111.19,114.19, +112.62,221.44,221,221.75,229.19,232.5,233.06,237,232,236,234,215.5,217.5,217.06, +211.06,208,207.31,211.38,206.31,203.44,203.44,203.5,208.5,202.31,192.94,192.69,165.13,163, +164.06,170.13,173.5,177.63,179.94,181.06,184,182.31,179.06,182.19,178.56,174.69,176.5,176.88, +174.38,170.56,169.5,166.5,164,166.63,168,172.94,178,180.19,177.13,178,181.5,180.25, +178.56,177.06,173.75,170.13,165.06,166.88,165.13,166.5,169.31,173.13,175.75,171.06,171,170.19, +168.81,171.94,171.19,168.13,162.5,161.75,163.13,164.56,169.25,173.06,175,179.5,178.5,177.56, +177.81,181.88,173.5,177.63,192.06,192.63,185.5,181.25,178.88,179.5,184,187,185.63,187, +188.5,182.81,181.5,183.5,186.31,187,186,184.06,181.13,175.25,171.56,166.63,165.06,164.31, +162.5,162.75,163.25,163.75,167.38,165.06,164.25,162.25,163,164.75,163.5,164.88,166.63,164.38, +165,160.56,158.5,158.13,157.63,158,158.06,155.75,156.63,156.5,150.69,149.94,147.5,146.81, +145.75,147.19,147.31,147.5,147,143.81,143.06,140.06,141.19,139.63,139,136.5,135,134.81, +129.75,127.19,126.56,129.56,122.5,116.81,118.12,118.75,117.31,118.94,123.37,127.62,130,132.19, +129.81,130.25,128.5,127.69,120,124.25,126.19,128.19,128.5,127.62,120.62,118.19,123.37,122.19, +115.31,118.06,119.87,110.75,112.62,120.81,124.81,127,127.62,127.31,124.5,127.5,129.06,127, +124.25,124,126,127.56,125.31,128.75,129.13,127.37,124,126.81,132.31,132.25,128.44,127.06, +124.19,122.25,122.5,123.69,124.5,127.75,120.31,118.5,116,117,119,118.25,117.37,114.62, +113.62,112.75,113.31,114.5,115.5,113.5,113.56,112.31,112,110.06,109.94,106.19,106,107.62, +110.06,107.12,112.12,114,115.75,116.87,117.81,118.37,116.56,114.25,113.87,114.81,114.62,117.37, +119.81,118.56,120.81,121.12,121.94,122.56,124.75,123.44,124.12,122.87,120.12,117.31,118.31,116.87, +116.12,117.25,116.69,116.62,115.5,115.5,114.62,115.31,114.37,116.25,114.12,114.62,113.62,107.19, +106.5,107.62,106.5,104.62,104.19,105.31,103.75,103.56,105,103.94,104,103.31,103.37,102.5, +103.87,105,104.87,102.12,101.37,101.44,101.44,100.56,99.56,99.25,99,98.19,97.44,96.69, +95.87,98.12,98.31,99,99.81,100,103.87,104.31,102.5,101.75,102.81,101.56,102.75,101.31, +101.5,102.37,101.56,101.5,97.5,98,97.75,98.37,98.06,98.69,100,98,97,96.5, +95.62,98,98.94,98.5,99.62,104.69,104.5,102.37,101.25,100.31,97.5,99.37,102.94,102.62, +105.06,105,104.06,103.19,102.94,102.75,99.25,99,98.62,100.87,97,99,101.87,101.12, +97,96.37,101.37,105.44,110,111.75,109,108.87,109,110.56,109.87,109.12,107.37,103.87, +103,105,103.25,101.75,102,102.87,99.12,95.25,96.5,97.94,97.62,98.25,101.06,101.56, +100.94,99.12,96.56,95.56,97.87,88.62,89.87,96.87,100.06,104.25,101,94.5,95.25,99.12, +101.37,102.06,104.06,104.12,104.19,104.5,105.94,104.37,103.5,103,103.19,103.62,102,101.94, +101.19,101.44,102.75,102,98.31,98.75,99,96.37,96.12,96.94,96.5,96.12,100,102.62, +103.56,103,103.5,101.25,100.47,101,102.5,103.06,104.5,102.44,105.25,106.12,104.25,99.69, +99.87,102.62,102.75,103,103,104,106.87,105.81,106.5,104.31,103.31,105,102.87,102.75, +104.81,105.62,104.5,103.19,99.37,102.19,100,97.12,95.37,93.37,94,95.62,94.06,95.31, +94.5,94,94.31,91.62,90.12,90.12,91.19,90.25,91.37,89.5,87.62,89.75,89.12,88.25, +89,88.62,88.12,85.5,86.12,85.5,85.62,82.62,82.12,81.75,84.12,86.62,84.5,87.5, +88.5,174,173.13,172.5,174.38,168.38,166.88,169.63,173.13,171.88,173.38,168.13,166.63,163.5, +162.13,164.63,162.63,159.88,159.38,157.25,152,149.13,150.63,150.5,139,134.75,136.63,137.75, +136.75,135.75,134.38,133.25,131.38,132.88,133,132.25,130.5,127.12,128.88,133.25,135.63,134.38, +136.13,135.5,134.75,130,132.13,136.5,135.88,137.88,137.38,142.13,142.25,144.13,146,144.38, +144.13,144.63,144.38,142.5,143.63,140.63,143,144,144.13,137.5,137.13,140.25,143,143.13, +144,145.13,143,141.13,142,145.88,145.5,145.5,150.75,154.5,156.13,155.75,152.38,148.63, +145,149,150.63,155,166.38,164.5,163.88,163.25,163.38,164.5,162.75,160.13,158.38,159.13, +159.38,158.5,154.88,150.25,150.88,153.63,153.5,155.13,154.13,152.75,154.13,157.25,152.38,147.38, +147.25,152,151.5,153.75,157.75,156.25,153.38,158.38,159.13,162.63,159.63,158.13,157.75,157, +156.13,154.13,152.5,152.38,146.5,143,137.38,134.63,133.25,133,134,132.88,132.75,130.25, +129.25,127.37,127.12,125.87,125.75,125.12,126.5,126.37,127.37,126.12,126.25,126.75,124,125.25, +127.37,128.63,129.13,128.25,125.5,126.12,127.62,126.87,125.62,124.62,124,123.12,124.12,124, +124.12,124.5,124,122.12,122.87,123,123,121.5,121.75,118.12,117.12,116.75,116.5,115.87, +113.5,113,114.5,112.56,113.62,114.62,113.87,111.25,112.25,112,112.37,110.12,110,109.5, +109.87,110.75,109.37,109.12,111.62,112.12,111.5,109.75,108.25,108,107.75,107.25,107,103.75, +103.37,101.62,95,89.12,90,91.87,93.5,93.12,94,89.75,89.75,94.62,94.12,97.75, +98.75,98.12,97.75,98.12,99.87,99.12,98.87,97.62,98.5,98.87,98.5,98.25,99.37,101.5, +101.25,100.87,101.62,101.75,102.75,102.37,101.37,96.12,101,104.75,105.37,105,106.62,106.12, +105.62,107.87,108,109.25,109.75,110.75,111,109,107.62,108.5,107.5,105.87,106.12,105.75, +103.62,105.62,106.37,107.75,107.37,107.62,107.5,107.37,107.62,106.62,105.62,106.75,105.62,104.62, +103.62,103.37,114.62,111.5,110.12,114.75,115.12,117.5,114.5,117.25,116.12,110.5,110,110.37, +109.5,110.25,107.62,108.37,114.25,114.12,114.25,121.5,120.5,115.75,116.12,114.5,113.62,113.87, +112.25,115.37,116.37,116.12,115.25,117,122,127,124.5,123.87,124,121.25,118.62,116.75, +117.5,114.25,113.75,113.5,113.87,113,111.87,111.5,112.62,109.25,108.75,108.12,107.5,106.37, +104.25,103.5,104.12,103.12,100.75,101.37,96.5,89.62,85.75,83.5,83.12,86.12,86,86.62, +86.12,88.62,86,85.62,89,90.62,89.5,90,90.75,91.62,90.87,89.75,89.12,89.12, +87.75,89.87,92.37,94.37,95.25,95.87,94.62,94,94.25,95.62,94.62,94.75,96.62,96.75, +95.62,95.62,95.25,94.37,93,93,94.75,95.12,94.75,95.25,97,96.62,98,97.25, +98.12,100,99.87,96.75,96.37,96.87,97.12,95.75,94.62,96,97.25,95.62,95.25,96, +95.75,91.25,92.5,92.5,92.12,91.25,89.12,92,94.12,93.5,93.37,93.37,93.37,93.62, +93.87,91.87,92.5,92.62,93.37,93.87,95.62,94.25,92.37,91.62,92.5,92.37,95.12,95.87, +98.12,99,100.62,100.12,102.37,102,101.12,98.62,101.37,103.75,104.5,106.5,105.62,106.5, +111.12,112.25,110.75,110.25,109.25,108.37,108.87,109.62,108.87,108.62,108.5,105.62,107,107.25, +108.5,109.87,109.5,108.25,107.5,103.5,103.12,101.37,97.75,102.87,104,102.12,101.25,99.62, +99.5,100,98.62,96.87,96.75,95.75,95.37,96.37,94.37,94.5,98,97.25,97.37,97.12, +93.87,93.25,92.62,93,91.87,90.87,89.75,88.62,88.37,89,91.37,90,93.37,93.37, +91.87,91.5,94.5,95.87,94.5,95.5,93.5,92.25,93.12,94.75,94.25,94.12,93.75,93.25, +93.87,93.37,92.62,92.87,93.25,93,91.62,91.75,94.25,94.62,92.87,92.87,91,89.12, +88.62,86,87.12,86.87,86.12,86.12,85.62,84,83.5,83.62,82.87,82.5,82.25,81.37, +81.75,82.5,84.25,83.87,83.5,81.5,81.25,82.12,82.5,82.62,81.62,81.25,81.5,81.5, +80.37,80.37,78.5,79.37,79.5,77,75.37,75.12,74,73.75,74.25,74.12,74.12,74.12, +74.75,75.5,75.12,74.62,74.75,75,74.25,74.12,73.87,74.12,74.5,73.5,72.25,70.25, +71.5,70.62,72.25,72,73.5,72.37,75,76.37,76.62,77.12,76.37,75.75,75.5,75.25, +75.62,74.87,74.12,73.75,73.25,73.37,73.12,73,72.5,73.75,73.25,73.5,71,70.75, +70.5,69.87,70.12,69.37,69.62,69.62,69.5,69.75,70.62,71.25,71.37,68.87,69.25,70.62, +70.25,70.25,70,68,69.37,72.62,72.75,72.75,72.62,72.5,72.25,71.75,71.62,73.25, +71.37,70.75,71.12,73.12,73.75,73.5,74.5,74.12,73.75,73.62,72.62,72.87,74.12,73.87, +73.75,73.37,72.75,71.87,72.25,71,71.5,70.75,68.75,68.62,67.37,68.25,68.62,68.87, +67.75,68.5,68.62,67.75,68.87,69.37,69.37,69.62,70.25,69.5,69.5,69,68.62,67.5, +66.75,67.25,67.37,66.62,66.75,66.87,68.5,68.87,69.25,69.12,66.87,66.62,67.62,67.25, +66,65.37,64.37,63.75,63.75,63.75,63.75,64.12,63.25,62.63,61.88,62.75,62.25,62.25, +61.5,61.75,62.25,61.88,62.13,61.33,61.13,58,54.5,55.63,56.63,56.75,57.25,55.88, +54.88,55.38,56.5,56.63,56.38,56.25,56.75,58.63,60.13,60,58.13,59.5,60.88,61.13, +60.38,61.63,62.25,62.88,63.5,63.88,62.25,62.25,61.5,61.5,62.63,61.13,60.75,61.88, +62.5,62.75,63.63,62.5,62.5,61.88,61.38,61,60.5,60.5,58.63,57.38,57.25,57, +57,57.38,56.5,56.25,56.88,57.5,57.88,56.88,56.88,56.75,58.5,58.25,58,54, +51.75,51.38,52.75,52.63,52.5,51.88,52.5,52.25,52.38,52.25,52.75,53,52.25,52, +52.5,52.5,52.5,53.63,56,56.63,57.75,56.75,56.75,57.5,57.13,57.38,55.88,55.25, +55.13,54.75,51.38,52.13,52.38,52.63,52.13,52.5,52.63,52.63,52.63,53.25,52.63,52.13, +52.5,54.5,54,53.38,52,52.75,53.13,53.38,52.25,52,55.75,55.5,56.5,56.5, +57.5,56.5,56,55.38,55.75,54.75,55.13,55.75,56.38,57.13,58.38,58.25,58.13,58.5, +58.5,58,58.5,58.5,58,56.88,56.38,56.88,58.13,58.25,58,58.5,58.5,58.13, +58.25,57.75,57.13,55.63,56,55.38,53.88,53.25,53.38,53.25,52.75,53.13,53.25,53.13, +53.75,54.38,55.13,53.75,51.88,51.63,51.5,52.13,51.88,50.75,50.88,51.5,50.13,49, +49,50,49.38,49.38,50.13,48.5,45.75,45.88,45.63,45.75,44.38,43.75,44.38,43.5, +42.88,42.88,43.88,42.88,42.5,43.13,43.75,43.88,43.38,43.63,43.25,43.25,43.75,42.13, +41.38,41.25,41.63,41.5,41.5,41.75,41.63,41.88,42.25,42.75,43.38,43.25,43.38,43.5, +43.5,44.13,43.75,45.25,45.63,45.75,45.63,44.75,44.13,43.63,43.63,43.5,43.63,43, +42.63,42.75,42.38,41,40.63,41.5,41.25,42,42.88,42.88,43.13,43.5,43.25,43.13, +43.88,43.63,43.38,43.88,44.5,41.13,42,43,43,41.63,43.38,45.5,47.13,47.13, +47.25,46.75,46.38,46.38,46.38,46.88,47.75,49.13,49.13,48.75,49.75,49,48.63,48.5, +49.13,49,48.88,49.38,48.88,49.75,51.88,52.38,51.5,52.63,51.63,52.25,53.63,53.5, +51.75,51.88,52,52.88,50.5,49.88,48.5,48.25,48.75,48.38,47.75,47.5,47.38,47.13, +47.88,48.38,48.38,47.75,48,48.88,49.25,48.5,48.63,48.38,48.63,47.88,47.88,47.38, +48.13,49.13,48.75,48.88,48.5,48.5,48.5,49.25,50.63,50.25,50.88,51.75,51.63,51.75, +51.38,50.13,49.88,51.63,50.63,50.13,50.88,52.88,52.75,53.63,54.25,54.13,54.88,55, +53.63,54.75,55,56,55.25,54.75,54.5,53.63,53.75,54.5,53.38,51.63,51,50.75, +50.5,50,49.75,49.75,48.75,50.5,50.5,51.63,52.88,52.13,51.63,50.75,50.88,52, +52,50.88,49.75,48.25,48.75,47.5,46.5,45.88,46.63,47.25,48.63,47.75,47.75,47.5, +47.75,46.75,45.88,46.63,47.13,48.5,50,50,49.75,49.25,51.13,51.25,51,49, +48.75,50.25,51.25,50.75,56,62.38,61.63,61.38,61.5,64.37,65.75,66.62,66.75,67.62, +67.5,67.5,65.25,65.12,63.5,62.25,60.88,61,62.75,64,64.62,64,64.12,64.5, +65.87,66.25,65,65.62,68.12,68.5,67,66,65.62,65.62,65,67.5,68.37,68, +68.25,67.75,68.5,68.87,72,76.75,78.37,78.37,78.25,78.5,78,78.62,75.5,78.25, +80,80,81,82,82,82.25,83.25,83.12,83.87,83.25,82.75,82.5,85.37,88.12, +87.12,86.62,86.25,85.87,85.87,86.62,86.75,86.5,86.5,86.62,86.37,86.25,85.25,85, +85.75,85.5,86.5,87.87,88.5,88.25,87.87,88,87.75,87.25,86.62,88.12,91.37,94.25, +94.37,94.5,94.37,94.25,92.37,92.37,92.37,92.62,92.5,92.87,92.75,94.62,99,98, +97.5,97.62,96.5,97.5,96.75,96.62,97,96.87,97.75,97.75,97.75,96.5,96.62,96.25, +95.25,94.62,94.75,93.12,92.12,92.87,92.5,92.25,90.37,90.12,90.37,90.37,88.25,88.87, +89.75,90.37,90.12,90.75,90.37,90.12,90.37,91.25,90.62,91.5,90.62,90.5,91.12,91, +92.37,93,93.37,93.12,92.75,93.12,92.37,92.12,90.37,88.25,87.75,87.37,87.75,88.12, +89,89.62,89.5,88.25,87.5,87.62,88,85.87,84.5,84.62,82.62,82.25,81.62,81.75, +81.87,82.75,83.37,83.12,83.12,84.12,84.75,85,85.62,85.75,85.62,87.25,87.37,88.25, +89.12,87.62,87.12,87.5,85.12,86,86.5,87.37,87.12,86.25,86.62,87.5,87.62,88.12, +88.75,89.25,89.12,89.37,89.12,89.5,90.12,89.87,89.75,89.12,88.62,89.62,91,90, +89.25,90,91.37,91.62,92.87,93.37,93.12,93.25,92.87,92.87,95.25,92.62,95,93.5, +90.25,89.75,90.62,91.25,92.25,91.87,90.87,90,88.87,88.87,89.12,88.37,87.5,87.87, +85.5,85,84.5,84.87,85.25,86.75,87.25,88,85.62,83.5,84.62,89,90.12,90, +91,90.62,92.37,94.12,94.62,94.62,94.62,95.12,95.37,95,96.25,96,98.37,98.37, +99.12,99.87,100,98.25,96.37,96.62,96.62,97.75,98.25,98.87,97.5,98,97.5,97.62, +97.25,98.5,99.87,99.62,99.37,101.37,99.75,99.12,99.5,97,96.75,97.62,98.25,98.12, +99,100.75,102.5,101.25,102,104.25,104.75,104.12,104.12,104,104.75,104.5,103.25,102.87, +101.5,102.25,99.62,99.25,99.5,97.75,97.62,97.62,97.62,95.75,94,94.25,94.62,94.75, +94.37,94.12,94,95.12,92,96.5,98.12,98.37,98.37,98.62,98.75,99,99,99.62, +100.37,100.25,100.75,101.12,100.37,100.37,100.12,100.5,100,100.62,100.87,98.5,95.62,96.12, +96,99.25,98.25,98,98.5,99.25,97.75,97.87,98.12,98.12,97.37,96.62,97.37,98.12, +98.25,98.25,99.12,97.12,100,99.75,99.5,99.87,100.12,100.62,102.12,102.12,101.37,102, +103.12,104.62,105.75,103.75,103.62,103.75,103.62,104.5,103.75,102,100.5,103.12,103.5,103, +101.25,104.62,103.25,103,104.12,101.75,101.87,102.37,102,103.75,102.12,102.12,104.62,107.25, +107.62,108,107.87,108.12,109,109.37,109.25,106.75,105.62,108.12,110.12,110,111,112, +112.5,112.12,113,111.12,111.87,112.87,112.5,113.37,111.75,111.25,111,113.5,115,126.25, +126.25,126.5,126.75,126.5,128.75,131,131.63,132.63,129.88,129.88,128.13,127.5,128.13,129.75, +132.13,132.63,135.5,137.88,137,135.38,133.88,132.25,131.5,129.63,128.25,128.38,128,127, +125.62,125.62,126.25,124.62,123,122.37,120.5,119.87,117.87,117.75,116.62,114.87,114.25,106.62, +106.75,105.5,107.75,107.25,106.75,108.75,110,111.87,112.25,112.12,112.87,113.25,113,113.5, +113.75,113.37,112.25,112.12,111.5,110.62,111,112.87,112.62,112.37,112.12,110.75,111.25,113.75, +113,113,111.25,111.62,112.37,112.62,111.62,112.62,112.37,113.25,114,112,112.5,112.5, +112,110.75,107.87,106.25,106.25,107.62,106.5,107.25,104.87,104.75,104.87,105.12,106.5,106.62, +106.75,106.62,106.5,104.62,101.75,99.37,98.25,96.25,99.5,99.75,102.87,105.37,108.62,106, +106.37,107.12,108.25,107.12,102.87,102.87,104.25,104.87,104.5,105.5,106.62,107.5,105.12,104.12, +103.62,104.75,107.12,105.87,105.5,101.87,101.5,102.25,100.75,100.37,101.37,102.75,103.37,102.75, +97.87,96.5,98.87,99.75,101.87,100.75,103.75,104.5,103.12,101,101.5,103,102.87,102.5, +102.5,103.75,109,110.62,110.62,110.5,110.62,112.25,114.25,113.62,114.12,117.5,118.75,119.87, +119.87,121.25,120.25,118.75,117.87,117.75,117.87,117,116.87,117.62,117.37,117.37,117.5,116.75, +116.5,116.5,116.25,117.5,117.25,117.87,118.62,120.12,120.12,120.25,119.25,118.62,118.62,119.75, +120.37,120.12,119.25,119,119.5,119.62,116.75,116.12,117.87,117.25,116.62,115.12,115.25,115.12, +114.62,113.75,114,113,111.25,110.37,110.37,110.25,108.25,109.12,108,107.87,107,107.37, +108.5,109.12,108.87,108.62,108.25,109.12,109.5,109.87,110,107,105.87,105.12,105.25,105.25, +105.87,105.87,106,105,105.62,105.75,103.75,103.37,104.12,104.87,105.5,107.12,107.87,107.37, +107.37,106.5,105.62,106.25,106.25,106.25,106,105.25,104.25,104.62,104,103.37,103.12,103.62, +102.5,102,103.25,102,102.25,103.37,103.75,103.25,101.25,100.62,102,101.87,100.62,98.62, +97.5,97.87,97.75,97.62,95.75,95.5,95.12,95,95.5,96.62,96.5,98.5,97.62,98.37, +97.5,97.25,97.62,99.37,98.62,99.37,99.25,99.5,98.87,98.37,94.5,94,94,94.5, +94.25,95.12,94.37,93.87,93.37,93.37,94,95,95.62,95.62,95.5,96.5,97.62,98.5, +99.62,97.37,96.87,96.87,97.5,98.5,98.25,100.25,99.37,98.5,98,96.75,96,97.12, +97.75,97.75,97.62,96.5,96.75,96.25,96.5,97.87,96.75,99.62,99.87,99.37,99.5,100.5, +101.75,101,103.37,103.5,103.12,101.5,100.5,97.75,99.87,107.25,107.5,107.87,107.75,107.12, +107,106,105.62,108.37,108.62,107.75,111,116.62,116.12,116.12,116,115.75,116,115.37, +115.12,115,115.37,116.12,115.37,115,115.87,116,117.37,116.87,116.87,116.12,116,115.37, +115.62,113.25,112.75,112.5,113,114.75,114.37,115.12,115.37,114.75,114.87,116.12,117.12,117.75, +115.75,113.25,112.62,113.62,114.5,113.62,113.12,111.87,110.62,112.5,113.37,112.5,112.75,114.12, +114.5,114.5,113.62,114.25,113.37,113.62,112.25,111.25,111.37,111.25,111.75,109.62,111.25,113.12, +112.37,110.87,109.62,108.5,109.37,109.37,109.62,108.37,108.5,109.62,108.5,107.5,108.37,108.75, +109.12,108.62,108.75,109.62,109.5,107.87,107.5,109.25,109.5,109.37,109.12,109.25,110.87,110.62, +110.25,111.25,110.62,110.25,109,109.62,109.12,108.62,109.12,110.25,111.5,112.37,112.87,114, +114.25,113.5,113.37,113.12,112.12,111,112.12,112.12,110.75,110.5,108.87,110.87,110,109.5, +107.75,107.12,107.12,106.25,108.5,109,108.25,109.12,109.37,109,108.5,107.62,109.75,109, +111.37,117.25,117,117.62,118.12,117.12,118.12,119.5,119.37,120.62,120.12,119.75,119.12,121.37, +120.62,121.12,122.62,123.25,125,125.25,125,124.87,124.75,124.75,125,126,126.87,126.25, +126.25,126.87,127.87,129.25,127.37,127.25,126.37,123.12,123,122.12,122.12,123.5,123.75,122.12, +123.5,123.37,122.37,122.25,120.75,120.87,121.5,121.37,122,121.25,120.62,121.62,122.5,121.87, +122.62,122.75,122.37,122.75,123,121.12,121.12,120.25,120.25,119.5,120.12,119.62,119.37,120.87, +120.5,119.5,117.62,117.75,118.25,117.62,116.25,116,117,115.37,114.12,115.37,114.87,114.5, +117,116.37,116.37,119.62,118.5,119.37,118.62,120.25,122.12,121.75,122.5,120.25,120.37,119.5, +121.5,122.25,123.12,123.62,122.37,120.5,121.12,119.37,119.37,117.75,117.5,116.12,115.5,114.75, +113.37,112.75,114.37,114,114.75,113.75,113,111.37,112.25,111.75,112,112.5,112.37,111.75, +113.37,113.75,113.5,112.5,113.37,111.25,111.37,111.62,112.37,111.62,109.5,110.75,112.62,112.75, +111.5,110.75,111.25,110.37,110.75,112.5,114.12,113.75,114.62,115,117.87,117.37,118.87,121.62, +123.12,123.5,124,125.5,124.62,125.37,124.25,121.25,120.75,122.37,120.25,120,121.5,123.37, +123.12,124.87,125,124.62,123.5,124.37,126.37,126.25,126.37,126,126,125.75,126.75,126.37, +125,124.75,124.75,122.75,122.62,117.5,116.62,115.75,117.12,118.5,118.25,115.75,115.5,115.25, +114,113.62,113,112,111.75,112.37,108.12,107.5,108.12,108.5,108.62,108.12,109.37,108.62, +108.5,110,109.87,109.12,108.62,108.37,110,109.87,110.12,110.87,113.25,113.25,113.12,112.62, +112.62,113.12,113.37,113.5,112.37,111.5,112,113,113.25,111,111.25,114.25,113.25,111.87, +109.37,108.12,105.75,105.62,106.75,104.5,104.75,105.87,104.25,106.5,109.37,111.25,113.12,112.75, +113.25,113.75,113.37,113.62,114.5,112.37,113.62,116.25,117.25,116.12,115.25,115.75,116.87,116.25, +115.87,114.12,114.12,114.75,114.37,113.12,112.12,112.12,112,112.5,111,110.5,109.5,107.25, +106.87,107.75,107.5,108.25,109.12,110,110.5,113,111.5,111.5,110.5,109.62,109,108.62, +111.5,117,118.37,114.5,113.37,113.25,114.5,114.87,121.12,121.25,121.62,116.75,115,116.37, +115.5,115.12,119,118.75,116.5,116.87,115.25,115,115.75,114.25,110.25,109.25,110.5,111, +108.37,107.75,105,106.5,110.25,111,110,114.37,117.37,117.87,116.25,114.75,115.62,116.25, +116.25,117.75,121.25,121.12,118.25,115.12,118,119,119.12,119.5,118,121,121.75,118.25, +114,115,112,118,111.5,120,108,100,132,140,144.13,145,145.5,147, +150,150,151,154.5,154.75,151,148.5,149.5,151.5,155,153.63,152.88,149.25,149.75, +155.13,156.13,156,157,161.25,157.88,157.13,155,155.88,160.63,160.25,161.25,162.25,166.5, +165.25,165.88,166.75,171,173.13,174.5,173.13,170.63,171,173.25,172,170.38,168.63,167.13, +164.5,163,159.13,159.75,158.5,158.75,160.75,160.63,159.63,160.13,160.88,160.13,159.13,161.25, +162,164,166.75,167.38,166.63,166.5,167.13,165.5,165.75,164.5,163.88,164.13,164,162.75, +162.5,165,166.13,167,164.63,162.5,161.88,160.38,160.13,160.25,159.38,158,156.25,157, +156,159.25,158.75,158.88,159.63,157.88,157.25,159.25,160,159.25,160,158.25,156.13,156.88, +155,155.63,157.13,160.63,165,164.5,162.25,163,163.25,163.88,166,164.25,159.75,159.13, +157.75,155.88,154.63,149.5,151.5,153.13,153.88,148.5,148.75,149.88,149,146.5,146.75,142.63, +143.5,146.13,146.5,148.88,145.63,147.5,149,149.5,145.88,150.5,153.88,152.13,149.25,148.5, +147.38,145.88,145.13,144.38,143.13,144.63,140.88,141.5,138.75,137.88,139,140,138.25,137.63, +138.25,139.25,139.38,141.75,142.38,138.75,138.13,137.5,137.13,134.25,132.25,132.63,132.75,131.5, +132.5,135.5,134.25,131.5,132.63,128,127.5,127.5,128.5,127.87,124.75,124,122.62,121.75, +122,119,119.5,118.75,115.75,116,120,121.5,121.37,122.12,122.62,122.62,120.87,120, +120.25,120.25,121.75,120.5,120.37,121.12,124.25,125.12,126.37,127,125.37,126.37,127.75,126.75, +126.5,125.75,126.25,127.62,128.63,127.5,125.25,126.5,126,124.12,123.25,122.62,121.75,120.12, +120.25,120.62,119.62,119.87,121.87,122.87,121.25,120,119.25,122.5,124.75,123.75,121.75,121.37, +120.25,120.62,120,121.25,120.62,120.12,120.25,119.87,120.5,120.87,120.37,119.75,121.87,122.37, +121.75,126.25,128.13,131,130.63,132.25,132.63,134.25,133.13,135,134.25,137.13,138.38,137.13, +136.75,136.75,137.63,135.63,136,136.25,138.75,142.88,143.5,140.88,138.5,136,135.13,135.5, +138,139.5,140.5,138.88,138,137.38,137.25,136.75,135.13,133.13,133,133.75,132.5,130.63, +129.25,129.75,130.13,129.63,130.75,130.13,131.38,132.13,130.25,130.88,132,133.25,132.5,132.63, +131.5,130.75,129.88,131.75,132.75,135.5,139.25,143,141.25,143.5,143,145,148.25,148.25, +146.38,146.25,146.63,146.63,146.75,144.75,144.5,144.63,145,144.13,146.5,148.13,148,147.75, +148.25,146.63,146.5,149,149.38,149.5,151.5,151.75,152,150.25,147.88,143.88,143.63,142.25, +144.25,144.25,143.75,144.63,145.38,147,148.75,149.75,148.13,148.63,150,153.5,154.5,153.63, +155.75,156.25,158.25,158.5,158.5,155.5,152.13,152.25,152.25,152.5,154.13,153.25,151.5,149.13, +149.25,148.13,148.38,149.75,147.38,148.13,149,148,149.13,149.63,148.13,146.75,147.25,146.5, +148.5,149.88,150.25,150.75,149.5,148,147.75,148.88,149,146.25,144.5,145.25,146.5,149.13, +150.13,150,154.5,157.38,156.5,157.75,159.13,157.13,157.13,156,155.13,153.5,153.75,156, +155.38,151,154,152.13,151.75,151.63,149.38,148.63,150.38,149,148.25,147.88,144.13,143, +148.5,148.25,150,152.63,149.25,148.75,147.88,148,147.25,147,154.38,153.13,152.38,151.63, +155,156,153.75,152.13,151.25,153.38,153.75,152.38,151.63,151.5,150,149.13,147,146.63, +144.25,142.13,140.25,140.63,138.63,137.63,137.75,139.25,139,138.75,138.38,139.25,139,137.88, +137.25,136.63,136.38,134.75,134.63,134.75,132.63,131.75,131.63,131.25,132.25,130.5,129.63,129.38, +130.25,129.5,127.5,127.5,128.25,129.38,127.62,127.25,127.62,128.25,127.5,127,125.37,123.62, +123.75,124.25,123.5,123.12,122.87,123.75,124.37,123.87,123,122.25,123.75,126.25,127.62,126.37, +126.5,126.5,126.5,127.5,126.12,126.75,127,127.62,129.25,128.63,127,126.5,126.5,126.5, +127.25,127.5,127.75,126.37,126.37,126.37,127.62,125.87,125.75,125.5,125.75,126.75,125.75,126.62, +127.25,127.25,129,129.13,130.5,131.38,131.63,130.5,129.13,129.38,130.13,128.63,127.62,129, +128.63,128.75,128.38,129,125.5,123.37,123.25,122.87,120,120.5,123.25,124.12,123.25,124.25, +123,123.5,123.12,122,121.37,118.75,118.37,117.37,119.25,119.12,119.25,119.37,118.25,120.62, +126,126.87,127.25,127.62,128.5,128.75,128.25,127.25,127.25,129.25,129.75,130.75,131.25,131.88, +132.38,131.38,128.63,128.5,127.75,127.75,129.75,128.5,127,125.37,125,124.75,124.62,124.75, +125.12,125.5,126.12,127.12,128.13,127.25,127.25,126.75,126.87,127.37,129.25,128.5,127.87,126.87, +125.87,125,124.25,123.87,125.5,126.25,127.5,126.87,125.62,126.37,125.5,124.12,124.5,127.75, +128.13,129,128.25,128,128,128.75,129.38,131,129.75,129.13,130,132.75,134.63,134.38, +134,132.75,132.75,133.25,132.13,132.13,133,131.88,131.25,130.75,132,131.75,131.25,132.75, +136.75,135.88,135,136,135,135.38,135.25,136.13,133.75,133.25,132.63,132.38,129.25,129.13, +124.37,123.62,123,123.62,124.12,120.5,122.12,119.62,119.5,119.25,119.75,119,119.87,120.75, +122.87,122.75,122.75,123.62,123.25,120,122.12,122.37,120,117.12,117.87,117.5,118.37,117.75, +116,116.5,117.25,117.37,120,119.5,120.75,121.62,123,122.75,122.12,121.12,119.62,120.12, +119.5,121.12,122,122,122.5,122.75,123.25,124.25,125.37,126.5,123.75,125.75,125.25,124.62, +125.12,124.12,123.75,124.87,126.25,126,124.87,123.75,121.75,120.62,120.5,121.37,120.62,120.12, +118.75,120.5,120.25,121.12,121,120.5,121.75,122.25,124,125.25,124,122.75,123.62,123.62, +125.12,125,126.5,126.12,126.25,122.62,122,122.25,120.87,121.25,122.87,121.62,121.87,123, +123.37,124.25,124.37,123.62,124.25,123.87,124,123.5,122.5,122.5,122.25,121,120.75,120, +120.75,118.5,118.25,120,120,117,113.5,110.87,108.87,108.25,107.87,106.75,104.5,105.12, +105.12,105.5,106.25,107.12,106.75,104.5,104,104.12,105.25,106.25,105.37,104.62,106.25,106.12, +104.75,105.12,103,102.75,103.12,105.37,105.12,105.37,101.62,101.87,99,99.12,100.5,104.25, +103.75,104.12,104.62,104.75,103.37,105,108,107.25,107.5,105.62,105.75,106.75,106.12,107.75, +107.5,108.25,108.62,109.62,111.75,112.25,110.5,110.5,111.62,112.5,112.75,112.37,112.5,115, +116,114,112.75,112.62,111.87,110.62,109.5,109.62,110.12,110.5,112,110.62,111.12,107.5, +108.75,109.75,108.37,107.75,108.37,110.62,110.37,111,113.62,113.75,113.62,112.62,111.75,111.5, +112.37,114,113.5,112.5,112.75,111.12,110.37,110.37,108.5,107.37,107.62,106.62,109.12,110.37, +111.62,109.75,109.37,109.87,110.75,109.25,107,108.62,108.62,109.12,108.62,109.5,109.12,108, +109.37,106.5,107.5,108.5,108.5,110.75,112.75,113.25,113.25,113.12,112.62,114,115,116.37, +116,117,118.25,119,119.87,119,118.25,121.25,121.87,122,122.5,123,122.62,121.75, +121.62,122,123,123.5,124,122.62,122.5,122.12,121.12,120.5,119.62,119.5,120.62,122, +122.25,120.62,118.5,117.62,117.62,117.12,117.62,117.62,117.37,118.62,118.25,120.87,120,122.62, +123.12,122,122.87,123.62,124,127,125.12,124,122.37,121.87,122,121.75,123.5,125.5, +125,126,127.12,127.37,127.5,128.25,125.5,125.75,129.63,128.63,128.5,130.5,130.75,132.63, +131.88,132.75,131.5,131.75,131,129.13,128.88,126.25,126.5,127.87,127.75,126.5,126,123.87, +122.75,122.87,123.12,122.62,121.5,121.5,121.62,120.62,121.12,121.37,121.62,121,120,118.5, +118.12,117.12,117.25,116.87,115.62,115.25,116,118.5,120.62,121.12,121.37,121.62,120.37,119.12, +117.87,117.5,117,116.62,118.5,119,117.5,119.12,120.12,120.25,119.37,121.5,122.62,125.25, +123.5,124.37,123.5,122,120,119.12,119.5,121.62,120.25,120.62,121.5,120.25,119.75,119, +118.62,120.37,119.75,117.87,117.75,120.25,122.62,122.75,122.5,120.62,121.5,120.25,121.5,118.12, +117,114.12,113.62,113.12,112.62,113,113.62,113,111.25,110.25,110.25,112.87,114.25,113.37, +113,109.75,110.25,110.5,110.75,113.12,114,115.62,115,115.25,116.75,116.62,115.5,114.62, +115.37,114.62,114.75,116,115.87,115,113.62,113.75,114.75,114.12,111.75,111,110,109.62, +107.25,107.37,106,104.62,102.62,102,101.25,101.87,101.12,101.62,103.25,102.5,101.75,101.75, +101.37,100.25,100,99.25,99.12,98.62,98.75,100,99.75,99.87,100.12,100.62,100,101.75, +101.12,101.25,101.25,99.62,99,100,99.25,97.12,97,98.25,97,98.25,98.75,97, +96,95.12,93.87,95,96.62,95.37,95.12,95.25,97,96.75,97.12,95.75,94.87,94.37, +92.25,94,96.75,97,98.5,99.25,98.5,98.12,98,97,96,96.5,95.5,95, +92.37,92.5,96.12,95.75,95.37,94.75,93.37,93.5,93.5,92.75,92,91.5,89.5,89.12, +90.5,93.12,92.37,92.5,94.5,93.25,87.87,87.87,86.5,86.12,82.5,82,83,81.75, +80.62,80.5,82.87,83.5,82.37,81,82,83.37,83.5,83.75,83.62,83,83.62,83.75, +82.25,81.5,79.5,79.12,79.5,80.5,79.37,80,82.75,82,81.5,81.25,79.62,79, +79.5,81.25,82.37,81.37,79.25,78.37,75.37,74.62,73.25,73.37,73.25,74.5,76.25,75.75, +75.62,75.25,75.5,74.75,73.37,73.75,73.25,72.25,72.25,71.12,70.75,71.75,72.12,71.75, +71.62,69.37,69.5,69.62,68.37,68.37,69,68.37,68.12,67.75,66,65.25,65.75,63, +62.75,62.25,62.13,62.38,63,62.38,63,63.75,65.5,66,66.12,65.5,64.37,64.87, +65.5,65.75,66.37,66.5,67.25,65.87,65.62,66.5,66.37,64.75,63.13,64.75,61.38,59.75, +60.38,59.38,60,60.25,60.63,60.63,60.13,60.13,60.38,59.63,58.75,58.25,58.38,58.38, +59.25,58.88,59.13,59.13,58,57.5,58.13,59.5,60.13,61.25,61.5,61.38,61.25,61.75, +61.63,61.88,62,62.38,62,62.38,62.75,62.75,63.63,63.63,63.5,64,63.88,64.75, +64.75,64.75,64.5,64,64,64.12,64.5,64.62,65,64.5,64,63.25,63,63.63, +64.25,63.38,61.25,61.88,62,61.63,61.5,61,61.13,61,59.88,59.63,59.63,58.75, +59,59.13,58.88,58.75,57.88,57.25,57.63,57.38,57.25,57.38,57.38,58.13,58.63,57.13, +57.38,58.13,58.5,59.63,60.88,61.5,61.13,61.5,60.13,59.75,60.13,61.63,62.5,62, +60.13,61,60.88,61.63,61,61.38,62.88,61.63,61.5,62.38,62.5,63.63,63,61.5, +61.63,61,61.38,61.63,60.75,60.75,59.38,58.5,57.38,57,56.75,56.75,56.75,55.63, +56,56.75,56.88,56.63,56,55.75,56.25,56.25,56,56.63,56.13,55.5,54.13,53.13, +53,53.25,53.38,53.75,53.38,53,53.38,54,53,53,53.88,53.75,52.88,52.5, +50.5,50.5,50.25,49.88,50.25,50.63,50.5,51.5,52.25,51.25,52,50.88,50.75,51.5, +51.75,52.25,52,49.13,48.38,49.5,50.75,50.38,50.75,50.88,51.13,51.5,50.63,51, +52.13,52.25,53.5,55.13,55.13,54.5,54.13,54.25,54.75,54.25,53.75,53.13,53.13,52.25, +53.25,54.25,53.38,54.13,53.75,53.88,53.5,54.5,55.5,55,54.75,54.13,53.63,53.38, +54,54.5,55.63,55,55,55.38,55,55.38,55.13,55.63,56.75,57,56.63,56.25, +56.75,58,58.13,57.88,57.88,56.75,56.75,56.88,58,56.25,56.13,56,55.25,55.25, +55,54.88,54.63,54.75,55.13,55.13,55.25,56.13,56.13,56.38,55.63,55.75,56.25,56.38, +56.38,56.38,56.38,56.38,56.75,57.25,57.63,58.63,58.75,58.63,58.13,57.63,57.38,57.25, +58,58.75,59.63,58.75,57.88,57.38,57.13,58.25,58,57.63,58.5,59.88,59.75,57.88, +57.25,55.88,55.13,55.25,55.5,56.13,55.75,56.25,56,56.38,56.5,56.13,56,57, +57,57.63,57.38,58.13,58.5,58.63,59.5,59.88,60.63,59.75,60.25,60.13,60.38,59.75, +59.75,59,59.13,60.13,60.5,59.75,59.88,60,59.88,60.75,61.88,62,61.88,61.38, +61.63,62.63,62.13,62.13,62.63,62.75,63.25,64.25,64.12,62.88,63.25,62.38,61.75,62.25, +61.75,61.5,61.88,61.63,62.5,63.38,63.75,63.38,61.88,61.88,60.5,60.25,61.13,61.63, +61.63,61.25,61.75,62.38,62.75,63.25,64,63.88,63.63,63.38,63,64,64.5,64.5, +65,64.62,64.87,64.5,64.62,64.75,66.37,65.75,65.62,66.37,65.25,66.25,66.75,67.37, +69.12,69.62,69.5,67.62,67.5,67.87,67.75,68.37,67,66.87,64.5,63.75,63.63,64.75, +64.37,64.5,64.37,63.25,63.75,65.62,66,67.5,67.5,67.5,66.25,66.5,67.62,68.62, +69.5,69.5,70.12,70.62,71.25,71.62,70.62,70.37,70.25,67.25,66.87,66.5,66.5,66.25, +68,66.75,65.25,65.12,65.5,65.87,65.75,65.5,65.62,67.5,67.5,66.5,67.75,68.5, +69.62,69.5,69.25,69.12,69.75,68,67.12,66.5,65.5,64.12,63.63,63.88,63.38,64.25, +66.12,66.75,65.62,66.5,66.25,66.25,65.62,65.25,65,65.75,65.75,65.25,64.12,64.25, +66.12,66.25,66.12,65.37,64.75,64.87,65.87,66.62,66.62,67.37,66.62,65.87,65.87,66.37, +68.25,66.75,66.5,66.37,65.12,65.25,64.75,64,64.12,64.5,64.37,64.37,65.12,64.37, +64,63.88,64.25,64.37,64.75,64.25,64.87,64,63.63,63.75,62.75,61.63,61.25,61.25, +61.25,61,60.63,59.38,58.38,58.38,58.75,59.13,59,58.5,57.88,57.75,57.63,58.88, +58.88,58.75,57.88,57.25,57.25,56.63,56.63,57.13,56.88,56.5,56,55.25,54.13,54.38, +55.13,54.88,53.88,52.75,52.13,52.63,52.88,52.5,52.5,53,52.38,52.13,52,53.5, +54.75,54.75,53.75,53.88,53.75,53.63,54.13,54.38,52.88,53.25,53.25,52,50.5,50.88, +50.38,51,51.88,52.75,53.5,54,53.38,53,53.38,54.63,54.63,54.5,54.63,54.13, +51.38,52.5,54,54,56.25,58,58.75,58.63,59.13,59.63,59.88,60.88,61.5,61.13, +60.88,60.63,61.75,62.25,62.63,63,62.13,62,64.62,64.87,65.5,65.87,67.12,66.37, +67.12,68.12,69.25,66.37,66.5,66.25,67.12,67.75,68.75,68.62,68.37,68.25,69.62,69.37, +70.12,69.87,70.12,69,69,69,68.62,69.25,69.75,66.5,66.25,65.62,66,65.37, +62.63,62.63,63,61.25,62.5,64,64,64.25,64.37,64,64,64.12,63.25,63.88, +65.37,64.87,64.62,65.12,65.62,66.12,66.37,65.37,65.5,64.87,64.5,64.87,65.37,64.12, +64.25,62.38,61.75,61.25,61.5,61.75,61.75,62,62,62,61.63,61.63,61.13,61.25, +62.5,62.75,63.25,62.25,62.38,62.5,62.25,61.75,61.75,62.38,62,61.13,61.75,62.88, +63.13,64,65,65.62,66.25,65,66,67,68.5,68.25,68.12,67.25,67,67.5, +67.62,68,66.5,67.75,69.37,67.62,67.75,67.75,68.37,66.5,66.12,65.75,66.12,67.37, +67.37,67.5,67.25,68.5,69.75,69.5,69.62,69.62,69.5,69.12,69.5,70.37,70.5,70.87, +71,71,69.87,69.75,69.75,68.5,68.75,69.12,69.5,68.25,68.75,69.25,69.25,69.25, +68.5,68,68.5,69.12,68.87,68.37,69.5,69.37,68.5,69.25,69.75,69,70,71.12, +72,72.87,71.87,71.75,72.12,71.87,73,73.62,73,72.5,73.37,73.87,72.87,72.12, +72.25,72.62,73.87,73.75,75.25,77.5,76.62,76.87,77.62,77.37,76.12,75.75,75.87,302.25, +303,305.75,306.25,305.25,306,307.5,307.25,307,306,302.75,305,307.5,307.5,306, +309.75,308.63,308.13,311,318,315,314.25,309.75,307.5,308.5,309.88,309.75,307,306.25, +308.25,312,311.25,311,311,312,318.88,317,317.75,317.25,316,314.5,312.5,314.5, +316.75,317,312.75,312,314.75,314.75,310.25,309.5,309.38,306.75,305.25,306.75,308.13,305.5, +307.5,304.25,304.13,303.75,302.13,299.25,298.63,298.63,298.13,302.5,301.25,302.13,305.63,305, +306,304.5,304,306.75,299.75,300.13,299.13,297.13,303,304.5,307.63,308.13,308.63,311.38, +310.75,311,309.25,307.75,310,305.25,306,309,306.5,308.75,312.25,310.75,304.75,304.88, +306,302.5,305.13,304,304.5,294.5,298,302.5,300.5,295.25,285,282,281.38,270.38, +269.38,272,273,274.13,275.5,274.5,273.75,275,276,274.38,271.75,270.63,265,264.75, +267.5,268.25,266.75,264,262.38,261.25,261,259.25,258,256,259.63,263.25,262.75,260.63, +259.38,264,267.25,268,265.25,263.5,266.5,269,271,272.5,275,274,273.63,276, +277,275.25,279,284.75,285.25,280.5,280.5,279.25,278.75,278.13,275,276.5,276.88,276.25, +273.5,274.5,279.63,277.5,284,280.5,282.5,286.5,287.5,289,292.88,295,298.75,299.5, +298.75,297.5,299.5,293.88,292,291.5,292.5,291.5,294.5,296.63,296.5,297,293,292.25, +293.5,294.75,290.75,286.75,288.63,287.63,286.75,288.5,285,286,284.5,285,279,279, +278.75,275.5,273,273,269.25,267.75,267,267.75,266,264,266,259.38,256.63,258.38, +258.75,258.75,257.75,256.63,255.25,255,257.25,259,258.5,258.25,257.75,262.25,265.25,265.13, +265.5,265.75,266,269,271,266.75,267.5,267.25,265,264.5,266,260.5,256.88,256, +258.25,259.88,260.5,260.5,260,262.5,262,261,264.5,265,266.13,261.25,262.5,259.38, +259,258.5,259,261.13,258,262.75,265.5,264.38,260.38,259.88,261.38,261.25,253,252.13, +252.5,249.63,248.88,248.38,240.5,235.5,236.25,239.38,239.75,239.75,240.5,238.25,236.13,234.75, +235.25,237.38,238.5,237.13,237.25,239.13,238.38,238,240.75,241.5,239.25,239.5,239.25,238.75, +242.25,243.75,241.38,241.13,240.25,245,248.75,250.38,250.25,253.5,255.38,253.63,254.75,254.25, +255.13,254.75,256.5,256.5,257.25,258,258.63,259.5,258.25,257.13,258,262.75,264.63,264.5, +264.5,264.25,264,265.75,264.75,264.5,265.13,267,267,266.75,264,265.5,266.38,265.5, +266.5,265.25,264.63,266,267.5,268.5,272.75,269.88,269.25,269,267.5,266.63,264.25,261.63, +262.5,263.75,264.75,263.13,262.63,263.25,260.25,261.13,259.75,259.25,262.5,262.25,262.25,261.75, +262.75,267,267.25,264.5,261.63,259,258.38,257,257.5,258.25,258.13,259.5,252.75,250.63, +250.5,251.5,250.38,249,249,255.75,257,258.5,259,257,255.75,258.5,257.38,255.63, +255.38,257.25,257.13,256.75,255.13,254.13,256.25,256.5,256.75,257.38,257,258.5,259.25,259.63, +259.63,258.25,258,256.75,256.38,256,255.25,255.63,255.5,259.13,261.75,262.5,261.63,261.25, +262.75,265.25,267.13,266.5,267.5,266.75,265.63,266.63,267.75,266,266.88,267.13,269.5,269, +267.25,267.5,267.75,267.5,265.75,265.5,265.75,265,264.25,263.88,266.5,266.63,268.25,268.63, +268.13,265.88,266.25,267.25,271.25,272.5,272.63,270.75,272.63,272.75,270.5,262.13,259.13,259.5, +258.13,258,259.25,259.25,261.25,261,264,261.5,264.13,265,262.38,260.38,259.13,259.13, +257.88,256.88,255.25,257,254.13,251.75,250.5,251.25,252.25,249.63,250,247.38,246.13,246, +244.5,245,246.75,245.88,245.38,245.25,249.38,252.25,253.75,251.75,253.25,252,250.5,251.63, +255.13,253.63,256,259.5,260.38,259.5,257.38,257.13,259.25,259.25,257.5,256.5,257.5,263.5, +269.88,270.75,271.38,270.13,271.25,269,275.63,273.75,275,274.25,274.5,275.63,276.5,275.75, +275.75,279.5,277.5,277.5,279.63,282.5,282.5,282.5,282.63,282.5,283.63,284,282.5,282.25, +278.75,279.63,280.13,278,276.5,276.75,276.38,276.13,275.38,275.38,275.25,275.13,275,269, +269.38,271,271.75,267.75,267,267.63,266,269.5,268.5,268.13,269.75,273.5,275.25,271.5, +268.75,267.25,267.25,269,271.25,271,272.38,274.75,271.25,270,268.25,269,266.13,268, +269.13,271.63,273.75,271.75,272.38,276.5,279,277.25,276.5,277.75,273.5,270.25,270.13,265.25, +264.75,265,267,267.75,268.25,269.5,270,271.5,270.75,270.75,272.5,270.25,269.5,269.5, +269.25,271.13,272.75,270,269.25,269.5,268.25,268,262.75,263.5,260.5,261.25,260.19,258.88, +257.5,257.5,262,266.25,265.75,270.13,266.5,265.25,261.5,259.88,255.5,253,256.5,263.5, +261.5,262.75,262.5,263.5,269.75,271,277.25,277.5,278,276.5,277.75,279.13,278.75,280.75, +280,282.75,284.5,283.38,284,285,284.63,283.5,282.5,277.75,277.13,277,277.63,277.5, +277.5,277,278,275.75,276,273.25,272.13,270,267.75,268.5,268.75,269.5,270.88,272.25, +274.63,278.5,279.25,277.5,277.5,275.88,277.25,274.5,274.25,274.25,274.25,276,271.5,271, +271.75,272.25,270.88,272,273.75,272,270.25,270.5,268,272,272.75,276,276.63,276.75, +277.13,276.75,276,274.63,274.5,274.5,273.75,276.25,273.5,273.63,274,271.5,268.38,268.5, +266.5,266,263.63,259,257.75,259,254.75,253.75,252.75,252.5,252,252.5,255.75,253.88, +253.25,253.5,249.88,249.5,248.5,249.13,253.5,253.75,253.5,253,251.5,252.13,255.38,256, +255.5,252.25,249.63,248,245.25,249.25,249,252.5,252.38,253.75,255.5,257,256.75,260, +258.5,259.25,255.75,254.38,255.5,258.5,261.25,266.75,266.13,268,269.5,268.25,260.75,260.25, +260.5,258.5,259.25,258,258.5,261,258.25,257.5,257,257,258,259,258.5,261.25, +261.75,259.25,258.75,258.5,255.25,255.75,257.75,258,254.25,252.5,256,259,261,259, +262,258.5,252.5,252.88,251.75,252.5,255.25,253,252.75,254,257.75,261.25,259.25,256, +257.63,251,248.13,249.63,253.38,249.88,246.75,247,248.25,242.88,238.5,239,234.25,233.75, +230.13,230,228.5,228.38,229,226.25,223.38,223.5,221.5,222.25,221.13,221.13,216.25,215.88, +207.75,219,218.5,216.75,215,214.25,214.75,215,210.5,214,214.63,217.25,217,220.63, +224,224.5,223.75,222.13,220.5,220.5,219.63,217.5,220.13,223.13,220.75,221,220.5,217, +215,215.75,213,213.25,211.63,211,210.5,210.5,209.75,211.88,208.75,209,212,210.25, +212.5,208,207.25,208.63,207.5,208,205.25,203.75,204.75,201,197.5,200.13,189,183.75, +183.25,188,190.75,192.13,190,190.5,185.5,186,185.75,180,178.63,177.75,178,179, +179.5,177.63,179,179.5,179.75,181.5,179.63,180.75,185.75,181.5,178.25,178.25,180,177.75, +176.25,176,177.75,181.63,179.75,177.75,177.13,181.63,180.13,179.5,182,184.38,184.38,187.75, +188,190,191.25,190.38,190.25,189.75,191.5,192,197.13,199.5,199.25,201.5,203.5,206.25, +205,202.5,204.75,206.75,203.63,203.88,206.25,205.5,208.13,208.25,208.25,208,210,211.25, +206.25,204.5,204,203,203.5,205.75,206,208,210.25,210.5,212,213.25,214.5,216.63, +216.5,217,213.5,212.5,213,215.5,214.25,212.75,212,216,214.5,216.25,216,223, +216.25,215.25,210.5,208.5,208.5,208.75,206.25,206,207.63,201.75,200,202.5,205.13,206.25, +208,211,210.25,208,212.25,207.75,207.5,204.75,201.5,207,202.25,198.75,196.25,197.25, +198,203.5,204.88,205.75,206.25,208.75,203.25,203.5,208.13,209,213,214.13,215.75,215.25, +212.5,213,215.5,215.75,217,213.75,214.25,214.25,216,211.88,211.5,207.5,206,212, +217.5,214.75,211.5,210.5,214,213.25,201.63,196.75,198.25,192.5,195.25,191.25,188,187.25, +183.25,182,179.63,179.25,162.88,162,162.13,158.5,159.5,157.25,157.88,160.25,157.5,167.75, +169,169.63,162.63,163.25,163.5,165.5,166.75,168.25,166,160.13,161.75,164.5,166,165, +168,168,169.75,165,165,165.38,169.13,171.13,170.25,162.5,162.5,166.13,166.13,168, +170.5,176.5,177,172.5,168.5,170.5,166.75,167.5,169,173.75,180,182,183,184.75, +188.25,186.75,185.5,183.25,189.5,186,187.25,189,188.5,184.25,176.25,177.25,175.88,181.25, +186.5,182.25,182.5,175.25,174.5,176.13,176.25,174,175.38,160.5,160.75,159.25,154.25,155.63, +158.5,154.25,153.5,160,160.25,165,164.75,168.25,166.5,169.25,158,161.75,150.5,150.5, +155.25,165.13,170.25,171.75,179,176.5,173.5,183.5,190.25,188.25,190.75,190,188.25,189, +189,192,195.25,193.5,198.5,198.5,199,199.75,202.5,206,207,207.75,207,200.88, +200.63,198.63,201.63,202.25,201.25,204.75,213.75,219.5,221,214.75,217,216.5,210.5,213, +215.5,203.25,196.25,197,198.75,198.13,205.25,210,210.25,211.5,210,211.25,216,215.75, +211.25,210.5,213.5,216,215.5,218.25,222.75,225,222.75,226.25,226,228.75,219.5,218.75, +218.75,211,212,209.63,210.5,216.5,215,212.5,215,217.13,217.5,217.5,220,220.63, +221.75,219.13,222.63,225.5,225.5,224.25,221.5,224.5,228,225.75,223.5,221.88,222,218.75, +223.5,227.25,229.75,231.25,234,231.25,231.25,229.25,229.5,230,230.63,230.25,233.25,238.5, +235,231.63,228.5,235,239,244,248,241,241.5,242.5,245.13,245.25,247.38,246.75, +247,249.13,246.5,236.5,237.5,238.25,240.25,238.25,231.5,235.5,236,235.75,233.5,233.88, +232.75,235.75,228.75,230.75,227.5,225,228,226.5,226.5,232.5,234,235.5,235.25,237, +240.25,245.13,245.25,240.5,244,245,244,247.75,243.25,238.25,245.5,247.25,238.75,236.5, +235,232,227.5,225.25,226,225,229.5,238.75,241,245,248.5,251.5,243.5,235.13, +239.75,242.5,248.25,238.75,238.25,243.5,250.5,249,251.25,261,259.5,253.13,253,255.25, +255.5,263,265.25,264.5,263.5,266,272,270,267.13,275.13,280.25,275.5,283.75,287, +276.25,278.25,282,275.5,276,275,280,278.5,277.25,278.5,284,283,285.5,283.75, +275.25,280,289,283.25,281.25,276,278,281,277.5,270.5,261.75,255,252.5,245, +247.25,253.5,255,257,259,260.5,253,250.5,258,266,266,252.75,270.75,290.5, +290.5,286.25,285.25,293.25,296,297.5,295.5,296.75,299,302.75,302.5,303.25,298.25,298.25, +298,297.25,297.75,298,299.25,300.25,298.5,299,300.5,300.63,303.25,304,308,308.25, +310.25,310.25,311,314.5,316.25,317,315.75,314,309,310.5,313,312.5,308,309.13, +307.5,310,313.75,315,308.25,299.25,298.75,296.5,295,305.25,315.75,313,309.5,306, +308.63,315.25,313.75,317.75,311.13,312.88,315.5,320,328.5,323.25,322.5,321,318.5,313.13, +309.75,307.13,310,314,318.75,323.5,397.5,390,389,388.5,381.5,388.5,396.75,397.5, +392.25,395.25,405.5,409.25,414,416,416.25,421,410.25,411.5,411.5,401.25,405.13,405.5, +406.25,415,424.5,428.25,424.25,423.5,425,428.5,428.75,426.5,429.75,420.5,423.25,420, +420,424,427,430.5,434,434,432,427.25,419.5,424.25,430.25,433.5,437.5,440.5, +444,444.75,442,440.75,438,438.25,438.5,435.25,432.5,422,426.5,418.5,422,427.25, +432,438.5,441,443,439.25,440.25,445.5,451,446.5,437.75,431.5,438.5,431,428.5, +427,428.5,434.5,438.5,434,432.25,434.5,433.75,436,427.25,427,420.75,420.75,422.75, +417.25,412,411.25,415.25,416,412.75,406,409.25,404.5,399,392.25,391.5,385,385.5, +386,390,392.5,396,394.5,396.25,398.5,402,397.25,396,396,397.75,399.25,391, +387,380,381.5,384,388.5,387,385.25,382.75,380.5,382.75,384.25,378.75,373.25,371.25, +371,373.25,376.5,387,388.25,386,381,378,378.25,377,383,385.5,389,378, +375.5,374.5,361.5,362.25,377.25,384.5,384,392,400,393.75,395,403.25,405.25,403.5, +403.5,401.5,398.25,398,397.25,396.5,398.5,397,397,394,397.75,397.25,393.25,393.25, +393.5,398.75,398.75,401,404.5,405.25,406,407,403,404.25,405.5,407.13,411.5,411, +408.25,411.5,413.25,416,419,424.75,422.25,421.25,418,415.5,415.25,412.5,408,408.5, +402,398.25,396.25,394.5,393,398,398,389.25,389.5,390,383.5,387.5,391.5,391.75, +395.25,396.5,399,403.5,403,396.5,393,392,388.25,390.63,390.5,391,394.75,392, +396.5,395.25,395.5,396,396.25,395,387,387.5,391,392.75,391.25,391.5,394.25,397.63, +399,396,394.5,402.25,401.25,400.5,397.75,398.5,394.5,390,383.5,383.5,384.5,380.63, +383,379,379.25,383.5,382.75,376.75,378.75,380,382,381.25,381,379.25,381,383.25, +383.5,387.5,390.5,395.25,393,393.75,394,391.75,389.5,390,388.5,391,389,383.5, +382,378.75,380,383.75,381,381.25,379,377,373,376.75,371.25,366,372,371.5, +372,377.5,380.25,382,379.5,376.5,374.5,374.25,369.5,366,365,365.5,364.75,368, +368.5,364.5,366.5,369,367.75,368.25,370.5,370.5,372,369,367.5,369.25,370.25,368.5, +365,366.75,367.5,367,364.25,357,360.5,363.25,360,349.25,349.5,347,342.5,339, +342,338.25,336.75,336.5,338.75,339.25,331.75,333,334,335,336.75,330.5,333.5,335, +341.25,338,341,334.25,334.25,318.5,320,324.25,317.75,312,313.5,311,313.25,309.5, +308.25,306.5,300.25,299.25,291.5,290.25,290,291.75,293.5,294,298.25,293.75,293.63,288.5, +288.25,296.75,299,297.5,296.5,300.25,297.5,290,290.75,295.5,295.75,296.25,299,301.5, +301,301,305,305.25,305.25,306.75,307,308.5,305,303.5,304,308,305.75,305.25, +306,304.25,302.5,302.25,303.5,301,304.5,305,306,303.25,302.25,300,299.75,299.75, +299,300,302.5,306.25,309.25,310,299.75,299,301,301.5,310,313.5,310.25,313.25, +315,311.25,305.5,306.5,309.5,314,313.5,294,294,286.5,283.25,283.5,285,285.5, +285.5,289,292.75,290.25,293.5,292.25,291.25,296,296.75,298.5,299.5,298.5,293,293.5, +297.5,295,301.25,314.5,311.25,310.75,310,315,316.75,316.75,315.5,311.88,310.5,310, +312.5,314.25,313.25,312.63,315,321,321,317.75,318,323.5,318.75,308,311.25,317, +322.25,320.75,325.75,327.5,325,334,336.5,336.25,341,343.5,342,338,333.5,331.25, +334.25,338.75,342,342.25,344.25,345.5,351.75,349,352.75,350.25,356.5,361,358.75,355.5, +354.5,351.25,349,352.25,354,353,352,356.25,356.5,357,356.5,356,360,359, +356.5,355.25,354.25,356,356.25,356.5,356.25,351,354,355.25,358.5,358,360.5,359, +360.25,353,347.5,346.5,348.75,348,343.25,341.25,338.25,336,336,334.75,332,334, +336,329.75,326.5,327,329.25,335.75,338.75,337.5,336.75,334.25,338.25,332.5,328.25,327, +326.5,325.75,325,318.25,317,319.5,323,316.25,316.13,313.5,312,311.75,311,310, +313.25,315.5,312.25,310.25,314,315.75,316,311.5,312.25,316.5,319,317,316,312.75, +311,315.38,314.5,313,313,310.75,309.63,310.5,317,317,314.5,314.75,311,309, +310.25,307.75,306.25,305.25,298.5,297.75,295.25,297,290.75,290,290,292.25,288.5,293, +296.25,297.25,298.25,295.25,291.5,292.5,296.25,296.13,292.75,293,297,289.5,289,289, +288.75,286.25,288.75,284.5,283,290,291.5,290.25,286,288.5,294,298,301.5,307, +300.5,297.75,291.75,291.5,286,287,287,282,273.75,271.5,273.75,277.25,273,266.13, +263.25,264.5,268.25,268,270.25,267,269.25,265.75,259.25,261,266.25,265.25,260.75,263, +260,254,243.75,236,238.75,235.5,227.5,225,218.75,230.5,236.25,238.5,245,247.5, +249.25,247,248.13,251.13,252.5,252.25,251.25,251.25,253,253.5,253.63,256.25,257.75,255.75, +252.25,250,247.75,245,248.75,250.5,243.5,242,244,250,249.88,250,254.5,255.25, +256.75,255,257.13,265.13,270.25,260,265.25,259.13,254.5,253.25,258.75,262,265,265.25, +264.25,270.25,278,279.25,276,263.5,259,245,238,241,243,237,249.5,258.5, +269.5,263,262,274.25,278,285,287,287.5,280.5,279,282,292,294.5,286.25, +290,299.63,306,309.5,313,321,323,319.5,320.5,322.75,321.25,326.38,325.75,325.5, +319.5,319,317.5,325.75,331.75,337.25,336,334.25,332.75,329.5,322,317.75,317.75,321.25, +322.25,319.25,318.5,324.25,325.13,325,318.5,315.25,323.5,329,328.5,333,334.75,340.25, +339.5,335,344.5,348,352,349.5,346,347.75,347.5,350.5,348.75,344.5,346.5,338.25, +334.75,336.5,336.5,337,334.25,334.25,340.25,341,348.5,356,354.25,353.5,345,349.5, +369,375,373,367.75,367.75,368.5,367.5,366.25,366.25,366,364,362,356.5,358, +355,354,351.25,360.25,360.5,351,350.25,353.25,356.25,356.25,355.25,352.5,355.25,355.5, +355.25,352.25,355.13,355.5,358.5,351.75,346.75,345.5,344.25,351,352.5,359,360.5,361.5, +363,359.5,366.25,366.25,365,361.75,359.25,359.25,356,356.25,359.5,354.25,356.25,360, +360.5,358.75,352.75,355,353.25,351,350.25,348.5,353.75,347,343,344,340.25,341.13, +345.25,343.25,343.75,340,343.25,344.5,343,345,347,355,354.5,352.5,349.25,347, +345.25,341.5,340,337.5,342.75,340,331,335.25,336.25,338,340.25,340.5,343,343.5, +341.5,338,341,348.75,346,341,340,338.25,337,334.5,328.75,328,329.25,333.5, +332.75,335.25,327.5,325.5,326,320,310,313,313,315.25,316.5,315.5,317.75,320.5, +327,325.5,317.25,321,326.5,325.5,332.5,336,344,348,339.5,334.25,332.5,329.5, +320,320.5,319.5,312,312,313.25,314.25,310.25,313,309.5,307.75,308,310,311, +315,318,317.75,317.5,319,318.25,319,322.25,326.5,322.5,321.75,319.75,319.5,324.25, +330,329,331.5,325.5,325.13,326.25,328,326,327.75,326.75,325,322.5,326.25,324.5, +318,314.5,311.5,311,306.19,305.25,306.5,306.5,307,310,309,311.5,311.5,307, +305.25,307,308,310.5,312.75,311.5,308.75,307,305.75,305.25,302,303,300,298, +294.5,293.5,294.25,299.5,301.5,299,295,299,299,295.5,291.75,293.25,295.5,296, +295.25,295.25,294,295.25,297,300,306.75,306.5,303.5,300.25,295.5,294.5,295.5,295, +294.75,295.25,295.25,296.25,298.25,297.75,298.5,300,300,299.75,295,305.25,310,307, +300,299,304,307.5,304.25,300.25,300.25,309.25,313,314,310,315,319,319.25, +316.5,320.25,319.75,316.5,315.25,316.5,318,326,323.25,325,327.5,328,328.5,333, +330.25,328,326.25,322.5,323,318.5,321.5,325.5,323.25,319.75,317,312.5,310,309.25, +307.5,308,304.5,309,308,315.5,317,323,326,321.25,315.5,313.25,319,322, +328.5,328,328,325,322.25,325.25,332,331.5,335.25,334.25,330,330.25,334.75,335.25, +335.25,337.25,334.75,335,338.25,338,338,337,332,333.5,332,335.5,338.5,335.5, +339,341,341,336.5,338,338.75,335.25,331.5,335,335.25,334,330,336,331.5, +326,332,334,339,338,345,352.5,352,355,352,354,361.5,361,351, +348,348.25,351.5,356.25,349,348,355.75,351.5,345.25,345,352,358.75,369,364.5, +367,366,363,368,369,349,337,331.75,330,326,325.5,329,324.13,323.75, +322.5,331.25,333,333,334.5,338.25,340.5,342.5,342.63,340,343.5,346.5,339.5,335, +329.5,327.5,326,326,320,633,636.5,639.5,642,642,645.5,639,641,631.5, +628,628.25,633.5,625,625.5,602.25,598,595,590,584,579.25,580,584,581.5, +590.75,573.5,573,589.5,586,580.5,576,581,566,561,560,576.5,578,587, +585.5,586.25,587.5,596,586,577,572.5,586,572,570,568.5,579,588.5,586.5, +589,593.25,594,591.5,606,614,618,603.5,614,605,606,617,619,609, +616,618,612,605.75,599.25,597.75,594,590.5,588.75,600.5,613.5,624,620,617, +613.5,613.5,620,619.5,614,617,636,644,640,640,642,641,637,629, +624,620,610,610.5 +}; + + diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_gDataOpen.c b/vendor/ta-lib/src/tools/ta_regtest/ta_gDataOpen.c new file mode 100644 index 000000000..ae087f294 --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_gDataOpen.c @@ -0,0 +1,667 @@ +double gDataOpen[10000] = { 110.4,110.09,108.9,110.9,111.87,110.98,111,112.83,112.99,109.75,110.77,114.3,113.02,111.97,113.24, +112.1,110.39,114.72,115,116.62,117.01,116.19,115.32,114.88,114.85,115,110.25,109.66,108.57,108.75, +109.35,108.3,108.55,108.73,107.79,106.31,105.5,105.39,105.96,105.52,104.75,105.1,104.73,105.96,105.77, +106.5,104.93,105.27,104.22,103.1,102.85,103.11,102.87,101.8,102.46,105.5,106.55,106.5,106.62,107.26, +105.4,105.57,103.9,105.45,106.8,106.95,107.67,105.84,105.61,105.1,105.4,105.81,104.69,103.82,103.93, +102.42,102.76,102.75,101.75,102.8,102.06,101.11,100.3,101,98.74,97.23,95.16,95.02,94.5,94.8, +96.3,94.99,95.75,95.03,96.51,96.4,96.43,95.98,95.8,95.45,94.51,94.24,94.66,93.9,94.71, +95,94.82,95.1,94.5,94,93.95,94.45,93.4,92.65,93.86,93.29,93.48,94.5,93.97,92.4, +90.25,92,90.25,93.71,96,97.86,98.4,98.8,98.9,98.66,99.12,99.06,98.5,98.6,98.8, +99.52,98.9,99.8,100,99.17,99.1,98.97,98.8,98.57,97.7,97.52,97.22,97.08,96.91,96.42, +95,99.8,100.69,99.4,98.99,99,98.5,99.08,98.5,97.6,97.25,97.18,97,97.11,96.3, +95,95.75,95.78,96.1,95.1,94.95,95.61,94.97,94.78,93.6,93.72,93.65,94,94.48,93.51, +92.5,91.9,91.35,91.35,90.65,92.71,93.05,92.9,93.01,93.6,93.42,93.07,93.08,92,91.55, +92.3,92.59,92.25,92.42,91.5,91.76,91.8,92.5,91.5,89.8,90.91,91.83,91.21,90.91,90.05, +90.04,89.8,90.51,86.33,86.08,84.45,84.2,84.15,83.71,83.14,82.93,82.81,81.65,81.88,81.76, +81.9,81.85,82,81.9,81.65,81.75,82.61,82.37,81.97,82.56,83.21,81.9,82.25,81.14,80.6, +79.6,79.9,80.29,81.19,81.13,81.3,81.26,80.06,79.91,79.2,78.9,78.95,79.28,79.51,79.38, +78.93,77.48,76.9,76.05,75.34,75.2,75.56,75.63,75.63,76.65,76,76.21,76.65,76.44,76.38, +75.83,75.48,75.99,74.92,75.49,75.73,76,73.7,73.35,74.24,75.01,76.07,76.25,76.18,78.09, +77.59,78,77.54,77.7,76.89,76.53,77.32,77.04,77.15,78.16,77.99,77.84,77.9,78.44,77.85, +76.93,77.14,77.63,77.24,78.55,79.78,79.06,79.1,80.5,79.89,80.15,80.35,80.16,79.89,79.35, +80.25,79.83,80.86,80.5,81.75,83,81.8,82.47,82.65,82.9,82.49,82.6,82.95,82.87,82.54, +82.11,82.59,83.51,82.7,82.84,81.95,81.3,82.49,81.65,83.95,81.89,81.92,81.18,81.1,81.83, +82.27,83.6,83.7,83.33,83.05,82.72,82.95,82.88,82.2,82.86,82.98,82.99,84.23,83.35,83.82, +83.11,83.35,83.43,82.65,81.51,81.56,81.03,81.26,80.25,80.01,79.91,79.51,79.55,80.2,80.1, +79.97,80.65,81.2,80,80.1,80.91,80.68,80.86,80.55,81.33,80.4,80.4,80.58,79.5,79.94, +80.55,81.45,80.9,81.5,80.21,80.75,81.5,81.05,81.39,81.33,83.04,84.14,84,82.8,83, +83.82,84.37,83.15,83.9,83.95,81.4,82.2,82.45,81.85,82.8,83.1,83.48,84,82.61,82.46, +82.95,83.23,83.89,82.88,83.65,84.5,87.01,86.8,88.57,89,88.56,88.4,89,89.15,89.05, +89.18,88.8,88.95,88.12,86.88,87.6,88,86.18,85.45,84.03,84.25,84.2,82.7,82.71,83.41, +83.1,82.91,81.55,81.2,81.85,81.51,82.32,82.53,82.97,83.08,83.15,83.08,84,82.41,84.33, +82.36,82.6,81.7,82.75,82.25,81.24,80.25,79.82,80.11,80.65,80.22,80.02,79.25,78.06,77.17, +78.31,77.7,77.56,78,79.27,79.74,80.38,80.43,80.75,81.49,81.03,80.86,81.28,80.7,79.7, +79.5,80.16,80.35,81,80,80.81,81.45,81.53,82.7,82.75,81.36,81.1,81.4,82.07,81.9, +82.15,81.93,83.65,83.4,83.41,82.75,83.75,83.31,83.27,83,83.3,83.55,83.8,84.15,83.98, +83.98,84.6,83.2,84.72,81.99,82.43,82,81.16,79.2,79.4,77.38,75.15,74.8,74.38,74.3, +74.8,75.26,73.83,74.01,75.17,76.81,76.83,76.7,76.03,77.7,76.4,75.7,75.05,74.5,74.75, +74.58,75.04,75,75.8,77.06,76.75,75.57,77.3,77.11,76.45,75.42,76.14,76.3,77.28,76.5, +75,73.93,73.09,72.53,73.53,73.63,74.75,75.26,75.56,78,76.6,76.78,76.88,77.05,77.05, +75.6,74.68,75.1,74.23,73,75.48,76.98,77.15,79,84.51,85.76,85.9,87.35,88.28,89, +89.05,90.23,90.08,91.49,90.46,90.32,90.74,90.71,90.8,89.97,89.61,89.42,89.86,90.49,90.74, +92,91.5,92.25,92.35,92.02,91.7,92.35,92.94,93.15,92.75,92.64,92.53,92.35,91.98,92.29, +92.67,93.75,94.5,94.23,93.5,93.16,92.7,92.95,94.14,94.21,94.35,93.01,93.87,93.78,93.67, +93.65,92.68,91.5,92.3,91.98,92.7,93,92.61,94.95,93.65,94.01,95.39,95,95.68,95.78, +96.5,96.54,96.6,97.74,98.97,98.6,98.1,97.81,97.4,97.69,97.5,97.35,96.59,96.35,97, +96.8,96.92,96.3,96.85,96.1,96.2,96.43,97.7,96.88,96.55,95.65,94.5,95.15,94.94,95.05, +95.04,94.7,94.3,94.95,95.36,95.3,95.25,95.08,94.66,93.6,92.92,93,92.5,92.4,91.05, +91.25,89.55,89.33,89.4,89.8,88.58,88.33,87.36,88.22,88.4,88.45,88.2,84.3,84.78,84.75, +86.26,86.02,86.77,87.43,88.04,87.14,87.95,87,85.95,85.14,84.48,84.35,84.1,83.8,84.04, +85.35,85.7,85.4,86.4,86.2,85.94,86.6,87,86.43,85.86,84.9,84.7,84.3,84.22,84.05, +84.55,84.57,84.65,85,85,85,85.23,84.52,84.75,83.6,84.1,83.7,82.54,83.05,83.7, +84,83.48,84.38,85.97,85.3,86.7,86.87,86.45,86.25,85.88,85.6,84.85,85.7,85,86.75, +85.63,84.5,86.05,84.13,84.84,85.9,84,84.4,85,85.3,86.5,87.45,88.28,88.3,88.35, +89.71,89.95,90.28,90.1,89.28,90.4,90.2,90.5,90.25,90.49,90.05,90.23,89.9,88.64,88.75, +87.95,87.85,88.64,88,88.48,88.75,88.64,86.75,87.75,87.59,87.06,87.4,86.08,85.3,86.65, +86.79,87.25,87.2,87.6,87.75,88.1,89.75,88.02,88.13,89.01,90.01,90.3,90.65,90.75,91, +90.5,91.15,92,91.9,92.3,93.8,92.1,93.79,93.5,94,93.37,93.6,93.95,93.55,91.67, +92.07,92.67,92.99,92.39,92.15,91.57,91.6,91.27,92.86,93.05,92.57,92.4,92.6,92,92, +94.38,94.3,96.49,95.95,96.58,96.57,97.6,96.5,96.8,96.27,96.5,95.2,97.4,98.6,98.42, +99.31,99.99,99.1,100.06,99.2,98.45,99.31,98.85,100,99.38,99,99.15,98.02,98.1,99.15, +99.4,97.9,97.82,97.84,97.23,96,95,95.07,89.9,91.45,91.21,91.75,93.21,93.14,92.2, +92,92.86,92.66,93.27,93.1,92.37,92.8,93.07,92.83,93.23,93,93.85,92.11,93.43,92.7, +91.96,90.69,91.15,90.52,91.3,90.05,91.15,90.57,90.9,89.9,89.79,89.66,89.03,88.4,89.3, +88.32,89.92,89.9,91.02,90.4,89.45,90,89.55,89.4,88.33,88.52,89.68,89.9,90.71,90, +89.6,89.05,88.8,88.15,87.6,88.3,89.25,89.35,89.28,89.27,93.9,92.65,93.1,92.4,93.3, +92,90.5,90.74,91,89.55,88.75,89.2,89.25,89.41,89.4,91.08,91.5,92.24,92.45,90.63, +90.4,88.49,89.7,87.6,86.75,88.99,89.2,88.45,87,86.33,86.24,82.4,81.95,82,82, +81.65,82.85,84.25,83.39,82,83.1,82.05,81.8,81,81.65,81.45,80.87,81.05,79.69,79.7, +81.13,80.75,81.15,81.8,82.45,82.55,83.67,81.6,82.95,82,82.5,83.2,83.85,82.7,87, +86.15,86,84.1,85,86.1,86.09,84.8,84.25,83.95,81.4,83.9,84.15,83.7,83.55,82.95, +84.79,85,84.95,84.15,84.95,83.1,84.15,84.8,82.75,82.35,80,82.25,84,84,84.32, +89,87.45,87.57,87.6,84.51,85.75,86.25,85.77,86.58,88.05,89.67,89.5,90,88.78,87.55, +86.9,86.37,86.95,86.3,87.2,84.45,85.3,85.66,85.34,84.05,85.21,84.65,85.24,83.36,84.4, +81.89,83.38,80.07,78.5,80.1,79.1,79.7,80.62,82.6,82.35,82.32,79.9,78.5,79.26,81.05, +80.75,83,82,82.46,82.76,81.71,82.09,82.46,78,78.45,75.99,75.25,75.82,77.45,75.71, +77,76.7,77.6,78.9,77,77.9,78.45,77.9,79.7,79.49,79.57,79.08,78.02,76.4,76.1, +77.5,78.3,77.1,77.97,77.11,77.85,78.18,78.2,77.7,81.3,79.5,78.5,77.99,80.6,80.15, +80,81.3,83.74,87.4,88.58,87.23,88.31,85.85,84.75,85.55,83.95,81.9,80.7,78.8,77.1, +77,78.5,79.81,80.2,79.75,79.4,78.6,79.25,80.6,79.6,79.25,81.25,80.8,78.6,81, +81.5,84.9,83.41,86.72,88.6,87.71,85.9,86.15,84.63,83.95,82.05,77.95,78.24,80.8,80.38, +80.38,79.5,77.5,77.59,78.5,80,80.8,81.75,81.99,78.9,78.67,77,76.56,75.15,72.5, +75.5,74.4,74.5,73.65,71.73,72.8,66.6,67.75,61.54,62,54.65,56.05,57.78,56.6,59.5, +60.3,61.18,59.2,59.55,61.43,64.2,61.2,61.08,63.75,65.4,64.8,70.65,73,72,71.5, +74.05,76.4,74.6,72.45,73.75,72.74,72.35,74.2,75.55,75.6,76,80.4,80.4,81.2,80.95, +81.9,81.56,79.35,76.5,75.4,71.95,71.55,71.05,70.61,69.2,69,67,67.94,68.21,70.4, +70.75,70.5,70.37,68.75,68.9,66,68.25,71.25,70.96,70.5,71,69.51,68.4,70,68, +70.6,71.4,73,72.45,67.95,67.85,72.01,71.35,71.2,66.1,70.3,67.25,70,74,74.2, +75.6,76.18,74.2,75.45,75.4,77.85,77.75,78.48,80.55,79.65,78.11,80.75,82.05,80.6,81.5, +82.8,83.65,84.25,83.76,84.41,85.45,86.25,84.2,84.6,84.5,80.25,79.95,81.9,78.2,76.89, +81.7,83.1,83.75,83.85,83.91,84.71,86.7,86.05,88.2,88.35,88.95,89.9,86.97,87.05,86.35, +86.5,87.56,88.05,88.45,88.5,87.5,100.84,99.96,101.4,102,104,103.55,103.75,103.57,105.8, +106.5,105.7,106.9,106.85,107.1,106.55,107.02,108.3,105.52,104.35,104.82,107.3,105.15,104.25,103.35, +98.6,98.49,98.1,99,98.45,96.38,98.75,99.54,101.5,104.8,109,106.7,106.75,105,103, +106.64,106.7,106.25,108,107.64,106.4,104.25,108.15,109.5,108.5,108.8,110.8,114.25,114.25,119.85, +118,118.05,120,121.5,123.75,124.7,124.25,125,124.05,121.5,120.6,122.75,123.5,122.75,122, +122.05,122.7,123.89,121.9,121.51,120.15,120.8,121.55,121.12,120.4,120,119.5,120.5,116.85,114.3, +114.8,114.43,112.9,114.1,116.25,115.9,114.29,114.95,114.35,114.7,115,114.1,116.7,115.7,113, +113.1,113.96,113.05,109.6,109.95,109.15,107.25,109.6,107.8,110.5,110,108.05,106.5,105.75,102.65, +101.65,103.05,106.3,101.87,99.85,98.7,97.7,95,98.5,98.03,96.65,97.15,92.9,92.3,91.72, +90.2,91.3,94.45,94.1,91.8,90.6,94.1,96.4,94,93.9,96,97.9,100.68,101.5,100.15, +101,102.75,105.75,106.9,106.99,103.95,104,102.5,103.85,104.68,105.49,104.2,106.35,106.5,105, +103.85,103.7,105,105.8,107.25,107.8,108.5,105.35,105.9,104.9,104.75,104.75,104.5,104.85,105.7, +103.4,105.6,106.1,106.1,108.53,106.15,105.9,101.6,104.73,106.5,110.9,112.6,114.1,113.5,115.6, +113.8,113.1,111.25,113.75,112.6,112.15,113.5,116.26,113.98,115.1,115.6,117.25,116.75,116.3,117.5, +117,117.6,113.64,113.25,112.5,112.65,114,117.35,119.52,117.5,117.8,119.7,117.95,115.07,115.8, +112.5,113.5,111.2,113.75,118.5,116.2,117.25,116.2,112,114.6,118.3,115.85,116.4,116.8,114.95, +112,113.4,114.01,114.35,112,103,97,96.2,96.4,101.5,97,98.5,98,95.8,90.45, +94.6,97.45,96.5,94.46,97.9,94,95.25,93.5,89.12,88.45,91.6,91,93.9,96,95.4, +95.1,97.9,105,107.17,107.45,106.25,102.81,104,99.3,102.95,104.9,105.8,107.5,106.5,109.55, +114.55,114.55,116.8,113.75,114.15,110.55,114.03,116.91,113.4,112.23,109.4,112.75,112.4,115.75,115, +112.5,109.62,110.12,109.06,109.56,109.5,107.5,104.37,95.37,93.75,93.69,92.94,92.5,94.44,93.5, +93.94,94.75,83.75,84.5,86.94,83.5,84.75,89,84.5,85.5,85.87,90.19,88.37,90,92, +94.87,95.25,96.5,98,95.06,101.75,100.44,96,94.44,98,97.75,98.75,100.44,99.37,98.5, +103.25,101.5,98.31,99.25,99.5,99.25,91.81,98,96.75,103.62,101.12,99.87,102.5,99,98.44, +93.75,93.5,93,88,90.5,93,94.75,95.12,98,96.75,111.94,111.5,104.19,114.25,111.87, +116.62,115.94,114,113.81,110.37,118.87,112.62,115.5,117.37,120.06,120,124.5,123,124.19,124.69, +122.75,125.25,126.81,128,123.12,124.81,127.87,132.5,131.88,130.88,132.81,133.06,131.88,130.75,131.5, +129.88,124.31,123,120.31,121.19,121.06,122.37,119.75,121.06,122.06,120,119.75,118.75,119,115.69, +116.62,116,113,111,112,110.5,111.12,109.87,111,113.25,114.12,117,112,102.37,104.12, +104.44,103.75,105.44,103.19,103.25,104.69,102.69,105,105.62,108.75,112.69,111.75,110,111.62,113, +113.5,114.12,115.56,120,113.5,116.31,116,118.87,118.87,119.12,119.87,119.37,112.5,112.25,108.44, +109,107.56,110.5,107.75,105.5,110.5,106.5,109,106,106.06,106.12,107.5,105.12,104,103.75, +104,105.5,110.5,108.06,106.62,109.12,110.5,111,112.5,112,109.5,112.5,106.5,102,105, +109.75,112.25,103.87,109.81,112.5,119.62,121.62,124.75,123.5,123.5,120.5,121.5,120,122.62,118.87, +122.31,125.75,125,115.37,115.87,114.5,112.81,110,108.25,109,107.5,107.75,104,107.62,106.5, +103,106,109.94,107.25,100.5,102,105.56,104.62,109.87,108.81,110.5,112,115.25,116.5,116.5, +115.87,116,119.06,117.69,119,116.94,116,118.19,115,112,112.37,111.37,112.75,118,119.06, +116.75,121.87,121.87,123,115.56,119.69,120.94,119.94,119.62,117.87,117.25,117.25,118,112.94,114, +112.44,109.19,109.69,110.44,109.56,109.69,109.12,109.87,108.5,109.06,110.69,108,107.75,110.19,108.12, +111.62,120.5,116.25,117,113,109.81,103.44,102.56,103.69,104.94,105.94,105,108.81,105.5,99, +94,94.87,94.62,96,96,97.5,94.62,95.06,90.5,92.75,94.44,95.87,96.75,98.5,97, +94.5,95.5,94.87,94.25,93.75,93,108.62,107,108,106.44,106.5,110.81,114,113.5,115, +119.12,122.25,122,118,121,121,122.06,123,126.62,120.5,127.5,127.19,128.75,126.5,131.38, +132,134,132,134.63,137.5,132.5,131.5,128.88,128.38,126.5,125.62,124.37,124.25,125,122.62, +122,123.37,122.75,124.37,123.87,128.38,128.5,125,122.75,123.75,120.12,121.5,123.62,122,120, +120,122.75,124,125.94,126.25,126.37,125,123.62,124,127.62,127.5,132,136.5,136.38,138, +138.31,135.75,137.44,134,132.5,131,132.5,130.88,130,124.81,123,124,123.31,123.12,122.25, +123.87,122.87,120.19,119.25,119.87,117.5,115.87,115.06,115.87,116.62,119.87,118.12,113.62,114.56,111.75, +113.62,116,116.69,223,222.5,230.31,232.75,235.63,238.25,238.25,236,241.5,234,221.13,220.5, +217.25,211.25,211.88,212.13,212.25,208,208.5,205,209.25,212,204.75,193.38,197.25,169.75,167, +170.88,177.5,179.5,182.75,184,183.5,185.63,186,184,183.13,179,177.31,180,177,175, +171.06,172,168,167,168.69,176.63,177.5,179.5,182,179.19,182.69,182.38,181.63,179.88,178.63, +173.88,173.5,168.5,170.5,169.5,171,172,177.25,178,172.25,174.38,172,170.5,175,176.25, +170.25,162.5,167,167,170.44,175.19,175.88,179.56,184.5,178.69,179.5,186.81,183.75,182.25,184, +197.63,195,187.75,182.25,183.63,183,190,189,191,187.94,190.31,183,185,186.75,186.88, +188.63,186.5,184.75,182.69,177.5,171.56,166.63,165.44,166.88,163.5,166.5,164,169.31,168.06,168.19, +164.44,164.63,168.25,168.94,163.5,169.75,166.63,165.13,165.5,161,158.88,159.5,158.06,159.38,158.63, +157,156.69,157,150.88,150.75,148.88,147.69,148.88,148.5,148.44,149.5,148,144.63,145,141.31, +141.5,140,140.13,140.63,135,137,130,127.75,130.5,130.13,124.44,120.75,119.5,124,123.75, +124.12,125.06,130.75,133.75,134.5,130,131.56,128.75,129.38,120.12,126.75,127.5,130,129,128, +121.37,122.12,125.75,124.94,122.5,118.75,121,113,123,125.25,128.75,127.25,129.13,128,127.5, +129.5,129.5,127,125.12,126.62,127.56,128.75,126.12,128.88,131.75,127.81,127,134,134,133.25, +128.63,127.94,126.25,123.75,125.87,127.19,126,128.25,121,118.56,117.12,119.25,119.75,118.5,118.25, +114.75,113.75,113.62,115,116.56,116,114.12,114.12,112.37,112.5,111.87,110,106.25,108.75,109, +111,111.87,114.62,115.87,117.5,118.75,119,118.75,116.75,114.25,116,117.19,117.37,120.56,120.25, +119.31,122.37,123.62,123.5,125.25,125.62,124.75,125.62,123.37,120.25,118.25,120.19,116.94,117.5,118, +116.69,117.12,115.94,116.06,115.69,116.12,116.25,116.75,114.5,118,114,107.94,107.44,109.37,107, +105,106.56,105.62,104.75,105.75,106.25,105.62,104.31,103.87,104,104.12,105.25,105.87,105,102.25, +101.56,103,101.69,100.62,101.31,99.69,100.87,99.19,97.87,97.37,97.12,99.12,100.19,102,100, +104.19,104.81,104.75,102.56,102.62,103.44,103,103,102,103.06,102.69,101.87,101.62,98.06,98.12, +99.12,99.12,99.12,100.12,100,98.31,97,97.12,96.75,99.25,99.81,99.81,100.25,105.19,104.87, +103.19,103.5,100.56,98.25,104.31,103.5,105,105.37,105.56,104.5,104,103.69,102.87,99.37,100.12, +102.44,104.75,99.25,102.19,105,101.12,101.5,103,103,109.44,111.5,112.87,109.5,110.62,110.5, +112.12,110,109.12,107.5,104.12,104.94,105.25,104.06,102,103.69,103,99.94,97.5,98.37,98.12, +100.75,99,102.62,102.5,101.12,99.12,98.37,96.5,100,89,97.25,102.25,102,105.25,101.62, +95.81,98.12,102.37,102.12,104.06,105.5,104.37,104.31,106.81,106.5,105.06,106.87,103.81,106.12,104.75, +102.37,102.81,101.69,103.87,104.06,102,98.94,100.12,100.25,97.25,98.12,97.94,97,100,103, +103.94,104.94,103.56,103.81,101.37,100.56,102.75,103.19,103.37,106.37,102.5,107.5,107.62,104.75,101, +103.31,104.56,105.81,103.37,104.75,106.31,108.5,106.44,106.5,104.56,105.5,106.12,102.87,104.5,106.5, +107.94,105.62,104.37,100.5,105.25,100,97.81,95.75,94.87,95.62,95.81,94.69,96,94.5,95, +94.87,91.62,90.25,92.25,91.25,91.81,91.87,89.75,89.87,89.87,89.12,89.37,89.75,88.75,88.25, +86.25,86.25,87.12,86,83.5,84,85,86.37,87.75,85,90,90.5,174,173.38,175.13, +174.75,168.5,169.88,173,174.13,174.25,174.75,168.25,168.75,164,164.38,165.88,162.88,161,160.5, +157.88,152.38,149.63,152.25,150.5,140,137.25,139.63,138,137.38,137.38,138.63,134.5,132.25,133.75, +138,132.25,130.75,127.25,132,136.88,137,137.25,140.5,136.5,136.88,132.63,136.88,138,138.63, +139.88,142.75,143.63,144.75,146,146.38,144.75,147.25,145.63,145.88,145.63,143.75,143.13,146.88,147, +144.38,137.63,140.75,143.13,145.25,145.5,146.38,145.13,144,143.38,148.75,148.5,149,153.63,154.75, +157.38,157.63,157.75,153.5,149.88,151.38,151.88,158.88,159,166.38,164.88,165.13,164.75,166.38,165, +163,160.5,159.75,164.13,160.88,159.38,155,153.75,153.75,155.25,155.63,157.38,154.13,154,158.13, +159.75,152.5,148.38,153,152.25,158.13,155.25,161.5,156.63,154,161.38,162.88,163.63,159.63,158.13, +158.25,157.5,158.13,154.13,153.13,153.38,146.88,144.75,137.63,134.63,133.5,135,134.38,133.38,133.13, +130.63,129.75,127.37,128.88,126.5,125.75,127.5,126.62,126.37,129.5,126.5,129.63,128,125.5,128.75, +129.5,130.75,129.88,128.5,125.5,129,128,126.87,125.87,125.75,124.25,124,124.87,124.75,126.25, +124.5,124.25,122.25,123.62,124.25,124.37,123,122.12,118.12,118,116.75,117.62,116,113.5,114, +115,113.25,114.62,115.12,114,112.62,113,112.12,112.75,110.5,110.12,109.87,111,111.62,109.37, +111.62,112,113,111.62,110,109.25,108,108.37,108,107.12,105.25,103.5,103.12,96,89.62, +92.5,93.37,94.5,94.25,97.87,92.25,94.5,95.62,97.62,98.75,98.75,98.12,97.87,99.75,101, +99.25,99.12,98.37,99.75,99.37,99.62,100.75,102.25,101.75,102,101.87,103.37,103,103.62,103.25, +102,96.5,104.87,106,105.37,106.37,107.62,106.87,107.75,109.25,109.5,109.87,110.75,111.87,112, +109,108,109,108.25,106.37,107.37,105.75,105,107,108.5,108.25,108,107.75,110,107.75, +108.5,107,107.62,107.5,106.87,105.75,105.62,116.75,115.12,112.62,115.25,116.37,117.75,119.75,115.62, +119.87,117.5,111,112.12,110.37,111.87,111.12,108.37,114.87,115,117.5,120.87,124.75,120.62,116.87, +116.5,114.5,115.62,113.87,115.5,117,119.75,117.12,118.75,121.62,125,127.62,125.12,123.87,125, +121.75,119,116.75,118,114.37,113.87,114,114.12,113.37,112.37,114,112.87,109.37,109,108.75, +108,106.5,104.75,103.87,107.62,103.12,100.75,101.5,96.62,90,86.75,84.12,86.5,87.25,88.12, +86.62,89.12,88.62,86,89.12,91,91.37,90.37,91.12,91.75,92,90.87,89.87,92,89.12, +90,92,94.75,95.12,96.37,97.12,95,95.25,96.25,96.87,95,97,97.25,97.25,95.75, +96.5,95.25,94.75,93.12,95,95.37,95.62,95.62,96.87,97.5,97.5,99,99.12,99.5,101.25, +100,97,97.25,98.37,97.5,95.87,96.25,98.5,98.87,95.62,98.25,96.87,97.87,92.5,92.5, +94,93.25,91.5,90,93.87,95.25,93.87,94.25,93.5,95,94.25,94.87,92.62,93.25,94, +93.87,95.75,97.62,94.62,92.5,92.75,95.25,97.5,96.12,98.25,100,100.5,102,103,102.75, +102.5,103.12,102.12,103.75,103.75,106.62,108.12,107,111.37,113.87,112.37,112.12,111,109.25,109.5, +109.87,110,108.87,109.12,109.12,106.5,110.62,109.12,110.62,110.87,109.5,109.12,107.5,104.12,104, +102,105.25,107,104.12,102.62,101.75,100.37,100,100,98.62,97.12,97.87,96.25,97.75,96.37, +95,98.12,98.5,97.5,97.37,98,93.87,93.37,93.12,93.62,91.87,91.37,90.5,89.62,90.12, +90.75,92.37,91.75,93.62,93.5,92.37,95.62,96.62,96.25,97.5,95.5,93.5,92.25,94.62,95, +94.25,94.5,93.75,93.5,93.87,94.12,92.75,94.25,94.75,93,91.62,93.87,96,94.87,93.12, +93.12,91.5,89.37,89.62,87.87,88.12,87,86.87,86.5,85.87,84,83.75,84.37,82.87,83.12, +82.25,82.12,83.12,84.25,84.87,83.87,83.62,81.5,82.12,83.5,82.75,83.5,81.75,81.25,82.25, +81.5,80.87,80.37,79.75,80.37,79.5,77.12,75.37,75.12,74,74.62,74.25,74.75,74.25,75, +75.75,75.87,75.62,75,75.12,75.12,74.25,74.12,74.25,74.37,74.87,73.62,72.37,72,72.75, +72.75,72.37,72,74.12,74.5,76.37,77.12,77.62,77.25,76.37,76.75,75.87,77,76,75, +74.25,74.37,73.87,73.5,74.25,73,74.37,74.12,73.62,73.62,71.12,71.37,70.5,70.87,70.37, +69.5,70.75,71.12,69.62,71.12,70.75,71.25,71.62,69.25,70.62,71.12,70.62,70.87,70,69.25, +72.75,73.25,73,73.25,73,72.87,72.75,72,73.5,73.75,71.62,71.37,73.37,74.5,74, +74.37,75.62,74.12,74.5,74,72.62,74.62,74.62,75.5,74,73.5,72.87,72.5,73.62,71, +71.75,71.25,68.87,69,68.12,69.12,69.37,69.25,68.37,69.12,68.87,69,69.37,69.75,71, +69.87,70.62,69.75,69.5,69.12,68.75,67.5,66.87,67.25,67.5,67.12,68,66.87,69.25,69.37, +69.75,69.37,67,67.37,67.87,67.5,66.37,65.37,64.87,64.5,63.75,64.75,64,64.5,63.38, +62.75,62.75,63,62.38,63,61.88,62.63,62.38,62.25,62.5,61.38,62.25,59,55.75,56.75, +57.25,57.75,57.5,56,55.75,56.88,56.5,57.38,56.5,57,59,60.38,60.88,61.5,59, +60.75,61.88,61.38,61.75,61.88,62.63,63.25,64.5,63.88,62.38,62.25,61.5,62.88,62.75,61.25, +61.75,63.38,63,63.5,63.88,63.25,63,62,62.13,61.38,60.88,61.63,58.63,57.63,57.5, +57.63,58,57.63,56.5,56.5,57.38,58.25,58.13,57.5,57.38,57.88,58.88,58.5,58.38,55, +53.25,53.5,52.88,53.88,52.5,52.88,53.75,52.63,52.88,53.25,53.5,53.5,53,54,52.5, +53.63,54.38,56.5,56.88,57,58,56.88,57.88,58.25,57.63,57.75,56.13,56.13,55.5,55, +52.13,53,53.25,52.88,52.75,52.88,53.13,53.38,53.25,53.75,52.63,52.63,54.88,55.25,54.38, +53.38,52.5,53.38,53.88,54.75,52.38,55.5,56.25,56.5,56.88,57.88,58.13,56.63,58.75,58.88, +55.75,55.13,55.88,56.75,57.38,58.5,58.75,58.25,58.75,59.13,58.88,58.5,60,59,58.13, +56.88,56.63,58,58.5,58.88,58.63,59.25,58.75,58.25,59.25,57.75,57.25,56.13,57.25,55.88, +54,53.88,53.88,54.13,53,54,53.25,54.75,54.5,56,55.5,54,52.38,51.88,52.25, +52.25,53.5,51.13,51.63,52.25,50.25,49.5,50.5,50.25,49.75,50.25,51,49,46,46, +45.75,46.38,45.75,43.88,45.38,43.63,43.38,44,44.5,43,43.13,43.5,44.13,44.25,44.38, +44,43.5,44.38,44.25,42.13,41.63,41.75,41.75,41.75,41.88,42,42.25,42.5,43.25,43.25, +43.5,43.5,43.88,43.88,44.63,44.25,45.25,46.13,46.25,46,45.75,44.75,44.13,43.88,44.13, +44,44.5,43.13,43,43.13,43.38,41,41.63,42,42.5,43.5,43.13,43.38,43.63,44.13, +43.38,44,44.38,43.63,44,46,44.88,41.88,43.63,43.75,43.13,43.63,45.63,47.5,47.38, +47.5,48.13,46.88,46.75,46.88,46.88,48,48.5,49.63,49.5,50.38,49.88,49,48.63,49.25, +49.13,50.13,49.63,50.13,49.5,51.88,52.25,52.88,52.75,53,52.25,54,54,54,51.75, +53.25,53.13,53.25,50.5,49.88,48.63,48.75,49.38,49.13,47.75,47.88,47.5,47.5,48.25,48.88, +48.88,48.13,48.5,49,49.63,49.13,48.88,49.88,48.75,48.38,48.13,48.13,48.88,50,49.88, +50.25,49,49,49.13,51,50.75,52.25,51.25,52.63,52.63,52,51.5,50.25,52,52, +50.63,50.75,53.38,53.38,53.5,54.5,54.63,55,55.13,56.13,54,55.88,56.88,56.13,55.5, +55.38,55.25,54.38,54.63,54.75,54,51.75,51.13,51.5,50.5,50.63,51,50.25,50.5,51.13, +51.88,53.63,53,52.25,51.75,51,52.5,52.25,52,51,50,49.13,52.88,48.75,46.5, +47,48.25,50.25,48.88,48.25,48.38,49,48,46.75,46.75,48,48.88,50,51.75,50.13, +50.38,50.13,52.88,51.38,51.63,50,51.25,53.13,52.13,53.63,59.88,62.38,61.75,61.63,64, +65.5,67.25,67.37,67.87,67.75,68.37,67.87,65.87,65.37,63.75,62.38,61.38,63,64.12,64.87, +64.75,64.87,65.12,65.62,67.62,66.25,65.37,67.12,69,68.5,67,66,67.37,65.75,67.12, +68.5,68.5,68.75,68.62,69.25,70.12,72.87,73.25,78.37,78.75,78.62,79.37,78.87,79.87,79.12, +78.12,80.25,81,80.37,82.25,82,82.5,83.75,83.37,84.37,83.87,83.37,83.25,84,87, +88.62,87.25,87,86.25,85.87,86.25,87.75,87.5,86.62,87.5,87.37,86.75,87,85.37,85.62, +86.37,86.62,88.25,88.62,88.87,88.37,88.62,88.12,88.37,87.25,88.37,90,92.62,94.75,94.5, +94.87,94.37,94.62,92.62,92.75,92.62,92.75,93.5,93.12,93.25,97,99,98,97.87,98, +97.75,97.75,96.75,98.12,97.12,98.25,97.87,98.62,97.87,96.75,97.62,96.37,95.5,94.75,95, +93.37,92.87,94,92.5,92.5,90.5,90.5,91,90.37,88.62,89.62,90.62,90.62,90.5,91.37, +90.87,90.37,91.25,91.5,91.37,92.37,90.87,91.62,91.37,92.12,93.5,93.75,93.5,94.12,92.75, +94,92.5,92.5,91.25,88.5,88.87,88.12,87.87,89.12,90,89.87,89.62,88.5,88.5,88.75, +89.5,86.12,85.62,85.37,82.62,83.37,82,82.12,83.25,83.5,83.37,83.37,84,85.37,85.12, +85.75,86,85.87,85.87,87.37,88.75,89.25,90.25,87.62,87.87,87.75,86.37,86.75,86.75,88.25, +87.62,86.87,88.37,88,88.37,89.25,89.87,89.75,89.75,90,90,90.5,92.75,90.5,89.75, +89.62,90,90.37,91.75,91.12,90,91.87,92.12,92.75,93.87,93.5,93.62,95.5,92.87,95.25, +96.25,95,95.12,94,90.37,90.75,91.37,92.62,94,92,91,90.25,89,90.12,89.75, +88.37,88.25,88.25,85.87,86,85.62,85.5,86.75,87.75,88.75,88.5,87,85.37,89.37,90, +90.12,91.37,91.75,91.12,93.87,96.62,95.62,95,95.37,95.12,97,96.62,96.87,100,99.12, +98.62,100.25,100.12,101,98.37,96.75,97.25,97,98.37,100.12,99,98.37,98.25,98.25,98, +98.62,100.25,100.25,100,101,103.75,101.87,99.25,100,97.62,97.75,99.12,98.37,99.12,100.87, +102.5,103.62,102.37,104.62,104.5,105.62,104.87,104.25,104.87,105.37,104.5,103.37,102.87,103.62,102.37, +100,101.25,99.5,98.25,98.62,98.37,97.75,95.75,94.75,95.12,95.25,95.12,94.37,95.62,96.12, +96.25,93.25,98.37,98.5,99.37,99,98.87,99.25,99.12,100.37,100.25,100.37,101.5,101,101.87, +101.75,100.5,100.62,101.25,100.75,102.75,101,100,96.62,96.25,99.5,99.5,99,98.87,99.87, +100.37,98,98.12,98.75,98.25,97.62,97.25,98.75,99.12,98.62,99.12,99.25,98.75,100.25,99.75, +99.62,101.37,101.37,101.87,102.75,102.37,102.87,103.12,105.37,105.62,106,104.37,103.62,104.62,105.25, +104.62,104.5,102.25,103.62,104.12,103.62,103.75,105,105.5,103.62,105.87,104.25,102.12,103.37,102.37, +105.5,103.75,102.5,105.5,107.75,108,108.37,108.37,109,108.75,109.25,110,109.62,107,108.25, +111,111.12,111.37,112.75,112.37,114.12,113.62,113.37,112.5,113.87,114,114.37,113.5,111.87,112, +114.75,115,118.75,126.37,127.75,129.25,127,128.88,130,133.13,132.75,134.38,130.63,131.25,128.25, +131.25,130,132.75,134.25,135.63,138,138.25,137.25,135.5,134.88,132.38,131.5,129.88,128.88,130, +128.13,127.25,126.25,126.5,126.62,124.75,124.12,122.5,121.12,120,117.87,119.37,116.75,115.25,115, +107.25,106.87,106.87,107.87,107.62,109.75,110.37,111.37,112.75,112.37,112.87,113.37,113.62,113.25,114, +113.87,114,112.25,113,111.5,110.87,112,114.37,112.87,113,112.25,111.5,115.87,114.12,113.37, +114.5,111.62,112.5,113,113.87,112,113.87,113.25,114.75,114.12,113,113.25,112.5,113,110.87, +108.5,106.5,108,107.87,107.37,107.25,105.37,106.5,106.12,106.5,107.37,109,106.75,107.37,107.62, +105.25,102,99.5,99.37,100.62,101.75,103.75,105.62,108.37,108.75,106.5,107.37,108.25,109.5,107.12, +103.12,105.75,106.5,105.25,106.25,107.62,108.12,107.87,105.25,104.25,104.87,107.75,108.37,106.37,106.5, +101.87,102.87,102.87,101,101.62,103.87,103.5,103.87,103,98.5,96.75,100.75,100.62,102,103, +104.25,105.12,103.62,101.5,103.25,103.5,103,104.62,103.87,109.25,109,111.87,112.37,110.75,112.75, +114.62,114.5,115.87,117.75,120.12,119.62,120.87,122.5,122,120.62,119,118.12,119.25,118.12,117.12, +117.5,118.62,117.5,117.62,118.25,116.87,117.62,116.62,119,118,118.75,118.87,120.25,120.37,121.25, +120.5,120.12,118.62,120.87,121.25,120.37,120.5,119.5,120.5,119.75,120,117,117.62,118.75,117.5, +117.5,115.12,115.87,115.87,115.25,113.87,114.12,113.62,111.37,110.75,110.5,110.5,108.62,109.5,108, +109.5,107,109,109.87,109.25,109.62,109,109.37,109.5,110.87,110.5,110,107.12,106.12,105.25, +105.62,106.25,106.75,106.62,106,105.12,106.37,106,104.25,103.62,105.5,106,107,108.5,108.87, +108.12,107.75,106.62,106.87,107.5,106.5,107,106,106,105.25,104.87,104,103.75,103.62,104.12, +103,102.75,105,102.25,102.62,104.5,104.12,103.37,101.87,102.37,102.87,103.62,100.75,99.62,97.62, +97.87,98.62,98,97.37,97.37,96.12,97.87,95.75,97,98.75,99.75,98,100.37,97.5,97.62, +98.62,99.5,99.5,100.5,99.25,99.87,99,98.75,94.75,94.25,94.87,94.75,95.12,95.25,94.5, +94.87,93.62,94.62,95.25,95.12,96.87,96.12,96.62,98,98.87,99,101.75,97.37,97.62,97.5, +98.5,99.12,100.5,100.25,99.62,99,99.12,97,98,98.37,98.75,98.37,97.87,96.87,97.62, +96.5,98.12,97.87,99.12,100.25,100,100.5,100.25,101.12,101.75,103.25,104.25,104.12,103.5,101.75, +102,98.5,107.37,107.62,108,109.25,107.75,107.5,108.75,106,108.12,109.37,109,111.12,111, +116.75,116.75,116.37,116,116,116.37,115.62,115.62,115.37,117,116.12,115.87,115.87,117,117.62, +117.5,116.87,117.25,116.5,117.75,116,116,113.87,113.87,113.12,115,114.75,115.5,116.25,116.5, +115,118,116.87,118,117.87,116.5,113.37,112.75,114.75,115.5,113.62,113.25,112.5,111.37,113.62, +113.87,112.5,114,115.25,116.12,114.5,114.75,114.75,113.62,115.5,112.37,111.87,112.37,111.75,112.5, +111.75,113.12,114.25,112.5,111.25,110,109.62,109.87,110.25,109.62,108.87,110.37,111.25,109,107.5, +109,109.62,109.75,109.12,110.12,110.5,109.5,108.12,109.62,109.62,109.5,109.5,109.25,111.62,112.25, +110.75,111.37,112.5,110.87,111,109.87,110,109.37,109.12,111.25,110.5,112.25,113.62,113,114.62, +114.62,114.5,114,113.5,112.5,112.62,112.5,112.25,110.75,110.5,110.75,111.87,110.25,109.5,107.75, +107.37,107.12,108,109.25,109,109.62,109.75,110.62,109.5,109.75,108.25,110.37,111.12,115.62,117.37, +117.75,119.25,118.12,118.25,119.62,119.62,121,121.37,120.62,119.75,122.12,121.75,121.25,123.37,122.75, +125.25,125.62,125.87,126.87,124.87,126.62,125.75,125.75,126.37,128.13,126.25,127.25,128,128.75,129.75, +128.75,127.37,126.75,123.12,124.25,122.37,123.5,124,124.87,123.87,123.87,123.62,123.12,122.5,121.12, +122.12,121.62,122.5,122.5,121.5,121.87,123.5,122.5,123,123,123,122.87,123.12,123.87,121.25, +121.25,121.37,120.37,120.25,120.5,119.62,120.62,121.87,120.87,119.5,117.62,118.37,119.25,119.37,116.25, +116.75,117.25,115.5,115.5,115.87,115.75,117.5,117.25,117.25,119,119.75,119.5,119.62,120,120.37, +122.87,123.62,122.87,120.25,120.75,121.25,122.5,123.25,124.62,124.62,122.62,124.25,121.25,119.62,119.87, +117.87,117.75,116.25,116,115.25,113.37,114.12,114.87,115.12,115.37,114,113,112.37,113,112, +113.12,113,112.62,113.75,113.5,114.87,115.75,112.75,114.87,112,111.62,113.25,113.75,111.62,111.12, +113.37,113.62,112.75,111.62,111.75,111.37,111.12,113,114.87,114.75,115.75,115,117.62,118.62,119.37, +121.25,123.62,123.75,123.62,125.5,125.75,126.5,126,124.5,121.75,122.87,122.5,120.62,121.5,123.5, +124.62,125.12,125.62,125.5,125.37,125.37,127.12,126.75,127.25,126.62,129.13,126.37,127.75,127.5,127.75, +125.12,125.25,126.25,123,123,117.87,116.87,117.25,117.75,118.5,119,116.37,115.87,116.37,114.12, +114.25,113.62,112.87,113.12,113,108.25,108.12,108.75,109.5,109,109.75,110.62,108.87,110.25,112.25, +110.5,109.25,108.87,109.87,111,110.5,111.25,111.5,114.75,114.37,113.62,113,113.5,114.37,114, +114.25,112.75,113.25,113.12,114.5,113.62,111.75,114.25,114.87,113.37,112.37,109.5,109.62,107.87,107.87, +107.5,104.62,106.5,108.75,106.75,109.62,110.25,113,113.87,113.5,114.62,115.25,114,115.12,115, +114.25,116.25,117.62,117.75,116.37,116.25,117,117.75,117.87,116.25,114.75,116.25,115.62,115.37,113.12, +112.5,112.75,113.62,112.62,111.25,111.62,109.5,108,107.25,108.75,109,109.87,109.62,112.75,114.12, +113.5,112.12,112.75,110.75,111.37,110.75,110,115,118.87,118.37,115.62,114.5,117.5,116.25,123, +121.75,122,122.5,117,115.5,116.37,116.25,117,119.62,118.87,117,117.12,115.5,119,116, +115.37,110.37,111,111.75,111,109.5,108.25,105.75,110.5,111,112.5,112.25,116.5,118.37,118, +117.12,115,118,118,119,123,122.12,122,119,116,119,123.75,119.5,120.75,122.75, +121,123.87,118.75,118,118,117,118.5,116.5,123,115,135,141,143.38,146.75,151.25, +147,151,152.63,151,155.75,155.5,155,151.25,149.25,152.5,157,156,153.63,155.13,150.63, +156,158.25,157.75,156.63,162.25,162.25,158,158.25,156.75,160.13,162.25,163.25,162.75,168.63,166.63, +166.13,167,168,174.75,174.63,175,173.25,172.5,173.5,173.5,172,170.63,169,167.25,164.63, +163.13,160.25,159.88,159.38,159.5,162,161.13,160.88,162.75,161.38,160.13,162.25,162.75,163.75,165.5, +168.5,168.63,167.13,169.88,167.25,166.63,165.88,165.13,164.63,165.5,164.5,162.88,165.63,165.75,167, +167.38,164.75,163.75,162,160.75,160.63,162.25,159.63,158.25,159,159,160.63,161.63,159.75,160.75, +160.13,158,159.5,161,163.25,161.38,160.25,158.5,158.25,158.25,156.5,161.5,159.75,163.5,167.25, +165.5,162.63,165,165.5,165.75,166.88,164.38,160.13,160,158.5,156,155.5,150.5,153.25,154.5, +156,149,150.25,151.25,151,148.75,147.63,143,147.25,147.25,149.13,150.13,147.25,151.38,149, +153.25,146,154,156.5,152.88,149.88,149,147.63,146,147.88,144.38,144.38,144.75,141.75,144.25, +139.75,138.75,140.38,140.63,138.38,137.75,139.5,140.13,141,142.75,143.13,139.75,139.13,138,139, +134.38,132.63,135,133.38,133.5,135.5,136.88,134.25,133.5,132.75,128.25,128.63,130.75,130,127.87, +126,127.62,122.75,122.25,126,119.62,120.62,118.87,116.12,118,120,122,123.25,122.75,123.87, +122.75,121,121.12,120.5,121.75,121.75,120.75,122.25,124.5,125,126.62,127.5,127.5,125.5,128, +128.38,127,128,126.87,128,128.88,129.88,127.87,126.5,127,127,124.87,123.62,123.25,123.87, +120.37,122.12,120.62,120.25,122.87,124.25,123.25,121.5,120.87,122,124.62,125.5,124,122.12,122.62, +120.37,122.12,121.12,121.87,120.62,121.37,120.87,120.87,120.75,123.37,120.5,121.5,124.5,122.37,127.5, +126.5,133.5,131.25,133,132.63,134.88,134.5,134.25,135.13,137.5,139,138.63,137.25,137.5,136.88, +138.63,136.75,138,139.25,142.5,144.13,145,141,139.5,136.38,135.5,138.88,139.88,139.75,141.38, +139,139,138,139.63,136.88,135.75,133.63,134.5,133.88,133,131.38,129.75,130.75,130.25,130.75, +131.75,130.75,132.63,132.25,131.13,132.5,134.25,133.38,133.5,133.5,131.75,130.75,132.13,132.5,135.88, +138.5,141.13,145,144.25,144.25,143.5,148,150,148.63,146.5,147,147.13,147.63,146.88,145.63, +146.88,145.25,145.88,146.88,148.63,149.88,148.75,149,148.63,146.75,149,150.5,150.38,152.75,152.38, +152.75,152,150.63,148,144.75,143.88,144.88,146.38,145.25,145.25,145.25,147.75,148.88,150.13,149.88, +148.63,150.38,153.25,155.88,154.5,157,156,159.5,161.75,159.88,159,155.75,152.5,154.88,152.88, +154.75,154.5,153.75,152,151.25,151,149.5,152.63,150.5,148.25,149.63,151.38,148,151.88,149.75, +148.5,147.5,148.75,150,150.5,151.75,152.38,150.88,149.75,150.75,148.38,152,149.38,146.5,146, +149,148,152,150.38,156.75,156.38,157.5,158,159.5,160.25,157.13,158.63,156.88,155.75,154.88, +156.75,156.63,155.88,152.5,155.25,153.75,155,151.88,149.38,150.75,151.75,149.75,151,148.13,144.25, +149.38,149.75,149.75,156,153,149.5,149.75,148.25,150.88,148.25,156,154.88,154.63,152.38,154.75, +158.75,156.25,153.88,152.88,153.88,154,154.5,152.63,152.5,153.13,150.38,149.25,148.88,146.63,144.63, +142.38,140.5,141.75,138.88,137.75,139.75,140.75,139.13,139.13,139.5,140.13,139.5,138.13,139,136.88, +136.38,134.88,135.63,134.88,132.88,132.13,132,132.88,132.5,131,129.63,130.75,131,129.63,127.5, +128.38,130.88,129.5,127.75,127.75,128.75,129.25,128,128.38,125.87,124.5,124.37,124.37,124.5,123.37, +123,124.37,126.87,124,124,123.75,126.87,127.87,128.25,127.62,127,126.75,128.38,127.87,127.5, +127.37,127.62,129.5,129.5,128.63,127.5,127.25,126.62,127.5,128,128.5,128.63,126.62,126.87,128.38, +127.75,126.75,125.75,126,127,126.87,127,127.12,128.38,128.5,129.13,131.5,131.38,132.25,131.75, +130.75,129.38,132,130.25,129.13,129.38,129.75,129.13,128.88,128.5,130,126.12,124.25,123.62,123, +121.12,123.12,124.5,124.25,124.37,124.87,123.75,124.37,123.75,122.25,121.75,119.25,118.5,119.37,119.87, +120,120.5,119.5,119.87,125.75,128,127.37,129.88,128.25,130.38,129.25,129.38,127.25,129.5,130.13, +131.38,131.25,132.38,132.75,132.63,132,128.75,128.75,127.87,130.63,130.25,128.88,127.37,125.75,125.12, +125,125.25,125.87,126.37,126.37,126.87,128.75,128.25,129.13,127.5,128,127.62,130,130,129.38, +127.87,127.12,126.5,125.5,124.37,126.87,126.5,127.5,128.38,127,126.87,127,125.62,124.37,128, +128.63,129,129.38,128.63,128.63,129,129.5,131.5,131,129.88,130.5,132.38,135.13,135.38,136.25, +134.5,132.75,134.13,133.38,132.75,133.63,133.5,132,131.5,132.25,134.25,131.75,131.5,137.25,137.25, +135.88,135.25,137.63,135,135.63,136.25,137.5,134.5,133.5,133.13,132.63,129.5,129.25,124.75,123.62, +124.37,124.87,125.25,122.75,123.62,119.87,119.87,120.12,120.37,120,120.37,122.37,123.87,123.12,123.75, +123.75,123.37,122.37,123.25,123,120.25,117.75,117.87,118.75,119.12,118.37,117.12,118.5,117.75,120.25, +120.25,121.25,121.62,122.87,124.87,123.12,122.87,121.5,121.12,120.25,121.62,123.12,123,122.75,123.75, +123.25,125.37,125,127,126.62,125.87,126,125.75,125.5,125.12,124.25,124,126.75,126.25,126.12, +125,127.75,122,120.62,122.37,121.5,120.75,121.75,120.87,122,120.87,122.37,121.75,121.87,122.75, +123.75,125.5,125.25,124.12,123.87,124.37,125.62,125.62,126.37,127.37,126.25,126.87,123.25,122.5,122.75, +121,123.87,123.12,122,123,123,124.75,125.5,125,124,125.12,124.12,126,123.75,123.12, +123.25,122.25,121.12,122.75,120.62,124.25,118.62,120.5,120,120,117.25,113.5,111,109,108.75, +108.37,107.12,105.5,106.37,105.5,106.5,107.37,107.87,107.12,105.75,105,105.25,106.5,107.12,106.12, +105.75,107.25,106.12,105.75,105.25,103.12,104.12,105.12,106,105.5,107,102,102.12,99.37,101, +104,105.12,104.25,105.5,105.5,105.25,105.12,107.62,108.87,107.75,107.62,106.12,107.12,107,107.87, +108.12,108.5,109.25,110.5,111.62,112.87,112.37,110.75,111.87,112.87,114.25,113.25,112.75,114.62,116.37, +116.25,114,113.75,112.75,111.87,110.87,109.75,111.12,110.87,111.87,113,110.87,112.37,108.87,110.25, +110,110,109.25,111.12,111.25,111.12,114.25,113.87,115.5,113.87,112.75,112.12,112.75,114,114.87, +114.12,112.5,114.25,111.37,110.62,110.75,108.62,107.87,107.62,108,111.25,111.5,112,109.75,110.62, +112.5,111.25,109.25,108.87,109.12,109.5,109.75,109.75,111.12,109.5,110.12,109.62,107.75,110.75,109.62, +110,114,113.62,114.25,114.12,114.87,114.87,115.75,117.5,116.5,116.75,118.87,120.75,121,120.37, +119.5,122.12,122.5,122.12,123.5,123.25,123.75,124.5,121.87,122.25,122.75,124.62,124.62,124.37,122.62, +123.62,122.37,121.5,120.87,120,120.87,122.62,123.37,122.62,121,118.75,117.62,118.75,117.87,118.75, +117.75,121.5,119,121,121.12,123.25,125.5,123.12,123.5,124.12,124.62,126.5,127.12,125.37,124, +122.37,121.87,122.12,123.25,126.5,125.5,127.25,128.38,129.13,127.87,128.63,128.88,125.5,129.63,130.38, +128.75,131.5,131.25,133.63,132.75,132.88,133,131.88,132.25,131.13,129.75,129,126.5,128.13,128.88, +128.13,128.38,126.62,125,122.87,123.75,124.37,123.37,121.5,122.87,121.87,121.25,123.25,122.25,122.25, +121.75,120.5,118.62,119.62,117.62,119,117.25,115.62,116.75,118.5,120.75,122.87,121.87,123.37,121.62, +120.75,119.62,118,118.5,117.75,119.37,119.25,119,119.5,120.5,121.12,120.25,121.75,123.25,126.12, +126,123.5,124.94,125.12,122,120.12,120.12,121.62,121.75,120.75,123,121.75,120.62,121.62,119.87, +119.25,120.62,120.5,118.62,121.12,122.75,123.12,123.5,123.5,122.37,121.62,121.75,121.75,118.25,117.25, +115.25,114,113.62,112.62,115.75,114.37,113.5,112.37,111.25,112.5,114.75,115,114.87,113.12,109.75, +110.75,111.87,114.25,114.12,114,115.75,116,116.62,117.12,117.62,115.62,115.25,116.12,115,116, +116.87,116.75,117.12,115.5,115.5,115,115.12,111.75,111.87,110.12,109.87,108.87,107.5,106.62,105.75, +103.25,102.75,102,103.25,101.62,104.75,103.87,102.62,102.12,102.25,102.37,100.25,100.87,100.25,99.12, +99,99.75,100.5,100.5,100.5,101.37,101.5,101.62,102.62,101.75,102.12,102.12,100.75,99.75,100.62, +100.37,98,98.25,98.87,98,99.25,99.62,98.25,96.87,96,94.75,96.25,97.5,96.5,95.62, +96.25,98.12,97.87,97.87,96.87,95.5,95.37,93.25,95.75,97.75,98.62,99.5,100,99.25,98.75, +99.12,97.75,97.62,97.5,97,95.87,94,94.75,96.62,96.87,96.37,95.62,95.12,94,95, +94.37,93.37,93.12,90.37,90.37,93.37,94,93.75,94.25,96,94.87,90.87,88.62,87.87,87.25, +84.5,82.87,83.37,82.25,81.37,81.75,83.62,84,83.5,82.12,82.37,84.37,84.5,85.12,84.75, +83.37,84.37,84.62,83.87,82.25,80.5,79.87,80.5,81.5,80.75,81,83.75,83.37,83,82.37, +79.75,79.75,80.75,82.87,83.25,83,80.25,79.37,77.25,75.37,74,74,74.12,75.5,76.75, +76.37,76.12,76,76.62,75.75,74.12,74.25,74.12,73,73.12,72.12,71.5,72.5,72.87,72.25, +72.87,70.75,70.25,70.37,69.25,68.87,69.75,69.25,68.75,68.62,67.37,66,66.75,64.62,63.25, +62.63,62.5,62.75,63.38,62.88,63.63,64.25,65.87,66.62,66.62,65.87,65,65,65.87,66.25, +66.75,67,68,66.75,66.12,67.12,67,65,64.37,65.87,62,60.75,60.88,60.13,60.38, +60.63,61.13,61,60.88,60.38,60.88,60.63,59.38,59,58.5,58.88,59.63,59.38,59.38,59.63, +58.5,58.13,59,60.13,60.88,61.75,61.88,61.63,61.75,62.13,62,62.25,62.38,62.75,62.5, +62.88,63,63.25,63.88,64,64.12,64.37,64.37,65,65,65,64.87,64.37,64.37,64.37, +64.87,65.25,65.62,65.12,64.37,63.63,63.5,64.37,64.62,64,62.63,62.38,62.25,62.13,61.88, +61.5,61.5,61.5,60.5,60.13,60.13,59.5,59.38,59.63,59.13,59.25,58.75,57.88,58,57.75, +58.13,58.13,57.75,59,59.13,58.38,58.38,58.75,59.25,60.25,61.63,62.13,61.5,62,61.13, +60.63,61.5,62.38,62.75,62.63,61.25,61.38,61.5,62,61.38,62.25,63.5,62.63,62.38,63, +63,64.25,63.75,62.13,62.13,61.63,62,62.38,61.38,61.5,60.75,59.38,58.13,57.63,57.63, +57.75,56.75,56.5,56.5,57.38,57.63,57,56,56.5,57,56.25,56.88,56.63,56.75,55.75, +54.13,53.63,53.38,53.88,54.63,53.88,53.38,53.5,54.63,54,53,53.75,54.5,54.5,52.88, +52.5,50.5,50.63,50.38,50.38,51,51,51.25,52.63,52.5,52.25,52,50.88,51.5,52.38, +52.38,53,52,49.13,49.5,50.75,50.75,50.88,51.13,51.38,51.63,51.5,51.25,52.25,52.5, +53.38,55.13,55.88,55.5,55,54.25,55.13,55,54.25,54.13,53.25,54.88,53.63,54.25,54.5, +54.38,54.88,54,54.13,54.88,55.38,55.88,55.75,54.75,54.13,54,54,54.63,55.75,56, +55.13,55.88,55.38,55.5,55.88,55.88,56.63,57.25,57,56.63,56.75,58,58.25,58.13,58.75, +57.88,57,56.88,57.5,58.25,56.5,56.13,56.38,55.38,55.38,55.5,55,54.88,55.13,55.5, +55.38,55.88,56.63,56.63,56.88,55.88,56.25,56.5,56.63,57,57,56.88,56.88,57.88,57.88, +58.75,59,59.5,59.38,58.13,57.63,57.63,58.5,58.88,59.75,59.63,59,57.88,57.38,58.13, +58.38,58,59.13,59.75,60.25,59.75,58,57.88,56.13,55.5,55.63,56.38,56.63,56.63,56.38, +56.63,56.75,56.75,56.13,57.63,57.38,57.63,57.75,58.25,58.38,58.63,59.63,60.25,61.13,60.63, +60.38,60.38,60.5,61.38,60,59.75,59.13,60,60.75,61.75,60,60,60.38,61,62.13, +62.75,62.38,61.88,61.75,63.13,63.88,62.25,62.88,63.13,63.75,64.75,64.25,64.62,63.25,64, +62.38,62.5,63,61.75,62,61.88,62.5,63.63,64.25,64.5,64.25,62.13,62,60.5,61.25, +62,62,61.75,61.75,62.63,63,63.5,64.25,64,64.5,64.25,63.38,64.37,64.87,64.62, +65.5,65,65,65.25,65.12,65,66.62,66.87,65.75,66.75,66.5,66.75,67.37,67.62,69.5, +70.12,70.25,69.5,67.87,68.62,68,69,68.5,67.25,67.12,64.62,63.75,65.25,66,64.5, +65.75,64.5,63.75,66.12,66.37,67.25,68.37,68,67.87,66.5,68,68.75,69.5,70.37,70.37, +71.62,71.37,72,71.62,71.62,71.25,70.87,67.25,67.25,67.12,66.5,68.12,68,66.75,65.25, +65.5,66.62,66.12,66.5,65.87,67.75,68,68.5,68,68.62,70.37,69.62,70.5,69.25,70.12, +70,68,68,66.5,65.5,64.62,64.12,63.88,64.25,65.87,67.5,66.87,68.12,67,66.5, +67.25,65.62,66.12,65.87,66.37,65.75,66.12,64.25,66.5,66.62,67.5,66.12,65.5,65,65.87, +66.75,67.12,67.37,67.5,66.87,66,66.37,68,68.87,66.75,66.75,66.75,65.25,65.75,65.62, +64.25,64.75,65,65.25,65.37,65.12,65,64.37,64.62,64.87,65.12,66,65.12,65.62,64.25, +63.75,65,62.75,61.63,61.5,61.75,62,61.13,60.63,59.5,58.75,59.5,59.25,59.75,59.38, +58.88,57.88,57.88,59.63,58.88,60.38,58.88,58,58,57.5,56.75,57.13,57.13,58.13,56.5, +56,55.38,54.38,56.13,55.25,54.88,53.88,52.88,52.75,53.38,53,52.5,53,53.25,52.38, +52.13,53.75,54.38,54.88,55.38,54,54.38,54.88,54.88,54.5,55.38,53.75,53.5,53.88,52, +51.25,51.25,51.13,52,53,53.5,54.25,54.63,53.5,53.38,54.88,55.5,54.88,55.75,55.88, +56.38,53,54.75,54.13,56.38,58.13,58.88,59.63,59.13,59.88,60.13,61.25,62.13,61.63,61.13, +61.13,62,63.13,62.75,63.5,63.38,62.13,65,65.12,65.87,66.25,67.12,67.12,67.62,68, +69.37,69.25,66.75,67.25,67.12,68.25,69,69.12,69.37,68.62,70.37,70.37,71,70.12,70.62, +71.25,69,69,69.62,69.25,70,70.12,66.87,67,67.5,66,67.37,63.13,63.38,63.5, +62.5,63,64.25,64.62,64.87,64.87,64,65.12,64.37,64,65.25,65.87,65,65.25,65.62, +66.37,66.62,67.25,65.75,65.5,65,65.12,65.5,65.75,64.5,64.62,62.38,61.75,61.63,61.88, +62,62.38,62.5,62.25,62.75,61.75,61.88,61.5,62,63.13,63.25,63.5,62.38,64,62.5, +62.25,62.13,62.5,62.75,62.5,61.88,62.88,63.25,64.12,65.37,65.75,66.5,67.62,66,67.37, +68.87,68.62,68.25,68.25,67.62,67.62,68.25,68.12,68.62,67.87,69.87,71,67.75,67.87,68.5, +68.37,66.75,66.25,66.5,67.5,67.75,67.62,68.25,68.5,69.87,69.75,69.62,70,70,69.62, +69.62,70.5,70.87,71.62,71.25,71.62,72.25,70.25,70.25,70.37,68.87,69.25,70.37,69.5,68.87, +69.5,70,69.75,69.25,68.5,68.5,69.37,69.12,69.12,69.37,69.5,69.5,69.25,70.37,70, +70,71.5,72.25,73.5,73.62,72.12,72.37,72.37,73.37,73.87,73.62,73,74.25,74.12,73.87, +73,72.62,72.75,74,74.62,75.25,78,77.5,77.37,77.87,77.62,77.87,76.12,76.25,76.37, +303.63,306.38,306.75,306.75,306,309,308.25,307.5,309.5,306.75,305,308,308.38,307.5,309.75, +312,309,309.88,317.5,318,315.63,314.25,310.5,308.88,312,310.25,310,307,308.88,312, +312.5,311.63,311.75,312,320,319,318.5,320.38,317.5,319.5,314.5,315.5,317.75,317.75,319.88, +312.75,314.5,316,316,310.5,310.63,309.38,306.88,307.5,308.5,310,307.75,309,304.75,304.13, +306.13,302.13,301,300,299.13,304,302.5,303.5,305.5,308,306.5,308,305.5,308.13,306.75, +301.75,300.13,299.13,299.75,305.75,306.63,311,308.75,312,311.38,313,312,309.25,311.25,311.5, +306.5,310.75,310.25,309.63,314.63,312.75,311.5,305.38,306,306,305.75,305.13,306.5,304.5,298.5, +304,302.5,306.5,295.25,285,284.38,282.88,270.38,271.88,274.25,274.25,276,278,274.5,276, +278,277.88,274.38,273.38,270.63,265.5,267.5,271.25,269.38,270.5,264,263.75,261.25,261,259.25, +260,259.75,263.63,263.75,265.88,262.25,263.25,268.25,269.38,272.75,265.25,263.5,269.5,272.63,273.75, +275,278,277.13,276,279.75,279,279,286,287,290.5,281.25,283,279.25,279,282, +276.63,280.5,277,277,275,281,280.5,280,284,284.5,286.5,289,289.75,293.5,295, +300.88,299.5,303.38,299.25,300,301,293.88,292,293,292.5,295,297.25,297,297.75,297, +293.38,293.75,295.25,296.75,291.5,288.63,289,287.63,288.75,289.75,286,288.5,285,293,279.13, +281,278.75,276.25,273.5,273,271,270.25,268.13,269.75,266,266,267.5,259.38,258.38,258.75, +260,260.5,258.38,258,256.75,257.25,259.63,261.75,260.88,258.25,262.5,266.38,267,265.88,269.25, +266.25,270,271.13,274.25,266.75,269,268,265.25,266,266,260.75,257.13,258.25,261.13,260.75, +261.25,262.5,262.5,266,262.13,264.5,266,267.25,266.13,262.63,265.25,259.75,260.25,259.63,262.5, +261.13,261.25,266,267,266,261.5,261.75,261.75,261.25,254,253.5,253,251.25,251.13,253.63, +240.5,236.25,239.88,240.5,240.88,240.63,241.38,238.25,236.25,236.25,237.63,238.38,239.63,238.25,239, +239.5,239.25,240.75,243.88,243.25,240.13,242.13,239.25,242.75,244.25,246.13,244.75,241.13,244.25,249, +251.5,251.25,253.75,256.63,256,254.75,255.25,255.25,256,256.25,257.25,257.75,258,259.75,260.13, +260.75,258.5,258.63,260.5,265.5,265.5,266.88,265,264.25,265.88,266,265.38,266.25,267.25,269.25, +269,267.5,266,266.63,266.38,267,268.88,267,266.88,270.75,268.75,268.5,272.75,271,270.25, +270.25,267.5,266.63,264.25,263.13,263.75,264.75,266.25,264.25,263.25,264.5,262.38,261.13,260.5,262.38, +264.5,263,264,262.88,267,268.75,268.5,266.25,261.63,260.25,258.38,257.88,261,258.25,260, +259.5,252.75,251,252,253,250.38,249.63,253.38,257.25,258.88,260.13,260.5,257.25,257.25,258.75, +257.75,256,257.38,258.75,257.88,257.5,255.25,256,257.63,257.25,257.88,257.38,259,262,261, +260.38,259.63,258.25,259.5,257,257.63,256.25,259,255.75,258,262.5,263.13,262.75,262.75,262.75, +265.25,267.75,268.38,268.5,267.5,268.38,266.63,269.5,267.75,267.25,268,270.13,271.25,269.13,268.5, +267.75,267.75,269.25,266,266.13,268.25,265.63,264.25,266.5,269,269,269.25,269.63,268.13,267, +267.5,271.5,273.25,273.25,273,273,274.75,274,270.5,262.13,259.13,259.5,259.13,261.5,259.88, +261.5,261.63,263.88,265.25,264.13,267.13,266,262.38,260.38,259.75,260,257.88,257.25,258.38,258.5, +254.13,251.75,251.25,252.88,252.88,250.5,250.75,247.38,248,246,245.25,249,247.13,247.5,245.38, +249.63,251,254,255.38,253.25,253.25,252.38,252.75,255.25,255.25,256.25,260,262,261.25,260, +258.75,259.75,261.25,259.5,258.25,258,263.25,270,271.13,272,272.5,272,273.75,278,276.63, +276.75,275.5,274.5,275.75,278,276.5,276.63,280.5,279.5,277.5,280.13,282.5,285.5,283.25,283.5, +283.5,284,285.25,284,283.25,284.38,279.63,280.13,280.5,278,278.25,276.75,277,276.13,275.5, +275.5,276,275.75,275,270.5,271.5,272.25,274.25,267.75,269,268,270,270.5,269,271.13, +271.75,276.5,275.25,272.5,268.75,268.25,269.5,271.75,274,273,277.5,275.25,273,270.5,270.5, +269,269,271.25,272,274,274,273,276.5,276.5,280.5,277.25,278.5,277.75,273.5,270.25, +270.38,265.75,265,267.25,268.75,269.88,270,271,271.5,272.75,270.75,273,272.5,270.25,272, +271,271.38,274,272.75,270,271.5,270,270.75,268,263.5,264.25,262,264.5,261,260.25, +259.5,261.75,267.38,268,270.75,271.75,266.5,266,263.5,259.88,256.5,257.25,263.5,263.5,263.63, +262.75,264.5,271.5,271.75,278,278.25,281.25,279.5,279,280,280.5,281.38,281.5,283.88,286.75, +284.5,284.25,285.5,287.75,284.63,284,284,278.25,278,277.63,279.5,278,277.5,280,278.5, +276.38,276.88,273.63,272.25,270,268.88,272,269.5,273.5,273,275.13,279.5,280,279.38,278.25, +277.5,277.38,278.5,274.5,275.25,274.63,275.63,276,271.75,272.13,273,273,272.25,275.5,273.75, +272.5,271,270.5,272,274.25,276.25,276.63,277.63,279.75,278,276.75,278,275,276,274.5, +276.75,276.25,273.63,274.5,275.25,272,268.75,270.5,266.5,269,263.63,259,260.25,259,255.5, +253.75,253,253.38,253,256,257.5,254,256.5,253.5,250,251,249.75,253,257,253.75, +253.5,253,252.25,255,257,256.5,258,252.25,249.63,250,251.5,249.25,252.75,253.5,256, +255.88,259.25,258.63,260,260.5,261.25,259.25,256.5,255.5,262.88,261.63,267.88,268.25,269,269.75, +272,268.25,261.75,262,260.5,260.25,259.5,258.5,261.75,262,258.25,258.75,258,258.13,261.88, +259.63,261.25,265.75,261.75,259.25,260,258.5,256.25,259.25,259.25,259.25,255.63,256,260,262.5, +261,262,262,258.5,253.13,254,252.5,255.25,258,253.5,254,257.25,263.25,261.25,259.25, +257.75,257.63,251,249.88,254.25,254.25,250,247.5,252.5,250,242.88,239.63,241.25,234.25,235.75, +231.25,230.38,228.5,229.38,230,226.5,224.25,223.5,222.5,223.25,221.38,221.13,216.25,217.75,219.5, +219.75,219.88,216.75,215.63,214.75,217.5,215.88,215,214.63,220.13,219,219.63,224.13,226.38,225, +224.63,222.25,221.75,221,219.63,220.38,225,223.13,221.38,224.75,220.5,217,216.25,217,215.75, +213.5,211.63,212.25,211.13,211,214.25,211.88,209,214.75,213.25,212.88,212.5,208,209.38,208.75, +208.5,210.5,206,205.25,206,201.25,201,200.13,189,183.75,188.25,190.75,195,192.13,191, +190.5,186.5,189.25,186.25,180,178.63,179.88,180,181.25,180,179,183.5,180,182,182.75, +181.25,186.25,186.25,181.5,178.25,181.75,180.25,177.75,176.5,178.13,182,182.25,179.75,177.75,182, +183.5,180.13,183,185.75,184.38,187.75,189.25,190.25,194.88,192,190.63,190.5,194.25,193,197.5, +199.25,201.88,201.88,204.63,206.75,208,205.5,204.75,209.25,206.75,204,206.5,206.88,207.5,209, +209,209.25,210.5,211.5,213,206.38,208.38,204.25,203.5,208.25,206.13,208.5,210.25,211.5,212, +213.5,217.63,216.63,218.5,218,217,213.5,213.38,216.13,218.88,214.25,212.75,216,219,216.63, +217.5,223.5,223.5,216.25,215.25,210.5,211.5,209.75,213.75,207.63,209.25,209.88,202.25,202.5,206, +206.88,208,211.75,213.75,210.25,212.5,212.75,209.5,209.5,205,206.25,209.5,202.25,198.75,198, +198,203.75,206.13,206.63,207.5,209.88,210,204.63,206.25,209.5,214.5,214.75,218.75,215.75,217, +213,215.5,219.5,217,219.25,215.38,214.5,220,216,212.25,212,207.5,209.75,217.75,217.75, +217.75,212,220.13,215.5,213.25,201.63,198.63,198.25,196,199.88,191.75,193,188.25,183.25,187.25, +179.75,179.25,162.88,163,163.5,159.63,160,158.13,160.75,163.5,168.25,169.25,171.25,169.63,163.25, +165.75,166.5,167.5,168.88,168.25,166,162.25,165,167.38,166,169.5,169,170,171.63,165.25, +167.25,169.5,171.75,172,170.25,164.5,165.75,169.75,168.13,170.5,175.5,178.25,177,174,170.5, +171.5,168.5,169.5,173.88,177.5,182.13,184.75,185,189.88,190.5,187.25,185.5,195.88,189.5,191.25, +189.13,193,191.75,184.25,177.25,181.25,181.25,185.5,192.5,184.25,182.5,177.13,177.25,179,178, +176.13,175.38,162,164.13,159.25,157.75,159.5,160.25,159,159.5,164,164,166.75,168,171.5, +170.5,169.25,161.88,161.75,152,156.5,165,171.5,173,178.5,182.25,180,180,192,190.25, +191.25,192,193.5,190,192.75,192,199.75,196.75,196.75,200,200,202,203,208.5,208.5, +214.75,208.75,207,200.88,201.75,201.63,207.5,203,203.5,214.5,221,222.25,221,217.75,217, +217.75,213.75,216,215.5,203.25,197.75,201.75,199,202.25,209.13,211.5,212.75,212.75,212,215, +220.5,215.75,213,213.75,216.5,216,218.75,222,226.75,225,226,229,229.25,228.75,220.38, +220.5,219,212.5,214.5,210.63,217,218.75,216.25,216.13,217.5,218.25,218.25,219.75,222.38,223, +221.75,224,230.5,226,228.13,224.25,224.5,228.75,230,227.25,224.5,225,222,222.5,227.25, +230.38,231.63,233.75,234.25,234.25,231.25,229.5,230.25,233,230.75,233.5,236.5,239.25,235,231.63, +235.75,239.75,242.5,249,248,243.5,243,246.25,245.75,247.5,249.25,248.75,250,249.5,246.5, +240.5,239.75,244.25,241.75,238.25,236,237.88,237,237.75,235.75,236.5,237,235.75,231.75,233.5, +227.5,229.25,228.25,228,233.13,236.25,237.25,236.75,237,240.75,244.5,246.25,245.25,244.25,247, +246.5,248,249.75,245,245,250.75,247.25,239.13,237,240,232,227.75,228,227.25,230.75, +238,242.75,246.75,249.25,255,251.5,243.5,239,243,250.75,249.5,240,244.5,251.5,250.63, +251.5,263,265,260.75,253.25,255.25,258.5,264.75,266,269.25,264.5,266,269.5,276.25,272, +274.75,284.5,280.25,286,289.75,287,278.38,282,282,276,276.75,279,281.25,280.25,278.5, +284.75,285.5,289,287.5,286,280,288.25,289,283.25,281.88,279.25,280.25,281,277.5,270.5, +261.75,259.5,252.5,248.5,254,257.5,257.75,260,260.5,260.5,253,260,264.5,270.75,266, +261,285.13,292.25,290.5,286.25,291.5,296,298.25,297.75,296.88,300.5,303,304.25,304,304.5, +298.25,299.25,298,297.75,299.75,300.5,300.5,302.5,299.75,301.5,301.25,303.5,304,306,310.75, +311.5,312,311.5,314.5,320.75,318,318.75,319,314,312.75,315,315,314.25,310,319, +310,313.75,319,315,308.25,300.25,300,298.5,304,314,319.5,313.25,312.75,308.75,314.13, +315.5,319,318,314,317,319.75,328.5,329.25,323.25,324.25,322,318.5,317,309.75,310, +314,319,323.5,328.5,400.5,390,390,388.5,386.75,395,400,400,396.13,403.5,409.5, +414,422,417,419,424,415.38,411.5,411.5,405.25,409.75,407.5,409.75,423.5,428.25,432, +425,425.25,429.75,430.75,430.25,434.25,429.75,423.5,423.25,423,424.25,428,431.5,437.5,434.5, +437.5,432.5,428,425.5,428.88,437.75,437.88,442.88,444,448.75,444.75,442.5,440.75,440.5,441, +438.5,438.75,442,427,431.5,423,431,433.5,442.5,443.75,447,443,441.5,445.63,450.75, +451,446.5,437.75,438.5,438.5,431,429.75,429,435.5,437.75,441.5,437.75,436,444.25,436, +439,428.88,427,422.5,423.25,422.75,417.25,412,415.5,418.75,418.75,412.75,409.25,409.25,404.5, +399,392.25,391.5,385.5,389.5,390,393.75,397.5,396,396.25,399,403.75,403,397.25,397, +398,400,399.25,391,387,382.25,385.5,387.25,394,387.25,385.25,384,385,384.25,388, +378.75,373.25,371.5,376.25,381,387.88,390.88,389.5,386,381,378.75,378.25,383.5,388.75,390.5, +389,378.5,379,374.5,364.5,379,383.5,388.5,394,400.25,401.5,395,403.25,406.75,405.25, +406.5,404.25,405.75,398.25,398.25,398.25,399.5,400.5,397,397,397,399.5,398,395,396.5, +397.75,399.5,401.25,404.75,406.25,408.5,408,408.75,404.25,406,407.25,413,412.75,411,411.5, +413.25,416,420.25,422.75,425.5,423.5,423.5,418.25,417.75,416,415.25,409,410,402,398.25, +397,394.5,398,398.75,398,390.75,390,390,388,393.25,391.75,395.75,397,399,404, +403.75,403,396.5,393,392,390.63,392.25,392.25,393.5,395.75,396,397,396.5,398.75,397.5, +399.75,395,387.75,391,392.75,395.25,393,394.5,397.5,399,399,396,403.25,404,403, +402,401,398.5,394.5,390,383.75,386.5,384.5,383.5,383.75,379.25,385.75,387,384.5,379, +380,382.5,386,381.25,381,381.5,383.5,385,387.75,390.75,395.75,395.25,395,394.25,397.5, +391.75,390.5,390,391,392,389,385.5,382.25,380,383.63,385,382.75,382.25,379,377, +376.88,377,373,373,372,373.25,377.75,382,382,383.75,380,377.5,376.25,374.25,369.5, +367,371.75,365.5,369,368.5,368.75,367.75,369.38,369.75,369,372.75,372,373.75,372.25,369, +369.75,372.25,373.5,369,368,368.25,368.25,368.75,366,360.5,366,363.5,360,349.5,349.5, +350,342.5,341.25,342,338.25,338.75,341,341,340,333,336.5,335,337,339.25,333.5, +336,339.75,345,341.5,341,339,334.25,320,324.25,324.5,317.75,313.5,317,313.25,320.75, +309.5,309.75,306.5,302.25,299.25,291.75,290.5,291.75,293.5,294.75,301,301.75,294.25,294.25,292.25, +296,299,299.25,300,300,303,297.5,292.38,300,298.25,297,299,302,301.63,304, +305,308.5,306.25,308.75,307.75,309.25,313.63,305.75,304.75,308.5,309,307.75,306.5,306,304.25, +302.75,304.25,303.88,304.5,305,307.75,306,304,302.25,301,302.5,299.75,300,304,305.75, +310.5,310,310,299.75,301.5,304,307.5,315.5,314,314.75,318.25,315,311.25,307,310, +315,314,313.5,296.5,294,286.5,284,285.5,287,287,290,293.75,292.75,296.75,299.5, +292.75,296,298,299.5,301.75,299.5,298.5,294.5,298,300,301,314.5,316,311.25,311.5, +316.5,317.5,317.75,317,315.5,311.88,311.25,312,315.25,314.75,314,315.5,320.13,323.5,321.5, +318.63,323.5,323.5,318.75,312.5,317.75,323.75,322.25,326.5,328.75,327.5,333,337.25,337,340, +343,347.5,342,338,334,335.5,339,342.5,342.25,344.75,347,349.5,353,353,353.25, +355,361.25,361.25,358.75,356,355,352,352.5,355.75,354,353,353.75,358.75,358,357, +356.75,361,361.13,360.75,358,356,357.5,357,356.5,358,356.25,355,355.75,358.5,360.63, +361,363.5,362.5,363.25,354,347.75,348.75,349,348.5,345.5,341.25,338.25,338,338.5,336.5, +334,338.25,336,330.5,328.25,329.25,336.5,340.38,339.5,338.75,337.25,338,340.75,336.5,330.5, +328.63,327.75,327.25,325.5,318.25,321,326,323,321.75,316.13,314.75,312.75,311.75,311,314.5, +315.63,315.75,312.5,314,316.25,318,316.25,313,316.75,319.5,320.25,318.5,316,312.75,316, +317.25,315.5,313,313,311,310.75,316.75,317.5,317.25,316.25,316,311.75,311.5,314,308, +307.25,308.5,299,300,299,297,291,290.5,292.5,293.25,293.13,296,297.25,299,298.25, +295.25,292.63,296.25,296.25,299.75,294,297,297,291,289.75,294.75,288.75,288.88,291.13,284.5, +286.75,293,291.5,292,290.25,294.75,298.25,305,307,307,300.5,297.75,291.75,291.75,290, +288.5,288.5,282,273.75,275.25,280.25,277.25,273,266.38,266,268.75,268.25,270.75,275,272, +269.75,265.75,263.88,265.25,269.5,265.25,263.75,264,262.75,254,244.75,239.75,239.75,235.5,229.88, +225,230,235.75,239.75,245.5,248.5,249.75,250.25,249.25,251.88,253.25,252.5,252.75,253.25,253.75, +256,254,257.75,258,259.5,255.75,252.25,251.25,247.75,250.25,254.25,252.5,243.5,244.5,250.38, +254,250,257.5,257.5,258,256.75,257.13,268.5,270.25,272,265.75,271,259.13,259,259.25, +262.25,268.25,266.25,270,271.25,281.25,283,286.5,278,267,259,245,241,247.25,245.5, +245.75,255.5,268.5,270.75,268.5,274.5,278.75,285.5,289.5,289.75,287.5,283,283,294.63,298, +300.25,290.25,299.75,309,309.63,313,319.63,324.5,323,320.75,323.25,324.75,326.5,331,325.75, +325.5,320,320.5,323.5,330.75,337,338.5,336.75,334.25,333,329.5,322,319.75,322.38,322.25, +322.5,320,321.75,328.75,328.5,326.5,318.5,320,329.13,329.75,333.25,335.5,340.25,344.25,345, +344.5,348.5,352,352,349.75,349.25,349,352,355,348.75,349.75,346.5,338.75,339.5,343.25, +343,337,335.19,341,345.25,345.75,354,356,355,356.5,350,355.13,381.5,375,374.13, +367.75,369,369.5,368.75,368.5,368.25,366,364.5,362,358.25,361,355,354,360,366, +360.5,351.5,353.25,358,359,356.25,355.5,356,355.5,357,357,355.13,356,359.5,358.5, +351.75,346.75,345.75,350,354.5,357.25,363.25,362.5,363,364.5,365.75,367.75,366.75,365,361.75, +360.5,359.5,359.5,360,359.5,356.25,360,363.5,364,358.75,355.5,357,353.25,351,351.75, +354,353.75,347.25,346.5,347,341.5,345.75,348.5,344.75,344.5,343.5,345.25,346.25,346.5,347.75, +356,357.25,358.5,352.5,349.25,347,346.75,344,345.5,343.5,346.5,340,335.25,337.5,340.25, +340.75,343.5,345,348,343.5,341.5,341,346.5,349,346.88,342,341.25,339.5,338.75,335, +330.5,329.25,333.5,333.75,336,335.25,327.5,329.5,326,320,313,313.13,316.25,317,320.25, +318.25,323,326,328.5,325.5,321.5,331.5,327,333.5,335.5,345,351.25,348,339.5,337.75, +332.5,329.75,320.5,325.5,319.5,312.25,314,314.25,314.25,313.5,313,309.5,309,310.25,312.25, +314.25,318,319,318,319.5,319,321.75,322.25,327,327,322.75,322.5,319.75,323.75,329, +330,332.5,331.5,326.5,327,329.75,329,331.5,327.75,326.75,325.5,328,327.25,324.5,318, +315.5,311.5,312.5,308,308.25,306.75,308.75,310.5,310,312,313.75,312,307,307.25,309, +311,313,314,311.5,309.5,308,306.5,305.5,305.5,303.5,300,301.75,295.75,294.75,299.63, +303,303.5,299.75,299.75,302.5,299,296,293.38,296,298,296.25,296.75,295.5,295.5,300, +300,306.5,310.25,306.5,303.5,300.25,297.25,296.75,296.25,295,296.25,296.5,296.25,299.75,299.75, +299.75,300.5,303,303,300,300,312.75,310,308.5,300,303.75,310,307.5,304.25,302.5, +307.5,312,315,314,318,319.75,321,319.25,321.88,326,319.75,316.5,316.5,319.75,327.5, +327,326,328.25,330,329,333.75,334.5,330.25,328,327.75,326,325,322.5,327,325.5, +324,320,317,316,310,315,309,308,307.5,313.5,316.75,317.5,323.5,327,327, +321.25,315.5,318.5,325,327.75,330.75,330.25,331,325,326.75,330.5,332.25,335.5,337,337, +331,334,336.75,336,337.5,337.25,337,338,340.5,339.75,339,337,335,337.5,338, +340,338.5,343.5,344.5,344.75,341,339,343.25,338.75,335.25,335.5,338,335.5,336,336.5, +338.75,331.5,332,335.5,343.75,342,345,353,355,356.5,355,358,362.5,364.75,361, +352,351.5,353.75,359.75,356.25,349,358,358.5,351.5,346.5,358,359,370,370.75,370, +368,366,369.75,375,369,349,337,332.5,330,329.5,328.25,330,324.88,325,328.25, +334.5,335.25,335,338.5,341.25,343.5,343.88,343,344,348,346.5,339.5,335,329.5,328, +326.5,327.5,327.5,636.5,640,643,644.5,647,649,641,642,631.5,637.5,638.5,635, +631,625.5,602.25,598,595,590,585.5,580,586.75,584,590.75,590.75,573.5,586.13,594.5, +593,580.5,582,587.5,569.75,562,573.75,580,586,594,587.5,589.75,597.25,596,586, +577,579,586,572,571,575.5,591.5,588.5,591.5,594.5,599.5,594.5,606,612.5,618.5, +618,614,623,607,619,621.5,619,616,623,618,612,605.75,599.25,597.75,594, +590.5,601.75,613.5,627,624.5,625,617,613.5,622,625,619.5,618,632.5,646,644, +641,645.5,644.5,641,637,629,630,620,612,614 }; diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_regtest.c b/vendor/ta-lib/src/tools/ta_regtest/ta_regtest.c new file mode 100644 index 000000000..d7ccaa21d --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_regtest.c @@ -0,0 +1,296 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 063001 MF First version (initial framework only). + * 090404 MF Add test_candlestick + * 110206 AC Change volume and open interest to double + * 122506 MF Add MININDEX,MAXINDEX,MINMAX and MINMAXINDEX. + */ + +/* Description: + * Perform regression testing of the TA-LIB. + */ + +/**** Headers ****/ +#ifdef WIN32 + #include "windows.h" +#endif + +#include +#include +#include +#include + +#include "ta_test_priv.h" +#include "ta_test_func.h" +#include "ta_utility.h" + +/**** External functions declarations. ****/ +/* None */ + +/**** External variables declarations. ****/ +/* None */ + +/**** Global variables definitions. ****/ +int nbProfiledCall; +double timeInProfiledCall; +double worstProfiledCall; +int insufficientClockPrecision; +int doExtensiveProfiling; + +/**** Local declarations. ****/ +/* None */ + +/**** Local functions declarations. ****/ +static ErrorNumber testTAFunction_ALL( void ); +static ErrorNumber test_with_simulator( void ); +static void printUsage(void); + +/**** Local variables definitions. ****/ +/* None */ + +/**** Global functions definitions. ****/ +int main( int argc, char **argv ) +{ +#ifdef WIN32 + LARGE_INTEGER QPFrequency; +#endif + double freq; + + ErrorNumber retValue; + + (void)argv; + + insufficientClockPrecision = 0; + timeInProfiledCall = 0.0; + worstProfiledCall = 0.0; + nbProfiledCall = 0; + doExtensiveProfiling = 0; + + printf( "\n" ); + printf( "ta_regtest V%s - Regression Tests of TA-Lib code\n", TA_GetVersionString() ); + printf( "\n" ); + + if( argc == 2 ) + { + /* Detect option to perform extended profiling. */ + if( (argv[1][0] == '-') && (argv[1][1] == 'p') && (argv[1][2] == '\0')) + { + doExtensiveProfiling = 1; + } + else + { + printUsage(); + return TA_REGTEST_BAD_USER_PARAM; + } + } + + if( argc > 2 ) + { + printUsage(); + return TA_REGTEST_BAD_USER_PARAM; + } + + /* Some tests are using randomness. */ + srand( (unsigned)time( NULL ) ); + + /* Test utility like List/Stack/Dictionary/Memory Allocation etc... */ + retValue = test_internals(); + if( retValue != TA_TEST_PASS ) + { + printf( "\nFailed an internal test with code=%d\n", retValue ); + return retValue; + } + + /* Test abstract interface. */ + retValue = test_abstract(); + if( retValue != TA_TEST_PASS ) + { + printf( "Failed: Abstract interface Tests (error number = %d)\n", retValue ); + return retValue; + } + + /* Perform all regresstions tests (except when ta_regtest is executed for profiling only). */ + if( !doExtensiveProfiling ) + { + retValue = test_with_simulator(); + if( retValue != TA_TEST_PASS ) + return retValue; + + if( insufficientClockPrecision != 0 ) + { + printf( "\nWarning: Code profiling not supported for this platform.\n" ); + } + else if( nbProfiledCall > 0 ) + { + printf( "\nNumber profiled function call = %d function calls", nbProfiledCall ); + +#ifdef WIN32 + QueryPerformanceFrequency(&QPFrequency); + freq = (double)QPFrequency.QuadPart; + printf( "\nTotal execution time = %g milliseconds", (timeInProfiledCall/freq)*1000.0 ); + printf( "\nWorst single function call = %g milliseconds", (worstProfiledCall/freq)*1000.0 ); + printf( "\nAverage execution time per function = %g microseconds\n", ((timeInProfiledCall/freq)*1000000.0)/((double)nbProfiledCall) ); +#else + freq = (double)CLOCKS_PER_SEC; + printf( "\nTotal execution time = %g milliseconds", timeInProfiledCall/freq/1000.0 ); + printf( "\nWorst single function call = %g milliseconds", worstProfiledCall/freq/1000.0 ); + printf( "\nAverage execution time per function = %g microseconds\n", (timeInProfiledCall/freq/1000000.0)/((double)nbProfiledCall) ); +#endif + } + printf( "\n* All tests succeeded. Enjoy the library. *\n" ); + } + + + return TA_TEST_PASS; /* Everything succeed !!! */ +} + +/**** Local functions definitions. ****/ +static ErrorNumber test_with_simulator( void ) +{ + ErrorNumber retValue; + + /* Initialize the library. */ + retValue = allocLib(); + if( retValue != TA_TEST_PASS ) + return retValue; + + /* Perform testing of each of the TA Functions. */ + retValue = testTAFunction_ALL(); + if( retValue != TA_TEST_PASS ) + { + return retValue; + } + + /* Clean-up and exit. */ + + retValue = freeLib( ); + if( retValue != TA_TEST_PASS ) + return retValue; + + return TA_TEST_PASS; /* All test succeed. */ +} + +extern TA_Real TA_SREF_open_daily_ref_0_PRIV[]; +extern TA_Real TA_SREF_high_daily_ref_0_PRIV[]; +extern TA_Real TA_SREF_low_daily_ref_0_PRIV[]; +extern TA_Real TA_SREF_close_daily_ref_0_PRIV[]; +extern TA_Real TA_SREF_volume_daily_ref_0_PRIV[]; + +static ErrorNumber testTAFunction_ALL( void ) +{ + ErrorNumber retValue; + TA_History history; + + history.nbBars = 252; + history.open = TA_SREF_open_daily_ref_0_PRIV; + history.high = TA_SREF_high_daily_ref_0_PRIV; + history.low = TA_SREF_low_daily_ref_0_PRIV; + history.close = TA_SREF_close_daily_ref_0_PRIV; + history.volume = TA_SREF_volume_daily_ref_0_PRIV; + + printf( "Testing the TA functions\n" ); + + initGlobalBuffer(); + + /* Make tests for each TA functions. */ + #define DO_TEST(func,str) \ + { \ + printf( "%50s: Testing....", str ); \ + fflush(stdout); \ + showFeedback(); \ + TA_SetCompatibility( TA_COMPATIBILITY_DEFAULT ); \ + retValue = func( &history ); \ + if( retValue != TA_TEST_PASS ) \ + return retValue; \ + hideFeedback(); \ + printf( "done.\n" ); \ + fflush(stdout); \ + } + DO_TEST( test_func_1in_1out, "MATH,VECTOR,DCPERIOD/PHASE,TRENDLINE/MODE" ); + DO_TEST( test_func_ma, "All Moving Averages" ); + DO_TEST( test_func_per_hl, "AROON,CORREL,BETA" ); + DO_TEST( test_func_per_hlc, "CCI,WILLR,ULTOSC,NATR" ); + DO_TEST( test_func_per_ohlc, "BOP,AVGPRICE" ); + DO_TEST( test_func_rsi, "RSI,CMO" ); + DO_TEST( test_func_minmax, "MIN,MAX,MININDEX,MAXINDEX,MINMAX,MINMAXINDEX" ); + DO_TEST( test_func_po, "PO,APO" ); + DO_TEST( test_func_adx, "ADX,ADXR,DI,DM,DX" ); + DO_TEST( test_func_sar, "SAR,SAREXT" ); + DO_TEST( test_func_stoch, "STOCH,STOCHF,STOCHRSI" ); + DO_TEST( test_func_per_hlcv, "MFI,AD,ADOSC" ); + DO_TEST( test_func_1in_2out, "PHASOR,SINE" ); + DO_TEST( test_func_per_ema, "TRIX" ); + DO_TEST( test_func_macd, "MACD,MACDFIX,MACDEXT" ); + DO_TEST( test_func_mom_roc, "MOM,ROC,ROCP,ROCR,ROCR100" ); + DO_TEST( test_func_trange, "TRANGE,ATR" ); + DO_TEST( test_func_stddev, "STDDEV,VAR" ); + DO_TEST( test_func_bbands, "BBANDS" ); + DO_TEST( test_candlestick, "All Candlesticks" ); + + return TA_TEST_PASS; /* All tests succeeded. */ +} + +static void printUsage(void) +{ + printf( "Usage: ta_regtest [-p]\n" ); + printf( "\n" ); + printf( " No parameter needed for regression testing.\n" ); + printf( "\n" ); + printf( " This tool will execute a series of tests to\n" ); + printf( " make sure that the library is behaving as\n" ); + printf( " expected.\n"); + printf( "\n" ); + printf( " ** Must be run from the 'bin' directory.\n" ); + printf( "\n" ); + printf( " OPTION:\n" ); + printf( " -p Only generate profiling data on stdout. This is\n" ); + printf( " intended only for the TA-Lib developers. It is\n" ); + printf( " not further documented for general use.\n" ); + printf( "\n" ); + printf( " On success, the exit code is 0.\n" ); + printf( " On failure, the exit code is a number that can be\n" ); + printf( " found in c/src/tools/ta_regtest/ta_error_number.h\n" ); +} diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_test_func.h b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func.h new file mode 100644 index 000000000..acdbdd472 --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func.h @@ -0,0 +1,27 @@ +#ifndef TA_TEST_FUNC_H +#define TA_TEST_FUNC_H + +ErrorNumber test_candlestick ( TA_History *history ); +ErrorNumber test_func_adx ( TA_History *history ); +ErrorNumber test_func_ma ( TA_History *history ); +ErrorNumber test_func_trange ( TA_History *history ); +ErrorNumber test_func_rsi ( TA_History *history ); +ErrorNumber test_func_po ( TA_History *history ); +ErrorNumber test_func_macd ( TA_History *history ); +ErrorNumber test_func_stddev ( TA_History *history ); +ErrorNumber test_func_bbands ( TA_History *history ); +ErrorNumber test_func_mom_roc ( TA_History *history ); +ErrorNumber test_func_stoch ( TA_History *history ); +ErrorNumber test_func_minmax ( TA_History *history ); +ErrorNumber test_func_per_ema ( TA_History *history ); +ErrorNumber test_func_per_hl ( TA_History *history ); +ErrorNumber test_func_per_hlc ( TA_History *history ); +ErrorNumber test_func_per_hlcv( TA_History *history ); +ErrorNumber test_func_per_ohlc( TA_History *history ); +ErrorNumber test_func_per ( TA_History *history ); +ErrorNumber test_func_sar ( TA_History *history ); +ErrorNumber test_func_1in_1out( TA_History *history ); +ErrorNumber test_func_1in_2out( TA_History *history ); + + +#endif diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_1in_1out.c b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_1in_1out.c new file mode 100644 index 000000000..ea6eaf677 --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_1in_1out.c @@ -0,0 +1,507 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 020203 MF First version. + * + */ + +/* Description: + * + * Test functions which have the following + * characterisic: + * - have one input and one output + * - there is no optional parameters + */ + +/**** Headers ****/ +#include +#include + +#include "ta_test_priv.h" +#include "ta_test_func.h" +#include "ta_utility.h" +#include "ta_memory.h" + +/**** External functions declarations. ****/ +/* None */ + +/**** External variables declarations. ****/ +/* None */ + +/**** Global variables definitions. ****/ +/* None */ + +/**** Local declarations. ****/ +typedef enum { + TA_HT_DCPERIOD_TEST, + TA_HT_DCPHASE_TEST, + TA_HT_TRENDLINE_TEST, + TA_HT_TRENDMODE_TEST, + TA_SIN_TEST +} TA_TestId; + +typedef struct +{ + TA_Integer doRangeTestFlag; + + TA_TestId theFunction; + TA_Integer unstablePeriod; + + TA_Integer startIdx; + TA_Integer endIdx; + + TA_RetCode expectedRetCode; + + TA_Integer oneOfTheExpectedOutRealIndex0; + TA_Real oneOfTheExpectedOutReal0; + + TA_Integer expectedBegIdx; + TA_Integer expectedNbElement; +} TA_Test; + +typedef struct +{ + const TA_Test *test; + const TA_Real *price; +} TA_RangeTestParam; + +/**** Local functions declarations. ****/ +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ); + +/**** Local variables definitions. ****/ + +static TA_Test tableTest[] = +{ + /********************************/ + /* Some Hilbert Transform Tests */ + /********************************/ + { 1, TA_HT_TRENDMODE_TEST, 0, 0, 251, TA_SUCCESS, 0, 1.0, 63, 252-63 }, /* First Value */ + + { 1, TA_HT_TRENDLINE_TEST, 0, 0, 251, TA_SUCCESS, 0, 88.257, 63, 252-63 }, /* First Value */ + { 0, TA_HT_TRENDLINE_TEST, 0, 0, 251, TA_SUCCESS, 0, 88.257, 63, 252-63 }, + { 0, TA_HT_TRENDLINE_TEST, 0, 0, 251, TA_SUCCESS, 252-66, 109.69, 63, 252-63 }, + { 0, TA_HT_TRENDLINE_TEST, 0, 0, 251, TA_SUCCESS, 252-65, 110.18, 63, 252-63 }, + { 0, TA_HT_TRENDLINE_TEST, 0, 0, 251, TA_SUCCESS, 252-64, 110.46, 63, 252-63 }, /* Last Value */ + + { 1, TA_HT_DCPHASE_TEST, 0, 0, 251, TA_SUCCESS, 0, 22.1495, 63, 252-63 }, /* First Value */ + { 0, TA_HT_DCPHASE_TEST, 0, 0, 251, TA_SUCCESS, 252-66, -31.182, 63, 252-63 }, + { 0, TA_HT_DCPHASE_TEST, 0, 0, 251, TA_SUCCESS, 252-65, 23.2691, 63, 252-63 }, + { 0, TA_HT_DCPHASE_TEST, 0, 0, 251, TA_SUCCESS, 252-64, 47.2765, 63, 252-63 }, /* Last Value */ + + { 1, TA_HT_DCPERIOD_TEST, 0, 0, 251, TA_SUCCESS, 0, 15.5527, 32, 252-32 }, /* First Value */ + { 0, TA_HT_DCPERIOD_TEST, 0, 0, 251, TA_SUCCESS, 252-33, 18.6140, 32, 252-32 }, /* Last Value */ + + /*********************************/ + /* Trigonometric and Vector Math */ + /*********************************/ + { 1, TA_SIN_TEST, 0, 0, 251, TA_SUCCESS, 0, -0.38371, 0, 252 }, /* First Value */ + { 0, TA_SIN_TEST, 0, 0, 251, TA_SUCCESS, 251, 0.870319, 0, 252 } /* Last Value */ + +}; + +#define NB_TEST (sizeof(tableTest)/sizeof(TA_Test)) + +/**** Global functions definitions. ****/ +ErrorNumber test_func_1in_1out( TA_History *history ) +{ + unsigned int i; + ErrorNumber retValue; + + for( i=0; i < NB_TEST; i++ ) + { + /* Re-initialize all the unstable period to zero. */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 0 ); + + if( (int)tableTest[i].expectedNbElement > (int)history->nbBars ) + { + printf( "Failed Bad Parameter for Test #%d (%d,%d)\n", + i, tableTest[i].expectedNbElement, history->nbBars ); + return TA_TESTUTIL_TFRR_BAD_PARAM; + } + + retValue = do_test( history, &tableTest[i] ); + if( retValue != 0 ) + { + printf( "Failed Test #%d (Code=%d)\n", i, retValue ); + return retValue; + } + } + + /* Re-initialize all the unstable period to zero. */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 0 ); + + /* All test succeed. */ + return TA_TEST_PASS; +} + +/**** Local functions definitions. ****/ +static TA_RetCode rangeTestFunction( TA_Integer startIdx, + TA_Integer endIdx, + TA_Real *outputBuffer, + TA_Integer *outputBufferInt, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Integer *lookback, + void *opaqueData, + unsigned int outputNb, + unsigned int *isOutputInteger ) +{ + TA_RetCode retCode; + TA_RangeTestParam *testParam; + TA_Integer *intBuffer; + int size, i; + + (void)outputNb; + (void)outputBufferInt; + + *isOutputInteger = 0; + + testParam = (TA_RangeTestParam *)opaqueData; + + switch( testParam->test->theFunction ) + { + case TA_HT_DCPERIOD_TEST: + retCode = TA_HT_DCPERIOD( startIdx, + endIdx, + testParam->price, + outBegIdx, + outNbElement, + outputBuffer ); + *lookback = TA_HT_DCPERIOD_Lookback(); + break; + case TA_HT_DCPHASE_TEST: + retCode = TA_HT_DCPHASE( startIdx, + endIdx, + testParam->price, + outBegIdx, + outNbElement, + outputBuffer ); + + *lookback = TA_HT_DCPHASE_Lookback(); + break; + case TA_HT_TRENDLINE_TEST: + retCode = TA_HT_TRENDLINE( startIdx, + endIdx, + testParam->price, + outBegIdx, + outNbElement, + outputBuffer ); + *lookback = TA_HT_TRENDLINE_Lookback(); + break; + case TA_HT_TRENDMODE_TEST: + /* Trendmode returns integers, but this test + * is comparing real, so a translation is done + * here. + */ + #define PRE_SENTINEL ((TA_Integer)0xABABFEDC) + #define POST_SENTINEL ((TA_Integer)0xEFABCDFF) + #define ALLOC_INT_BUFFER(varSize) \ + { \ + intBuffer = TA_Malloc(sizeof(TA_Integer)*(varSize+2)); \ + intBuffer[0] = PRE_SENTINEL; \ + intBuffer[varSize+1] = POST_SENTINEL; \ + } + + size = endIdx-startIdx+1; \ + ALLOC_INT_BUFFER(size); + retCode = TA_HT_TRENDMODE( startIdx, + endIdx, + testParam->price, + outBegIdx, + outNbElement, + &intBuffer[1] ); + *lookback = TA_HT_TRENDMODE_Lookback(); + + #define FREE_INT_BUFFER( destBuffer, varNbElement ) \ + { \ + if( intBuffer[0] != PRE_SENTINEL ) \ + { \ + retCode = TA_INTERNAL_ERROR(138); \ + } \ + else if( intBuffer[size+1] != POST_SENTINEL ) \ + { \ + retCode = TA_INTERNAL_ERROR(139); \ + } \ + else \ + { \ + for( i=0; i < varNbElement; i++ ) \ + destBuffer[i] = (double)intBuffer[i+1]; \ + } \ + TA_Free( intBuffer ); \ + } + + FREE_INT_BUFFER( outputBuffer, *outNbElement ); + break; + case TA_SIN_TEST: + retCode = TA_SIN( startIdx, + endIdx, + testParam->price, + outBegIdx, + outNbElement, + outputBuffer ); + *lookback = TA_SIN_Lookback(); + break; + default: + retCode = TA_INTERNAL_ERROR(132); + } + + return retCode; +} + +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ) +{ + TA_RetCode retCode; + ErrorNumber errNb; + TA_Integer outBegIdx; + TA_Integer outNbElement; + TA_RangeTestParam testParam; + const TA_Real *referenceInput; + + TA_Integer *intBuffer; + int size, i; + + /* Set to NAN all the elements of the gBuffers. */ + clearAllBuffers(); + + /* Build the input. */ + setInputBuffer( 0, history->close, history->nbBars ); + + /* Change the input to MEDPRICE for some tests. */ + switch( test->theFunction ) + { + case TA_HT_DCPERIOD_TEST: + case TA_HT_DCPHASE_TEST: + case TA_HT_TRENDLINE_TEST: + case TA_HT_TRENDMODE_TEST: + TA_MEDPRICE( 0, history->nbBars-1, history->high, history->low, + &outBegIdx, &outNbElement, gBuffer[0].in ); + + /* Will be use as reference */ + TA_MEDPRICE( 0, history->nbBars-1, history->high, history->low, + &outBegIdx, &outNbElement, gBuffer[1].in ); + + referenceInput = gBuffer[1].in; + break; + default: + referenceInput = history->close; + } + + /* Make a simple first call. */ + size = (test->endIdx-test->startIdx)+1; + + switch( test->theFunction ) + { + case TA_HT_DCPERIOD_TEST: + retCode = TA_HT_DCPERIOD( test->startIdx, + test->endIdx, + gBuffer[0].in, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + break; + + case TA_HT_DCPHASE_TEST: + retCode = TA_HT_DCPHASE( test->startIdx, + test->endIdx, + gBuffer[0].in, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + break; + case TA_HT_TRENDLINE_TEST: + retCode = TA_HT_TRENDLINE( test->startIdx, + test->endIdx, + gBuffer[0].in, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + break; + case TA_HT_TRENDMODE_TEST: + ALLOC_INT_BUFFER(size); + retCode = TA_HT_TRENDMODE( test->startIdx, + test->endIdx, + gBuffer[0].in, + &outBegIdx, + &outNbElement, + &intBuffer[1] ); + FREE_INT_BUFFER( gBuffer[0].out0, outNbElement ); + break; + case TA_SIN_TEST: + retCode = TA_SIN( test->startIdx, + test->endIdx, + gBuffer[0].in, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + break; + default: + retCode = TA_INTERNAL_ERROR(133); + } + + /* Check that the input were preserved. */ + errNb = checkDataSame( gBuffer[0].in, referenceInput, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[0].out0, 0 ); + + outBegIdx = outNbElement = 0; + + /* Make another call where the input and the output + * are the same buffer. + */ + switch( test->theFunction ) + { + case TA_HT_DCPERIOD_TEST: + retCode = TA_HT_DCPERIOD( test->startIdx, + test->endIdx, + gBuffer[0].in, + &outBegIdx, + &outNbElement, + gBuffer[0].in + ); + break; + + case TA_HT_DCPHASE_TEST: + retCode = TA_HT_DCPHASE( test->startIdx, + test->endIdx, + gBuffer[0].in, + &outBegIdx, + &outNbElement, + gBuffer[0].in + ); + break; + case TA_HT_TRENDLINE_TEST: + retCode = TA_HT_TRENDLINE( test->startIdx, + test->endIdx, + gBuffer[0].in, + &outBegIdx, + &outNbElement, + gBuffer[0].in + ); + break; + case TA_HT_TRENDMODE_TEST: + ALLOC_INT_BUFFER(size); + retCode = TA_HT_TRENDMODE( test->startIdx, + test->endIdx, + gBuffer[0].in, + &outBegIdx, + &outNbElement, + &intBuffer[1] + ); + FREE_INT_BUFFER( gBuffer[0].in, outNbElement ); + break; + case TA_SIN_TEST: + retCode = TA_SIN( test->startIdx, + test->endIdx, + gBuffer[0].in, + &outBegIdx, + &outNbElement, + gBuffer[0].in + ); + break; + default: + retCode = TA_INTERNAL_ERROR(134); + } + + /* The previous call should have the same output + * as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[0].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[0].in, 0 ); + + /* Do a systematic test of most of the + * possible startIdx/endIdx range. + */ + testParam.test = test; + testParam.price = referenceInput; + + if( test->doRangeTestFlag ) + { + switch( test->theFunction ) + { + case TA_HT_DCPERIOD_TEST: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_HT_DCPERIOD, + (void *)&testParam, 1, 0 ); + break; + + case TA_HT_DCPHASE_TEST: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_HT_DCPHASE, + (void *)&testParam, 1, 360 ); + break; + + case TA_HT_TRENDLINE_TEST: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_HT_TRENDLINE, + (void *)&testParam, 1, 0 ); + break; + + case TA_HT_TRENDMODE_TEST: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_HT_TRENDMODE, + (void *)&testParam, 1, 0 ); + break; + + default: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_NONE, + (void *)&testParam, 1, 0 ); + } + if( errNb != TA_TEST_PASS ) + return errNb; + } + + return TA_TEST_PASS; +} + diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_1in_2out.c b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_1in_2out.c new file mode 100644 index 000000000..91232ad1c --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_1in_2out.c @@ -0,0 +1,469 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 020203 MF First version. + * + */ + +/* Description: + * + * Test functions which have the following + * characterisic: + * - have one input and two outputs + * - there is no optional parameters + */ + +/**** Headers ****/ +#include +#include + +#include "ta_test_priv.h" +#include "ta_test_func.h" +#include "ta_utility.h" +#include "ta_memory.h" + +/**** External functions declarations. ****/ +/* None */ + +/**** External variables declarations. ****/ +/* None */ + +/**** Global variables definitions. ****/ +/* None */ + +/**** Local declarations. ****/ +typedef enum { + TA_HT_PHASOR_TEST, + TA_HT_SINE_TEST +} TA_TestId; + +typedef struct +{ + TA_Integer doRangeTestFlag; + + TA_TestId theFunction; + TA_Integer unstablePeriod; + + TA_Integer startIdx; + TA_Integer endIdx; + + TA_RetCode expectedRetCode; + + TA_Integer oneOfTheExpectedOutRealIndex0; + TA_Real oneOfTheExpectedOutReal0; + + TA_Integer oneOfTheExpectedOutRealIndex1; + TA_Real oneOfTheExpectedOutReal1; + + TA_Integer expectedBegIdx; + TA_Integer expectedNbElement; +} TA_Test; + +typedef struct +{ + const TA_Test *test; + const TA_Real *price; +} TA_RangeTestParam; + +/**** Local functions declarations. ****/ +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ); + +/**** Local variables definitions. ****/ + +static TA_Test tableTest[] = +{ + /********************************/ + /* Some Hilbert Transform Tests */ + /********************************/ + { 1, TA_HT_SINE_TEST, 0, 0, 251, TA_SUCCESS, 0, 0.38, + 0, 0.92, + 63, 252-63 }, + { 0, TA_HT_SINE_TEST, 0, 0, 251, TA_SUCCESS, 1, 0.77, + 1, 1.00, + 63, 252-63 }, + + { 0, TA_HT_SINE_TEST, 0, 0, 251, TA_SUCCESS, 5, 0.65, + 5, -0.08, + 63, 252-63 }, + + { 0, TA_HT_SINE_TEST, 0, 0, 251, TA_SUCCESS, 252-67, -0.94, + 252-67, -0.44, + 63, 252-63 }, + + { 0, TA_HT_SINE_TEST, 0, 0, 251, TA_SUCCESS, 252-66, -0.52, + 252-66, 0.24, + 63, 252-63 }, + + { 0, TA_HT_SINE_TEST, 0, 0, 251, TA_SUCCESS, 252-64, 0.73, + 252-64, 1.00, + 63, 252-63 }, + + { 1, TA_HT_PHASOR_TEST, 0, 0, 251, TA_SUCCESS, 0, 0.9456, + 0, 5.2143, + 32, 252-32 }, /* First Value */ + + { 0, TA_HT_PHASOR_TEST, 0, 0, 251, TA_SUCCESS, 1, 2.7539, + 1, 2.4129, + 32, 252-32 }, + + { 0, TA_HT_PHASOR_TEST, 0, 0, 251, TA_SUCCESS, 9, -0.7235, + 9, -5.9336, + 32, 252-32 }, + + { 0, TA_HT_PHASOR_TEST, 0, 0, 251, TA_SUCCESS, 252-34, 0.8386, + 252-34, -0.8913, + 32, 252-32 }, + + { 0, TA_HT_PHASOR_TEST, 0, 0, 251, TA_SUCCESS, 252-33, 0.3258, + 252-33, -0.9447, + 32, 252-32 }, /* Last Value */ + + +}; + +#define NB_TEST (sizeof(tableTest)/sizeof(TA_Test)) + +/**** Global functions definitions. ****/ +ErrorNumber test_func_1in_2out( TA_History *history ) +{ + unsigned int i; + ErrorNumber retValue; + + + for( i=0; i < NB_TEST; i++ ) + { + /* Re-initialize all the unstable period to zero. */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 0 ); + + if( (int)tableTest[i].expectedNbElement > (int)history->nbBars ) + { + printf( "Failed Bad Parameter for Test #%d (%d,%d)\n", + i, tableTest[i].expectedNbElement, history->nbBars ); + return TA_TESTUTIL_TFRR_BAD_PARAM; + } + + retValue = do_test( history, &tableTest[i] ); + if( retValue != 0 ) + { + printf( "Failed Test #%d (Code=%d)\n", i, retValue ); + return retValue; + } + } + + /* Re-initialize all the unstable period to zero. */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 0 ); + + /* All test succeed. */ + return TA_TEST_PASS; +} + +/**** Local functions definitions. ****/ +static TA_RetCode rangeTestFunction( TA_Integer startIdx, + TA_Integer endIdx, + TA_Real *outputBuffer, + TA_Integer *outputBufferInt, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Integer *lookback, + void *opaqueData, + unsigned int outputNb, + unsigned int *isOutputInteger ) +{ + TA_RetCode retCode; + TA_RangeTestParam *testParam; + TA_Real *out1; + TA_Real *out2; + TA_Real *dummyOutput; + + (void)outputBufferInt; + + *isOutputInteger = 0; + + testParam = (TA_RangeTestParam *)opaqueData; + + dummyOutput = TA_Malloc( (endIdx-startIdx+1) * sizeof(TA_Real) ); + + if( outputNb == 0 ) + { + out1 = outputBuffer; + out2 = dummyOutput; + } + else + { + out1 = dummyOutput; + out2 = outputBuffer; + } + + switch( testParam->test->theFunction ) + { + case TA_HT_PHASOR_TEST: + retCode = TA_HT_PHASOR( startIdx, + endIdx, + testParam->price, + outBegIdx, + outNbElement, + out1, out2 ); + *lookback = TA_HT_PHASOR_Lookback(); + break; + case TA_HT_SINE_TEST: + retCode = TA_HT_SINE( startIdx, + endIdx, + testParam->price, + outBegIdx, + outNbElement, + out1, out2 ); + *lookback = TA_HT_SINE_Lookback(); + break; + default: + retCode = TA_INTERNAL_ERROR(132); + } + + TA_Free(dummyOutput); + return retCode; +} + +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ) +{ + TA_RetCode retCode; + ErrorNumber errNb; + TA_Integer outBegIdx; + TA_Integer outNbElement; + TA_RangeTestParam testParam; + const TA_Real *referenceInput; + + /* Set to NAN all the elements of the gBuffers. */ + clearAllBuffers(); + + /* Build the input. */ + setInputBuffer( 0, history->close, history->nbBars ); + setInputBuffer( 1, history->close, history->nbBars ); + setInputBuffer( 2, history->close, history->nbBars ); + + /* Change the input to MEDPRICE for some tests. */ + switch( test->theFunction ) + { + case TA_HT_PHASOR_TEST: + case TA_HT_SINE_TEST: + TA_MEDPRICE( 0, history->nbBars-1, history->high, history->low, + &outBegIdx, &outNbElement, gBuffer[0].in ); + + TA_MEDPRICE( 0, history->nbBars-1, history->high, history->low, + &outBegIdx, &outNbElement, gBuffer[1].in ); + + /* Will be use as reference */ + TA_MEDPRICE( 0, history->nbBars-1, history->high, history->low, + &outBegIdx, &outNbElement, gBuffer[2].in ); + + referenceInput = gBuffer[2].in; + break; + default: + referenceInput = history->close; + } + + /* Make a simple first call. */ + switch( test->theFunction ) + { + case TA_HT_PHASOR_TEST: + retCode = TA_HT_PHASOR( test->startIdx, + test->endIdx, + gBuffer[0].in, + &outBegIdx, + &outNbElement, + gBuffer[0].out0, + gBuffer[0].out1 ); + break; + case TA_HT_SINE_TEST: + retCode = TA_HT_SINE( test->startIdx, + test->endIdx, + gBuffer[0].in, + &outBegIdx, + &outNbElement, + gBuffer[0].out0, + gBuffer[0].out1 ); + break; + default: + retCode = TA_INTERNAL_ERROR(133); + } + + /* Check that the inputs were preserved. */ + errNb = checkDataSame( gBuffer[0].in, referenceInput, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + errNb = checkDataSame( gBuffer[1].in, referenceInput, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[0].out0, 0 ); + CHECK_EXPECTED_VALUE( gBuffer[0].out1, 1 ); + + outBegIdx = outNbElement = 0; + + /* Make another call where the input and the output + * are the same buffer. + */ + switch( test->theFunction ) + { + case TA_HT_PHASOR_TEST: + retCode = TA_HT_PHASOR( test->startIdx, + test->endIdx, + gBuffer[0].in, + &outBegIdx, + &outNbElement, + gBuffer[0].in, + gBuffer[1].out1 + ); + break; + case TA_HT_SINE_TEST: + retCode = TA_HT_SINE( test->startIdx, + test->endIdx, + gBuffer[0].in, + &outBegIdx, + &outNbElement, + gBuffer[0].in, + gBuffer[1].out1 + ); + break; + default: + retCode = TA_INTERNAL_ERROR(134); + } + + /* The previous call should have the same output + * as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[0].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + errNb = checkSameContent( gBuffer[0].out1, gBuffer[1].out1 ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[0].in, 0 ); + CHECK_EXPECTED_VALUE( gBuffer[1].out1, 1 ); + + /* Make another call where the input and the output + * are the same buffer. + */ + switch( test->theFunction ) + { + case TA_HT_PHASOR_TEST: + retCode = TA_HT_PHASOR( test->startIdx, + test->endIdx, + gBuffer[1].in, + &outBegIdx, + &outNbElement, + gBuffer[1].out0, + gBuffer[1].in + ); + break; + case TA_HT_SINE_TEST: + retCode = TA_HT_SINE( test->startIdx, + test->endIdx, + gBuffer[1].in, + &outBegIdx, + &outNbElement, + gBuffer[1].out0, + gBuffer[1].in + ); + break; + default: + retCode = TA_INTERNAL_ERROR(134); + } + + /* The previous call should have the same output + * as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out1, gBuffer[1].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + errNb = checkSameContent( gBuffer[0].out0, gBuffer[1].out0 ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[1].in, 1 ); + CHECK_EXPECTED_VALUE( gBuffer[1].out0, 0 ); + + /* Do a systematic test of most of the + * possible startIdx/endIdx range. + */ + testParam.test = test; + testParam.price = referenceInput; + + if( test->doRangeTestFlag ) + { + switch( test->theFunction ) + { + case TA_HT_PHASOR_TEST: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_HT_PHASOR, + (void *)&testParam, 1, 0 ); + break; + case TA_HT_SINE_TEST: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_HT_SINE, + (void *)&testParam, 1, 10 ); + break; + + default: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_NONE, + (void *)&testParam, 1, 0 ); + } + if( errNb != TA_TEST_PASS ) + return errNb; + } + + return TA_TEST_PASS; +} + diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_adx.c b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_adx.c new file mode 100644 index 000000000..96abcc040 --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_adx.c @@ -0,0 +1,682 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF First version. + * + */ + +/* Description: + * Test all the directional movement functions. + */ + +/**** Headers ****/ +#include +#include + +#include "ta_test_priv.h" +#include "ta_test_func.h" +#include "ta_utility.h" + +/**** External functions declarations. ****/ +/* None */ + +/**** External variables declarations. ****/ +/* None */ + +/**** Global variables definitions. ****/ +/* None */ + +/**** Local declarations. ****/ +typedef enum +{ + TST_MINUS_DM, + TST_MINUS_DI, + TST_PLUS_DM, + TST_PLUS_DI, + TST_DX, + TST_ADX, + TST_ADXR +} TestId; + +typedef struct +{ + TestId id; + + TA_Integer doRangeTestFlag; + + TA_Integer unstablePeriod; + + TA_Integer startIdx; + TA_Integer endIdx; + + TA_Integer optInTimePeriod; + + TA_RetCode expectedRetCode; + + TA_Integer oneOfTheExpectedOutRealIndex0; + TA_Real oneOfTheExpectedOutReal0; + + TA_Integer expectedBegIdx; + TA_Integer expectedNbElement; +} TA_Test; + +typedef struct +{ + const TA_Test *test; + const TA_Real *high; + const TA_Real *low; + const TA_Real *close; +} TA_RangeTestParam; + +/**** Local functions declarations. ****/ +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ); + +/**** Local variables definitions. ****/ + +static TA_Test tableTest[] = +{ + /* Test the fixes for Bug#1089506 */ + { TST_MINUS_DI, 1, 0, 0, 251, 1, TA_SUCCESS, 0, 0.0, 1, 252-1 }, + { TST_PLUS_DI, 1, 0, 0, 251, 1, TA_SUCCESS, 0, 0.478, 1, 252-1 }, + { TST_MINUS_DM, 1, 0, 0, 251, 1, TA_SUCCESS, 0, 0.0, 1, 252-1 }, + { TST_PLUS_DM, 1, 0, 0, 251, 1, TA_SUCCESS, 0, 1.69, 1, 252-1 }, + + /* Normal regression tests. */ + { TST_ADXR,1, 0, 0, 251, 14, TA_SUCCESS, 0, 19.8666, 40, 252-40 }, /* First Value */ + { TST_ADXR,0, 0, 0, 251, 14, TA_SUCCESS, 1, 18.9092, 40, 252-40 }, + + { TST_ADXR,0, 0, 0, 251, 14, TA_SUCCESS, 210, 21.5972, 40, 252-40 }, + { TST_ADXR,0, 0, 0, 251, 14, TA_SUCCESS, 211, 20.4920, 40, 252-40 }, /* Last Value */ + + { TST_PLUS_DM, 1, 0, 0, 251, 14, TA_SUCCESS, 0, 10.28, 13, 252-13 }, /* First Value */ + { TST_PLUS_DM, 0, 0, 0, 251, 14, TA_SUCCESS, 237, 10.317, 13, 252-13 }, + { TST_PLUS_DM, 0, 0, 0, 251, 14, TA_SUCCESS, 238, 9.58, 13, 252-13 }, /* Last Value */ + + { TST_PLUS_DI, 1, 0, 0, 251, 14, TA_SUCCESS, 0, 20.3781, 14, 252-14 }, /* First Value */ + + { TST_PLUS_DI, 0, 0, 0, 251, 14, TA_SUCCESS, 13, 22.1073, 14, 252-14 }, + { TST_PLUS_DI, 0, 0, 0, 251, 14, TA_SUCCESS, 14, 20.3746, 14, 252-14 }, + { TST_PLUS_DI, 0, 0, 0, 251, 14, TA_SUCCESS, 237, 21.0000, 14, 252-14 }, /* Last Value */ + + { TST_MINUS_DM, 1, 0, 0, 251, 14, TA_SUCCESS, 0, 12.995, 13, 252-13 }, /* First Value */ + { TST_MINUS_DM, 0, 0, 0, 251, 14, TA_SUCCESS, 237, 8.33, 13, 252-13 }, + { TST_MINUS_DM, 0, 0, 0, 251, 14, TA_SUCCESS, 238, 9.672, 13, 252-13 }, /* Last Value */ + + { TST_MINUS_DI, 1, 0, 0, 251, 14, TA_SUCCESS, 0, 30.1684, 14, 252-14 }, /* First Value */ + { TST_MINUS_DI, 0, 0, 0, 251, 14, TA_SUCCESS, 14, 24.969182, 14, 252-14 }, + { TST_MINUS_DI, 0, 0, 0, 251, 14, TA_SUCCESS, 237, 21.1988, 14, 252-14 }, /* Last Value */ + + { TST_DX, 1, 0, 0, 251, 14, TA_SUCCESS, 0, 19.3689, 14, 252-14 }, /* First Value */ + { TST_DX, 0, 0, 0, 251, 14, TA_SUCCESS, 1, 9.7131, 14, 252-14 }, + { TST_DX, 0, 0, 0, 251, 14, TA_SUCCESS, 2, 17.2905, 14, 252-14 }, + { TST_DX, 0, 0, 0, 251, 14, TA_SUCCESS, 236, 10.6731, 14, 252-14 }, + { TST_DX, 0, 0, 0, 251, 14, TA_SUCCESS, 237, 0.4722, 14, 252-14 }, /* Last Value */ + + { TST_ADX, 1, 0, 0, 251, 14, TA_SUCCESS, 0, 23.0000, 27, 252-27 }, /* First Value */ + { TST_ADX, 0, 0, 0, 251, 14, TA_SUCCESS, 1, 22.0802, 27, 252-27 }, + { TST_ADX, 0, 0, 0, 251, 14, TA_SUCCESS, 223, 16.6840, 27, 252-27 }, + { TST_ADX, 0, 0, 0, 251, 14, TA_SUCCESS, 224, 15.5260, 27, 252-27 } /* Last Value */ + +#if 0 + /*These were the values when using integer rounding in the logic */ + { TST_ADXR,1, 0, 0, 251, 14, TA_SUCCESS, 0, 19.0, 40, 252-40 }, /* First Value */ + { TST_ADXR,0, 0, 0, 251, 14, TA_SUCCESS, 1, 18.0, 40, 252-40 }, + { TST_ADXR,0, 0, 0, 251, 14, TA_SUCCESS, 210, 22.0, 40, 252-40 }, + { TST_ADXR,0, 0, 0, 251, 14, TA_SUCCESS, 211, 21.0, 40, 252-40 }, /* Last Value */ + + { TST_PLUS_DI, 1, 0, 0, 251, 14, TA_SUCCESS, 0, 20.0, 14, 252-14 }, /* First Value */ + { TST_PLUS_DI, 0, 0, 0, 251, 14, TA_SUCCESS, 13, 22.0, 14, 252-14 }, + { TST_PLUS_DI, 0, 0, 0, 251, 14, TA_SUCCESS, 14, 20.0, 14, 252-14 }, + { TST_PLUS_DI, 0, 0, 0, 251, 14, TA_SUCCESS, 237, 21.0, 14, 252-14 }, /* Last Value */ + + { TST_MINUS_DI, 1, 0, 0, 251, 14, TA_SUCCESS, 0, 30.0, 14, 252-14 }, /* First Value */ + { TST_MINUS_DI, 0, 0, 0, 251, 14, TA_SUCCESS, 14, 25.0, 14, 252-14 }, + { TST_MINUS_DI, 0, 0, 0, 251, 14, TA_SUCCESS, 237, 21.0, 14, 252-14 }, /* Last Value */ + + { TST_DX, 1, 0, 0, 251, 14, TA_SUCCESS, 0, 20.0, 14, 252-14 }, /* First Value */ + { TST_DX, 0, 0, 0, 251, 14, TA_SUCCESS, 1, 9.0, 14, 252-14 }, + { TST_DX, 0, 0, 0, 251, 14, TA_SUCCESS, 2, 18.0, 14, 252-14 }, + { TST_DX, 0, 0, 0, 251, 14, TA_SUCCESS, 236, 10.0, 14, 252-14 }, + { TST_DX, 0, 0, 0, 251, 14, TA_SUCCESS, 237, 0.0, 14, 252-14 }, /* Last Value */ + + { TST_ADX, 1, 0, 0, 251, 14, TA_SUCCESS, 0, 23.0, 27, 252-27 }, /* First Value */ + { TST_ADX, 0, 0, 0, 251, 14, TA_SUCCESS, 1, 22.0, 27, 252-27 }, + { TST_ADX, 0, 0, 0, 251, 14, TA_SUCCESS, 223, 17.0, 27, 252-27 }, + { TST_ADX, 0, 0, 0, 251, 14, TA_SUCCESS, 224, 16.0, 27, 252-27 } /* Last Value */ +#endif +}; + +#define NB_TEST (sizeof(tableTest)/sizeof(TA_Test)) + +/**** Global functions definitions. ****/ +ErrorNumber test_func_adx( TA_History *history ) +{ + unsigned int i; + ErrorNumber retValue; + + /* Re-initialize all the unstable period to zero. */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 0 ); + + for( i=0; i < NB_TEST; i++ ) + { + if( (int)tableTest[i].expectedNbElement > (int)history->nbBars ) + { + printf( "%s Failed Bad Parameter for Test #%d (%d,%d)\n", __FILE__, + i, tableTest[i].expectedNbElement, history->nbBars ); + return TA_TESTUTIL_TFRR_BAD_PARAM; + } + + retValue = do_test( history, &tableTest[i] ); + if( retValue != 0 ) + { + printf( "%s Failed Test #%d (Code=%d)\n", __FILE__, + i, retValue ); + return retValue; + } + } + + /* Re-initialize all the unstable period to zero. */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 0 ); + + /* All test succeed. */ + return TA_TEST_PASS; +} + +/**** Local functions definitions. ****/ +static TA_RetCode rangeTestFunction( TA_Integer startIdx, + TA_Integer endIdx, + TA_Real *outputBuffer, + TA_Integer *outputBufferInt, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Integer *lookback, + void *opaqueData, + unsigned int outputNb, + unsigned int *isOutputInteger ) +{ + TA_RetCode retCode; + TA_RangeTestParam *testParam; + + (void)outputNb; + (void)outputBufferInt; + + *isOutputInteger = 0; + + testParam = (TA_RangeTestParam *)opaqueData; + + switch( testParam->test->id ) + { + case TST_MINUS_DM: + retCode = TA_MINUS_DM( startIdx, + endIdx, + testParam->high, + testParam->low, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + outputBuffer ); + + *lookback = TA_MINUS_DM_Lookback( testParam->test->optInTimePeriod ); + break; + + case TST_MINUS_DI: + retCode = TA_MINUS_DI( startIdx, + endIdx, + testParam->high, + testParam->low, + testParam->close, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + outputBuffer ); + + *lookback = TA_MINUS_DI_Lookback( testParam->test->optInTimePeriod ); + break; + + case TST_DX: + retCode = TA_DX( startIdx, + endIdx, + testParam->high, + testParam->low, + testParam->close, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + outputBuffer ); + + *lookback = TA_DX_Lookback( testParam->test->optInTimePeriod ); + break; + + case TST_ADX: + retCode = TA_ADX( startIdx, + endIdx, + testParam->high, + testParam->low, + testParam->close, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + outputBuffer ); + + *lookback = TA_ADX_Lookback( testParam->test->optInTimePeriod ); + break; + + case TST_PLUS_DM: + retCode = TA_PLUS_DM( startIdx, + endIdx, + testParam->high, + testParam->low, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + outputBuffer ); + + *lookback = TA_PLUS_DM_Lookback( testParam->test->optInTimePeriod ); + break; + + case TST_PLUS_DI: + retCode = TA_PLUS_DI( startIdx, + endIdx, + testParam->high, + testParam->low, + testParam->close, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + outputBuffer ); + + *lookback = TA_PLUS_DI_Lookback( testParam->test->optInTimePeriod ); + break; + + case TST_ADXR: + retCode = TA_ADXR( startIdx, + endIdx, + testParam->high, + testParam->low, + testParam->close, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + outputBuffer ); + + *lookback = TA_ADXR_Lookback( testParam->test->optInTimePeriod ); + break; + default: + retCode = TA_BAD_PARAM; + } + + return retCode; +} + +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ) +{ + TA_RetCode retCode; + ErrorNumber errNb; + TA_Integer outBegIdx; + TA_Integer outNbElement; + TA_RangeTestParam testParam; + + /* Set to NAN all the elements of the gBuffers. */ + clearAllBuffers(); + + /* Build the input. */ + setInputBuffer( 0, history->high, history->nbBars ); + setInputBuffer( 1, history->low, history->nbBars ); + setInputBuffer( 2, history->close, history->nbBars ); + setInputBuffer( 3, history->high, history->nbBars ); + + /* Make a simple first call. */ + switch( test->id ) + { + case TST_MINUS_DM: + retCode = TA_SetUnstablePeriod( + TA_FUNC_UNST_MINUS_DM, + test->unstablePeriod ); + if( retCode != TA_SUCCESS ) + return TA_TEST_TFRR_SETUNSTABLE_PERIOD_FAIL; + + retCode = TA_MINUS_DM( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + break; + + case TST_MINUS_DI: + retCode = TA_SetUnstablePeriod( TA_FUNC_UNST_MINUS_DI, + test->unstablePeriod ); + if( retCode != TA_SUCCESS ) + return TA_TEST_TFRR_SETUNSTABLE_PERIOD_FAIL; + + retCode = TA_MINUS_DI( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + break; + + case TST_DX: + retCode = TA_SetUnstablePeriod( TA_FUNC_UNST_DX, + test->unstablePeriod ); + if( retCode != TA_SUCCESS ) + return TA_TEST_TFRR_SETUNSTABLE_PERIOD_FAIL; + + retCode = TA_DX( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + break; + + case TST_ADX: + retCode = TA_SetUnstablePeriod( TA_FUNC_UNST_ADX, + test->unstablePeriod ); + if( retCode != TA_SUCCESS ) + return TA_TEST_TFRR_SETUNSTABLE_PERIOD_FAIL; + + retCode = TA_ADX( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + break; + + case TST_PLUS_DM: + retCode = TA_SetUnstablePeriod( TA_FUNC_UNST_PLUS_DM, + test->unstablePeriod ); + if( retCode != TA_SUCCESS ) + return TA_TEST_TFRR_SETUNSTABLE_PERIOD_FAIL; + + retCode = TA_PLUS_DM( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + break; + + case TST_PLUS_DI: + retCode = TA_SetUnstablePeriod( TA_FUNC_UNST_PLUS_DI, + test->unstablePeriod ); + if( retCode != TA_SUCCESS ) + return TA_TEST_TFRR_SETUNSTABLE_PERIOD_FAIL; + + retCode = TA_PLUS_DI( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + break; + + case TST_ADXR: + retCode = TA_SetUnstablePeriod( TA_FUNC_UNST_ADX, + test->unstablePeriod ); + if( retCode != TA_SUCCESS ) + return TA_TEST_TFRR_SETUNSTABLE_PERIOD_FAIL; + + retCode = TA_ADXR( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + break; + default: + retCode = TA_BAD_PARAM; + } + + /* Verify that the inputs were preserved. */ + errNb = checkDataSame( gBuffer[0].in, history->high, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[1].in, history->low, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[2].in, history->close, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[0].out0, 0 ); + + outBegIdx = outNbElement = 0; + + /* Make another call where the input and the output are the + * same buffer. + */ + switch( test->id ) + { + case TST_MINUS_DM: + retCode = TA_MINUS_DM( test->startIdx, + test->endIdx, + gBuffer[3].in, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[3].in ); + break; + + case TST_MINUS_DI: + retCode = TA_MINUS_DI( test->startIdx, + test->endIdx, + gBuffer[3].in, + gBuffer[1].in, + gBuffer[2].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[3].in ); + break; + + case TST_DX: + retCode = TA_DX( test->startIdx, + test->endIdx, + gBuffer[3].in, + gBuffer[1].in, + gBuffer[2].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[3].in ); + break; + + case TST_ADX: + retCode = TA_ADX( test->startIdx, + test->endIdx, + gBuffer[3].in, + gBuffer[1].in, + gBuffer[2].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[3].in ); + break; + + case TST_PLUS_DM: + retCode = TA_PLUS_DM( test->startIdx, + test->endIdx, + gBuffer[3].in, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[3].in ); + break; + + case TST_PLUS_DI: + retCode = TA_PLUS_DI( test->startIdx, + test->endIdx, + gBuffer[3].in, + gBuffer[1].in, + gBuffer[2].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[3].in ); + break; + + case TST_ADXR: + retCode = TA_ADXR( test->startIdx, + test->endIdx, + gBuffer[3].in, + gBuffer[1].in, + gBuffer[2].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[3].in ); + break; + default: + retCode = TA_BAD_PARAM; + } + + /* Verify that the inputs were preserved. */ + errNb = checkDataSame( gBuffer[1].in, history->low, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[2].in, history->close, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + /* The previous call should have the same output as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[3].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[3].in, 0 ); + + if( errNb != TA_TEST_PASS ) + return errNb; + + /* Do a systematic test of most of the + * possible startIdx/endIdx range. + */ + testParam.test = test; + testParam.high = history->high; + testParam.low = history->low; + testParam.close = history->close; + + if( test->doRangeTestFlag ) + { + switch( test->id ) + { + case TST_MINUS_DM: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_MINUS_DM, + (void *)&testParam, 1, 0 ); + break; + + case TST_MINUS_DI: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_MINUS_DI, + (void *)&testParam, 1, 2 ); + break; + + case TST_DX: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_DX, + (void *)&testParam, 1, 2 ); + break; + + case TST_ADX: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_ADX, + (void *)&testParam, 1, 2 ); + break; + + case TST_PLUS_DM: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_PLUS_DM, + (void *)&testParam, 1, 0 ); + break; + + case TST_PLUS_DI: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_PLUS_DI, + (void *)&testParam, 1, 2 ); + break; + + case TST_ADXR: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_ADX, + (void *)&testParam, 1, 2 ); + break; + } + + if( errNb != TA_TEST_PASS ) + return errNb; + } + + return TA_TEST_PASS; +} diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_bbands.c b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_bbands.c new file mode 100644 index 000000000..d77741977 --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_bbands.c @@ -0,0 +1,533 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF First version. + * + */ + +/* Description: + * Regression test of Bollinger Bands (BBANDS). + */ + +/**** Headers ****/ +#include +#include + +#include "ta_test_priv.h" +#include "ta_test_func.h" +#include "ta_utility.h" +#include "ta_memory.h" + +/**** External functions declarations. ****/ +/* None */ + +/**** External variables declarations. ****/ +/* None */ + +/**** Global variables definitions. ****/ +/* None */ + +/**** Local declarations. ****/ +typedef struct +{ + TA_Integer doRangeTestFlag; + + TA_Integer startIdx; + TA_Integer endIdx; + + TA_Integer optInTimePeriod; + TA_Real optInNbDevUp; + TA_Real optInNbDevDn; + TA_Integer optInMethod_3; + TA_Integer compatibility; + + TA_RetCode expectedRetCode; + + TA_Integer expectedBegIdx; + TA_Integer expectedNbElement; + + TA_Integer oneOfTheExpectedOutRealIndex0; + TA_Real oneOfTheExpectedOutReal0; + + TA_Integer oneOfTheExpectedOutRealIndex1; + TA_Real oneOfTheExpectedOutReal1; + + TA_Integer oneOfTheExpectedOutRealIndex2; + TA_Real oneOfTheExpectedOutReal2; + +} TA_Test; + +typedef struct +{ + const TA_Test *test; + const TA_Real *close; +} TA_RangeTestParam; + +/**** Local functions declarations. ****/ +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ); + +/**** Local variables definitions. ****/ +static TA_Test tableTest[] = +{ + + /****************************/ + /* BBANDS - CLASSIC - EMA */ + /****************************/ + + /* No multiplier */ + /* With upper band multiplier only. */ + /* With lower band multiplier only. */ + /* With identical upper/lower multiplier. */ + { 0, 0, 251, 20, 2.0, 2.0, TA_MAType_EMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, + 19, 252-19, + 13, 93.674, /* Upper */ + 13, 87.679, /* Middle */ + 13, 81.685 }, /* Lower */ + + { 0, 0, 251, 20, 2.0, 2.0, TA_MAType_EMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, + 19, 252-19, + 0, 98.0734, /* Upper */ + 0, 92.8910, /* Middle */ + 0, 87.7086 }, /* Lower */ + /* With distinctive upper/lower multiplier. */ + + /****************************/ + /* BBANDS - CLASSIC - SMA */ + /****************************/ + /* No multiplier */ + /* With upper band multiplier only. */ + /* With lower band multiplier only. */ + /* With identical upper/lower multiplier. */ + { 1, 0, 251, 20, 2.0, 2.0, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, + 19, 252-19, + 0, 98.0734, /* Upper */ + 0, 92.8910, /* Middle */ + 0, 87.7086 }, /* Lower */ + /* With distinctive upper/lower multiplier. */ + + + /******************************/ + /* BBANDS - METASTOCK - SMA */ + /******************************/ + + /* No multiplier */ + /* With upper band multiplier only. */ + /* With lower band multiplier only. */ + + /* With identical upper/lower multiplier. */ + { 1, 0, 251, 20, 2.0, 2.0, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, + 19, 252-19, + 0, 98.0734, /* Upper */ + 0, 92.8910, /* Middle */ + 0, 87.7086 }, /* Lower */ + + /* With distinctive upper/lower multiplier. */ + + /******************************/ + /* BBANDS - METASTOCK - EMA */ + /******************************/ + + /* No multiplier */ + { 1, 0, 251, 20, 1.0, 1.0, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, + 19, 252-19, + 0, 94.6914, /* Upper */ + 0, 92.1002, /* Middle */ + 0, 89.5090 }, /* Lower */ + { 0, 0, 251, 20, 1.0, 1.0, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, + 19, 252-19, + 3, 94.0477, /* Upper */ + 3, 90.7270, /* Middle */ + 3, 87.4063 }, /* Lower */ + { 0, 0, 251, 20, 1.0, 1.0, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, + 19, 252-19, + 252-20, 111.5415, /* Upper */ + 252-20, 108.5265, /* Middle */ + 252-20, 105.5115 }, /* Lower */ + + /* With upper band multiplier only. */ + { 0, 0, 251, 20, 1.5, 1.0, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, + 19, 252-19, + 0, 95.9870, /* Upper */ + 0, 92.1002, /* Middle */ + 0, 89.5090}, /* Lower */ + { 0, 0, 251, 20, 1.5, 1.0, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, + 19, 252-19, + 3, 95.7080, /* Upper */ + 3, 90.7270, /* Middle */ + 3, 87.4063}, /* Lower */ + { 0, 0, 251, 20, 1.5, 1.0, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, + 19, 252-19, + 252-20, 113.0490, /* Upper */ + 252-20, 108.5265, /* Middle */ + 252-20, 105.5115 }, /* Lower */ + + /* With lower band multiplier only. */ + { 1, 0, 251, 20, 1.0, 1.5, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, + 19, 252-19, + 0, 94.6914, /* Upper */ + 0, 92.1002, /* Middle */ + 0, 88.2134 }, /* Lower */ + { 0, 0, 251, 20, 1.0, 1.5, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, + 19, 252-19, + 3, 94.0477, /* Upper */ + 3, 90.7270, /* Middle */ + 3, 85.7460}, /* Lower */ + { 0, 0, 251, 20, 1.0, 1.5, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, + 19, 252-19, + 252-20, 111.5415, /* Upper */ + 252-20, 108.5265, /* Middle */ + 252-20, 104.0040}, /* Lower */ + + /* With identical upper/lower multiplier. */ + { 0, 0, 251, 20, 2.0, 2.0, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, + 19, 252-19, + 0, 97.2826, /* Upper */ + 0, 92.1002, /* Middle */ + 0, 86.9178}, /* Lower */ + { 0, 0, 251, 20, 2.0, 2.0, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, + 19, 252-19, + 1, 97.2637, /* Upper */ + 1, 91.7454, /* Middle */ + 1, 86.2271}, /* Lower */ + { 0, 0, 251, 20, 2.0, 2.0, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, + 19, 252-19, + 252-20, 114.5564, /* Upper */ + 252-20, 108.5265, /* Middle */ + 252-20, 102.4965}, /* Lower */ + + /* With distinctive upper/lower multiplier. */ + { 0, 0, 251, 20, 2.0, 1.5, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, + 19, 252-19, + 0, 97.2826, /* Upper */ + 0, 92.1002, /* Middle */ + 0, 88.2134 }, /* Lower */ + { 0, 0, 251, 20, 2.0, 1.5, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, + 19, 252-19, + 3, 97.3684, /* Upper */ + 3, 90.7270, /* Middle */ + 3, 85.7460}, /* Lower */ + { 0, 0, 251, 20, 2.0, 1.5, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, + 19, 252-19, + 252-20, 114.5564, /* Upper */ + 252-20, 108.5265, /* Middle */ + 252-20, 104.0040} /* Lower */ + +}; + +#define NB_TEST (sizeof(tableTest)/sizeof(TA_Test)) + +/**** Global functions definitions. ****/ +ErrorNumber test_func_bbands( TA_History *history ) +{ + unsigned int i; + ErrorNumber retValue; + + for( i=0; i < NB_TEST; i++ ) + { + + if( (int)tableTest[i].expectedNbElement > (int)history->nbBars ) + { + printf( "%s Failed Bad Parameter for Test #%d (%d,%d)\n", __FILE__, + i, + tableTest[i].expectedNbElement, + history->nbBars ); + return TA_TESTUTIL_TFRR_BAD_PARAM; + } + + retValue = do_test( history, &tableTest[i] ); + if( retValue != 0 ) + { + printf( "%s Failed Test #%d (Code=%d)\n", __FILE__, i, retValue ); + return retValue; + } + } + + /* All test succeed. */ + return TA_TEST_PASS; +} + +/**** Local functions definitions. ****/ +static TA_RetCode rangeTestFunction( TA_Integer startIdx, + TA_Integer endIdx, + TA_Real *outputBuffer, + TA_Integer *outputBufferInt, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Integer *lookback, + void *opaqueData, + unsigned int outputNb, + unsigned int *isOutputInteger ) +{ + TA_RetCode retCode; + TA_RangeTestParam *testParam; + TA_Real *dummyBuffer1, *dummyBuffer2; + TA_Real *out1, *out2, *out3; + + (void)outputBufferInt; + + *isOutputInteger = 0; + + testParam = (TA_RangeTestParam *)opaqueData; + + dummyBuffer1 = TA_Malloc( ((endIdx-startIdx)+1)*sizeof(TA_Real)); + if( !dummyBuffer1 ) + return TA_ALLOC_ERR; + + dummyBuffer2 = TA_Malloc( ((endIdx-startIdx)+1)*sizeof(TA_Real)); + if( !dummyBuffer2 ) + { + TA_Free( dummyBuffer1 ); + return TA_ALLOC_ERR; + } + + switch( outputNb ) + { + case 0: + out1 = outputBuffer; + out2 = dummyBuffer1; + out3 = dummyBuffer2; + break; + case 1: + out2 = outputBuffer; + out1 = dummyBuffer1; + out3 = dummyBuffer2; + break; + case 2: + out3 = outputBuffer; + out2 = dummyBuffer1; + out1 = dummyBuffer2; + break; + default: + TA_Free( dummyBuffer1 ); + TA_Free( dummyBuffer2 ); + return TA_BAD_PARAM; + } + + retCode = TA_BBANDS( startIdx, + endIdx, + testParam->close, + testParam->test->optInTimePeriod, + testParam->test->optInNbDevUp, + testParam->test->optInNbDevDn, + (TA_MAType)testParam->test->optInMethod_3, + outBegIdx, outNbElement, + out1, out2, out3 ); + + *lookback = TA_BBANDS_Lookback( testParam->test->optInTimePeriod, + testParam->test->optInNbDevUp, + testParam->test->optInNbDevDn, + (TA_MAType)testParam->test->optInMethod_3 ); + + TA_Free( dummyBuffer1 ); + TA_Free( dummyBuffer2 ); + + return retCode; +} + + +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ) +{ + TA_RetCode retCode; + ErrorNumber errNb; + TA_Integer outBegIdx; + TA_Integer outNbElement; + TA_RangeTestParam testParam; + + retCode = TA_SetUnstablePeriod( TA_FUNC_UNST_EMA, 0 ); + if( retCode != TA_SUCCESS ) + return TA_TEST_TFRR_SETUNSTABLE_PERIOD_FAIL; + + /* Set to NAN all the elements of the gBuffers. */ + clearAllBuffers(); + + /* Build the input. */ + setInputBuffer( 0, history->close, history->nbBars ); + setInputBuffer( 1, history->close, history->nbBars ); + setInputBuffer( 2, history->close, history->nbBars ); + setInputBuffer( 3, history->close, history->nbBars ); + + TA_SetCompatibility( (TA_Compatibility)test->compatibility ); + + /* Make a simple first call. */ + retCode = TA_BBANDS( test->startIdx, + test->endIdx, + gBuffer[0].in, + test->optInTimePeriod, + test->optInNbDevUp, + test->optInNbDevDn, + (TA_MAType)test->optInMethod_3, + + &outBegIdx, &outNbElement, + gBuffer[0].out0, + gBuffer[0].out1, + gBuffer[0].out2 ); + + errNb = checkDataSame( gBuffer[0].in, history->close, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[0].out0, 0 ); + CHECK_EXPECTED_VALUE( gBuffer[0].out1, 1 ); + CHECK_EXPECTED_VALUE( gBuffer[0].out2, 2 ); + + outBegIdx = outNbElement = 0; + + /* Make another call where the input and the output are the + * same buffer. + */ + retCode = TA_BBANDS( test->startIdx, + test->endIdx, + gBuffer[1].in, + test->optInTimePeriod, + test->optInNbDevUp, + test->optInNbDevDn, + (TA_MAType)test->optInMethod_3, + &outBegIdx, &outNbElement, + gBuffer[1].in, gBuffer[1].out1, gBuffer[1].out2 ); + + /* The previous call should have the same output + * as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[1].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[1].in, 0 ); + CHECK_EXPECTED_VALUE( gBuffer[1].out1, 1 ); + CHECK_EXPECTED_VALUE( gBuffer[1].out2, 2 ); + + outBegIdx = outNbElement = 0; + + /* Make another call where the input and the output are the + * same buffer. + */ + retCode = TA_BBANDS( test->startIdx, + test->endIdx, + gBuffer[2].in, + test->optInTimePeriod, + test->optInNbDevUp, + test->optInNbDevDn, + (TA_MAType)test->optInMethod_3, + &outBegIdx, &outNbElement, + gBuffer[2].out1, + gBuffer[2].in, + gBuffer[2].out2 ); + + /* The previous call should have the same output + * as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[1].out1, gBuffer[2].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[2].out1, 0 ); + CHECK_EXPECTED_VALUE( gBuffer[2].in, 1 ); + CHECK_EXPECTED_VALUE( gBuffer[2].out2, 2 ); + + outBegIdx = outNbElement = 0; + + /* Make another call where the input and the output are the + * same buffer. + */ + retCode = TA_BBANDS( test->startIdx, + test->endIdx, + gBuffer[3].in, + test->optInTimePeriod, + test->optInNbDevUp, + test->optInNbDevDn, + (TA_MAType)test->optInMethod_3, + &outBegIdx, &outNbElement, + gBuffer[3].out0, + gBuffer[3].out1, + gBuffer[3].in ); + + /* The previous call should have the same output + * as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[2].out2, gBuffer[3].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[3].out0, 0 ); + CHECK_EXPECTED_VALUE( gBuffer[3].out1, 1 ); + CHECK_EXPECTED_VALUE( gBuffer[3].in, 2 ); + + /* Do a systematic test of most of the + * possible startIdx/endIdx range. + */ + testParam.test = test; + testParam.close = history->close; + + if( test->doRangeTestFlag ) + { + if( test->optInMethod_3 == TA_MAType_EMA ) + { + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_EMA, + (void *)&testParam, 3, 0 ); + } + else + { + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_NONE, + (void *)&testParam, 3, 0 ); + } + + if( errNb != TA_TEST_PASS ) + return errNb; + } + + return TA_TEST_PASS; +} diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_candlestick.c b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_candlestick.c new file mode 100644 index 000000000..5ce05a43b --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_candlestick.c @@ -0,0 +1,744 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 082304 MF First version. + * 041305 MF Add latest list of function. + */ + +/* Description: + * Test functions for candlestick. + */ + +/**** Headers ****/ +#include +#include + +#include "ta_test_priv.h" +#include "ta_test_func.h" +#include "ta_utility.h" + +/**** External functions declarations. ****/ +/* None */ + +/**** External variables declarations. ****/ +/* None */ + +/**** Global variables definitions. ****/ +/* None */ + +/**** Local declarations. ****/ +#define MAX_OPTIN_PARAM 5 +#define MAX_TESTED_OUTPUT 3 + +TA_RetCode TA_SetCandleSettings( TA_CandleSettingType settingType, + TA_RangeType rangeType, + int avgPeriod, + double factor ); + +typedef struct +{ + TA_RangeType bodyLong_type; + int bodyLong_avg; + double bodyLong_factor; + TA_RangeType bodyVeryLong_type; + int bodyVeryLong_avg; + double bodyVeryLong_factor; + TA_RangeType bodyShort_type; + int bodyShort_avg; + double bodyShort_factor; + TA_RangeType bodyDoji_type; + int bodyDoji_avg; + double bodyDoji_factor; + TA_RangeType shadowLong_type; + int shadowLong_avg; + double shadowLong_factor; + TA_RangeType shadowVeryLong_type; + int shadowVeryLong_avg; + double shadowVeryLong_factor; + TA_RangeType shadowShort_type; + int shadowShort_avg; + double shadowShort_factor; + TA_RangeType shadowVeryShort_type; + int shadowVeryShort_avg; + double shadowVeryShort_factor; + TA_RangeType near_type; + int near_avg; + double near_factor; + TA_RangeType far_type; + int far_avg; + double far_factor; +} TA_CDLGlobals; + +typedef struct +{ + int index; + int value; +} TA_ExpectedOutput; + + +typedef struct +{ + /* Indicate which function will be called */ + const char *name; + + /* Indicate if ranging test should be done. + * (These tests are very time consuming). + */ + int doRangeTestFlag; + + /* Range for the function call. + * When both value are -1 a series of automated range + * tests are performed. + */ + TA_Integer startIdx; + TA_Integer endIdx; + + /* Up to 5 parameters depending of functions. + * Will be converted to integer when input is integer. + */ + TA_Real params[MAX_OPTIN_PARAM]; + + /* The expected return code. */ + TA_RetCode expectedRetCode; + + /* When return code is TA_SUCCESS, the following output's + * element are verified. + */ + TA_ExpectedOutput output[MAX_TESTED_OUTPUT]; +} TA_Test; + + +typedef struct +{ + /* Allows to pass key information as an + * opaque parameter for doRangeTest. + */ + const TA_Test *test; + const TA_Real *open; + const TA_Real *high; + const TA_Real *low; + const TA_Real *close; + + TA_ParamHolder *paramHolder; +} TA_RangeTestParam; + +/**** Local functions declarations. ****/ +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ); + +static ErrorNumber callCandlestick( TA_ParamHolder **paramHolderPtr, + const char *name, + int startIdx, + int endIdx, + const double *inOpen, + const double *inHigh, + const double *inLow, + const double *inClose, + const double optInArray[], + int *outBegIdx, + int *outNbElement, + int outInteger[], + int *lookback, + TA_RetCode *retCode ); +/**** Local variables definitions. ****/ + +/* Some set of globals */ + +/* List of test to perform. */ +static TA_Test tableTest[] = +{ + { "CDL2CROWS",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDL3BLACKCROWS",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDL3INSIDE",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDL3LINESTRIKE",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDL3OUTSIDE",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDL3STARSINSOUTH",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDL3WHITESOLDIERS",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLABANDONEDBABY",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLADVANCEBLOCK",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLBELTHOLD",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLBREAKAWAY",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLCLOSINGMARUBOZU",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLCONCEALBABYSWALL",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLCOUNTERATTACK",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLDARKCLOUDCOVER",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLDOJI",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLDOJISTAR",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLDRAGONFLYDOJI",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLENGULFING",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLEVENINGDOJISTAR",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLEVENINGSTAR",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLGAPSIDESIDEWHITE",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLGRAVESTONEDOJI",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLHAMMER",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLHANGINGMAN",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLHARAMI",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLHARAMICROSS",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLHIKKAKE",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLHIKKAKEMOD",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLHIGHWAVE",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLHOMINGPIGEON",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLIDENTICAL3CROWS",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLINNECK",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLINVERTEDHAMMER",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLKICKING",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLKICKINGBYLENGTH",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLLADDERBOTTOM",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLLONGLEGGEDDOJI",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLLONGLINE",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLMARUBOZU",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLMATCHINGLOW",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLMATHOLD",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLMORNINGDOJISTAR",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLMORNINGSTAR",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLONNECK",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLPIERCING",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLRICKSHAWMAN",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLRISEFALL3METHODS",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLSEPARATINGLINES",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLSHOOTINGSTAR",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLSHORTLINE",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLSPINNINGTOP",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLSTALLEDPATTERN",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLSTICKSANDWICH",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLTAKURI",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLTASUKIGAP",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLTHRUSTING",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLTRISTAR",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLUNIQUE3RIVER",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLUPSIDEGAP2CROWS",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }}, + { "CDLXSIDEGAP3METHODS",1, 0, 0, {0.0,0.0}, TA_SUCCESS, { {0,0}, {1,1} }} +}; + +#define NB_TEST (sizeof(tableTest)/sizeof(TA_Test)) + +/**** Global functions definitions. ****/ +ErrorNumber test_candlestick( TA_History *history ) +{ + unsigned int i; + ErrorNumber retValue; + + /* Initialize all the unstable period with a large number that would + * break the logic if a candlestick unexpectably use a function affected + * by an unstable period. + */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 20000 ); + + /* Perform sequentialy all the tests. */ + for( i=0; i < NB_TEST; i++ ) + { + retValue = do_test( history, &tableTest[i] ); + if( retValue != 0 ) + { + printf( "Failed Test #%d for %s (retValue=%d)\n", i, tableTest[i].name, retValue ); + return retValue; + } + } + + /* Re-initialize all the unstable period to zero. */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 0 ); + + /* All tests succeed. */ + return TA_TEST_PASS; +} + +/**** Local functions definitions. ****/ + +/* Abstract call for all candlestick functions. + * + * Call the function by 'name'. + * + * Optional inputs are pass as an array of double. + * Elements will be converted to integer as needed. + * + * All outputs are returned in the remaining parameters. + * + * 'lookback' is the return value of the corresponding Lookback function. + * taFuncRetCode is the return code from the call of the TA function. + * + */ +static ErrorNumber callCandlestick( TA_ParamHolder **paramHolderPtr, + const char *name, + int startIdx, + int endIdx, + const double *inOpen, + const double *inHigh, + const double *inLow, + const double *inClose, + const double optInArray[], + int *outBegIdx, + int *outNbElement, + int outInteger[], + int *lookback, + TA_RetCode *taFuncRetCode ) +{ + + /* Use the abstract interface to call the function by name. */ + TA_ParamHolder *paramHolder; + const TA_FuncHandle *handle; + const TA_FuncInfo *funcInfo; + const TA_InputParameterInfo *inputInfo; + const TA_OutputParameterInfo *outputInfo; + + TA_RetCode retCode; + + (void)optInArray; + + /* Speed optimization if paramHolder is already initialized. */ + paramHolder = *paramHolderPtr; + if( !paramHolder ) + { + retCode = TA_GetFuncHandle( name, &handle ); + if( retCode != TA_SUCCESS ) + { + printf( "Can't get the function handle [%d]\n", retCode ); + return TA_TSTCDL_GETFUNCHANDLE_FAIL; + } + + retCode = TA_ParamHolderAlloc( handle, ¶mHolder ); + if( retCode != TA_SUCCESS ) + { + printf( "Can't allocate the param holder [%d]\n", retCode ); + return TA_TSTCDL_PARAMHOLDERALLOC_FAIL; + } + + *paramHolderPtr = paramHolder; + TA_GetFuncInfo( handle, &funcInfo ); + + /* Verify that the input are only OHLC. */ + if( funcInfo->nbInput != 1 ) + { + printf( "Candlestick are expected to use only OHLC as input.\n" ); + return TA_TSTCDL_NBINPUT_WRONG; + } + + TA_GetInputParameterInfo( handle, 0, &inputInfo ); + + if( inputInfo->type != TA_Input_Price ) + { + printf( "Candlestick are expected to use only OHLC as input.\n" ); + return TA_TSTCDL_INPUT_TYPE_WRONG; + } + + if( inputInfo->flags != (TA_IN_PRICE_OPEN | + TA_IN_PRICE_HIGH | + TA_IN_PRICE_LOW | + TA_IN_PRICE_CLOSE) ) + { + printf( "Candlestick are expected to use only OHLC as input.\n" ); + return TA_TSTCDL_INPUT_FLAG_WRONG; + } + + /* Set the optional inputs. */ + + /* Verify that there is only one output. */ + if( funcInfo->nbOutput != 1 ) + { + printf( "Candlestick are expected to have only one output array.\n" ); + return TA_TSTCDL_NBOUTPUT_WRONG; + } + + TA_GetOutputParameterInfo( handle, 0, &outputInfo ); + if( outputInfo->type != TA_Output_Integer ) + { + printf( "Candlestick are expected to have only one output array of type integer.\n" ); + return TA_TSTCDL_OUTPUT_TYPE_WRONG; + } + + /* !!!!!!!!!!!!! TO BE DONE !!!!!!!!!!!!!!!!!! + * For now all candlestick functions will be called with default optional parameter. + */ + } + + /* Set the input buffers. */ + TA_SetInputParamPricePtr( paramHolder, 0, + inOpen, inHigh, inLow, inClose, NULL, NULL ); + + TA_SetOutputParamIntegerPtr(paramHolder,0,outInteger); + + + /* Do the function call. */ + *taFuncRetCode = TA_CallFunc(paramHolder,startIdx,endIdx,outBegIdx,outNbElement); + + if( *taFuncRetCode != TA_SUCCESS ) + { + printf( "TA_CallFunc() failed [%d]\n", *taFuncRetCode ); + TA_ParamHolderFree( paramHolder ); + return TA_TSTCDL_CALLFUNC_FAIL; + } + + /* Do the lookback function call. */ + retCode = TA_GetLookback( paramHolder, lookback ); + if( retCode != TA_SUCCESS ) + { + printf( "TA_GetLookback() failed [%d]\n", retCode ); + TA_ParamHolderFree( paramHolder ); + return TA_TSTCDL_GETLOOKBACK_FAIL; + } + + return TA_TEST_PASS; +} + +/* rangeTestFunction is a different way to call any of + * the TA function. + * + * This is called by doRangeTest found in test_util.c + * + * The doRangeTest verifies behavior that should be common + * for ALL TA functions. It detects bugs like: + * - outBegIdx, outNbElement and lookback inconsistency. + * - off-by-one writes to output. + * - output inconsistency for different start/end index. + * - ... many other limit cases... + * + * In the case of candlestick, the output is integer and + * should be put in outputBufferInt, and outputBuffer is + * ignored. + */ +static TA_RetCode rangeTestFunction( TA_Integer startIdx, + TA_Integer endIdx, + TA_Real *outputBuffer, + TA_Integer *outputBufferInt, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Integer *lookback, + void *opaqueData, + unsigned int outputNb, + unsigned int *isOutputInteger ) +{ + TA_RangeTestParam *testParam1; + const TA_Test *testParam2; + ErrorNumber errNb; + + TA_RetCode retCode; + + (void)outputBuffer; + (void)outputNb; + + testParam1 = (TA_RangeTestParam *)opaqueData; + testParam2 = (const TA_Test *)testParam1->test; + + *isOutputInteger = 1; /* Must be != 0 */ + + retCode = TA_INTERNAL_ERROR(166); + + /* Call the TA function by name */ + errNb = callCandlestick( &testParam1->paramHolder, + testParam2->name, + startIdx, endIdx, + testParam1->open, + testParam1->high, + testParam1->low, + testParam1->close, + testParam2->params, + outBegIdx, + outNbElement, + outputBufferInt, + lookback, + &retCode ); + + if( errNb != TA_TEST_PASS ) + retCode = TA_INTERNAL_ERROR(168); + + return retCode; +} + +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ) +{ + TA_RangeTestParam testParam; + ErrorNumber errNb; + TA_RetCode retCode; + + (void)test; + + /* Set to NAN all the elements of the gBuffers. */ + clearAllBuffers(); + + /* Build the input. */ + setInputBuffer( 0, history->open, history->nbBars ); + setInputBuffer( 1, history->high, history->nbBars ); + setInputBuffer( 2, history->low, history->nbBars ); + setInputBuffer( 3, history->close, history->nbBars ); + + +#if 0 + /* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ + /* Test for specific value not yet implemented */ + + /* Make a simple first call. */ + switch( test->theFunction ) + { + case TA_CCI_TEST: + retCode = TA_CCI( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + break; + + case TA_WILLR_TEST: + retCode = TA_WILLR( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + break; + + default: + retCode = TA_INTERNAL_ERROR(133); + } + + /* Check that the input were preserved. */ + errNb = checkDataSame( gBuffer[0].in, history->high,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[1].in, history->low, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[2].in, history->close,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[0].out0, 0 ); + + outBegIdx = outNbElement = 0; + + /* Make another call where the input and the output are the + * same buffer. + */ + switch( test->theFunction ) + { + case TA_CCI_TEST: + retCode = TA_CCI( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].in ); + break; + case TA_WILLR_TEST: + retCode = TA_WILLR( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].in ); + break; + default: + retCode = TA_INTERNAL_ERROR(134); + } + + /* Check that the input were preserved. */ + errNb = checkDataSame( gBuffer[1].in, history->low, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[2].in, history->close,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + /* The previous call to TA_MA should have the same output + * as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[0].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[0].in, 0 ); + setInputBuffer( 0, history->high, history->nbBars ); + + /* Make another call where the input and the output are the + * same buffer. + */ + switch( test->theFunction ) + { + case TA_CCI_TEST: + retCode = TA_CCI( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[1].in ); + break; + case TA_WILLR_TEST: + retCode = TA_WILLR( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[1].in ); + break; + default: + retCode = TA_INTERNAL_ERROR(135); + } + + /* Check that the input were preserved. */ + errNb = checkDataSame( gBuffer[0].in, history->high,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[2].in, history->close,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + /* The previous call should have the same output as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[1].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[1].in, 0 ); + setInputBuffer( 1, history->low, history->nbBars ); + + /* Make another call where the input and the output are the + * same buffer. + */ + switch( test->theFunction ) + { + case TA_CCI_TEST: + retCode = TA_CCI( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[2].in ); + break; + case TA_WILLR_TEST: + retCode = TA_WILLR( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[2].in ); + break; + default: + retCode = TA_INTERNAL_ERROR(136); + } + + /* Check that the input were preserved. */ + errNb = checkDataSame( gBuffer[0].in, history->high,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[1].in, history->low, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + /* The previous call to TA_MA should have the same output + * as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[2].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[2].in, 0 ); + setInputBuffer( 2, history->close, history->nbBars ); +#endif + + /* Do a systematic test of most of the + * possible startIdx/endIdx range. + */ + testParam.test = test; + testParam.open = history->open; + testParam.high = history->high; + testParam.low = history->low; + testParam.close = history->close; + testParam.paramHolder = NULL; + + if( test->doRangeTestFlag ) + { + + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_NONE, + (void *)&testParam, 1, 0 ); + + if( testParam.paramHolder ) + { + retCode = TA_ParamHolderFree( testParam.paramHolder ); + if( retCode != TA_SUCCESS ) + { + printf( "TA_ParamHolderFree failed [%d]\n", retCode ); + return TA_TSTCDL_PARAMHOLDERFREE_FAIL; + } + } + + if( errNb != TA_TEST_PASS ) + return errNb; + } + + return TA_TEST_PASS; +} diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_ma.c b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_ma.c new file mode 100644 index 000000000..7d0ebd6a0 --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_ma.c @@ -0,0 +1,816 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF First version. + * 031707 MF Add TA_MAVP tests. + */ + +/* Description: + * Test all MA (Moving Average) functions. + */ + +/**** Headers ****/ +#include +#include + +#include "ta_test_priv.h" +#include "ta_test_func.h" +#include "ta_utility.h" +#include "ta_memory.h" + +/**** External functions declarations. ****/ +/* None */ + +/**** External variables declarations. ****/ +/* None */ + +/**** Global variables definitions. ****/ +/* None */ + +/**** Local declarations. ****/ +typedef enum { + TA_ANY_MA_TEST, + TA_MAMA_TEST, + TA_FAMA_TEST +} TA_TestId; + + +typedef struct +{ + TA_Integer doRangeTestFlag; + TA_TestId id; + + TA_Integer unstablePeriod; + + TA_Integer startIdx; + TA_Integer endIdx; + TA_Integer optInTimePeriod; + TA_Integer optInMAType_1; + TA_Integer compatibility; + + TA_RetCode expectedRetCode; + + TA_Integer oneOfTheExpectedOutRealIndex; + TA_Real oneOfTheExpectedOutReal; + + TA_Integer expectedBegIdx; + TA_Integer expectedNbElement; +} TA_Test; + +typedef struct +{ + const TA_Test *test; + const TA_Real *close; + const TA_Real *mavpPeriod; + int testMAVP; /* Boolean */ +} TA_RangeTestParam; + +/**** Local functions declarations. ****/ +static ErrorNumber do_test_ma( const TA_History *history, + const TA_Test *test, + int testMAVP /* Boolean */ ); + +/**** Local variables definitions. ****/ + +static TA_Test tableTest[] = +{ + /************/ + /* T3 TEST */ + /************/ + { 1, TA_ANY_MA_TEST, 0, 0, 251, 5, TA_MAType_T3, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 85.73, 24, 252-24 }, /* First Value */ + { 0, TA_ANY_MA_TEST, 0, 0, 251, 5, TA_MAType_T3, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 1, 84.37, 24, 252-24 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 5, TA_MAType_T3, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 252-26, 109.03, 24, 252-24 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 5, TA_MAType_T3, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 252-25, 108.88, 24, 252-24 }, /* Last Value */ + + /***************/ + /* TRIMA TEST */ + /***************/ + { 1, TA_ANY_MA_TEST, 0, 0, 251, 10, TA_MAType_TRIMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 93.6043, 9, 252-9 }, /* First Value */ + { 0, TA_ANY_MA_TEST, 0, 0, 251, 10, TA_MAType_TRIMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 1, 93.4252, 9, 252-9 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 10, TA_MAType_TRIMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 252-11, 109.1850, 9, 252-9 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 10, TA_MAType_TRIMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 252-10, 109.1407, 9, 252-9 }, /* Last Value */ + + { 1, TA_ANY_MA_TEST, 0, 0, 251, 9, TA_MAType_TRIMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 93.8176, 8, 252-8 }, /* First Value */ + { 0, TA_ANY_MA_TEST, 0, 0, 251, 9, TA_MAType_TRIMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 252-9, 109.1312, 8, 252-8 }, /* Last Value */ + + { 1, TA_ANY_MA_TEST, 0, 0, 251, 12, TA_MAType_TRIMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 93.5329, 11, 252-11 }, /* First Value */ + { 0, TA_ANY_MA_TEST, 0, 0, 251, 12, TA_MAType_TRIMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 252-12, 109.1157, 11, 252-11 }, /* Last Value */ + + + + /************* + * MAMA TEST * + *************/ + { 1, TA_MAMA_TEST, 0, 0, 251, 10, TA_MAType_MAMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 85.3643, 32, 252-32 }, /* First Value */ + { 0, TA_MAMA_TEST, 0, 0, 251, 10, TA_MAType_MAMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 252-33, 110.1116, 32, 252-32 }, /* Last Value */ + + { 0, TA_FAMA_TEST, 0, 0, 251, 10, TA_MAType_MAMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 81.88, 32, 252-32 }, /* First Value */ + { 0, TA_FAMA_TEST, 0, 0, 251, 10, TA_MAType_MAMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 252-33, 108.82, 32, 252-32 }, /* Last Value */ + + { 0, TA_ANY_MA_TEST, 0, 0, 251, 10, TA_MAType_MAMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 85.3643, 32, 252-32 }, /* First Value */ + { 0, TA_ANY_MA_TEST, 0, 0, 251, 10, TA_MAType_MAMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 252-33, 110.1116, 32, 252-32 }, /* Last Value */ + + /***************************/ + /* KAMA TEST - Classic */ + /***************************/ + + /* No output value. */ + { 0, TA_ANY_MA_TEST, 0, 1, 1, 14, TA_MAType_KAMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 0, 0, 0}, +#ifndef TA_FUNC_NO_RANGE_CHECK + { 0, TA_ANY_MA_TEST, 0, 0, 251, 0, TA_MAType_KAMA, TA_COMPATIBILITY_DEFAULT, TA_BAD_PARAM, 0, 0, 0, 0 }, +#endif + + /* Test with period 10 */ + { 1, TA_ANY_MA_TEST, 0, 0, 251, 10, TA_MAType_KAMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 92.6575, 10, 252-10 }, /* First Value */ + { 0, TA_ANY_MA_TEST, 0, 0, 251, 10, TA_MAType_KAMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 1, 92.7783, 10, 252-10 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 10, TA_MAType_KAMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 252-11, 109.294, 10, 252-10 }, /* Last Value */ + + + /*****************************************/ + /* SMA TEST - CLASSIC/METASTOCK */ + /*****************************************/ + +#ifndef TA_FUNC_NO_RANGE_CHECK + /* Test with invalid parameters */ + { 0, TA_ANY_MA_TEST, 0, 0, 251, -1, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_BAD_PARAM, 0, 0, 0, 0 }, +#endif + + /* Test suppose to succeed. */ + { 1, TA_ANY_MA_TEST, 0, 0, 251, 2, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 93.15, 1, 252-1 }, /* First Value */ + { 0, TA_ANY_MA_TEST, 0, 0, 251, 2, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 1, 94.59, 1, 252-1 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 2, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 2, 94.73, 1, 252-1 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 2, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 250, 108.31, 1, 252-1 }, /* Last Value */ + + { 1, TA_ANY_MA_TEST, 0, 0, 251, 30, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 90.42, 29, 252-29 }, /* First Value */ + { 0, TA_ANY_MA_TEST, 0, 0, 251, 30, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 1, 90.21, 29, 252-29 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 30, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 2, 89.96, 29, 252-29 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 30, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 29, 87.12, 29, 252-29 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 30, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 221, 107.95, 29, 252-29 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 30, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 222, 108.42, 29, 252-29 }, /* Last Value */ + + /* Same test and result as TA_COMPATIBILITY_DEFAULT */ + { 1, TA_ANY_MA_TEST, 0, 0, 251, 2, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 93.15, 1, 252-1 }, /* First Value */ + { 0, TA_ANY_MA_TEST, 0, 0, 251, 2, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 1, 94.59, 1, 252-1 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 2, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 2, 94.73, 1, 252-1 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 2, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 250, 108.31, 1, 252-1 }, /* Last Value */ + + { 1, TA_ANY_MA_TEST, 0, 0, 251, 30, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 90.42, 29, 252-29 }, /* First Value */ + { 0, TA_ANY_MA_TEST, 0, 0, 251, 30, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 1, 90.21, 29, 252-29 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 30, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 2, 89.96, 29, 252-29 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 30, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 29, 87.12, 29, 252-29 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 30, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 221, 107.95, 29, 252-29 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 30, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 222, 108.42, 29, 252-29 }, /* Last Value */ + + + /*******************************/ + /* WMA TEST - CLASSIC */ + /*******************************/ + +#ifndef TA_FUNC_NO_RANGE_CHECK + /* No output value. */ + { 0, TA_ANY_MA_TEST, 0, 0, 251, 0, TA_MAType_WMA, TA_COMPATIBILITY_DEFAULT, TA_BAD_PARAM, 0, 0, 0, 0 }, +#endif + + /* One value tests. */ + { 0, TA_ANY_MA_TEST, 0, 2, 2, 2, TA_MAType_WMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 94.52, 2, 1 }, + + /* Misc tests: period 2, 30 */ + + { 1, TA_ANY_MA_TEST, 0, 0, 251, 2, TA_MAType_WMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 93.71, 1, 252-1 }, /* First Value */ + { 0, TA_ANY_MA_TEST, 0, 0, 251, 2, TA_MAType_WMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 1, 94.52, 1, 252-1 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 2, TA_MAType_WMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 2, 94.85, 1, 252-1 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 2, TA_MAType_WMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 250, 108.16, 1, 252-1 }, /* Last Value */ + + { 1, TA_ANY_MA_TEST, 0, 0, 251, 30, TA_MAType_WMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 88.567, 29, 252-29 }, /* First Value */ + { 0, TA_ANY_MA_TEST, 0, 0, 251, 30, TA_MAType_WMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 1, 88.233, 29, 252-29 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 30, TA_MAType_WMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 2, 88.034, 29, 252-29 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 30, TA_MAType_WMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 29, 87.191, 29, 252-29 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 30, TA_MAType_WMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 221, 109.3413, 29, 252-29 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 30, TA_MAType_WMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 222, 109.3466, 29, 252-29 }, /* Last Value */ + + /*******************************/ + /* WMA TEST - METASTOCK */ + /*******************************/ + + /* No output value. */ + { 0, TA_ANY_MA_TEST, 0, 1, 1, 14, TA_MAType_WMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 0, 0, 0}, +#ifndef TA_FUNC_NO_RANGE_CHECK + { 0, TA_ANY_MA_TEST, 0, 0, 251, 0, TA_MAType_WMA, TA_COMPATIBILITY_METASTOCK, TA_BAD_PARAM, 0, 0, 0, 0 }, +#endif + + /* One value tests. */ + { 0, TA_ANY_MA_TEST, 0, 2, 2, 2, TA_MAType_WMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 94.52, 2, 1 }, + + /* Misc tests: period 2, 30 */ + { 1, TA_ANY_MA_TEST, 0, 0, 251, 2, TA_MAType_WMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 93.71, 1, 252-1 }, /* First Value */ + { 0, TA_ANY_MA_TEST, 0, 0, 251, 2, TA_MAType_WMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 1, 94.52, 1, 252-1 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 2, TA_MAType_WMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 2, 94.85, 1, 252-1 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 2, TA_MAType_WMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 250, 108.16, 1, 252-1 }, /* Last Value */ + + { 1, TA_ANY_MA_TEST, 0, 0, 251, 30, TA_MAType_WMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 88.567, 29, 252-29 }, /* First Value */ + { 0, TA_ANY_MA_TEST, 0, 0, 251, 30, TA_MAType_WMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 1, 88.233, 29, 252-29 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 30, TA_MAType_WMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 2, 88.034, 29, 252-29 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 30, TA_MAType_WMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 29, 87.191, 29, 252-29 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 30, TA_MAType_WMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 221, 109.3413, 29, 252-29 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 30, TA_MAType_WMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 222, 109.3466, 29, 252-29 }, /* Last Value */ + + /*******************************/ + /* EMA TEST - Classic */ + /*******************************/ + + /* No output value. */ + { 0, TA_ANY_MA_TEST, 0, 1, 1, 14, TA_MAType_EMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 0, 0, 0}, +#ifndef TA_FUNC_NO_RANGE_CHECK + { 0, TA_ANY_MA_TEST, 0, 0, 251, 0, TA_MAType_EMA, TA_COMPATIBILITY_DEFAULT, TA_BAD_PARAM, 0, 0, 0, 0 }, +#endif + + /* Misc tests: period 2, 10 */ + { 1, TA_ANY_MA_TEST, 0, 0, 251, 2, TA_MAType_EMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 93.15, 1, 251 }, /* First Value */ + { 0, TA_ANY_MA_TEST, 0, 0, 251, 2, TA_MAType_EMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 1, 93.96, 1, 251 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 2, TA_MAType_EMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 250, 108.21, 1, 251 }, /* Last Value */ + + { 1, TA_ANY_MA_TEST, 0, 0, 251, 10, TA_MAType_EMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 93.22, 9, 243 }, /* First Value */ + { 0, TA_ANY_MA_TEST, 0, 0, 251, 10, TA_MAType_EMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 1, 93.75, 9, 243 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 10, TA_MAType_EMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 20, 86.46, 9, 243 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 10, TA_MAType_EMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 242, 108.97, 9, 243 }, /* Last Value */ + + /*******************************/ + /* EMA TEST - Metastock */ + /*******************************/ + + + /* No output value. */ + { 0, TA_ANY_MA_TEST, 0, 1, 1, 14, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 0, 0, 0}, +#ifndef TA_FUNC_NO_RANGE_CHECK + { 0, TA_ANY_MA_TEST, 0, 0, 251, 0, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_BAD_PARAM, 0, 0, 0, 0 }, +#endif + + /* Test with 1 unstable price bar. Test for period 2, 10 */ + { 1, TA_ANY_MA_TEST, 1, 0, 251, 2, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 94.15, 1+1, 251-1 }, /* First Value */ + { 0, TA_ANY_MA_TEST, 1, 0, 251, 2, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 1, 94.78, 1+1, 251-1 }, + { 0, TA_ANY_MA_TEST, 1, 0, 251, 2, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 250-1, 108.21, 1+1, 251-1 }, /* Last Value */ + + { 1, TA_ANY_MA_TEST, 1, 0, 251, 10, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 93.24, 9+1, 243-1 }, /* First Value */ + { 0, TA_ANY_MA_TEST, 1, 0, 251, 10, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 1, 93.97, 9+1, 243-1 }, + { 0, TA_ANY_MA_TEST, 1, 0, 251, 10, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 20, 86.23, 9+1, 243-1 }, + { 0, TA_ANY_MA_TEST, 1, 0, 251, 10, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 242-1, 108.97, 9+1, 243-1 }, /* Last Value */ + + /* Test with 2 unstable price bar. Test for period 2, 10 */ + { 0, TA_ANY_MA_TEST, 2, 0, 251, 2, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 94.78, 1+2, 251-2 }, /* First Value */ + { 0, TA_ANY_MA_TEST, 2, 0, 251, 2, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 1, 94.11, 1+2, 251-2 }, + { 0, TA_ANY_MA_TEST, 2, 0, 251, 2, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 250-2, 108.21, 1+2, 251-2 }, /* Last Value */ + + { 0, TA_ANY_MA_TEST, 2, 0, 251, 10, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 93.97, 9+2, 243-2 }, /* First Value */ + { 0, TA_ANY_MA_TEST, 2, 0, 251, 10, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 1, 94.79, 9+2, 243-2 }, + { 0, TA_ANY_MA_TEST, 2, 0, 251, 10, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 20, 86.39, 9+2, 243-2 }, + { 0, TA_ANY_MA_TEST, 2, 0, 251, 10, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 242-2, 108.97, 9+2, 243-2 }, /* Last Value */ + + /* Last 3 value with 1 unstable, period 10 */ + { 0, TA_ANY_MA_TEST, 1, 249, 251, 10, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 1, 109.22, 249, 3 }, + { 0, TA_ANY_MA_TEST, 1, 249, 251, 10, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 2, 108.97, 249, 3 }, + + /* Last 3 value with 2 unstable, period 10 */ + { 0, TA_ANY_MA_TEST, 2, 249, 251, 10, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 2, 108.97, 249, 3 }, + + /* Last 3 value with 3 unstable, period 10 */ + { 0, TA_ANY_MA_TEST, 3, 249, 251, 10, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 2, 108.97, 249, 3 }, + + /*******************************/ + /* DEMA TEST - Metastock */ + /*******************************/ + + /* No output value. */ + { 0, TA_ANY_MA_TEST, 0, 1, 1, 14, TA_MAType_DEMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 0, 0, 0}, +#ifndef TA_FUNC_NO_RANGE_CHECK + { 0, TA_ANY_MA_TEST, 0, 0, 251, 0, TA_MAType_DEMA, TA_COMPATIBILITY_METASTOCK, TA_BAD_PARAM, 0, 0, 0, 0 }, +#endif + + /* Test with period 14 */ + { 0, TA_ANY_MA_TEST, 0, 0, 251, 14, TA_MAType_DEMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 83.785, 26, 252-26 }, /* First Value */ + { 0, TA_ANY_MA_TEST, 0, 0, 251, 14, TA_MAType_DEMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 1, 84.768, 26, 252-26 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 14, TA_MAType_DEMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 252-27, 109.467, 26, 252-26 }, /* Last Value */ + + /* Test with 1 unstable price bar. Test for period 2, 14 */ + { 1, TA_ANY_MA_TEST, 1, 0, 251, 2, TA_MAType_DEMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 93.960, 4, 252-4 }, /* First Value */ + { 0, TA_ANY_MA_TEST, 1, 0, 251, 2, TA_MAType_DEMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 1, 94.522, 4, 252-4 }, + { 0, TA_ANY_MA_TEST, 1, 0, 251, 2, TA_MAType_DEMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 252-5, 107.94, 4, 252-4 }, /* Last Value */ + + { 1, TA_ANY_MA_TEST, 1, 0, 251, 14, TA_MAType_DEMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 84.91, (13*2)+2, 252-((13*2)+2) }, /* First Value */ + { 0, TA_ANY_MA_TEST, 1, 0, 251, 14, TA_MAType_DEMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 1, 84.97, (13*2)+2, 252-((13*2)+2) }, + { 0, TA_ANY_MA_TEST, 1, 0, 251, 14, TA_MAType_DEMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 2, 84.80, (13*2)+2, 252-((13*2)+2) }, + { 0, TA_ANY_MA_TEST, 1, 0, 251, 14, TA_MAType_DEMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 3, 85.14, (13*2)+2, 252-((13*2)+2) }, + { 0, TA_ANY_MA_TEST, 1, 0, 251, 14, TA_MAType_DEMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 20, 89.83, (13*2)+2, 252-((13*2)+2) }, + { 0, TA_ANY_MA_TEST, 1, 0, 251, 14, TA_MAType_DEMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 252-((13*2)+2+1), 109.4676, (13*2)+2, 252-((13*2)+2) }, /* Last Value */ + + /*******************************/ + /* TEMA TEST - Metastock */ + /*******************************/ + /* No output value. */ + { 0, TA_ANY_MA_TEST, 0, 1, 1, 14, TA_MAType_TEMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 0, 0, 0}, +#ifndef TA_FUNC_NO_RANGE_CHECK + { 0, TA_ANY_MA_TEST, 0, 0, 251, 0, TA_MAType_TEMA, TA_COMPATIBILITY_METASTOCK, TA_BAD_PARAM, 0, 0, 0, 0 }, +#endif + + /* Test with period 14 */ + { 1, TA_ANY_MA_TEST, 0, 0, 251, 14, TA_MAType_TEMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 84.721, 39, 252-39 }, /* First Value */ + { 0, TA_ANY_MA_TEST, 0, 0, 251, 14, TA_MAType_TEMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 1, 84.089, 39, 252-39 }, + { 0, TA_ANY_MA_TEST, 0, 0, 251, 14, TA_MAType_TEMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 252-40, 108.418, 39, 252-39 }, /* Last Value */ +}; + +#define NB_TEST (sizeof(tableTest)/sizeof(TA_Test)) + +/**** Global functions definitions. ****/ +ErrorNumber test_func_ma( TA_History *history ) +{ + unsigned int i; + ErrorNumber retValue; + + /* Re-initialize all the unstable period to zero. */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 0 ); + + for( i=0; i < NB_TEST; i++ ) + { + + if( (int)tableTest[i].expectedNbElement > (int)history->nbBars ) + { + printf( "TA_MA Failed Bad Parameter for Test #%d (%d,%d)\n", + i, tableTest[i].expectedNbElement, history->nbBars ); + return TA_TESTUTIL_TFRR_BAD_PARAM; + } + + retValue = do_test_ma( history, &tableTest[i], 0 ); + if( retValue != 0 ) + { + printf( "TA_MA Failed Test #%d (Code=%d)\n", i, retValue ); + return retValue; + } + + /* If TA_ANY_MA_TEST. repeat test with TA_MAVP */ + if( tableTest[i].id == TA_ANY_MA_TEST ) + { + retValue = do_test_ma( history, &tableTest[i], 1 ); + if( retValue != 0 ) + { + printf( "TA_MAVP Failed Test #%d (Code=%d)\n", i, retValue ); + return retValue; + } + } + } + + /* Re-initialize all the unstable period to zero. */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 0 ); + + /* All test succeed. */ + return TA_TEST_PASS; +} + +/**** Local functions definitions. ****/ +static TA_RetCode rangeTestFunction( TA_Integer startIdx, + TA_Integer endIdx, + TA_Real *outputBuffer, + TA_Integer *outputBufferInt, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Integer *lookback, + void *opaqueData, + unsigned int outputNb, + unsigned int *isOutputInteger ) +{ + TA_RetCode retCode; + TA_RangeTestParam *testParam; + TA_Real *dummyBuffer; + + (void)outputBufferInt; + + *isOutputInteger = 0; + + testParam = (TA_RangeTestParam *)opaqueData; + + switch( testParam->test->optInMAType_1 ) + { + case TA_MAType_MAMA: + dummyBuffer = TA_Malloc( sizeof(TA_Real)*(endIdx-startIdx+600) ); + if( outputNb == 0 ) + { + retCode = TA_MAMA( startIdx, + endIdx, + testParam->close, + 0.5, 0.05, + outBegIdx, + outNbElement, + outputBuffer, + &dummyBuffer[300] ); + } + else + { + retCode = TA_MAMA( startIdx, + endIdx, + testParam->close, + 0.5, 0.05, + outBegIdx, + outNbElement, + &dummyBuffer[300], + outputBuffer ); + } + TA_Free( dummyBuffer ); + *lookback = TA_MAMA_Lookback( 0.5, 0.05 ); + break; + default: + if( testParam->testMAVP ) + { + retCode = TA_MAVP( startIdx, + endIdx, + testParam->close, + testParam->mavpPeriod, + 2,testParam->test->optInTimePeriod, + (TA_MAType)testParam->test->optInMAType_1, + outBegIdx, + outNbElement, + outputBuffer ); + + *lookback = TA_MAVP_Lookback( 2, testParam->test->optInTimePeriod, + (TA_MAType)testParam->test->optInMAType_1 ); + } + else + { + /* Test for the TA_MA function. All the MA can be done + * through that function. + */ + retCode = TA_MA( startIdx, + endIdx, + testParam->close, + testParam->test->optInTimePeriod, + (TA_MAType)testParam->test->optInMAType_1, + outBegIdx, + outNbElement, + outputBuffer ); + + *lookback = TA_MA_Lookback( testParam->test->optInTimePeriod, + (TA_MAType)testParam->test->optInMAType_1 ); + } + break; + } + + return retCode; +} + +static ErrorNumber do_test_ma( const TA_History *history, + const TA_Test *test, + int testMAVP ) +{ + TA_RetCode retCode; + ErrorNumber errNb; + TA_Integer outBegIdx; + TA_Integer outNbElement; + TA_RangeTestParam testParam; + TA_Integer temp, temp2; + const TA_Real *referenceInput; + + /* TA_MAVP is tested only for TA_ANY_MA_TEST */ + if( testMAVP && (test->id != TA_ANY_MA_TEST) ) + { + return TA_TEST_PASS; + } + + TA_SetCompatibility( (TA_Compatibility)test->compatibility ); + + /* Set to NAN all the elements of the gBuffers. */ + clearAllBuffers(); + + /* Build the input. */ + setInputBuffer( 0, history->close, history->nbBars ); + setInputBuffer( 1, history->close, history->nbBars ); + if( testMAVP ) + { + setInputBufferValue( 2, test->optInTimePeriod, history->nbBars ); + } + + /* Re-initialize all the unstable period to zero. */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 0 ); + + /* Set the unstable period requested for that test. */ + switch( test->optInMAType_1 ) + { + case TA_MAType_TEMA: + case TA_MAType_DEMA: + case TA_MAType_EMA: + retCode = TA_SetUnstablePeriod( TA_FUNC_UNST_EMA, test->unstablePeriod ); + break; + case TA_MAType_KAMA: + retCode = TA_SetUnstablePeriod( TA_FUNC_UNST_KAMA, test->unstablePeriod ); + break; + case TA_MAType_MAMA: + retCode = TA_SetUnstablePeriod( TA_FUNC_UNST_MAMA, test->unstablePeriod ); + break; + case TA_MAType_T3: + retCode = TA_SetUnstablePeriod( TA_FUNC_UNST_T3, test->unstablePeriod ); + break; + default: + retCode = TA_SUCCESS; + break; + } + + if( retCode != TA_SUCCESS ) + return TA_TEST_TFRR_SETUNSTABLE_PERIOD_FAIL; + + /* Transform the inputs for MAMA (it is an AVGPRICE in John Ehlers book). */ + if( test->optInMAType_1 == TA_MAType_MAMA ) + { + TA_MEDPRICE( 0, history->nbBars-1, history->high, history->low, + &outBegIdx, &outNbElement, gBuffer[0].in ); + + TA_MEDPRICE( 0, history->nbBars-1, history->high, history->low, + &outBegIdx, &outNbElement, gBuffer[1].in ); + + /* Will be use as reference */ + TA_MEDPRICE( 0, history->nbBars-1, history->high, history->low, + &outBegIdx, &outNbElement, gBuffer[2].in ); + referenceInput = gBuffer[2].in; + } + else + referenceInput = history->close; + + + + /* Make a simple first call. */ + switch( test->id ) + { + case TA_ANY_MA_TEST: + if(testMAVP) + { + retCode = TA_MAVP( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[2].in, + 2, test->optInTimePeriod, + (TA_MAType)test->optInMAType_1, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + } + else + { + retCode = TA_MA( test->startIdx, + test->endIdx, + gBuffer[0].in, + test->optInTimePeriod, + (TA_MAType)test->optInMAType_1, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + } + break; + case TA_MAMA_TEST: + retCode = TA_MAMA( test->startIdx, + test->endIdx, + gBuffer[0].in, + 0.5, 0.05, + &outBegIdx, + &outNbElement, + gBuffer[0].out0, + gBuffer[0].out2 ); + + break; + case TA_FAMA_TEST: + retCode = TA_MAMA( test->startIdx, + test->endIdx, + gBuffer[0].in, + 0.5, 0.05, + &outBegIdx, + &outNbElement, + gBuffer[0].out2, + gBuffer[0].out0 ); + + break; + } + + errNb = checkDataSame( gBuffer[0].in, referenceInput, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + errNb = checkExpectedValue( gBuffer[0].out0, + retCode, test->expectedRetCode, + outBegIdx, test->expectedBegIdx, + outNbElement, test->expectedNbElement, + test->oneOfTheExpectedOutReal, + test->oneOfTheExpectedOutRealIndex ); + if( errNb != TA_TEST_PASS ) + return errNb; + + outBegIdx = outNbElement = 0; + + /* Make another call where the input and the output are the + * same buffer. + */ + switch( test->id ) + { + case TA_ANY_MA_TEST: + if(testMAVP) + { + retCode = TA_MAVP( test->startIdx, + test->endIdx, + gBuffer[1].in, + gBuffer[2].in, + 2,test->optInTimePeriod, + (TA_MAType)test->optInMAType_1, + &outBegIdx, + &outNbElement, + gBuffer[1].in ); + } + else + { + retCode = TA_MA( test->startIdx, + test->endIdx, + gBuffer[1].in, + test->optInTimePeriod, + (TA_MAType)test->optInMAType_1, + &outBegIdx, + &outNbElement, + gBuffer[1].in ); + } + break; + case TA_MAMA_TEST: + retCode = TA_MAMA( test->startIdx, + test->endIdx, + gBuffer[1].in, + 0.5, 0.05, + &outBegIdx, + &outNbElement, + gBuffer[1].in, + gBuffer[0].out2 ); + break; + case TA_FAMA_TEST: + retCode = TA_MAMA( test->startIdx, + test->endIdx, + gBuffer[1].in, + 0.5, 0.05, + &outBegIdx, + &outNbElement, + gBuffer[0].out2, + gBuffer[1].in ); + break; + } + + /* The previous call to TA_MA should have the same output + * as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[1].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + errNb = checkExpectedValue( gBuffer[1].in, + retCode, test->expectedRetCode, + outBegIdx, test->expectedBegIdx, + outNbElement, test->expectedNbElement, + test->oneOfTheExpectedOutReal, + test->oneOfTheExpectedOutRealIndex ); + if( errNb != TA_TEST_PASS ) + return errNb; + + /* Verify that the "all-purpose" TA_MA_Lookback is consistent + * with the corresponding moving average lookback function. + */ + if( test->optInTimePeriod >= 2 ) + { + switch( test->optInMAType_1 ) + { + case TA_MAType_WMA: + temp = TA_WMA_Lookback( test->optInTimePeriod ); + break; + + case TA_MAType_SMA: + temp = TA_SMA_Lookback( test->optInTimePeriod ); + break; + + case TA_MAType_EMA: + temp = TA_EMA_Lookback( test->optInTimePeriod ); + break; + + case TA_MAType_DEMA: + temp = TA_DEMA_Lookback( test->optInTimePeriod ); + break; + + case TA_MAType_TEMA: + temp = TA_TEMA_Lookback( test->optInTimePeriod ); + break; + + case TA_MAType_KAMA: + temp = TA_KAMA_Lookback( test->optInTimePeriod ); + break; + + case TA_MAType_MAMA: + temp = TA_MAMA_Lookback( 0.5, 0.05 ); + break; + + case TA_MAType_TRIMA: + temp = TA_TRIMA_Lookback( test->optInTimePeriod ); + break; + + case TA_MAType_T3: + temp = TA_T3_Lookback( test->optInTimePeriod, 0.7 ); + break; + + default: + return TA_TEST_TFRR_BAD_MA_TYPE; + } + + temp2 = TA_MA_Lookback( test->optInTimePeriod, (TA_MAType)test->optInMAType_1 ); + + if( temp != temp2 ) + { + printf( "\nFailed for MA Type #%d for period %d\n", test->optInMAType_1, test->optInTimePeriod ); + return TA_TEST_TFFR_BAD_MA_LOOKBACK; + } + } + + /* Do a systematic test of most of the + * possible startIdx/endIdx range. + */ + testParam.test = test; + testParam.close = referenceInput; + testParam.testMAVP = testMAVP; + testParam.mavpPeriod = gBuffer[2].in; + + if( test->doRangeTestFlag ) + { + switch( test->optInMAType_1 ) + { + case TA_MAType_TEMA: + case TA_MAType_DEMA: + case TA_MAType_EMA: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_EMA, + (void *)&testParam, 1, 0 ); + break; + case TA_MAType_T3: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_T3, + (void *)&testParam, 1, 0 ); + break; + case TA_MAType_KAMA: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_KAMA, + (void *)&testParam, 1, 0 ); + break; + case TA_MAType_MAMA: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_MAMA, + (void *)&testParam, 2, 0 ); + break; + default: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_NONE, + (void *)&testParam, 1, 0 ); + } + + if( errNb != TA_TEST_PASS ) + return errNb; + } + + return TA_TEST_PASS; +} + diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_macd.c b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_macd.c new file mode 100644 index 000000000..554c962ec --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_macd.c @@ -0,0 +1,603 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF First version. + * + */ + +/* Description: + * Regression test of MACD. + */ + +/**** Headers ****/ +#include +#include + +#include "ta_test_priv.h" +#include "ta_test_func.h" +#include "ta_utility.h" +#include "ta_memory.h" + +/**** External functions declarations. ****/ +/* None */ + +/**** External variables declarations. ****/ +/* None */ + +/**** Global variables definitions. ****/ +/* None */ + +/**** Local declarations. ****/ +typedef enum { +TA_MACD_TEST, +TA_MACDFIX_TEST, +TA_MACDEXT_TEST +} TA_TestId; + +typedef struct +{ + TA_Integer doRangeTestFlag; + TA_TestId testId; + + TA_Integer startIdx; + TA_Integer endIdx; + + TA_Integer optInFastPeriod; + TA_Integer optInSlowPeriod; + TA_Integer optInSignalPeriod_2; + TA_Integer compatibility; + + TA_RetCode expectedRetCode; + + TA_Integer expectedBegIdx; + TA_Integer expectedNbElement; + + TA_Integer oneOfTheExpectedOutRealIndex0; + TA_Real oneOfTheExpectedOutReal0; + + TA_Integer oneOfTheExpectedOutRealIndex1; + TA_Real oneOfTheExpectedOutReal1; + + TA_Integer oneOfTheExpectedOutRealIndex2; + TA_Real oneOfTheExpectedOutReal2; + +} TA_Test; + +typedef struct +{ + const TA_Test *test; + const TA_Real *close; +} TA_RangeTestParam; + +/**** Local functions declarations. ****/ +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ); + +/**** Local variables definitions. ****/ +static TA_Test tableTest[] = +{ + + /*********************/ + /* MACD - CLASSIC */ + /*********************/ + { 0, TA_MACD_TEST, 0, 251, 12, 26, 9, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 33, 252-33, /* 25, 252-25,*/ + 0, -1.9738, /* MACD */ + 0, -2.7071, /* Signal */ + 0, (-1.9738)-(-2.7071) }, /* Histogram */ + + /* Test period inversion */ + { 0, TA_MACD_TEST, 0, 251, 26, 12, 9, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 33, 252-33, /* 25, 252-25,*/ + 0, -1.9738, /* MACD */ + 0, -2.7071, /* Signal */ + 0, (-1.9738)-(-2.7071) }, /* Histogram */ + + /***********************/ + /* MACD - METASTOCK */ + /***********************/ + + /*******************************/ + /* MACDEXT - MIMIC CLASSIC */ + /*******************************/ + { 0, TA_MACDEXT_TEST, 0, 251, 12, 26, 9, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 33, 252-33, /* 25, 252-25,*/ + 0, -1.9738, /* MACD */ + 0, -2.7071, /* Signal */ + 0, (-1.9738)-(-2.7071)}, /* Histogram */ + + /***************************/ + /* MACD FIX - CLASSIC */ + /***************************/ + + /***************************/ + /* MACD FIX - METASTOCK */ + /***************************/ + { 1, TA_MACDFIX_TEST, 0, 251, 12, 26, 9, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 33, 252-33, /* 25, 252-25,*/ + 0, -1.2185, /* MACD */ + 0, -1.7119, /* Signal */ + 0, (-1.2185)-(-1.7119) }, /* Histogram */ + + { 0, TA_MACDFIX_TEST, 0, 251, 12, 26, 9, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 33, 252-33, + 252-34, 0.8764, /* MACD */ + 252-34, 1.3533, /* Signal */ + 252-34, (0.8764)-(1.3533)}, /* Histogram */ + /* Test period inversion */ + { 0, TA_MACDFIX_TEST, 0, 251, 26, 12, 9, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 33, 252-33, + 252-34, 0.8764, /* MACD */ + 252-34, 1.3533, /* Signal */ + 252-34, (0.8764)-(1.3533)} /* Histogram */ + +}; + +#define NB_TEST (sizeof(tableTest)/sizeof(TA_Test)) + +/**** Global functions definitions. ****/ +ErrorNumber test_func_macd( TA_History *history ) +{ + unsigned int i; + ErrorNumber retValue; + + for( i=0; i < NB_TEST; i++ ) + { + + if( (int)tableTest[i].expectedNbElement > (int)history->nbBars ) + { + printf( "TA_MACD Failed Bad Parameter for Test #%d (%d,%d)\n", + i, + tableTest[i].expectedNbElement, + history->nbBars ); + return TA_TESTUTIL_TFRR_BAD_PARAM; + } + + retValue = do_test( history, &tableTest[i] ); + if( retValue != 0 ) + { + printf( "TA_MACD Failed Test #%d (Code=%d)\n", i, retValue ); + return retValue; + } + } + + /* All test succeed. */ + return TA_TEST_PASS; +} + +/**** Local functions definitions. ****/ +static TA_RetCode rangeTestFunction( TA_Integer startIdx, + TA_Integer endIdx, + TA_Real *outputBuffer, + TA_Integer *outputBufferInt, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Integer *lookback, + void *opaqueData, + unsigned int outputNb, + unsigned int *isOutputInteger ) +{ + TA_RetCode retCode; + TA_RangeTestParam *testParam; + TA_Real *dummyBuffer1, *dummyBuffer2; + TA_Real *out1, *out2, *out3; + + (void)outputBufferInt; + + *isOutputInteger = 0; + + testParam = (TA_RangeTestParam *)opaqueData; + + dummyBuffer1 = TA_Malloc( ((endIdx-startIdx)+1)*sizeof(TA_Real)); + if( !dummyBuffer1 ) + return TA_ALLOC_ERR; + + dummyBuffer2 = TA_Malloc( ((endIdx-startIdx)+1)*sizeof(TA_Real)); + if( !dummyBuffer2 ) + { + TA_Free( dummyBuffer1 ); + return TA_ALLOC_ERR; + } + + switch( outputNb ) + { + case 0: + out1 = outputBuffer; + out2 = dummyBuffer1; + out3 = dummyBuffer2; + break; + case 1: + out2 = outputBuffer; + out1 = dummyBuffer1; + out3 = dummyBuffer2; + break; + case 2: + out3 = outputBuffer; + out2 = dummyBuffer1; + out1 = dummyBuffer2; + break; + default: + TA_Free( dummyBuffer1 ); + TA_Free( dummyBuffer2 ); + return TA_BAD_PARAM; + } + + switch( testParam->test->testId ) + { + case TA_MACDFIX_TEST: + retCode = TA_MACDFIX( startIdx, + endIdx, + testParam->close, + testParam->test->optInSignalPeriod_2, + outBegIdx, outNbElement, + out1, out2, out3 ); + *lookback = TA_MACDFIX_Lookback( testParam->test->optInSignalPeriod_2 ); + break; + case TA_MACD_TEST: + retCode = TA_MACD( startIdx, + endIdx, + testParam->close, + testParam->test->optInFastPeriod, + testParam->test->optInSlowPeriod, + testParam->test->optInSignalPeriod_2, + outBegIdx, outNbElement, + out1, out2, out3 ); + + *lookback = TA_MACD_Lookback( testParam->test->optInFastPeriod, + testParam->test->optInSlowPeriod, + testParam->test->optInSignalPeriod_2 ); + break; + case TA_MACDEXT_TEST: + retCode = TA_MACDEXT( startIdx, + endIdx, + testParam->close, + testParam->test->optInFastPeriod, + TA_MAType_EMA, + testParam->test->optInSlowPeriod, + TA_MAType_EMA, + testParam->test->optInSignalPeriod_2, + TA_MAType_EMA, + outBegIdx, outNbElement, + out1, out2, out3 ); + + *lookback = TA_MACDEXT_Lookback( testParam->test->optInFastPeriod, + TA_MAType_EMA, + testParam->test->optInSlowPeriod, + TA_MAType_EMA, + testParam->test->optInSignalPeriod_2, + TA_MAType_EMA ); + break; + default: + retCode = TA_BAD_PARAM; + } + + TA_Free( dummyBuffer1 ); + TA_Free( dummyBuffer2 ); + + return retCode; +} + +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ) +{ + TA_RetCode retCode; + ErrorNumber errNb; + TA_Integer outBegIdx; + TA_Integer outNbElement; + TA_RangeTestParam testParam; + + retCode = TA_SetUnstablePeriod( TA_FUNC_UNST_EMA, 0 ); + if( retCode != TA_SUCCESS ) + return TA_TEST_TFRR_SETUNSTABLE_PERIOD_FAIL; + + TA_SetCompatibility( (TA_Compatibility)test->compatibility ); + + /* Set to NAN all the elements of the gBuffers. */ + clearAllBuffers(); + + /* Build the input. */ + setInputBuffer( 0, history->close, history->nbBars ); + setInputBuffer( 1, history->close, history->nbBars ); + setInputBuffer( 2, history->close, history->nbBars ); + setInputBuffer( 3, history->close, history->nbBars ); + + CLEAR_EXPECTED_VALUE(0); + CLEAR_EXPECTED_VALUE(1); + CLEAR_EXPECTED_VALUE(2); + + /* Make a simple first call. */ + switch( test->testId ) + { + case TA_MACDFIX_TEST: + retCode = TA_MACDFIX( test->startIdx, + test->endIdx, + gBuffer[0].in, + test->optInSignalPeriod_2, + &outBegIdx, &outNbElement, + gBuffer[0].out0, + gBuffer[0].out1, + gBuffer[0].out2 ); + break; + case TA_MACD_TEST: + retCode = TA_MACD(test->startIdx, + test->endIdx, + gBuffer[0].in, + test->optInFastPeriod, + test->optInSlowPeriod, + test->optInSignalPeriod_2, + &outBegIdx, &outNbElement, + gBuffer[0].out0, + gBuffer[0].out1, + gBuffer[0].out2 ); + break; + case TA_MACDEXT_TEST: + retCode = TA_MACDEXT( test->startIdx, + test->endIdx, + gBuffer[0].in, + test->optInFastPeriod, + TA_MAType_EMA, + test->optInSlowPeriod, + TA_MAType_EMA, + test->optInSignalPeriod_2, + TA_MAType_EMA, + &outBegIdx, &outNbElement, + gBuffer[0].out0, + gBuffer[0].out1, + gBuffer[0].out2 ); + break; + } + + + errNb = checkDataSame( gBuffer[0].in, history->close, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[0].out0, 0 ); + CHECK_EXPECTED_VALUE( gBuffer[0].out1, 1 ); + CHECK_EXPECTED_VALUE( gBuffer[0].out2, 2 ); + + outBegIdx = outNbElement = 0; + + /* Make another call where the input and the output are the + * same buffer. + */ + switch( test->testId ) + { + case TA_MACDFIX_TEST: + retCode = TA_MACDFIX( + test->startIdx, + test->endIdx, + gBuffer[1].in, + test->optInSignalPeriod_2, + &outBegIdx, &outNbElement, + gBuffer[1].in, + gBuffer[1].out1, + gBuffer[1].out2 ); + break; + case TA_MACD_TEST: + retCode = TA_MACD(test->startIdx, + test->endIdx, + gBuffer[1].in, + test->optInFastPeriod, + test->optInSlowPeriod, + test->optInSignalPeriod_2, + &outBegIdx, &outNbElement, + gBuffer[1].in, + gBuffer[1].out1, + gBuffer[1].out2 ); + break; + case TA_MACDEXT_TEST: + retCode = TA_MACDEXT( test->startIdx, + test->endIdx, + gBuffer[1].in, + test->optInFastPeriod, + TA_MAType_EMA, + test->optInSlowPeriod, + TA_MAType_EMA, + test->optInSignalPeriod_2, + TA_MAType_EMA, + &outBegIdx, &outNbElement, + gBuffer[1].in, + gBuffer[1].out1, + gBuffer[1].out2 ); + break; + } + + /* The previous call should have the same output + * as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[1].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[1].in, 0 ); + CHECK_EXPECTED_VALUE( gBuffer[1].out1, 1 ); + CHECK_EXPECTED_VALUE( gBuffer[1].out2, 2 ); + + outBegIdx = outNbElement = 0; + + CLEAR_EXPECTED_VALUE(0); + CLEAR_EXPECTED_VALUE(1); + CLEAR_EXPECTED_VALUE(2); + + /* Make another call where the input and the output are the + * same buffer. + */ + switch( test->testId ) + { + case TA_MACDFIX_TEST: + retCode = TA_MACDFIX( + test->startIdx, + test->endIdx, + gBuffer[2].in, + test->optInSignalPeriod_2, + &outBegIdx, &outNbElement, + gBuffer[2].out1, + gBuffer[2].in, + gBuffer[2].out2 ); + break; + + case TA_MACD_TEST: + retCode = TA_MACD( + test->startIdx, + test->endIdx, + gBuffer[2].in, + test->optInFastPeriod, + test->optInSlowPeriod, + test->optInSignalPeriod_2, + &outBegIdx, &outNbElement, + gBuffer[2].out1, + gBuffer[2].in, + gBuffer[2].out2 ); + break; + case TA_MACDEXT_TEST: + retCode = TA_MACDEXT( + test->startIdx, + test->endIdx, + gBuffer[2].in, + test->optInFastPeriod, + TA_MAType_EMA, + test->optInSlowPeriod, + TA_MAType_EMA, + test->optInSignalPeriod_2, + TA_MAType_EMA, + &outBegIdx, &outNbElement, + gBuffer[2].out1, + gBuffer[2].in, + gBuffer[2].out2 ); + break; + } + + /* The previous call should have the same output + * as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[1].out1, gBuffer[2].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[2].out1, 0 ); + CHECK_EXPECTED_VALUE( gBuffer[2].in, 1 ); + CHECK_EXPECTED_VALUE( gBuffer[2].out2, 2 ); + + outBegIdx = outNbElement = 0; + + CLEAR_EXPECTED_VALUE(0); + CLEAR_EXPECTED_VALUE(1); + CLEAR_EXPECTED_VALUE(2); + + /* Make another call where the input and the output are the + * same buffer. + */ + switch( test->testId ) + { + case TA_MACDFIX_TEST: + retCode = TA_MACDFIX( test->startIdx, + test->endIdx, + gBuffer[3].in, + test->optInSignalPeriod_2, + &outBegIdx, &outNbElement, + gBuffer[3].out1, + gBuffer[3].out2, + gBuffer[3].in ); + break; + case TA_MACD_TEST: + retCode = TA_MACD(test->startIdx, + test->endIdx, + gBuffer[3].in, + test->optInFastPeriod, + test->optInSlowPeriod, + test->optInSignalPeriod_2, + &outBegIdx, &outNbElement, + gBuffer[3].out1, + gBuffer[3].out2, + gBuffer[3].in ); + break; + case TA_MACDEXT_TEST: + retCode = TA_MACDEXT( test->startIdx, + test->endIdx, + gBuffer[3].in, + test->optInFastPeriod, + TA_MAType_EMA, + test->optInSlowPeriod, + TA_MAType_EMA, + test->optInSignalPeriod_2, + TA_MAType_EMA, + &outBegIdx, &outNbElement, + gBuffer[3].out1, + gBuffer[3].out2, + gBuffer[3].in ); + break; + } + + /* The previous call should have the same output + * as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[2].out2, gBuffer[3].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[3].out1, 0 ); + CHECK_EXPECTED_VALUE( gBuffer[3].out2, 1 ); + CHECK_EXPECTED_VALUE( gBuffer[3].in, 2 ); + + /* Do a systematic test of most of the + * possible startIdx/endIdx range. + */ + testParam.test = test; + testParam.close = history->close; + + if( test->doRangeTestFlag ) + { + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_EMA, + (void *)&testParam, 3, 0 ); + if( errNb != TA_TEST_PASS ) + return errNb; + } + + return TA_TEST_PASS; +} diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_minmax.c b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_minmax.c new file mode 100644 index 000000000..251de602a --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_minmax.c @@ -0,0 +1,833 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF First version. + * 122506 MF Add tests for MININDEX,MAXINDEX,MINMAX and MINMAXINDEX. + */ + +/* Description: + * Test the min/max related functions. + * + */ + +/**** Headers ****/ +#include +#include + +#include "ta_test_priv.h" +#include "ta_test_func.h" +#include "ta_utility.h" +#include "ta_memory.h" + +/**** External functions declarations. ****/ +/* None */ + +/**** External variables declarations. ****/ +/* None */ + +/**** Global variables definitions. ****/ +/* None */ + +/**** Local declarations. ****/ +typedef enum { +TA_MIN_TEST, +TA_MAX_TEST, +TA_MINMAX_TEST, +TA_MININDEX_TEST, +TA_MAXINDEX_TEST, +TA_MINMAXINDEX_TEST +} TA_TestId; + +typedef struct +{ + TA_Integer doRangeTestFlag; + + TA_TestId theFunction; + + TA_Integer startIdx; + TA_Integer endIdx; + + TA_Integer optInTimePeriod; + + TA_RetCode expectedRetCode; + + TA_Integer oneOfTheExpectedOutRealIndex0; + TA_Real oneOfTheExpectedOutReal0; + + TA_Integer expectedBegIdx; + TA_Integer expectedNbElement; +} TA_Test; + +typedef struct +{ + const TA_Real *input; + unsigned int nbElement; +} TA_RefTest; + +typedef struct +{ + const TA_Test *test; + const TA_Real *close; +} TA_RangeTestParam; + +/**** Local functions declarations. ****/ +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ); + +static TA_RetCode referenceMin( TA_Integer startIdx, + TA_Integer endIdx, + const TA_Real inReal[], + TA_Integer optInTimePeriod, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Real outReal[] ); + +static TA_RetCode referenceMax( TA_Integer startIdx, + TA_Integer endIdx, + const TA_Real inReal[], + TA_Integer optInTimePeriod, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Real outReal[] ); + +static ErrorNumber testCompareToReference( const TA_Real *input, int nbElement ); + +/**** Local variables definitions. ****/ + +static TA_Test tableTest[] = +{ + /**********************/ + /* MIN TEST */ + /**********************/ + + /* No output value. */ + { 0, TA_MIN_TEST, 1, 1, 14, TA_SUCCESS, 0, 0, 0, 0}, + + /* One value tests. */ + { 0, TA_MIN_TEST, 14, 14, 14, TA_SUCCESS, 0, 91.125, 14, 1}, + + /* Index too low test. */ + { 0, TA_MIN_TEST, 0, 15, 14, TA_SUCCESS, 0, 91.125, 13, 3}, + { 0, TA_MIN_TEST, 1, 15, 14, TA_SUCCESS, 0, 91.125, 13, 3}, + { 0, TA_MIN_TEST, 2, 16, 14, TA_SUCCESS, 0, 91.125, 13, 4}, + { 0, TA_MIN_TEST, 2, 16, 14, TA_SUCCESS, 1, 91.125, 13, 4}, + { 0, TA_MIN_TEST, 2, 16, 14, TA_SUCCESS, 2, 91.125, 13, 4}, + { 0, TA_MIN_TEST, 0, 14, 14, TA_SUCCESS, 0, 91.125, 13, 2}, + { 0, TA_MIN_TEST, 0, 13, 14, TA_SUCCESS, 0, 91.125, 13, 1}, + + /* Middle of data test. */ + { 0, TA_MIN_TEST, 20, 21, 14, TA_SUCCESS, 0, 89.345, 20, 2 }, + { 0, TA_MIN_TEST, 20, 21, 14, TA_SUCCESS, 1, 87.94, 20, 2 }, + + /* Misc tests: 2 and 14 periods */ + { 1, TA_MIN_TEST, 0, 251, 14, TA_SUCCESS, 0, 91.125, 13, 252-13 }, /* First Value */ + { 0, TA_MIN_TEST, 0, 251, 14, TA_SUCCESS, 1, 91.125, 13, 252-13 }, + { 0, TA_MIN_TEST, 0, 251, 14, TA_SUCCESS, 2, 91.125, 13, 252-13 }, + { 0, TA_MIN_TEST, 0, 251, 14, TA_SUCCESS, 3, 91.125, 13, 252-13 }, + { 0, TA_MIN_TEST, 0, 251, 14, TA_SUCCESS, 4, 89.75, 13, 252-13 }, + { 0, TA_MIN_TEST, 0, 251, 14, TA_SUCCESS, 252-14, 107.75, 13, 252-13 }, /* Last Value */ + + { 1, TA_MIN_TEST, 0, 251, 2, TA_SUCCESS, 0, 91.5, 1, 252-1 }, /* First Value */ + { 0, TA_MIN_TEST, 0, 251, 2, TA_SUCCESS, 1, 91.5, 1, 252-1 }, + { 0, TA_MIN_TEST, 0, 251, 2, TA_SUCCESS, 2, 93.97, 1, 252-1 }, + { 0, TA_MIN_TEST, 0, 251, 2, TA_SUCCESS, 3, 93.97, 1, 252-1 }, + { 0, TA_MIN_TEST, 0, 251, 2, TA_SUCCESS, 4, 94.5, 1, 252-1 }, + { 0, TA_MIN_TEST, 0, 251, 2, TA_SUCCESS, 252-2, 109.19, 1, 252-1 }, /* Last Value */ + + /**********************/ + /* MAX TEST */ + /**********************/ + + /* One value tests. */ + { 0, TA_MAX_TEST, 14, 14, 14, TA_SUCCESS, 0, 98.815, 14, 1}, + + /* Index too low test. */ + { 0, TA_MAX_TEST, 0, 15, 14, TA_SUCCESS, 0, 98.815, 13, 3}, + { 0, TA_MAX_TEST, 1, 15, 14, TA_SUCCESS, 0, 98.815, 13, 3}, + { 0, TA_MAX_TEST, 2, 16, 14, TA_SUCCESS, 0, 98.815, 13, 4}, + { 0, TA_MAX_TEST, 2, 16, 14, TA_SUCCESS, 1, 98.815, 13, 4}, + { 0, TA_MAX_TEST, 2, 16, 14, TA_SUCCESS, 2, 98.815, 13, 4}, + { 0, TA_MAX_TEST, 0, 14, 14, TA_SUCCESS, 0, 98.815, 13, 2}, + { 0, TA_MAX_TEST, 0, 13, 14, TA_SUCCESS, 0, 98.815, 13, 1}, + + /* Middle of data test. */ + { 0, TA_MAX_TEST, 20, 21, 14, TA_SUCCESS, 0, 98.815, 20, 2 }, + { 0, TA_MAX_TEST, 20, 21, 14, TA_SUCCESS, 1, 98.815, 20, 2 }, + { 0, TA_MAX_TEST, 20, 99, 14, TA_SUCCESS, 6, 93.405, 20, 80 }, + { 0, TA_MAX_TEST, 20, 99, 14, TA_SUCCESS, 6, 93.405, 20, 80 }, + { 0, TA_MAX_TEST, 20, 99, 14, TA_SUCCESS, 13, 89.78, 20, 80 }, + + /* Misc tests: 1, 2 and 14 periods */ + { 1, TA_MAX_TEST, 0, 251, 14, TA_SUCCESS, 0, 98.815, 13, 252-13 }, /* First Value */ + { 0, TA_MAX_TEST, 0, 251, 14, TA_SUCCESS, 1, 98.815, 13, 252-13 }, + { 0, TA_MAX_TEST, 0, 251, 14, TA_SUCCESS, 2, 98.815, 13, 252-13 }, + { 0, TA_MAX_TEST, 0, 251, 14, TA_SUCCESS, 3, 98.815, 13, 252-13 }, + { 0, TA_MAX_TEST, 0, 251, 14, TA_SUCCESS, 4, 98.815, 13, 252-13 }, + { 0, TA_MAX_TEST, 0, 251, 14, TA_SUCCESS, 252-14, 110.69, 13, 252-13 }, /* Last Value */ + + { 1, TA_MAX_TEST, 0, 251, 2, TA_SUCCESS, 0, 92.5, 1, 252-1 }, /* First Value */ + { 0, TA_MAX_TEST, 0, 251, 2, TA_SUCCESS, 1, 95.155, 1, 252-1 }, + { 0, TA_MAX_TEST, 0, 251, 2, TA_SUCCESS, 2, 95.155, 1, 252-1 }, + { 0, TA_MAX_TEST, 0, 251, 2, TA_SUCCESS, 3, 95.5, 1, 252-1 }, + { 0, TA_MAX_TEST, 0, 251, 2, TA_SUCCESS, 4, 95.5, 1, 252-1 }, + { 0, TA_MAX_TEST, 0, 251, 2, TA_SUCCESS, 5, 95.0, 1, 252-1 }, + { 0, TA_MAX_TEST, 0, 251, 2, TA_SUCCESS, 252-2, 109.69, 1, 252-1 }, /* Last Value */ + + /*************************************/ + /* MINMAX and INDEX Functions tests */ + /*************************************/ + + /* Note: for now only range tests done on these */ + { 1, TA_MINMAX_TEST, 0, 251, 14, TA_SUCCESS, 0, 91.125, 13, 252-13 }, + { 1, TA_MINMAXINDEX_TEST, 0, 251, 14, TA_SUCCESS, 0, 91.125, 13, 252-13 }, + { 1, TA_MININDEX_TEST, 0, 251, 14, TA_SUCCESS, 0, 91.125, 13, 252-13 }, + { 1, TA_MAXINDEX_TEST, 0, 251, 14, TA_SUCCESS, 0, 91.125, 13, 252-13 } +}; + +#define NB_TEST (sizeof(tableTest)/sizeof(TA_Test)) + +static TA_Real testSerie1[] = {9,8,7,6,5}; +static TA_Real testSerie2[] = {3,7,9,10,15,33,50}; +static TA_Real testSerie3[] = {0,0,0,1,2,0,0,0}; +static TA_Real testSerie4[] = {0,0,0,2,1,0,0,0}; +static TA_Real testSerie5[] = {2,0,0,0,0,0,0,0}; +static TA_Real testSerie6[] = {0,0,0,0,0,0,0,1}; +static TA_Real testSerie7[] = {-3,2}; +static TA_Real testSerie8[] = {2,-2}; +static TA_Real testSerie9[] = {4,2,3}; +static TA_Real testSerie10[] = {3,3,-3,2,-1,0,2}; + +static TA_RefTest tableRefTest[] = +{ + {testSerie1, sizeof(testSerie1)/sizeof(TA_Real)}, + {testSerie2, sizeof(testSerie2)/sizeof(TA_Real)}, + {testSerie3, sizeof(testSerie3)/sizeof(TA_Real)}, + {testSerie4, sizeof(testSerie4)/sizeof(TA_Real)}, + {testSerie5, sizeof(testSerie5)/sizeof(TA_Real)}, + {testSerie6, sizeof(testSerie6)/sizeof(TA_Real)}, + {testSerie7, sizeof(testSerie7)/sizeof(TA_Real)}, + {testSerie8, sizeof(testSerie8)/sizeof(TA_Real)}, + {testSerie9, sizeof(testSerie10)/sizeof(TA_Real)} +}; + +#define NB_TEST_REF (sizeof(tableRefTest)/sizeof(TA_RefTest)) + +/**** Global functions definitions. ****/ +ErrorNumber test_func_minmax( TA_History *history ) +{ + unsigned int i; + ErrorNumber retValue; + + for( i=0; i < NB_TEST; i++ ) + { + if( (int)tableTest[i].expectedNbElement > (int)history->nbBars ) + { + printf( "%s Failed Bad Parameter for Test #%d (%d,%d)\n", __FILE__, + i, tableTest[i].expectedNbElement, history->nbBars ); + return TA_TESTUTIL_TFRR_BAD_PARAM; + } + + retValue = do_test( history, &tableTest[i] ); + if( retValue != 0 ) + { + printf( "%s Failed Test #%d (Code=%d)\n", __FILE__, + i, retValue ); + return retValue; + } + } + + /* Do tests against a local reference which is the non-optimized implementation */ + for( i=0; i < NB_TEST_REF; i++ ) + { + retValue = testCompareToReference( tableRefTest[i].input, + tableRefTest[i].nbElement ); + if( retValue != 0 ) + { + printf( "%s Failed Ref Test #%d (Code=%d)\n", __FILE__, + i, retValue ); + return retValue; + } + } + + /* All test succeed. */ + return TA_TEST_PASS; +} + +/**** Local functions definitions. ****/ +static TA_RetCode rangeTestFunction( TA_Integer startIdx, + TA_Integer endIdx, + TA_Real *outputBuffer, + TA_Integer *outputBufferInt, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Integer *lookback, + void *opaqueData, + unsigned int outputNb, + unsigned int *isOutputInteger ) +{ + TA_RetCode retCode; + TA_RangeTestParam *testParam; + TA_Real *dummyBufferReal; + TA_Real *out1Real; + TA_Real *out2Real; + + TA_Integer *dummyBufferInt; + TA_Integer *out1Int; + TA_Integer *out2Int; + + (void)outputNb; + (void)outputBufferInt; + + *isOutputInteger = 0; + + testParam = (TA_RangeTestParam *)opaqueData; + + dummyBufferReal = TA_Malloc( ((endIdx-startIdx)+1)*sizeof(TA_Real)); + if( !dummyBufferReal ) + return TA_ALLOC_ERR; + + dummyBufferInt = TA_Malloc( ((endIdx-startIdx)+1)*sizeof(TA_Integer)); + if( !dummyBufferInt ) + { + TA_Free( dummyBufferReal ); + return TA_ALLOC_ERR; + } + + switch( outputNb ) + { + case 0: + out1Real = outputBuffer; + out2Real = dummyBufferReal; + out1Int = outputBufferInt; + out2Int = dummyBufferInt; + break; + case 1: + out1Real = dummyBufferReal; + out2Real = outputBuffer; + out1Int = dummyBufferInt; + out2Int = outputBufferInt; + break; + default: + TA_Free( dummyBufferReal ); + return TA_BAD_PARAM; + } + + switch( testParam->test->theFunction ) + { + case TA_MIN_TEST: + retCode = TA_MIN( startIdx, + endIdx, + testParam->close, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + outputBuffer ); + *lookback = TA_MIN_Lookback( testParam->test->optInTimePeriod ); + break; + + case TA_MAX_TEST: + retCode = TA_MAX( startIdx, + endIdx, + testParam->close, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + outputBuffer ); + *lookback = TA_MAX_Lookback( testParam->test->optInTimePeriod ); + break; + + case TA_MINMAX_TEST: + retCode = TA_MINMAX( startIdx, + endIdx, + testParam->close, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + out1Real, out2Real ); + *lookback = TA_MINMAX_Lookback( testParam->test->optInTimePeriod ); + break; + + case TA_MINMAXINDEX_TEST: + retCode = TA_MINMAXINDEX( startIdx, + endIdx, + testParam->close, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + out1Int, out2Int ); + *lookback = TA_MINMAXINDEX_Lookback( testParam->test->optInTimePeriod ); + *isOutputInteger = 1; + break; + + case TA_MININDEX_TEST: + retCode = TA_MININDEX( startIdx, + endIdx, + testParam->close, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + out1Int ); + *lookback = TA_MININDEX_Lookback( testParam->test->optInTimePeriod ); + *isOutputInteger = 1; + break; + + case TA_MAXINDEX_TEST: + retCode = TA_MAXINDEX( startIdx, + endIdx, + testParam->close, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + out1Int ); + *lookback = TA_MAXINDEX_Lookback( testParam->test->optInTimePeriod ); + *isOutputInteger = 1; + break; + + default: + retCode = TA_INTERNAL_ERROR(129); + break; + } + + TA_Free( dummyBufferReal ); + TA_Free( dummyBufferInt ); + + return retCode; +} + +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ) +{ + TA_RetCode retCode; + ErrorNumber errNb; + TA_Integer outBegIdx; + TA_Integer outNbElement; + TA_RangeTestParam testParam; + + /* Set to NAN all the elements of the gBuffers. */ + clearAllBuffers(); + + /* Build the input. */ + setInputBuffer( 0, history->open, history->nbBars ); + setInputBuffer( 1, history->open, history->nbBars ); + + CLEAR_EXPECTED_VALUE(0); + + /* Do a systematic test of most of the + * possible startIdx/endIdx range. + */ + testParam.test = test; + testParam.close = history->close; + + if( test->doRangeTestFlag ) + { + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_NONE, + (void *)&testParam, 1, 0 ); + if( errNb != TA_TEST_PASS ) + return errNb; + } + + + /* Make a simple first call. */ + if( test->theFunction == TA_MIN_TEST ) + { + retCode = TA_MIN( test->startIdx, + test->endIdx, + gBuffer[0].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + } + else if( test->theFunction == TA_MAX_TEST ) + { + retCode = TA_MAX( test->startIdx, + test->endIdx, + gBuffer[0].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + } + else + { + /* For now, tests only MIN and MAX. Only range check tests implemented. */ + return TA_TEST_PASS; + } + + errNb = checkDataSame( gBuffer[0].in, history->open,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[0].out0, 0 ); + + outBegIdx = outNbElement = 0; + + /* Make another call where the input and the output are the + * same buffer. + */ + CLEAR_EXPECTED_VALUE(0); + if( test->theFunction == TA_MIN_TEST ) + { + retCode = TA_MIN( test->startIdx, + test->endIdx, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[1].in ); + } + else if( test->theFunction == TA_MAX_TEST ) + { + retCode = TA_MAX( test->startIdx, + test->endIdx, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[1].in ); + } + + /* The previous call should have the same output as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[1].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[1].in, 0 ); + + if( errNb != TA_TEST_PASS ) + return errNb; + + + return TA_TEST_PASS; +} + + +/* These reference functions were the original non-optimized + * version of TA_MIN and TA_MAX. + * + * TA-Lib might implement a faster algorithm, at the cost + * of complexity. Consequently, it is important to verify the + * equivalence between the optimize and non-optimized version. + */ +static TA_RetCode referenceMin( TA_Integer startIdx, + TA_Integer endIdx, + const TA_Real inReal[], + TA_Integer optInTimePeriod, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Real outReal[] ) +{ + TA_Real lowest, tmp; + TA_Integer outIdx, nbInitialElementNeeded; + TA_Integer trailingIdx, today, i; + + /* Identify the minimum number of price bar needed + * to identify at least one output over the specified + * period. + */ + nbInitialElementNeeded = (optInTimePeriod-1); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < nbInitialElementNeeded ) + startIdx = nbInitialElementNeeded; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + *outBegIdx = 0; + *outNbElement = 0; + return TA_SUCCESS; + } + + /* Proceed with the calculation for the requested range. + * Note that this algorithm allows the input and + * output to be the same buffer. + */ + outIdx = 0; + today = startIdx; + trailingIdx = startIdx-nbInitialElementNeeded; + + while( today <= endIdx ) + { + lowest = inReal[trailingIdx++]; + for( i=trailingIdx; i <= today; i++ ) + { + tmp = inReal[i]; + if( tmp < lowest) lowest= tmp; + } + + outReal[outIdx++] = lowest; + today++; + } + + /* Keep the outBegIdx relative to the + * caller input before returning. + */ + *outBegIdx = startIdx; + *outNbElement = outIdx; + + return TA_SUCCESS; +} + +static TA_RetCode referenceMax( TA_Integer startIdx, + TA_Integer endIdx, + const TA_Real inReal[], + TA_Integer optInTimePeriod, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Real outReal[] ) +{ + /* Insert local variables here. */ + TA_Real highest, tmp; + TA_Integer outIdx, nbInitialElementNeeded; + TA_Integer trailingIdx, today, i; + + +#ifndef TA_FUNC_NO_RANGE_CHECK + + /* Validate the requested output range. */ + if( startIdx < 0 ) + return TA_OUT_OF_RANGE_START_INDEX; + if( (endIdx < 0) || (endIdx < startIdx)) + return TA_OUT_OF_RANGE_END_INDEX; + + /* Validate the parameters. */ + if( !inReal ) return TA_BAD_PARAM; + /* min/max are checked for optInTimePeriod. */ + if( optInTimePeriod == TA_INTEGER_DEFAULT ) + optInTimePeriod = 30; + + if( outReal == NULL ) + return TA_BAD_PARAM; + +#endif /* TA_FUNC_NO_RANGE_CHECK */ + + /* Insert TA function code here. */ + + /* Identify the minimum number of price bar needed + * to identify at least one output over the specified + * period. + */ + nbInitialElementNeeded = (optInTimePeriod-1); + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < nbInitialElementNeeded ) + startIdx = nbInitialElementNeeded; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + *outBegIdx = 0; + *outNbElement = 0; + return TA_SUCCESS; + } + + /* Proceed with the calculation for the requested range. + * Note that this algorithm allows the input and + * output to be the same buffer. + */ + outIdx = 0; + today = startIdx; + trailingIdx = startIdx-nbInitialElementNeeded; + + while( today <= endIdx ) + { + highest = inReal[trailingIdx++]; + for( i=trailingIdx; i <= today; i++ ) + { + tmp = inReal[i]; + if( tmp > highest ) highest = tmp; + } + + outReal[outIdx++] = highest; + today++; + } + + /* Keep the outBegIdx relative to the + * caller input before returning. + */ + *outBegIdx = startIdx; + *outNbElement = outIdx; + + return TA_SUCCESS; +} + +static ErrorNumber testCompareToReference( const TA_Real *input, int nbElement ) +{ + TA_Integer outBegIdx, outNbElement; + TA_RetCode retCode; + + TA_Integer outBegIdxRef, outNbElementRef; + TA_RetCode retCodeRef; + + int period, startIdx, endIdx, testNb; + + ErrorNumber errNb; + + outBegIdxRef = outNbElementRef = -1; + + /* Do a systematic tests, even for failure cases. */ + for( testNb=0; testNb <= 1; testNb++ ) /* 0=TA_MIN, 1=TA_MAX */ + { + for( period=2; period <= nbElement; period++ ) + { + for( startIdx=0; startIdx < nbElement; startIdx++ ) + { + for( endIdx=0; (endIdx < nbElement) && (startIdx <= endIdx); endIdx++ ) + { + /* Set to NAN all the elements of the gBuffers. + * Note: These buffer are used as an attempt to detect + * out-of-bound writing in the output. + */ + clearAllBuffers(); + + /* Build the input. */ + setInputBuffer( 0, input, nbElement ); + + /* Get the reference output. */ + if( testNb == 0 ) + retCodeRef = referenceMin( startIdx, endIdx, input, period, + &outBegIdxRef, &outNbElementRef, gBuffer[0].out0 ); + else + retCodeRef = referenceMax( startIdx, endIdx, input, period, + &outBegIdxRef, &outNbElementRef, gBuffer[0].out0 ); + + /* Verify that the input was preserved */ + errNb = checkDataSame( gBuffer[0].in, input, nbElement ); + if( errNb != TA_TEST_PASS ) + return errNb; + + /* Get the TA-Lib implementation output. */ + if( testNb == 0 ) + retCode = TA_MIN( startIdx, endIdx, input, period, + &outBegIdx, &outNbElement, gBuffer[1].out0 ); + else + retCode = TA_MAX( startIdx, endIdx, input, period, + &outBegIdx, &outNbElement, gBuffer[1].out0 ); + + /* Verify that the input was preserved */ + errNb = checkDataSame( gBuffer[0].in, input, nbElement ); + if( errNb != TA_TEST_PASS ) + return errNb; + + /* The reference and TA-LIB should have the same output. */ + if( retCode != retCodeRef ) + { + printf( "Failure: retCode != retCodeRef\n" ); + return TA_REGTEST_OPTIMIZATION_REF_ERROR; + } + + if( outBegIdx != outBegIdxRef ) + { + printf( "Failure: outBegIdx != outBegIdxRef\n" ); + return TA_REGTEST_OPTIMIZATION_REF_ERROR; + } + + if( outNbElement != outNbElementRef ) + { + printf( "Failure: outNbElement != outNbElementRef\n" ); + return TA_REGTEST_OPTIMIZATION_REF_ERROR; + } + + /* checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[1].out0 ); + if( errNb != TA_TEST_PASS ) + return errNb; + + if( retCode == TA_SUCCESS ) + { + /* Make another test using the same input/output buffer. + * The output should still be the same. + */ + if( testNb == 0 ) + retCode = TA_MIN( startIdx, endIdx, gBuffer[0].in, period, + &outBegIdx, &outNbElement, gBuffer[0].in ); + else + retCode = TA_MAX( startIdx, endIdx, gBuffer[0].in, period, + &outBegIdx, &outNbElement, gBuffer[0].in ); + + /* The reference and TA-LIB should have the same output. */ + if( retCode != retCodeRef ) + { + printf( "Failure: retCode != retCodeRef (2)\n" ); + return TA_REGTEST_OPTIMIZATION_REF_ERROR; + } + + if( outBegIdx != outBegIdxRef ) + { + printf( "Failure: outBegIdx != outBegIdxRef (2)\n" ); + return TA_REGTEST_OPTIMIZATION_REF_ERROR; + } + + if( outNbElement != outNbElementRef ) + { + printf( "Failure: outNbElement != outNbElementRef (2)\n" ); + return TA_REGTEST_OPTIMIZATION_REF_ERROR; + } + + /* checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[0].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + } + } + } + } + } + + return TA_TEST_PASS; +} diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_mom.c b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_mom.c new file mode 100644 index 000000000..d95f1d824 --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_mom.c @@ -0,0 +1,553 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF First version. + * + */ + +/* Description: + * Test the momentum functions + * + * The interpretation of the rate of change varies widely depending + * which software and/or books you are refering to. + * + * The following is the table of Rate-Of-Change implemented in TA-LIB: + * MOM = (price - prevPrice) [Momentum] + * ROC = ((price/prevPrice)-1)*100 [Rate of change] + * ROCP = (price-prevPrice)/prevPrice [Rate of change Percentage] + * ROCR = (price/prevPrice) [Rate of change ratio] + * ROCR100 = (price/prevPrice)*100 [Rate of change ratio 100 Scale] + * + * Here are the equivalent function in other software: + * TA-Lib | Tradestation | Metastock + * ================================================= + * MOM | Momentum | ROC (Point) + * ROC | ROC | ROC (Percent) + * ROCP | PercentChange | - + * ROCR | - | - + * ROCR100 | - | MO + * + * The MOM function is the only one who is not normalized, and thus + * should be avoided for comparing different time serie of prices. + * + * ROC and ROCP are centered at zero and can have positive and negative + * value. Here are some equivalence: + * ROC = ROCP/100 + * = ((price-prevPrice)/prevPrice)/100 + * = ((price/prevPrice)-1)*100 + * + * ROCR and ROCR100 are ratio respectively centered at 1 and 100 and are + * always positive values. + */ + +/**** Headers ****/ +#include +#include + +#include "ta_test_priv.h" +#include "ta_test_func.h" +#include "ta_utility.h" + +/**** External functions declarations. ****/ +/* None */ + +/**** External variables declarations. ****/ +/* None */ + +/**** Global variables definitions. ****/ +/* None */ + +/**** Local declarations. ****/ +typedef enum { +TA_MOM_TEST, +TA_ROC_TEST, +TA_ROCP_TEST, +TA_ROCR_TEST, +TA_ROCR100_TEST } TA_TestId; + +typedef struct +{ + TA_Integer doRangeTestFlag; + TA_TestId theFunction; + + TA_Integer startIdx; + TA_Integer endIdx; + + TA_Integer optInTimePeriod; + + TA_RetCode expectedRetCode; + + TA_Integer oneOfTheExpectedOutRealIndex0; + TA_Real oneOfTheExpectedOutReal0; + + TA_Integer expectedBegIdx; + TA_Integer expectedNbElement; +} TA_Test; + +typedef struct +{ + const TA_Test *test; + const TA_Real *close; +} TA_RangeTestParam; + +/**** Local functions declarations. ****/ +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ); + +/**** Local variables definitions. ****/ + +static TA_Test tableTest[] = +{ + /**********************/ + /* MOM TEST */ + /**********************/ + +#ifndef TA_FUNC_NO_RANGE_CHECK + /* Test out of range. */ + { 0, TA_MOM_TEST, -1, 3, 14, TA_OUT_OF_RANGE_START_INDEX, 0, 0, 0, 0}, + { 0, TA_MOM_TEST, 3, -1, 14, TA_OUT_OF_RANGE_END_INDEX, 0, 0, 0, 0}, + { 0, TA_MOM_TEST, 4, 3, 14, TA_OUT_OF_RANGE_END_INDEX, 0, 0, 0, 0}, +#endif + + { 1, TA_MOM_TEST, 0, 251, 14, TA_SUCCESS, 0, -0.50, 14, 252-14 }, /* First Value */ + { 0, TA_MOM_TEST, 0, 251, 14, TA_SUCCESS, 1, -2.00, 14, 252-14 }, + { 0, TA_MOM_TEST, 0, 251, 14, TA_SUCCESS, 2, -5.22, 14, 252-14 }, + { 0, TA_MOM_TEST, 0, 251, 14, TA_SUCCESS, 252-15, -1.13, 14, 252-14 }, /* Last Value */ + + /* No output value. */ + { 0, TA_MOM_TEST, 1, 1, 14, TA_SUCCESS, 0, 0, 0, 0}, + + /* One value tests. */ + { 0, TA_MOM_TEST, 14, 14, 14, TA_SUCCESS, 0, -0.50, 14, 1}, + + /* Index too low test. */ + { 0, TA_MOM_TEST, 0, 15, 14, TA_SUCCESS, 0, -0.50, 14, 2}, + { 0, TA_MOM_TEST, 1, 15, 14, TA_SUCCESS, 0, -0.50, 14, 2}, + { 0, TA_MOM_TEST, 2, 16, 14, TA_SUCCESS, 0, -0.50, 14, 3}, + { 0, TA_MOM_TEST, 2, 16, 14, TA_SUCCESS, 1, -2.00, 14, 3}, + { 0, TA_MOM_TEST, 2, 16, 14, TA_SUCCESS, 2, -5.22, 14, 3}, + { 0, TA_MOM_TEST, 0, 14, 14, TA_SUCCESS, 0, -0.50, 14, 1}, + { 0, TA_MOM_TEST, 0, 13, 14, TA_SUCCESS, 0, -0.50, 14, 0}, + + /* Middle of data test. */ + { 0, TA_MOM_TEST, 20, 21, 14, TA_SUCCESS, 0, -4.15, 20, 2 }, + { 0, TA_MOM_TEST, 20, 21, 14, TA_SUCCESS, 1, -5.12, 20, 2 }, + + /**********************/ + /* ROC TEST */ + /**********************/ + { 1, TA_ROC_TEST, 0, 251, 14, TA_SUCCESS, 0, -0.546, 14, 252-14 }, /* First Value */ + { 0, TA_ROC_TEST, 0, 251, 14, TA_SUCCESS, 1, -2.109, 14, 252-14 }, + { 0, TA_ROC_TEST, 0, 251, 14, TA_SUCCESS, 2, -5.53, 14, 252-14 }, + { 0, TA_ROC_TEST, 0, 251, 14, TA_SUCCESS, 252-15, -1.0367, 14, 252-14 }, /* Last Value */ + + /* No output value. */ + { 0, TA_ROC_TEST, 1, 1, 14, TA_SUCCESS, 0, 0, 0, 0}, + + /* One value tests. */ + { 0, TA_ROC_TEST, 14, 14, 14, TA_SUCCESS, 0, -0.546, 14, 1}, + + /* Index too low test. */ + { 0, TA_ROC_TEST, 0, 15, 14, TA_SUCCESS, 0, -0.546, 14, 2}, + { 0, TA_ROC_TEST, 1, 15, 14, TA_SUCCESS, 0, -0.546, 14, 2}, + { 0, TA_ROC_TEST, 2, 16, 14, TA_SUCCESS, 0, -0.546, 14, 3}, + { 0, TA_ROC_TEST, 2, 16, 14, TA_SUCCESS, 1, -2.109, 14, 3}, + { 0, TA_ROC_TEST, 2, 16, 14, TA_SUCCESS, 2, -5.53, 14, 3}, + { 0, TA_ROC_TEST, 0, 14, 14, TA_SUCCESS, 0, -0.546, 14, 1}, + { 0, TA_ROC_TEST, 0, 13, 14, TA_SUCCESS, 0, -0.546, 14, 0}, + + /* Middle of data test. */ + { 0, TA_ROC_TEST, 20, 21, 14, TA_SUCCESS, 0, -4.49, 20, 2 }, + { 0, TA_ROC_TEST, 20, 21, 14, TA_SUCCESS, 1, -5.5256, 20, 2 }, + + + /**********************/ + /* ROCR TEST */ + /**********************/ + { 1, TA_ROCR_TEST, 0, 251, 14, TA_SUCCESS, 0, 0.994536, 14, 252-14 }, /* First Value */ + { 0, TA_ROCR_TEST, 0, 251, 14, TA_SUCCESS, 1, 0.978906, 14, 252-14 }, + { 0, TA_ROCR_TEST, 0, 251, 14, TA_SUCCESS, 2, 0.944689, 14, 252-14 }, + { 0, TA_ROCR_TEST, 0, 251, 14, TA_SUCCESS, 252-15, 0.989633, 14, 252-14 }, /* Last Value */ + + /* No output value. */ + { 0, TA_ROCR_TEST, 1, 1, 14, TA_SUCCESS, 0, 0, 0, 0}, + + /* One value tests. */ + { 0, TA_ROCR_TEST, 14, 14, 14, TA_SUCCESS, 0, 0.994536, 14, 1}, + + /* Index too low test. */ + { 0, TA_ROCR_TEST, 0, 15, 14, TA_SUCCESS, 0, 0.994536, 14, 2}, + { 0, TA_ROCR_TEST, 1, 15, 14, TA_SUCCESS, 0, 0.994536, 14, 2}, + { 0, TA_ROCR_TEST, 2, 16, 14, TA_SUCCESS, 0, 0.994536, 14, 3}, + { 0, TA_ROCR_TEST, 2, 16, 14, TA_SUCCESS, 1, 0.978906, 14, 3}, + { 0, TA_ROCR_TEST, 2, 16, 14, TA_SUCCESS, 2, 0.944689, 14, 3}, + { 0, TA_ROCR_TEST, 0, 14, 14, TA_SUCCESS, 0, 0.994536, 14, 1}, + { 0, TA_ROCR_TEST, 0, 13, 14, TA_SUCCESS, 0, 0.994536, 14, 0}, + + /* Middle of data test. */ + { 0, TA_ROCR_TEST, 20, 21, 14, TA_SUCCESS, 0, 0.955096, 20, 2 }, + { 0, TA_ROCR_TEST, 20, 21, 14, TA_SUCCESS, 1, 0.944744, 20, 2 }, + + /**********************/ + /* ROCR100 TEST */ + /**********************/ + { 1, TA_ROCR100_TEST, 0, 251, 14, TA_SUCCESS, 0, 99.4536, 14, 252-14 }, /* First Value */ + { 0, TA_ROCR100_TEST, 0, 251, 14, TA_SUCCESS, 1, 97.8906, 14, 252-14 }, + { 0, TA_ROCR100_TEST, 0, 251, 14, TA_SUCCESS, 2, 94.4689, 14, 252-14 }, + { 0, TA_ROCR100_TEST, 0, 251, 14, TA_SUCCESS, 252-15, 98.9633, 14, 252-14 }, /* Last Value */ + + /* No output value. */ + { 0, TA_ROCR100_TEST, 1, 1, 14, TA_SUCCESS, 0, 0, 0, 0}, + + /* One value tests. */ + { 0, TA_ROCR100_TEST, 14, 14, 14, TA_SUCCESS, 0, 99.4536, 14, 1}, + + /* Index too low test. */ + { 0, TA_ROCR100_TEST, 0, 15, 14, TA_SUCCESS, 0, 99.4536, 14, 2}, + { 0, TA_ROCR100_TEST, 1, 15, 14, TA_SUCCESS, 0, 99.4536, 14, 2}, + { 0, TA_ROCR100_TEST, 2, 16, 14, TA_SUCCESS, 0, 99.4536, 14, 3}, + { 0, TA_ROCR100_TEST, 2, 16, 14, TA_SUCCESS, 1, 97.8906, 14, 3}, + { 0, TA_ROCR100_TEST, 2, 16, 14, TA_SUCCESS, 2, 94.4689, 14, 3}, + { 0, TA_ROCR100_TEST, 0, 14, 14, TA_SUCCESS, 0, 99.4536, 14, 1}, + { 0, TA_ROCR100_TEST, 0, 13, 14, TA_SUCCESS, 0, 99.4536, 14, 0}, + + /* Middle of data test. */ + { 0, TA_ROCR100_TEST, 20, 21, 14, TA_SUCCESS, 0, 95.5096, 20, 2 }, + { 0, TA_ROCR100_TEST, 20, 21, 14, TA_SUCCESS, 1, 94.4744, 20, 2 } + +}; + +#define NB_TEST (sizeof(tableTest)/sizeof(TA_Test)) + +/**** Global functions definitions. ****/ +ErrorNumber test_func_mom_roc( TA_History *history ) +{ + unsigned int i; + ErrorNumber retValue; + + for( i=0; i < NB_TEST; i++ ) + { + if( (int)tableTest[i].expectedNbElement > (int)history->nbBars ) + { + printf( "%s Failed Bad Parameter for Test #%d (%d,%d)\n", __FILE__, + i, tableTest[i].expectedNbElement, history->nbBars ); + return TA_TESTUTIL_TFRR_BAD_PARAM; + } + + retValue = do_test( history, &tableTest[i] ); + if( retValue != 0 ) + { + printf( "%s Failed Test #%d (Code=%d)\n", __FILE__, + i, retValue ); + return retValue; + } + } + + /* All test succeed. */ + return TA_TEST_PASS; +} + +/**** Local functions definitions. ****/ +static TA_RetCode rangeTestFunction( TA_Integer startIdx, + TA_Integer endIdx, + TA_Real *outputBuffer, + TA_Integer *outputBufferInt, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Integer *lookback, + void *opaqueData, + unsigned int outputNb, + unsigned int *isOutputInteger ) +{ + TA_RetCode retCode; + TA_RangeTestParam *testParam; + + (void)outputNb; + (void)outputBufferInt; + + *isOutputInteger = 0; + + testParam = (TA_RangeTestParam *)opaqueData; + switch( testParam->test->theFunction ) + { + case TA_MOM_TEST: + retCode = TA_MOM( + startIdx, + endIdx, + testParam->close, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + outputBuffer ); + + *lookback = TA_MOM_Lookback(testParam->test->optInTimePeriod ); + break; + case TA_ROC_TEST: + retCode = TA_ROC( + startIdx, + endIdx, + testParam->close, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + outputBuffer ); + *lookback = TA_ROC_Lookback(testParam->test->optInTimePeriod ); + break; + case TA_ROCR_TEST: + retCode = TA_ROCR( + startIdx, + endIdx, + testParam->close, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + outputBuffer ); + *lookback = TA_ROCR_Lookback(testParam->test->optInTimePeriod ); + break; + case TA_ROCR100_TEST: + retCode = TA_ROCR100( + startIdx, + endIdx, + testParam->close, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + outputBuffer ); + *lookback = TA_ROCR100_Lookback(testParam->test->optInTimePeriod ); + break; + case TA_ROCP_TEST: + retCode = TA_ROCP( + startIdx, + endIdx, + testParam->close, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + outputBuffer ); + *lookback = TA_ROCP_Lookback(testParam->test->optInTimePeriod ); + break; + default: + retCode = TA_INTERNAL_ERROR(130); + } + + return retCode; +} + +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ) +{ + TA_RetCode retCode; + ErrorNumber errNb; + TA_Integer outBegIdx; + TA_Integer outNbElement; + TA_RangeTestParam testParam; + + /* Set to NAN all the elements of the gBuffers. */ + clearAllBuffers(); + + /* Build the input. */ + setInputBuffer( 0, history->close, history->nbBars ); + setInputBuffer( 1, history->close, history->nbBars ); + + CLEAR_EXPECTED_VALUE(0); + + /* Make a simple first call. */ + switch( test->theFunction ) + { + case TA_MOM_TEST: + retCode = TA_MOM( + test->startIdx, + test->endIdx, + gBuffer[0].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + break; + + case TA_ROC_TEST: + retCode = TA_ROC( + test->startIdx, + test->endIdx, + gBuffer[0].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + break; + case TA_ROCR_TEST: + retCode = TA_ROCR( + test->startIdx, + test->endIdx, + gBuffer[0].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + break; + case TA_ROCR100_TEST: + retCode = TA_ROCR100( + test->startIdx, + test->endIdx, + gBuffer[0].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + break; + + case TA_ROCP_TEST: + retCode = TA_ROCP( + test->startIdx, + test->endIdx, + gBuffer[0].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + break; + + default: + retCode = TA_BAD_PARAM; + } + + errNb = checkDataSame( gBuffer[0].in, history->close,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[0].out0, 0 ); + + outBegIdx = outNbElement = 0; + + /* Make another call where the input and the output are the + * same buffer. + */ + CLEAR_EXPECTED_VALUE(0); + switch( test->theFunction ) + { + case TA_MOM_TEST: + retCode = TA_MOM( + test->startIdx, + test->endIdx, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[1].in ); + break; + case TA_ROC_TEST: + retCode = TA_ROC( + test->startIdx, + test->endIdx, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[1].in ); + break; + case TA_ROCR_TEST: + retCode = TA_ROCR( + test->startIdx, + test->endIdx, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[1].in ); + break; + case TA_ROCR100_TEST: + retCode = TA_ROCR100( + test->startIdx, + test->endIdx, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[1].in ); + break; + case TA_ROCP_TEST: + retCode = TA_ROCP( + test->startIdx, + test->endIdx, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[1].in ); + break; + } + + /* The previous call should have the same output as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[1].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[1].in, 0 ); + + if( errNb != TA_TEST_PASS ) + return errNb; + + /* Do a systematic test of most of the + * possible startIdx/endIdx range. + */ + testParam.test = test; + testParam.close = history->close; + + if( test->doRangeTestFlag ) + { + errNb = doRangeTest( + rangeTestFunction, + TA_FUNC_UNST_NONE, + (void *)&testParam, 1, 0 ); + if( errNb != TA_TEST_PASS ) + return errNb; + } + + return TA_TEST_PASS; +} + diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_per_ema.c b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_per_ema.c new file mode 100644 index 000000000..b3399e506 --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_per_ema.c @@ -0,0 +1,306 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF First version. + * + */ + +/* Description: + * Test functions that have one output and takes a period and + * basically use only an EMA in its algorithm. + */ + +/**** Headers ****/ +#include +#include + +#include "ta_test_priv.h" +#include "ta_test_func.h" +#include "ta_utility.h" + +/**** External functions declarations. ****/ +/* None */ + +/**** External variables declarations. ****/ +/* None */ + +/**** Global variables definitions. ****/ +/* None */ + +/**** Local declarations. ****/ +typedef enum { +TA_TRIX_TEST +} TA_TestId; + +typedef struct +{ + TA_Integer doRangeTestFlag; + + TA_TestId theFunction; + + TA_Integer unstablePeriod; + + TA_Integer startIdx; + TA_Integer endIdx; + TA_Integer optInTimePeriod; + + TA_RetCode expectedRetCode; + + TA_Integer oneOfTheExpectedOutRealIndex; + TA_Real oneOfTheExpectedOutReal; + + TA_Integer expectedBegIdx; + TA_Integer expectedNbElement; +} TA_Test; + +typedef struct +{ + const TA_Test *test; + const TA_Real *close; +} TA_RangeTestParam; + +/**** Local functions declarations. ****/ +static ErrorNumber do_test_per_ema( const TA_History *history, + const TA_Test *test ); + +/**** Local variables definitions. ****/ + +static TA_Test tableTest[] = +{ + /****************/ + /* TRIX TEST */ + /****************/ + { 0, TA_TRIX_TEST, 0, 0, 251, 5, TA_SUCCESS, 0, 0.2589, 13, 252-13 }, /* First Value */ + { 0, TA_TRIX_TEST, 0, 0, 251, 5, TA_SUCCESS, 1, 0.010495, 13, 252-13 }, + { 0, TA_TRIX_TEST, 0, 0, 251, 5, TA_SUCCESS, 252-15, -0.058, 13, 252-13 }, + { 0, TA_TRIX_TEST, 0, 0, 251, 5, TA_SUCCESS, 252-14, -0.095, 13, 252-13 }, /* Last Value */ + +#if 0 + /* Metastock values. */ + { 0, TA_TRIX_TEST, 0, 0, 251, 5, TA_SUCCESS, 0, 0.221, 13, 252-13 }, /* First Value */ + { 0, TA_TRIX_TEST, 0, 0, 251, 5, TA_SUCCESS, 1, -0.009, 13, 252-13 }, + { 0, TA_TRIX_TEST, 0, 0, 251, 5, TA_SUCCESS, 252-15, -0.058, 13, 252-13 }, + { 0, TA_TRIX_TEST, 0, 0, 251, 5, TA_SUCCESS, 252-14, -0.095, 13, 252-13 }, /* Last Value */ +#endif + +}; + +#define NB_TEST (sizeof(tableTest)/sizeof(TA_Test)) + +/**** Global functions definitions. ****/ +ErrorNumber test_func_per_ema( TA_History *history ) +{ + unsigned int i; + ErrorNumber retValue; + + /* Re-initialize all the unstable period to zero. */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 0 ); + + for( i=0; i < NB_TEST; i++ ) + { + if( (int)tableTest[i].expectedNbElement > (int)history->nbBars ) + { + printf( "TA_MA Failed Bad Parameter for Test #%d (%d,%d)\n", + i, tableTest[i].expectedNbElement, history->nbBars ); + return TA_TESTUTIL_TFRR_BAD_PARAM; + } + + retValue = do_test_per_ema( history, &tableTest[i] ); + if( retValue != 0 ) + { + printf( "TA_MA Failed Test #%d (Code=%d)\n", i, retValue ); + return retValue; + } + } + + /* Re-initialize all the unstable period to zero. */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 0 ); + + /* All test succeed. */ + return TA_TEST_PASS; +} + +/**** Local functions definitions. ****/ +static TA_RetCode rangeTestFunction( TA_Integer startIdx, + TA_Integer endIdx, + TA_Real *outputBuffer, + TA_Integer *outputBufferInt, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Integer *lookback, + void *opaqueData, + unsigned int outputNb, + unsigned int *isOutputInteger ) +{ + TA_RetCode retCode; + TA_RangeTestParam *testParam; + + (void)outputNb; + (void)outputBufferInt; + + *isOutputInteger = 0; + + testParam = (TA_RangeTestParam *)opaqueData; + + switch( testParam->test->theFunction ) + { + case TA_TRIX_TEST: + retCode = TA_TRIX( startIdx, + endIdx, + testParam->close, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + outputBuffer ); + *lookback = TA_TRIX_Lookback( testParam->test->optInTimePeriod ); + default: + retCode = TA_INTERNAL_ERROR(131); + } + + return retCode; +} + +static ErrorNumber do_test_per_ema( const TA_History *history, + const TA_Test *test ) +{ + TA_RetCode retCode; + ErrorNumber errNb; + TA_Integer outBegIdx; + TA_Integer outNbElement; + TA_RangeTestParam testParam; + + /* Set to NAN all the elements of the gBuffers. */ + clearAllBuffers(); + + /* Build the input. */ + setInputBuffer( 0, history->close, history->nbBars ); + setInputBuffer( 1, history->close, history->nbBars ); + + /* Set the unstable period requested for that test. */ + retCode = TA_SetUnstablePeriod( TA_FUNC_UNST_EMA, test->unstablePeriod ); + if( retCode != TA_SUCCESS ) + return TA_TEST_TFRR_SETUNSTABLE_PERIOD_FAIL; + + /* Make a simple first call. */ + switch( test->theFunction ) + { + case TA_TRIX_TEST: + retCode = TA_TRIX( test->startIdx, + test->endIdx, + gBuffer[0].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + + } + + errNb = checkDataSame( gBuffer[0].in, history->close,history->nbBars ); + + if( errNb != TA_TEST_PASS ) + return errNb; + + errNb = checkExpectedValue( gBuffer[0].out0, + retCode, test->expectedRetCode, + outBegIdx, test->expectedBegIdx, + outNbElement, test->expectedNbElement, + test->oneOfTheExpectedOutReal, + test->oneOfTheExpectedOutRealIndex ); + if( errNb != TA_TEST_PASS ) + return errNb; + + outBegIdx = outNbElement = 0; + + /* Make another call where the input and the output are the + * same buffer. + */ + switch( test->theFunction ) + { + case TA_TRIX_TEST: + retCode = TA_TRIX( test->startIdx, + test->endIdx, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[1].in ); + } + + /* The previous call to TA_MA should have the same output + * as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[1].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + errNb = checkExpectedValue( gBuffer[1].in, + retCode, test->expectedRetCode, + outBegIdx, test->expectedBegIdx, + outNbElement, test->expectedNbElement, + test->oneOfTheExpectedOutReal, + test->oneOfTheExpectedOutRealIndex ); + if( errNb != TA_TEST_PASS ) + return errNb; + + /* Do a systematic test of most of the + * possible startIdx/endIdx range. + */ + testParam.test = test; + testParam.close = history->close; + + if( test->doRangeTestFlag ) + { + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_EMA, + (void *)&testParam, 1, 0 ); + if( errNb != TA_TEST_PASS ) + return errNb; + } + + return TA_TEST_PASS; +} + diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_per_hl.c b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_per_hl.c new file mode 100644 index 000000000..ce3adf0aa --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_per_hl.c @@ -0,0 +1,640 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 020203 MF First version. + * 122506 MF Add TA_BETA tests. + */ + +/* Description: + * + * Test functions which have the following characterisic: + * - two inputs are needed (high and low are used here). + * - has zero or one parameter being a period. + */ + +/**** Headers ****/ +#include +#include + +#include "ta_test_priv.h" +#include "ta_test_func.h" +#include "ta_utility.h" +#include "ta_memory.h" + +/**** External functions declarations. ****/ +/* None */ + +/**** External variables declarations. ****/ +/* None */ + +/**** Global variables definitions. ****/ +/* None */ + +/**** Local declarations. ****/ +typedef enum { +TA_AROON_UP_TEST, +TA_AROON_DOWN_TEST, +TA_AROONOSC_TEST, +TA_CORREL_TEST, +TA_BETA_TEST +} TA_TestId; + +typedef struct +{ + TA_Integer doRangeTestFlag; + + TA_TestId theFunction; + + TA_Integer startIdx; + TA_Integer endIdx; + TA_Integer optInTimePeriod; + + TA_RetCode expectedRetCode; + + TA_Integer oneOfTheExpectedOutRealIndex0; + TA_Real oneOfTheExpectedOutReal0; + + TA_Integer expectedBegIdx; + TA_Integer expectedNbElement; +} TA_Test; + +typedef struct +{ + const TA_Test *test; + const TA_Real *high; + const TA_Real *low; +} TA_RangeTestParam; + +/**** Local functions declarations. ****/ +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ); + +/**** Local variables definitions. ****/ + +static TA_Test tableTest[] = +{ + /*****************/ + /* BETA TEST */ + /*****************/ + + /* Uncomment following to enable tons of tests. Replace 999.99 with the first + * value you are expecting. + */ + + { 1, TA_BETA_TEST, 0, 251, 5, TA_SUCCESS, 0, 0.62907, 5, 252-5 }, + { 0, TA_BETA_TEST, 0, 251, 5, TA_SUCCESS, 1, 0.83604, 5, 252-5 }, + + /*****************/ + /* CORREL TEST */ + /*****************/ + { 1, TA_CORREL_TEST, 0, 251, 20, TA_SUCCESS, 0, 0.9401569, 19, 252-19 }, /* First Value */ + { 0, TA_CORREL_TEST, 0, 251, 20, TA_SUCCESS, 1, 0.9471812, 19, 252-19 }, + { 0, TA_CORREL_TEST, 0, 251, 20, TA_SUCCESS, 252-20, 0.8866901, 19, 252-19 }, /* Last Value */ + + + /*******************/ + /* AROON UP TEST */ + /*******************/ + { 1, TA_AROON_UP_TEST, 13, 251, 14, TA_SUCCESS, 0, 78.571, 14, 252-14 }, /* First Value */ + { 0, TA_AROON_UP_TEST, 0, 251, 14, TA_SUCCESS, 1, 71.429, 14, 252-14 }, + { 0, TA_AROON_UP_TEST, 13, 251, 14, TA_SUCCESS, 2, 64.2857, 14, 252-14 }, + { 0, TA_AROON_UP_TEST, 13, 251, 14, TA_SUCCESS, 3, 57.143, 14, 252-14 }, + { 0, TA_AROON_UP_TEST, 0, 251, 14, TA_SUCCESS, 4, 50.000, 14, 252-14 }, + { 0, TA_AROON_UP_TEST, 13, 251, 14, TA_SUCCESS, 5, 42.857, 14, 252-14 }, + { 0, TA_AROON_UP_TEST, 13, 251, 14, TA_SUCCESS, 6, 35.714, 14, 252-14 }, + { 0, TA_AROON_UP_TEST, 13, 251, 14, TA_SUCCESS, 7, 28.571, 14, 252-14 }, + { 0, TA_AROON_UP_TEST, 13, 251, 14, TA_SUCCESS, 8, 21.429, 14, 252-14 }, + { 0, TA_AROON_UP_TEST, 0, 251, 14, TA_SUCCESS, 9, 14.286, 14, 252-14 }, + { 0, TA_AROON_UP_TEST, 13, 251, 14, TA_SUCCESS, 10, 7.1429, 14, 252-14 }, + { 0, TA_AROON_UP_TEST, 13, 251, 14, TA_SUCCESS, 11, 0.0000, 14, 252-14 }, + { 0, TA_AROON_UP_TEST, 13, 251, 14, TA_SUCCESS, 12, 0.0000, 14, 252-14 }, + { 0, TA_AROON_UP_TEST, 13, 251, 14, TA_SUCCESS, 13, 21.429, 14, 252-14 }, + { 0, TA_AROON_UP_TEST, 13, 251, 14, TA_SUCCESS, 14, 14.286, 14, 252-14 }, + { 0, TA_AROON_UP_TEST, 13, 251, 14, TA_SUCCESS, 15, 7.1429, 14, 252-14 }, + { 0, TA_AROON_UP_TEST, 13, 251, 14, TA_SUCCESS, 16, 0.0000, 14, 252-14 }, + { 0, TA_AROON_UP_TEST, 13, 251, 14, TA_SUCCESS, 17, 14.286, 14, 252-14 }, + { 0, TA_AROON_UP_TEST, 13, 251, 14, TA_SUCCESS, 20, 0.00, 14, 252-14 }, + { 0, TA_AROON_UP_TEST, 13, 251, 14, TA_SUCCESS, 21, 92.857, 14, 252-14 }, + { 0, TA_AROON_UP_TEST, 13, 251, 14, TA_SUCCESS, 27, 50.000, 14, 252-14 }, + { 0, TA_AROON_UP_TEST, 13, 251, 14, TA_SUCCESS, 28, 42.857, 14, 252-14 }, + { 0, TA_AROON_UP_TEST, 13, 251, 14, TA_SUCCESS, 29,100.000, 14, 252-14 }, + { 0, TA_AROON_UP_TEST, 1, 251, 14, TA_SUCCESS, 252-16, 0.0, 14, 252-14 }, + { 0, TA_AROON_UP_TEST, 0, 251, 14, TA_SUCCESS, 252-15, 7.1429, 14, 252-14 }, /* Last Value */ + + /*******************/ + /* AROON DOWN TEST */ + /*******************/ + { 1, TA_AROON_DOWN_TEST, 13, 251, 14, TA_SUCCESS, 0, 100.0, 14, 252-14 }, /* First Value */ + { 0, TA_AROON_DOWN_TEST, 0, 251, 14, TA_SUCCESS, 1, 92.857, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 13, 251, 14, TA_SUCCESS, 2, 85.714, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 13, 251, 14, TA_SUCCESS, 3, 78.571, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 0, 251, 14, TA_SUCCESS, 4, 71.429, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 13, 251, 14, TA_SUCCESS, 5, 64.286, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 13, 251, 14, TA_SUCCESS, 6, 57.143, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 13, 251, 14, TA_SUCCESS, 7,100.000, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 13, 251, 14, TA_SUCCESS, 8,100.000, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 0, 251, 14, TA_SUCCESS, 9,100.000, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 13, 251, 14, TA_SUCCESS, 10,100.000, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 13, 251, 14, TA_SUCCESS, 11,100.000, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 13, 251, 14, TA_SUCCESS, 12, 92.857, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 13, 251, 14, TA_SUCCESS, 13, 85.714, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 13, 251, 14, TA_SUCCESS, 14, 78.571, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 13, 251, 14, TA_SUCCESS, 15, 71.429, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 13, 251, 14, TA_SUCCESS, 16, 64.286, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 13, 251, 14, TA_SUCCESS, 17, 57.143, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 13, 251, 14, TA_SUCCESS, 18, 50.000, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 13, 251, 14, TA_SUCCESS, 19, 42.857, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 13, 251, 14, TA_SUCCESS, 20, 35.714, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 0, 251, 14, TA_SUCCESS, 21, 28.571, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 0, 251, 14, TA_SUCCESS, 22, 21.429, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 0, 251, 14, TA_SUCCESS, 23, 14.286, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 13, 251, 14, TA_SUCCESS, 24, 7.1429, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 13, 251, 14, TA_SUCCESS, 25, 0.0, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 13, 251, 14, TA_SUCCESS, 26, 0.0, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 13, 251, 14, TA_SUCCESS, 27, 92.857, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 13, 251, 14, TA_SUCCESS, 28, 85.714, 14, 252-14 }, + + { 0, TA_AROON_DOWN_TEST, 4, 251, 14, TA_SUCCESS, 252-16, 28.571, 14, 252-14 }, + { 0, TA_AROON_DOWN_TEST, 0, 251, 14, TA_SUCCESS, 252-15, 21.429, 14, 252-14 }, /* Last Value */ + + /******************/ + /* AROON OSC TEST */ + /******************/ + { 0, TA_AROONOSC_TEST, 13, 251, 14, TA_SUCCESS, 0, -21.4285, 14, 252-14 }, /* First Value */ + { 0, TA_AROONOSC_TEST, 13, 251, 14, TA_SUCCESS, 6, -21.4285, 14, 252-14 }, + { 0, TA_AROONOSC_TEST, 13, 251, 14, TA_SUCCESS, 7, -71.4285, 14, 252-14 }, + { 0, TA_AROONOSC_TEST, 0, 251, 14, TA_SUCCESS, 252-16, -28.5714, 14, 252-14 }, + { 0, TA_AROONOSC_TEST, 0, 251, 14, TA_SUCCESS, 252-15, -14.28571, 14, 252-14 }, /* Last Value */ + +}; + +#define NB_TEST (sizeof(tableTest)/sizeof(TA_Test)) + +/**** Global functions definitions. ****/ +ErrorNumber test_func_per_hl( TA_History *history ) +{ + unsigned int i; + ErrorNumber retValue; + + /* Re-initialize all the unstable period to zero. */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 0 ); + + for( i=0; i < NB_TEST; i++ ) + { + if( (int)tableTest[i].expectedNbElement > (int)history->nbBars ) + { + printf( "Failed Bad Parameter for Test #%d (%d,%d)\n", + i, tableTest[i].expectedNbElement, history->nbBars ); + return TA_TESTUTIL_TFRR_BAD_PARAM; + } + + retValue = do_test( history, &tableTest[i] ); + if( retValue != 0 ) + { + printf( "Failed Test #%d (Code=%d)\n", i, retValue ); + return retValue; + } + } + + /* Re-initialize all the unstable period to zero. */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 0 ); + + /* All test succeed. */ + return TA_TEST_PASS; +} + +/**** Local functions definitions. ****/ +static TA_RetCode rangeTestFunction( TA_Integer startIdx, + TA_Integer endIdx, + TA_Real *outputBuffer, + TA_Integer *outputBufferInt, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Integer *lookback, + void *opaqueData, + unsigned int outputNb, + unsigned int *isOutputInteger ) +{ + TA_RetCode retCode; + TA_RangeTestParam *testParam; + double *dummyBuffer; + + (void)outputNb; + (void)outputBufferInt; + + *isOutputInteger = 0; + + testParam = (TA_RangeTestParam *)opaqueData; + + /* Allocate a buffer for the output who is going + * to be ignored (make it slightly larger to play + * safe) + */ + dummyBuffer = TA_Malloc( sizeof(double) * (endIdx-startIdx+100) ); + switch( testParam->test->theFunction ) + { + case TA_AROON_UP_TEST: + retCode = TA_AROON( startIdx, + endIdx, + testParam->high, + testParam->low, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + &dummyBuffer[20], + outputBuffer ); + + *lookback = TA_AROON_Lookback( testParam->test->optInTimePeriod ); + break; + case TA_AROON_DOWN_TEST: + retCode = TA_AROON( startIdx, + endIdx, + testParam->high, + testParam->low, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + outputBuffer, + &dummyBuffer[20] + ); + *lookback = TA_AROON_Lookback( testParam->test->optInTimePeriod ); + break; + case TA_AROONOSC_TEST: + retCode = TA_AROONOSC( startIdx, + endIdx, + testParam->high, + testParam->low, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + outputBuffer ); + *lookback = TA_AROONOSC_Lookback( testParam->test->optInTimePeriod ); + break; + case TA_CORREL_TEST: + retCode = TA_CORREL( startIdx, + endIdx, + testParam->high, + testParam->low, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + outputBuffer ); + *lookback = TA_CORREL_Lookback( testParam->test->optInTimePeriod ); + break; + + case TA_BETA_TEST: + retCode = TA_BETA( startIdx, + endIdx, + testParam->high, + testParam->low, + testParam->test->optInTimePeriod, /* time period */ + outBegIdx, + outNbElement, + outputBuffer ); + *lookback = TA_BETA_Lookback(testParam->test->optInTimePeriod); + break; + + default: + retCode = TA_INTERNAL_ERROR(132); + } + + TA_Free( dummyBuffer ); + + return retCode; +} + +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ) +{ + TA_RetCode retCode; + ErrorNumber errNb; + TA_Integer outBegIdx; + TA_Integer outNbElement; + TA_RangeTestParam testParam; + + /* Set to NAN all the elements of the gBuffers. */ + clearAllBuffers(); + + /* Build the input. */ + setInputBuffer( 0, history->high, history->nbBars ); + setInputBuffer( 1, history->low, history->nbBars ); + + /* Make a simple first call. */ + switch( test->theFunction ) + { + case TA_AROON_UP_TEST: + retCode = TA_AROON( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[1].out0, + gBuffer[0].out0 + ); + break; + + case TA_AROON_DOWN_TEST: + retCode = TA_AROON( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].out0, + gBuffer[1].out0 + ); + break; + + case TA_AROONOSC_TEST: + retCode = TA_AROONOSC( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 + ); + break; + + case TA_CORREL_TEST: + retCode = TA_CORREL( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 + ); + break; + + case TA_BETA_TEST: + retCode = TA_BETA( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 + ); + break; + + default: + retCode = TA_INTERNAL_ERROR(133); + } + + /* Check that the input were preserved. */ + errNb = checkDataSame( gBuffer[0].in, history->high,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[1].in, history->low, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[0].out0, 0 ); + + outBegIdx = outNbElement = 0; + + /* Make another call where one of the input and one of the output + * are the same buffer. + */ + switch( test->theFunction ) + { + case TA_AROON_UP_TEST: + retCode = TA_AROON( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[1].out1, + gBuffer[0].in + ); + break; + + case TA_AROON_DOWN_TEST: + retCode = TA_AROON( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].in, + gBuffer[1].out1 + ); + break; + + case TA_AROONOSC_TEST: + retCode = TA_AROONOSC( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].in + ); + break; + + case TA_CORREL_TEST: + retCode = TA_CORREL( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].in + ); + break; + + case TA_BETA_TEST: + retCode = TA_BETA( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].in + ); + break; + + default: + retCode = TA_INTERNAL_ERROR(134); + } + + /* Check that the other input was preserved. */ + errNb = checkDataSame( gBuffer[1].in, history->low, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + /* The previous call should have the same output + * as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[0].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkSameContent( gBuffer[1].out1, gBuffer[1].out0 ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[0].in, 0 ); + setInputBuffer( 0, history->high, history->nbBars ); + setInputBuffer( 1, history->low, history->nbBars ); + + /* Make another call where the input and the output are the + * same buffer. + */ + switch( test->theFunction ) + { + case TA_AROON_UP_TEST: + retCode = TA_AROON( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[1].out2, + gBuffer[1].in + ); + break; + + case TA_AROON_DOWN_TEST: + retCode = TA_AROON( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[1].in, + gBuffer[1].out2 + ); + break; + + case TA_AROONOSC_TEST: + retCode = TA_AROONOSC( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[1].in + ); + break; + + case TA_CORREL_TEST: + retCode = TA_CORREL( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[1].in + ); + break; + + case TA_BETA_TEST: + retCode = TA_BETA( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[1].in + ); + break; + + default: + retCode = TA_INTERNAL_ERROR(135); + } + + /* Check that the other input were preserved. */ + errNb = checkDataSame( gBuffer[0].in, history->high, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + /* The previous call should have the same output as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[1].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + /* Do a systematic test of most of the + * possible startIdx/endIdx range. + */ + testParam.test = test; + testParam.high = history->high; + testParam.low = history->low; + + if( test->doRangeTestFlag ) + { + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_NONE, + (void *)&testParam, 1, 0 ); + if( errNb != TA_TEST_PASS ) + return errNb; + } + + return TA_TEST_PASS; +} + diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_per_hlc.c b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_per_hlc.c new file mode 100644 index 000000000..0b6166375 --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_per_hlc.c @@ -0,0 +1,542 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF First version. + * 061904 MF Add test to detect cummulative errors in CCI algorithm + * when some values were close to zero (epsilon). + * 021106 MF Add tests for ULTOSC. + * 042206 MF Add tests for NATR + * + */ + +/* Description: + * + * Test functions which have the following + * characterisic: + * - the input is high,low and close. + * + */ + +/**** Headers ****/ +#include +#include + +#include "ta_test_priv.h" +#include "ta_test_func.h" +#include "ta_utility.h" + +/**** External functions declarations. ****/ +/* None */ + +/**** External variables declarations. ****/ +/* None */ + +/**** Global variables definitions. ****/ +/* None */ + +/**** Local declarations. ****/ +typedef enum { +TA_CCI_TEST, +TA_WILLR_TEST, +TA_ULTOSC_TEST, +TA_NATR_TEST +} TA_TestId; + +typedef struct +{ + TA_Integer doRangeTestFlag; + + TA_TestId theFunction; + + TA_Integer startIdx; + TA_Integer endIdx; + + TA_Integer optInTimePeriod1; + TA_Integer optInTimePeriod2; + TA_Integer optInTimePeriod3; + + TA_RetCode expectedRetCode; + + TA_Integer oneOfTheExpectedOutRealIndex0; + TA_Real oneOfTheExpectedOutReal0; + + TA_Integer expectedBegIdx; + TA_Integer expectedNbElement; +} TA_Test; + +typedef struct +{ + const TA_Test *test; + const TA_Real *high; + const TA_Real *low; + const TA_Real *close; +} TA_RangeTestParam; + +/**** Local functions declarations. ****/ +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ); + +/**** Local variables definitions. ****/ + +static TA_Test tableTest[] = +{ + /****************/ + /* NATR TEST */ + /****************/ + /* TODO Analyze further why NATR requires a very large unstable period. + * for now, just disable range testing. + */ + { 0, TA_NATR_TEST, 0, 251, 14, 0, 0, TA_SUCCESS, 0, 3.9321, 14, 252-14 }, + { 0, TA_NATR_TEST, 0, 251, 14, 0, 0, TA_SUCCESS, 1, 3.7576, 14, 252-14 }, + { 0, TA_NATR_TEST, 0, 251, 14, 0, 0, TA_SUCCESS, 252-15, 3.0229, 14, 252-14 }, + + /****************/ + /* ULTOSC TEST */ + /****************/ + { 0, TA_ULTOSC_TEST, 0, 251, 7, 14, 28, TA_SUCCESS, 0, 47.1713, 28, 252-28 }, + { 0, TA_ULTOSC_TEST, 0, 251, 7, 14, 28, TA_SUCCESS, 1, 46.2802, 28, 252-28 }, + { 1, TA_ULTOSC_TEST, 0, 251, 7, 14, 28, TA_SUCCESS, 252-29, 40.0854, 28, 252-28 }, + + + /****************/ + /* WILLR TEST */ + /****************/ + { 0, TA_WILLR_TEST, 13, 251, 14, 0, 0, TA_SUCCESS, 1, -66.9903, 13, 252-13 }, /* First Value */ + { 1, TA_WILLR_TEST, 0, 251, 14, 0, 0, TA_SUCCESS, 0, -90.1943, 13, 252-13 }, + { 0, TA_WILLR_TEST, 0, 251, 14, 0, 0, TA_SUCCESS, 112, 0.0, 13, 252-13 }, + + { 0, TA_WILLR_TEST, 24, 24, 14, 0, 0, TA_SUCCESS, 0, -89.2857, 24, 1 }, + { 0, TA_WILLR_TEST, 25, 25, 14, 0, 0, TA_SUCCESS, 0, -97.2602, 25, 1 }, + { 0, TA_WILLR_TEST, 26, 26, 14, 0, 0, TA_SUCCESS, 0, -71.5482, 26, 1 }, + + { 0, TA_WILLR_TEST, 251, 251, 14, 0, 0, TA_SUCCESS, 0, -59.1515, 251, 1 }, + { 0, TA_WILLR_TEST, 14, 251, 14, 0, 0, TA_SUCCESS, 252-15, -59.1515, 14, 252-14 }, + + /****************/ + /* CCI TEST */ + /****************/ + + /* The following two should always be identical. */ + { 0, TA_CCI_TEST, 186,187, 2, 0, 0, TA_SUCCESS, 1, 0.0, 186, 2 }, + { 0, TA_CCI_TEST, 187,187, 2, 0, 0, TA_SUCCESS, 0, 0.0, 187, 1 }, + + /* Test period 2, 5 and 11 */ + { 0, TA_CCI_TEST, 0, 251, 2, 0, 0, TA_SUCCESS, 0, 66.666, 1, 252-1 }, + { 1, TA_CCI_TEST, 0, 251, 5, 0, 0, TA_SUCCESS, 0, 18.857, 4, 252-4 }, + + { 0, TA_CCI_TEST, 0, 251, 11, 0, 0, TA_SUCCESS, 0, 87.927, 10, 252-10 }, /* First Value */ + { 0, TA_CCI_TEST, 0, 251, 11, 0, 0, TA_SUCCESS, 1, 180.005, 10, 252-10 }, + { 0, TA_CCI_TEST, 0, 251, 11, 0, 0, TA_SUCCESS, 2, 143.5190963, 10, 252-10 }, + { 0, TA_CCI_TEST, 0, 251, 11, 0, 0, TA_SUCCESS, 3, -113.8669783, 10, 252-10 }, + { 0, TA_CCI_TEST, 0, 251, 11, 0, 0, TA_SUCCESS, 4, -111.064497, 10, 252-10 }, + { 0, TA_CCI_TEST, 0, 251, 11, 0, 0, TA_SUCCESS, 5, -26.77393309, 10, 252-10 }, + { 0, TA_CCI_TEST, 0, 251, 11, 0, 0, TA_SUCCESS, 6, -70.77933765, 10, 252-10 }, + { 0, TA_CCI_TEST, 0, 251, 11, 0, 0, TA_SUCCESS, 7, -83.15662884, 10, 252-10 }, + { 0, TA_CCI_TEST, 0, 251, 11, 0, 0, TA_SUCCESS, 8, -41.14421073, 10, 252-10 }, + { 0, TA_CCI_TEST, 0, 251, 11, 0, 0, TA_SUCCESS, 9, -49.63059589, 10, 252-10 }, + { 0, TA_CCI_TEST, 0, 251, 11, 0, 0, TA_SUCCESS, 10, -86.45142995, 10, 252-10 }, + { 0, TA_CCI_TEST, 0, 251, 11, 0, 0, TA_SUCCESS, 11, -105.6275799, 10, 252-10 }, + { 0, TA_CCI_TEST, 0, 251, 11, 0, 0, TA_SUCCESS, 12, -157.698269, 10, 252-10 }, + { 0, TA_CCI_TEST, 0, 251, 11, 0, 0, TA_SUCCESS, 13, -190.5251436, 10, 252-10 }, + { 0, TA_CCI_TEST, 0, 251, 11, 0, 0, TA_SUCCESS, 14, -142.8364298, 10, 252-10 }, + { 0, TA_CCI_TEST, 0, 251, 11, 0, 0, TA_SUCCESS, 15, -122.4448056, 10, 252-10 }, + { 0, TA_CCI_TEST, 0, 251, 11, 0, 0, TA_SUCCESS, 16, -79.95100041, 10, 252-10 }, + { 0, TA_CCI_TEST, 0, 251, 11, 0, 0, TA_SUCCESS, 17, 22.03829204, 10, 252-10 }, + { 0, TA_CCI_TEST, 0, 251, 11, 0, 0, TA_SUCCESS, 18, 7.765575065, 10, 252-10 }, + { 0, TA_CCI_TEST, 0, 251, 11, 0, 0, TA_SUCCESS, 19, 32.38905945, 10, 252-10 }, + { 0, TA_CCI_TEST, 0, 251, 11, 0, 0, TA_SUCCESS, 20, -0.005587727, 10, 252-10 }, + { 0, TA_CCI_TEST, 0, 251, 11, 0, 0, TA_SUCCESS, 21, 43.84607294, 10, 252-10 }, + { 0, TA_CCI_TEST, 0, 251, 11, 0, 0, TA_SUCCESS, 22, 40.35152301, 10, 252-10 }, + { 0, TA_CCI_TEST, 0, 251, 11, 0, 0, TA_SUCCESS, 23, 92.89237535, 10, 252-10 }, + { 0, TA_CCI_TEST, 0, 251, 11, 0, 0, TA_SUCCESS, 24, 113.4778681, 10, 252-10 }, + { 1, TA_CCI_TEST, 0, 251, 11, 0, 0, TA_SUCCESS, 252-11, -169.65514, 10, 252-10 }, /* Last Value */ +}; + +#define NB_TEST (sizeof(tableTest)/sizeof(TA_Test)) + +/**** Global functions definitions. ****/ +ErrorNumber test_func_per_hlc( TA_History *history ) +{ + unsigned int i; + ErrorNumber retValue; + + /* Re-initialize all the unstable period to zero. */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 0 ); + + for( i=0; i < NB_TEST; i++ ) + { + if( (int)tableTest[i].expectedNbElement > (int)history->nbBars ) + { + printf( "Failed Bad Parameter for Test #%d (%d,%d)\n", + i, tableTest[i].expectedNbElement, history->nbBars ); + return TA_TESTUTIL_TFRR_BAD_PARAM; + } + + retValue = do_test( history, &tableTest[i] ); + if( retValue != 0 ) + { + printf( "Failed Test #%d (Code=%d)\n", i, retValue ); + return retValue; + } + } + + /* Re-initialize all the unstable period to zero. */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 0 ); + + /* All test succeed. */ + return TA_TEST_PASS; +} + +/**** Local functions definitions. ****/ +static TA_RetCode rangeTestFunction( TA_Integer startIdx, + TA_Integer endIdx, + TA_Real *outputBuffer, + TA_Integer *outputBufferInt, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Integer *lookback, + void *opaqueData, + unsigned int outputNb, + unsigned int *isOutputInteger ) +{ + TA_RetCode retCode; + TA_RangeTestParam *testParam; + + (void)outputNb; + (void)outputBufferInt; + + *isOutputInteger = 0; + + testParam = (TA_RangeTestParam *)opaqueData; + + switch( testParam->test->theFunction ) + { + case TA_NATR_TEST: + retCode = TA_NATR( startIdx, + endIdx, + testParam->high, + testParam->low, + testParam->close, + testParam->test->optInTimePeriod1, + outBegIdx, + outNbElement, + outputBuffer ); + *lookback = TA_NATR_Lookback( testParam->test->optInTimePeriod1 ); + break; + + case TA_CCI_TEST: + retCode = TA_CCI( startIdx, + endIdx, + testParam->high, + testParam->low, + testParam->close, + testParam->test->optInTimePeriod1, + outBegIdx, + outNbElement, + outputBuffer ); + *lookback = TA_CCI_Lookback( testParam->test->optInTimePeriod1 ); + break; + case TA_WILLR_TEST: + retCode = TA_WILLR( startIdx, + endIdx, + testParam->high, + testParam->low, + testParam->close, + testParam->test->optInTimePeriod1, + outBegIdx, + outNbElement, + outputBuffer ); + *lookback = TA_WILLR_Lookback( testParam->test->optInTimePeriod1 ); + break; + + case TA_ULTOSC_TEST: + retCode = TA_ULTOSC( startIdx, + endIdx, + testParam->high, + testParam->low, + testParam->close, + testParam->test->optInTimePeriod1, + testParam->test->optInTimePeriod2, + testParam->test->optInTimePeriod3, + outBegIdx, + outNbElement, + outputBuffer ); + *lookback = TA_ULTOSC_Lookback( testParam->test->optInTimePeriod1, + testParam->test->optInTimePeriod2, + testParam->test->optInTimePeriod3 ); + break; + + default: + retCode = TA_INTERNAL_ERROR(132); + } + + return retCode; +} + +static TA_RetCode do_call( const TA_Test *test, + const double high[], + const double low[], + const double close[], + int *outBegIdx, + int *outNbElement, + double output[] ) +{ + TA_RetCode retCode; + + switch( test->theFunction ) + { + case TA_NATR_TEST: + retCode = TA_NATR( test->startIdx, + test->endIdx, + high, low, close, + test->optInTimePeriod1, + outBegIdx, + outNbElement, + output ); + break; + + case TA_CCI_TEST: + retCode = TA_CCI( test->startIdx, + test->endIdx, + high, low, close, + test->optInTimePeriod1, + outBegIdx, + outNbElement, + output ); + break; + + case TA_WILLR_TEST: + retCode = TA_WILLR( test->startIdx, + test->endIdx, + high, low, close, + test->optInTimePeriod1, + outBegIdx, + outNbElement, + output ); + break; + + case TA_ULTOSC_TEST: + retCode = TA_ULTOSC( test->startIdx, + test->endIdx, + high, low, close, + test->optInTimePeriod1, + test->optInTimePeriod2, + test->optInTimePeriod3, + outBegIdx, + outNbElement, + output ); + break; + + default: + retCode = TA_INTERNAL_ERROR(133); + } + + return retCode; +} + +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ) +{ + TA_RetCode retCode; + ErrorNumber errNb; + TA_Integer outBegIdx; + TA_Integer outNbElement; + TA_RangeTestParam testParam; + + /* Set to NAN all the elements of the gBuffers. */ + clearAllBuffers(); + + /* Build the input. */ + setInputBuffer( 0, history->high, history->nbBars ); + setInputBuffer( 1, history->low, history->nbBars ); + setInputBuffer( 2, history->close, history->nbBars ); + + /* Make a simple first call. */ + retCode = do_call( test, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + + /* Check that the input were preserved. */ + errNb = checkDataSame( gBuffer[0].in, history->high,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[1].in, history->low, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[2].in, history->close,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[0].out0, 0 ); + + outBegIdx = outNbElement = 0; + + /* Make another call where the input and the output are the + * same buffer. + */ + retCode = do_call( test, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + &outBegIdx, + &outNbElement, + gBuffer[0].in ); + + /* Check that the input were preserved. */ + errNb = checkDataSame( gBuffer[1].in, history->low, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[2].in, history->close,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + /* The previous call should have the same output as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[0].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[0].in, 0 ); + setInputBuffer( 0, history->high, history->nbBars ); + + /* Make another call where the input and the output are the + * same buffer. + */ + retCode = do_call( test, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + &outBegIdx, + &outNbElement, + gBuffer[1].in ); + + /* Check that the input were preserved. */ + errNb = checkDataSame( gBuffer[0].in, history->high,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[2].in, history->close,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + /* The previous call should have the same output as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[1].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[1].in, 0 ); + setInputBuffer( 1, history->low, history->nbBars ); + + /* Make another call where the input and the output are the + * same buffer. + */ + retCode = do_call( test, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + &outBegIdx, + &outNbElement, + gBuffer[2].in ); + + /* Check that the input were preserved. */ + errNb = checkDataSame( gBuffer[0].in, history->high,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[1].in, history->low, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + /* The previous call should have the same output as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[2].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[2].in, 0 ); + setInputBuffer( 2, history->close, history->nbBars ); + + /* Do a systematic test of most of the + * possible startIdx/endIdx range. + */ + testParam.test = test; + testParam.high = history->high; + testParam.low = history->low; + testParam.close = history->close; + + if( test->doRangeTestFlag ) + { + switch( test->theFunction ) + { + case TA_NATR_TEST: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_NATR, + (void *)&testParam, 1, 0 ); + break; + default: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_NONE, + (void *)&testParam, 1, 0 ); + break; + } + + if( errNb != TA_TEST_PASS ) + return errNb; + } + + return TA_TEST_PASS; +} + diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_per_hlcv.c b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_per_hlcv.c new file mode 100644 index 000000000..8485e010c --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_per_hlcv.c @@ -0,0 +1,710 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 011103 MF First version. + * 111705 MF Add test for Fix#1359452 (AD Function). + * 110206 AC Change volume and open interest to double + */ + +/* Description: + * + * Test functions which have the following + * characterisic: + * - the inputs are high,low, close and volume. + * - have one output of type real. + * - might have an optional parameter. + * + * + */ + +/**** Headers ****/ +#include +#include + +#include "ta_test_priv.h" +#include "ta_test_func.h" +#include "ta_utility.h" + +/**** External functions declarations. ****/ +/* None */ + +/**** External variables declarations. ****/ +/* None */ + +/**** Global variables definitions. ****/ +/* None */ + +/**** Local declarations. ****/ +typedef enum { +TA_MFI_TEST, +TA_AD_TEST, +TA_ADOSC_3_10_TEST, +TA_ADOSC_5_2_TEST, +} TA_TestId; + +typedef struct +{ + TA_Integer doRangeTestFlag; + + TA_TestId theFunction; + + TA_Integer startIdx; + TA_Integer endIdx; + TA_Integer optInTimePeriod; + + TA_RetCode expectedRetCode; + + TA_Integer oneOfTheExpectedOutRealIndex0; + TA_Real oneOfTheExpectedOutReal0; + + TA_Integer expectedBegIdx; + TA_Integer expectedNbElement; +} TA_Test; + +typedef struct +{ + const TA_Test *test; + const TA_Real *high; + const TA_Real *low; + const TA_Real *close; + const TA_Real *volume; +} TA_RangeTestParam; + +/**** Local functions declarations. ****/ +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ); + +/**** Local variables definitions. ****/ + +static TA_Test tableTest[] = +{ + /*************/ + /* AD TEST */ + /*************/ + /* Note: the period field is ignored. The period is irrelevant */ + { 1, TA_AD_TEST, 0, 251, -1, TA_SUCCESS, 0, -1631000.00, 0, 252 }, /* First Value */ + { 0, TA_AD_TEST, 0, 251, -1, TA_SUCCESS, 1, 2974412.02, 0, 252 }, + { 0, TA_AD_TEST, 0, 251, -1, TA_SUCCESS, 250, 8707691.07, 0, 252 }, + { 0, TA_AD_TEST, 0, 251, -1, TA_SUCCESS, 251, 8328944.54, 0, 252 }, /* Last Value */ + + /****************/ + /* ADOSC TEST */ + /****************/ + /* Note: the period field is ignored. The periods are always 3 and 10 */ + { 1, TA_ADOSC_3_10_TEST, 0, 251, -1, TA_SUCCESS, 0, 841238.32, 9, 243 }, /* First Value */ + { 0, TA_ADOSC_3_10_TEST, 0, 251, -1, TA_SUCCESS, 1, 2255663.07, 9, 243 }, + { 0, TA_ADOSC_3_10_TEST, 0, 251, -1, TA_SUCCESS, 241, -526700.32, 9, 243 }, + { 0, TA_ADOSC_3_10_TEST, 0, 251, -1, TA_SUCCESS, 242, -1139932.729, 9, 243 }, /* Last Value */ + + /* Note: the period field is ignored. The periods are always 2 and 5 */ + { 1, TA_ADOSC_5_2_TEST, 0, 251, -1, TA_SUCCESS, 0, 585361.28, 4, 248 }, /* First Value */ + + /**************/ + /* MFI TEST */ + /**************/ + { 0, TA_MFI_TEST, 0, 251, 14, TA_SUCCESS, 0, 42.8923, 14, 252-14 }, /* First Value */ + { 0, TA_MFI_TEST, 0, 251, 14, TA_SUCCESS, 1, 45.6072, 14, 252-14 }, + { 0, TA_MFI_TEST, 0, 251, 14, TA_SUCCESS, 252-15, 53.1997, 14, 252-14 }, /* Last Value */ + + { 1, TA_MFI_TEST, 0, 251, 49, TA_SUCCESS, 0, 44.7902, 49, 252-49 }, /* First Value */ + { 0, TA_MFI_TEST, 0, 251, 49, TA_SUCCESS, 1, 43.1963, 49, 252-49 }, + { 0, TA_MFI_TEST, 0, 251, 49, TA_SUCCESS, 252-50, 57.4806, 49, 252-49 }, /* Last Value */ + + { 1, TA_MFI_TEST, 0, 251, 50, TA_SUCCESS, 0, 44.2414, 50, 252-50 }, /* First Value */ + { 0, TA_MFI_TEST, 0, 251, 50, TA_SUCCESS, 1, 42.1108, 50, 252-50 }, + { 0, TA_MFI_TEST, 0, 251, 50, TA_SUCCESS, 252-51, 50.5905, 50, 252-50 }, /* Last Value */ + + { 1, TA_MFI_TEST, 0, 251, 51, TA_SUCCESS, 0, 43.1496, 51, 252-51 }, /* First Value */ + { 0, TA_MFI_TEST, 0, 251, 51, TA_SUCCESS, 1, 40.7692, 51, 252-51 }, + { 0, TA_MFI_TEST, 0, 251, 51, TA_SUCCESS, 252-52, 51.7265, 51, 252-51 }, /* Last Value */ + + { 1, TA_MFI_TEST, 0, 251, 100, TA_SUCCESS, 0, 50.0166, 100, 252-100 }, /* First Value */ + { 0, TA_MFI_TEST, 0, 251, 100, TA_SUCCESS, 1, 50.2648, 100, 252-100 }, + { 0, TA_MFI_TEST, 0, 251, 100, TA_SUCCESS, 252-101, 48.4264, 100, 252-100 } /* Last Value */ + +}; + +#define NB_TEST (sizeof(tableTest)/sizeof(TA_Test)) + +/**** Global functions definitions. ****/ +ErrorNumber test_func_per_hlcv( TA_History *history ) +{ + unsigned int i; + ErrorNumber retValue; + + + for( i=0; i < NB_TEST; i++ ) + { + /* Re-initialize all the unstable period to zero. */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 0 ); + + if( (int)tableTest[i].expectedNbElement > (int)history->nbBars ) + { + printf( "Failed Bad Parameter for Test #%d (%d,%d)\n", + i, tableTest[i].expectedNbElement, history->nbBars ); + return TA_TESTUTIL_TFRR_BAD_PARAM; + } + + retValue = do_test( history, &tableTest[i] ); + if( retValue != 0 ) + { + printf( "Failed Test #%d (Code=%d)\n", i, retValue ); + return retValue; + } + } + + /* Re-initialize all the unstable period to zero. */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 0 ); + + /* All test succeed. */ + return TA_TEST_PASS; +} + +/**** Local functions definitions. ****/ +static TA_RetCode rangeTestFunction( TA_Integer startIdx, + TA_Integer endIdx, + TA_Real *outputBuffer, + TA_Integer *outputBufferInt, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Integer *lookback, + void *opaqueData, + unsigned int outputNb, + unsigned int *isOutputInteger ) +{ + TA_RetCode retCode; + TA_RangeTestParam *testParam; + + (void)outputNb; + (void)outputBufferInt; + + *isOutputInteger = 0; + + testParam = (TA_RangeTestParam *)opaqueData; + + switch( testParam->test->theFunction ) + { + case TA_MFI_TEST: + retCode = TA_MFI( startIdx, + endIdx, + testParam->high, + testParam->low, + testParam->close, + testParam->volume, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + outputBuffer ); + *lookback = TA_MFI_Lookback( testParam->test->optInTimePeriod ); + break; + + case TA_AD_TEST: + retCode = TA_AD( startIdx, + endIdx, + testParam->high, + testParam->low, + testParam->close, + testParam->volume, + outBegIdx, + outNbElement, + outputBuffer ); + *lookback = TA_AD_Lookback(); + break; + + case TA_ADOSC_3_10_TEST: + retCode = TA_ADOSC( startIdx, + endIdx, + testParam->high, + testParam->low, + testParam->close, + testParam->volume, + 3, 10, + outBegIdx, + outNbElement, + outputBuffer ); + *lookback = TA_ADOSC_Lookback(3,10); + break; + + case TA_ADOSC_5_2_TEST: + retCode = TA_ADOSC( startIdx, + endIdx, + testParam->high, + testParam->low, + testParam->close, + testParam->volume, + 5, 2, + outBegIdx, + outNbElement, + outputBuffer ); + *lookback = TA_ADOSC_Lookback(5,2); + break; + + default: + retCode = TA_INTERNAL_ERROR(132); + } + + return retCode; +} + +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ) +{ + TA_RetCode retCode; + ErrorNumber errNb; + TA_Integer outBegIdx; + TA_Integer outNbElement; + TA_RangeTestParam testParam; + + /* Set to NAN all the elements of the gBuffers. */ + clearAllBuffers(); + + /* Build the input. */ + setInputBuffer( 0, history->high, history->nbBars ); + setInputBuffer( 1, history->low, history->nbBars ); + setInputBuffer( 2, history->close, history->nbBars ); + + /* Clear the unstable periods from previous tests. */ + retCode = TA_SetUnstablePeriod( TA_FUNC_UNST_MFI, 0 ); + if( retCode != TA_SUCCESS ) + return TA_TEST_TFRR_SETUNSTABLE_PERIOD_FAIL; + + /* Make a simple first call. */ + switch( test->theFunction ) + { + case TA_MFI_TEST: + retCode = TA_MFI( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + history->volume, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + break; + case TA_AD_TEST: + retCode = TA_AD( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + history->volume, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + break; + + case TA_ADOSC_3_10_TEST: + retCode = TA_ADOSC( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + history->volume, + 3, 10, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + break; + + case TA_ADOSC_5_2_TEST: + retCode = TA_ADOSC( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + history->volume, + 5, 2, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + break; + default: + retCode = TA_INTERNAL_ERROR(133); + } + + /* Check that the input were preserved. */ + errNb = checkDataSame( gBuffer[0].in, history->high,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[1].in, history->low, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[2].in, history->close,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[0].out0, 0 ); + + outBegIdx = outNbElement = 0; + + /* Make another call where the input and the output are the + * same buffer. + */ + switch( test->theFunction ) + { + case TA_MFI_TEST: + retCode = TA_MFI( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + history->volume, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].in ); + break; + case TA_AD_TEST: + retCode = TA_AD( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + history->volume, + &outBegIdx, + &outNbElement, + gBuffer[0].in ); + break; + case TA_ADOSC_3_10_TEST: + retCode = TA_ADOSC( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + history->volume, + 3, 10, + &outBegIdx, + &outNbElement, + gBuffer[0].in ); + break; + case TA_ADOSC_5_2_TEST: + retCode = TA_ADOSC( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + history->volume, + 5, 2, + &outBegIdx, + &outNbElement, + gBuffer[0].in ); + break; + default: + retCode = TA_INTERNAL_ERROR(134); + } + + /* Check that the input were preserved. */ + errNb = checkDataSame( gBuffer[1].in, history->low, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[2].in, history->close,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + /* The previous call should have the same output as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[0].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[0].in, 0 ); + setInputBuffer( 0, history->high, history->nbBars ); + + /* Make another call where the input and the output are the + * same buffer. + */ + switch( test->theFunction ) + { + case TA_MFI_TEST: + retCode = TA_MFI( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + history->volume, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[1].in ); + break; + case TA_AD_TEST: + retCode = TA_AD( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + history->volume, + &outBegIdx, + &outNbElement, + gBuffer[1].in ); + break; + case TA_ADOSC_3_10_TEST: + retCode = TA_ADOSC( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + history->volume, + 3, 10, + &outBegIdx, + &outNbElement, + gBuffer[1].in ); + break; + case TA_ADOSC_5_2_TEST: + retCode = TA_ADOSC( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + history->volume, + 5, 2, + &outBegIdx, + &outNbElement, + gBuffer[1].in ); + break; + default: + retCode = TA_INTERNAL_ERROR(135); + } + + /* Check that the input were preserved. */ + errNb = checkDataSame( gBuffer[0].in, history->high,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[2].in, history->close,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + /* The previous call to TA_MA should have the same output + * as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[1].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[1].in, 0 ); + setInputBuffer( 1, history->low, history->nbBars ); + + /* Make another call where the input and the output are the + * same buffer. + */ + switch( test->theFunction ) + { + case TA_MFI_TEST: + retCode = TA_MFI( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + history->volume, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[2].in ); + break; + case TA_AD_TEST: + retCode = TA_AD( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + history->volume, + &outBegIdx, + &outNbElement, + gBuffer[2].in ); + break; + case TA_ADOSC_3_10_TEST: + retCode = TA_ADOSC( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + history->volume, + 3, 10, + &outBegIdx, + &outNbElement, + gBuffer[2].in ); + break; + case TA_ADOSC_5_2_TEST: + retCode = TA_ADOSC( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + history->volume, + 5, 2, + &outBegIdx, + &outNbElement, + gBuffer[2].in ); + break; + default: + retCode = TA_INTERNAL_ERROR(136); + } + + /* Check that the input were preserved. */ + errNb = checkDataSame( gBuffer[0].in, history->high,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[1].in, history->low, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + /* The previous call should have the same output as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[2].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[2].in, 0 ); + setInputBuffer( 2, history->close, history->nbBars ); + + if( test->doRangeTestFlag ) + { + /* Do a systematic test of most of the + * possible startIdx/endIdx range. + */ + testParam.test = test; + testParam.high = history->high; + testParam.low = history->low; + testParam.close = history->close; + testParam.volume = history->volume; + + switch( test->theFunction ) + { + case TA_MFI_TEST: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_MFI, + (void *)&testParam, 1, 0 ); + if( errNb != TA_TEST_PASS ) + return errNb; + break; + case TA_AD_TEST: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_NONE, + (void *)&testParam, 1, + TA_DO_NOT_COMPARE ); + if( errNb != TA_TEST_PASS ) + return errNb; + break; + case TA_ADOSC_3_10_TEST: + case TA_ADOSC_5_2_TEST: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_EMA, + (void *)&testParam, 1, + TA_DO_NOT_COMPARE ); + if( errNb != TA_TEST_PASS ) + return errNb; + break; + default: + break; + } + } + + /* Check for fix #1359452 - AD RAnge not working as expected. */ + if( test->theFunction == TA_AD_TEST ) + { + gBuffer[0].out0[0] = -1.0; + gBuffer[0].out0[1] = -1.0; + retCode = TA_AD( 0, + 0, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + history->volume, + &outBegIdx, + &outNbElement, + &gBuffer[0].out0[0] ); + if( retCode != TA_SUCCESS ) + { + printf( "Failed AD call for fix #1359452 [%d]\n", retCode ); + return TA_TEST_FAIL_BUG1359452_1; + } + if( gBuffer[0].out0[0] == -1.0 ) + { + printf( "Failed AD call for fix #1359452 out0[0] == -1\n" ); + return TA_TEST_FAIL_BUG1359452_2; + } + + retCode = TA_AD( 1, + 1, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + history->volume, + &outBegIdx, + &outNbElement, + &gBuffer[0].out0[1] ); + if( retCode != TA_SUCCESS ) + { + printf( "Failed AD call for fix #1359452 [%d]\n", retCode ); + return TA_TEST_FAIL_BUG1359452_3; + } + if( gBuffer[0].out0[1] == -1.0 ) + { + printf( "Failed AD call for fix #1359452 out0[1] == -1\n" ); + return TA_TEST_FAIL_BUG1359452_4; + } + + /* The two values are to be different. */ + if( gBuffer[0].out0[1] == gBuffer[0].out0[0] ) + { + printf( "Failed AD logic for fix #1359452\n" ); + return TA_TEST_FAIL_BUG1359452_5; + } + } + + return TA_TEST_PASS; +} + diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_per_ohlc.c b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_per_ohlc.c new file mode 100644 index 000000000..bacec8ff4 --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_per_ohlc.c @@ -0,0 +1,527 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112405 MF First version. + * + */ + +/* Description: + * + * Test functions which have the following + * characterisic: + * - have one output + * - zero or one parameter being a period. + * - the input is open, high, low and close. + * + */ + +/**** Headers ****/ +#include +#include + +#include "ta_test_priv.h" +#include "ta_test_func.h" +#include "ta_utility.h" + +/**** External functions declarations. ****/ +/* None */ + +/**** External variables declarations. ****/ +/* None */ + +/**** Global variables definitions. ****/ +/* None */ + +/**** Local declarations. ****/ +typedef enum { +TA_AVGPRICE_TEST, +TA_BOP_TEST +} TA_TestId; + +typedef struct +{ + TA_Integer doRangeTestFlag; + + TA_TestId theFunction; + + TA_Integer startIdx; + TA_Integer endIdx; + TA_Integer optInTimePeriod; + + TA_RetCode expectedRetCode; + + TA_Integer oneOfTheExpectedOutRealIndex0; + TA_Real oneOfTheExpectedOutReal0; + + TA_Integer expectedBegIdx; + TA_Integer expectedNbElement; +} TA_Test; + +typedef struct +{ + const TA_Test *test; + const TA_Real *open; + const TA_Real *high; + const TA_Real *low; + const TA_Real *close; +} TA_RangeTestParam; + +/**** Local functions declarations. ****/ +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ); + +/**** Local variables definitions. ****/ + +static TA_Test tableTest[] = +{ + /*******************/ + /* AVGPRICE TEST */ + /*******************/ + { 0, TA_AVGPRICE_TEST, 0, 251, 0, TA_SUCCESS, 0, 92.0, 0, 252 }, + { 1, TA_AVGPRICE_TEST, 0, 251, 0, TA_SUCCESS, 1, 93.17, 0, 252 }, + + /*************/ + /* BOP TEST */ + /*************/ + + /* The following two should always be identical. */ + { 0, TA_BOP_TEST, 0, 251, 0, TA_SUCCESS, 0, -0.40, 0, 252 }, + { 1, TA_BOP_TEST, 0, 251, 0, TA_SUCCESS, 1, 0.94, 0, 252 } + +}; + +#define NB_TEST (sizeof(tableTest)/sizeof(TA_Test)) + +/**** Global functions definitions. ****/ +ErrorNumber test_func_per_ohlc( TA_History *history ) +{ + unsigned int i; + ErrorNumber retValue; + + /* Re-initialize all the unstable period to zero. */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 0 ); + + for( i=0; i < NB_TEST; i++ ) + { + if( (int)tableTest[i].expectedNbElement > (int)history->nbBars ) + { + printf( "Failed Bad Parameter for Test #%d (%d,%d)\n", + i, tableTest[i].expectedNbElement, history->nbBars ); + return TA_TESTUTIL_TFRR_BAD_PARAM; + } + + retValue = do_test( history, &tableTest[i] ); + if( retValue != 0 ) + { + printf( "Failed Test #%d (Code=%d)\n", i, retValue ); + return retValue; + } + } + + /* Re-initialize all the unstable period to zero. */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 0 ); + + /* All test succeed. */ + return TA_TEST_PASS; +} + +/**** Local functions definitions. ****/ +static TA_RetCode rangeTestFunction( TA_Integer startIdx, + TA_Integer endIdx, + TA_Real *outputBuffer, + TA_Integer *outputBufferInt, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Integer *lookback, + void *opaqueData, + unsigned int outputNb, + unsigned int *isOutputInteger ) +{ + TA_RetCode retCode; + TA_RangeTestParam *testParam; + + (void)outputNb; + (void)outputBufferInt; + + *isOutputInteger = 0; + + testParam = (TA_RangeTestParam *)opaqueData; + + switch( testParam->test->theFunction ) + { + case TA_BOP_TEST: + retCode = TA_BOP( startIdx, + endIdx, + testParam->open, + testParam->high, + testParam->low, + testParam->close, + outBegIdx, + outNbElement, + outputBuffer ); + *lookback = TA_BOP_Lookback(); + break; + case TA_AVGPRICE_TEST: + retCode = TA_AVGPRICE( startIdx, + endIdx, + testParam->open, + testParam->high, + testParam->low, + testParam->close, + outBegIdx, + outNbElement, + outputBuffer ); + *lookback = TA_AVGPRICE_Lookback(); + break; + default: + retCode = TA_INTERNAL_ERROR(171); + } + + return retCode; +} + +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ) +{ + TA_RetCode retCode; + ErrorNumber errNb; + TA_Integer outBegIdx; + TA_Integer outNbElement; + TA_RangeTestParam testParam; + + /* Set to NAN all the elements of the gBuffers. */ + clearAllBuffers(); + + /* Build the input. */ + setInputBuffer( 0, history->open, history->nbBars ); + setInputBuffer( 1, history->high, history->nbBars ); + setInputBuffer( 2, history->low, history->nbBars ); + setInputBuffer( 3, history->close, history->nbBars ); + + /* Make a simple first call. */ + switch( test->theFunction ) + { + case TA_BOP_TEST: + retCode = TA_BOP( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + gBuffer[3].in, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + break; + + case TA_AVGPRICE_TEST: + retCode = TA_AVGPRICE( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + gBuffer[3].in, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + break; + + default: + retCode = TA_INTERNAL_ERROR(172); + } + + /* Check that the input were preserved. */ + errNb = checkDataSame( gBuffer[0].in, history->open,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[1].in, history->high, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[2].in, history->low,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[3].in, history->close,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[0].out0, 0 ); + + outBegIdx = outNbElement = 0; + + /* Make another call where the input and the output are the + * same buffer. + */ + switch( test->theFunction ) + { + case TA_BOP_TEST: + retCode = TA_BOP( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + gBuffer[3].in, + &outBegIdx, + &outNbElement, + gBuffer[0].in ); + break; + case TA_AVGPRICE_TEST: + retCode = TA_AVGPRICE( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + gBuffer[3].in, + &outBegIdx, + &outNbElement, + gBuffer[0].in ); + break; + default: + retCode = TA_INTERNAL_ERROR(173); + } + + /* Check that the input were preserved. */ + errNb = checkDataSame( gBuffer[1].in, history->high, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[2].in, history->low,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[3].in, history->close,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + /* The previous call should have the same output as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[0].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[0].in, 0 ); + setInputBuffer( 0, history->open, history->nbBars ); + + /* Make another call where the input and the output are the + * same buffer. + */ + switch( test->theFunction ) + { + case TA_BOP_TEST: + retCode = TA_BOP( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + gBuffer[3].in, + &outBegIdx, + &outNbElement, + gBuffer[1].in ); + break; + case TA_AVGPRICE_TEST: + retCode = TA_AVGPRICE( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + gBuffer[3].in, + &outBegIdx, + &outNbElement, + gBuffer[1].in ); + break; + default: + retCode = TA_INTERNAL_ERROR(174); + } + + /* Check that the input were preserved. */ + errNb = checkDataSame( gBuffer[0].in, history->open,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[2].in, history->low,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[3].in, history->close,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + /* The previous call should have the same output as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[1].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[1].in, 0 ); + setInputBuffer( 1, history->high, history->nbBars ); + + /* Make another call where the input and the output are the + * same buffer. + */ + switch( test->theFunction ) + { + case TA_BOP_TEST: + retCode = TA_BOP( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + gBuffer[3].in, + &outBegIdx, + &outNbElement, + gBuffer[2].in ); + break; + case TA_AVGPRICE_TEST: + retCode = TA_AVGPRICE( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + gBuffer[3].in, + &outBegIdx, + &outNbElement, + gBuffer[2].in ); + break; + default: + retCode = TA_INTERNAL_ERROR(175); + } + + /* Check that the input were preserved. */ + errNb = checkDataSame( gBuffer[0].in, history->open,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[1].in, history->high, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[3].in, history->close, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + /* The previous call should have the same output as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[2].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[2].in, 0 ); + setInputBuffer( 2, history->low, history->nbBars ); + + /* Make another call where the input and the output are the + * same buffer. + */ + switch( test->theFunction ) + { + case TA_BOP_TEST: + retCode = TA_BOP( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + gBuffer[3].in, + &outBegIdx, + &outNbElement, + gBuffer[3].in ); + break; + case TA_AVGPRICE_TEST: + retCode = TA_AVGPRICE( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + gBuffer[3].in, + &outBegIdx, + &outNbElement, + gBuffer[3].in ); + break; + default: + retCode = TA_INTERNAL_ERROR(176); + } + + /* Check that the input were preserved. */ + errNb = checkDataSame( gBuffer[0].in, history->open,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[1].in, history->high, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[2].in, history->low, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + /* The previous call should have the same output as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[3].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[3].in, 0 ); + setInputBuffer( 3, history->close, history->nbBars ); + + /* Do a systematic test of most of the + * possible startIdx/endIdx range. + */ + testParam.test = test; + testParam.open = history->open; + testParam.high = history->high; + testParam.low = history->low; + testParam.close = history->close; + + if( test->doRangeTestFlag ) + { + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_NONE, + (void *)&testParam, 1, 0 ); + if( errNb != TA_TEST_PASS ) + return errNb; + } + + return TA_TEST_PASS; +} + diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_po.c b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_po.c new file mode 100644 index 000000000..7fee88736 --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_po.c @@ -0,0 +1,440 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * AA Andrew Atkinson + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF First version. + * 020605 MF Add regression test with inverted slow/fast period. + * 020805 AA Fix one of the TA_PPO call (wrong buffer was pass). + */ + +/* Description: + * Regression test of APO(Absolute Price Oscillator). + * Regression test of PPO (Percentage Price Oscillator). + */ + +/**** Headers ****/ +#include +#include + +#include "ta_test_priv.h" +#include "ta_test_func.h" +#include "ta_utility.h" + +/**** External functions declarations. ****/ +/* None */ + +/**** External variables declarations. ****/ +/* None */ + +/**** Global variables definitions. ****/ +/* None */ + +/**** Local declarations. ****/ +typedef struct +{ + TA_Integer doRangeTestFlag; + + TA_Integer doPercentage; + + TA_Integer startIdx; + TA_Integer endIdx; + + TA_Integer optInFastPeriod; /* From 1 to 200 */ + TA_Integer optInSlowPeriod; /* From 1 to 200 */ + TA_Integer optInMethod_2; + TA_Integer compatibility; + + TA_RetCode expectedRetCode; + + TA_Integer oneOfTheExpectedOutRealIndex; + TA_Real oneOfTheExpectedOutReal; + + + TA_Integer expectedBegIdx; + TA_Integer expectedNbElement; +} TA_Test; + +typedef struct +{ + const TA_Test *test; + const TA_Real *close; +} TA_RangeTestParam; + +/**** Local functions declarations. ****/ +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ); + +/**** Local variables definitions. ****/ +static TA_Test tableTest[] = +{ + /**********************************/ + /* APO TEST - SIMPLE - CLASSIC */ + /**********************************/ + { 1, 0, 0, 251, 26, 12, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, -3.3124, 25, 252-25 }, /* First Value */ + { 1, 0, 0, 251, 12, 26, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, -3.3124, 25, 252-25 }, /* First Value */ + { 0, 0, 0, 251, 12, 26, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 1, -3.5876, 25, 252-25 }, + { 0, 0, 0, 251, 12, 26, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 252-26, -0.1667, 25, 252-25 }, /* Last Value */ + + { 0, 0, 0, 1, 12, 26, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 0, 0, 0 }, /* Out of range value */ + { 0, 0, 1, 1, 12, 26, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 0, 0, 0 }, /* Out of range value */ + { 0, 0, 25, 25, 12, 26, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, -3.3124, 25, 1 }, /* First/Last Value */ + { 0, 0, 250, 251, 12, 26, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 1, -0.1667, 250, 2 }, /* Last Value */ + + /************************************/ + /* APO TEST - SIMPLE - METASTOCK */ + /************************************/ + { 0, 0, 0, 251, 12, 26, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, -3.3124, 25, 252-25 }, /* First Value */ + { 0, 0, 0, 251, 12, 26, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 1, -3.5876, 25, 252-25 }, + { 0, 0, 0, 251, 12, 26, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 252-26, -0.1667, 25, 252-25 }, /* Last Value */ + + { 0, 0, 0, 1, 12, 26, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 0, 0, 0 }, /* Out of range value */ + { 0, 0, 1, 1, 12, 26, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 0, 0, 0 }, /* Out of range value */ + { 0, 0, 25, 25, 12, 26, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, -3.3124, 25, 1 }, /* First/Last Value */ + { 0, 0, 250, 251, 12, 26, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 1, -0.1667, 250, 2 }, /* Last Value */ + + + /***************************************/ + /* APO TEST - EXPONENTIAL - CLASSIC */ + /***************************************/ + /* !!! To be done. */ + + /*****************************************/ + /* APO TEST - EXPONENTIAL - METASTOCK */ + /*****************************************/ + { 1, 0, 0, 251, 12, 26, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, -2.4193, 25, 252-25 }, /* First Value */ + { 0, 0, 0, 251, 12, 26, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 1, -2.4367, 25, 252-25 }, + { 0, 0, 0, 251, 12, 26, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 252-26, 0.90401, 25, 252-25 }, /* Last Value */ + + { 0, 0, 0, 1, 12, 26, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 0, 0, 0 }, /* Out of range value */ + { 0, 0, 1, 1, 12, 26, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 0, 0, 0 }, /* Out of range value */ + { 0, 0, 25, 25, 12, 26, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, -2.4193, 25, 1 }, + { 0, 0, 250, 251, 12, 26, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 1, 0.90401, 250, 2 }, /* Last Value */ + + { 0, 0, 251, 251, 12, 26, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 0.90401, 251, 1 }, /* Last Value */ + { 0, 0, 25, 25, 12, 26, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, -2.4193, 25, 1 }, /* Just enough to calculate first. */ + { 0, 0, 26, 26, 12, 26, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, -2.4367, 26, 1 }, /* Just enough to calculate second. */ + + /**********************************/ + /* PPO TEST - SIMPLE - CLASSIC */ + /**********************************/ + { 1, 1, 0, 251, 2, 3, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 1.10264, 2, 252-2 }, /* First Value */ + { 0, 1, 0, 251, 2, 3, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 1, -0.02813, 2, 252-2 }, + { 0, 1, 0, 251, 2, 3, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 249, -0.21191, 2, 252-2 }, /* Last Value */ + + { 0, 1, 0, 1, 2, 3, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 0, 0, 0 }, /* Out of range value */ + { 0, 1, 1, 1, 2, 3, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 0, 0, 0 }, /* Out of range value */ + { 0, 1, 2, 2, 2, 3, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 1.10264, 2, 1 }, /* First/Last Value */ + { 0, 1, 250, 251, 2, 3, TA_MAType_SMA, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 1, -0.21191, 250, 2 }, /* Last Value */ + + /************************************/ + /* PPO TEST - SIMPLE - METASTOCK */ + /************************************/ + { 0, 1, 0, 251, 3, 2, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 1.10264, 2, 252-2 }, /* First Value */ + { 0, 1, 0, 251, 2, 3, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 1, -0.02813, 2, 252-2 }, + { 0, 1, 0, 251, 3, 2, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 249, -0.21191, 2, 252-2 }, /* Last Value */ + + { 0, 1, 0, 1, 2, 3, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 0, 0, 0 }, /* Out of range value */ + { 1, 1, 1, 1, 3, 2, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 0, 0, 0 }, /* Out of range value */ + { 1, 1, 2, 2, 2, 3, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 1.10264, 2, 1 }, /* First/Last Value */ + { 0, 1, 250, 251, 3, 2, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 1, -0.21191, 250, 2 }, /* Last Value */ + + { 0, 1, 0, 251, 12, 26, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, -3.6393, 25, 252-25 }, /* First Value */ + { 0, 1, 0, 251, 12, 26, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 1, -3.9534, 25, 252-25 }, + { 0, 1, 0, 251, 12, 26, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 252-26, -0.15281, 25, 252-25 }, /* Last Value */ + + { 0, 1, 0, 1, 12, 26, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 0, 0, 0 }, /* Out of range value */ + { 0, 1, 1, 1, 12, 26, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 0, 0, 0 }, /* Out of range value */ + { 0, 1, 25, 25, 12, 26, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, -3.6393, 25, 1 }, /* First/Last Value */ + { 0, 1, 250, 251, 12, 26, TA_MAType_SMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 1, -0.15281, 250, 2 }, /* Last Value */ + + /***************************************/ + /* PPO TEST - EXPONENTIAL - CLASSIC */ + /***************************************/ + /* !!! To be done. */ + + /*****************************************/ + /* PPO TEST - EXPONENTIAL - METASTOCK */ + /*****************************************/ + { 1, 1, 0, 251, 26, 12, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, -2.7083, 25, 252-25 }, /* First Value */ + { 0, 1, 0, 251, 12, 26, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 1, -2.7390, 25, 252-25 }, + { 0, 1, 0, 251, 12, 26, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 252-26, 0.83644, 25, 252-25 }, /* Last Value */ + + { 0, 1, 0, 1, 12, 26, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 0, 0, 0 }, /* Out of range value */ + { 0, 1, 1, 1, 12, 26, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 0, 0, 0 }, /* Out of range value */ + { 0, 1, 25, 25, 12, 26, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, -2.7083, 25, 1 }, + { 0, 1, 250, 251, 12, 26, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 1, 0.83644, 250, 2 }, /* Last Value */ + + { 0, 1, 251, 251, 12, 26, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 0.83644, 251, 1 }, /* Last Value */ + { 0, 1, 25, 25, 12, 26, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, -2.7083, 25, 1 }, /* Just enough to calculate first. */ + { 0, 1, 26, 26, 12, 26, TA_MAType_EMA, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, -2.7390, 26, 1 }, /* Just enough to calculate second. */ +}; + +#define NB_TEST (sizeof(tableTest)/sizeof(TA_Test)) + +/**** Global functions definitions. ****/ +ErrorNumber test_func_po( TA_History *history ) +{ + unsigned int i; + ErrorNumber retValue; + + for( i=0; i < NB_TEST; i++ ) + { + + if( (int)tableTest[i].expectedNbElement > (int)history->nbBars ) + { + printf( "TA_APO/TA_PPO Failed Bad Parameter for Test #%d (%d,%d)\n", + i, tableTest[i].expectedNbElement, history->nbBars ); + return TA_TESTUTIL_TFRR_BAD_PARAM; + } + + retValue = do_test( history, &tableTest[i] ); + if( retValue != 0 ) + { + printf( "TA_APO/TA_PPO Failed Test #%d (Code=%d)\n", i, retValue ); + return retValue; + } + } + + /* All test succeed. */ + return TA_TEST_PASS; +} + +/**** Local functions definitions. ****/ +static TA_RetCode rangeTestFunction( TA_Integer startIdx, + TA_Integer endIdx, + TA_Real *outputBuffer, + TA_Integer *outputBufferInt, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Integer *lookback, + void *opaqueData, + unsigned int outputNb, + unsigned int *isOutputInteger ) +{ + TA_RetCode retCode; + TA_RangeTestParam *testParam; + + (void)outputNb; + (void)outputBufferInt; + + *isOutputInteger = 0; + + testParam = (TA_RangeTestParam *)opaqueData; + + if( testParam->test->doPercentage ) + { + retCode = TA_PPO( startIdx, + endIdx, + testParam->close, + testParam->test->optInFastPeriod, + testParam->test->optInSlowPeriod, + (TA_MAType)testParam->test->optInMethod_2, + outBegIdx, + outNbElement, + outputBuffer ); + + *lookback = TA_PPO_Lookback( testParam->test->optInFastPeriod, + testParam->test->optInSlowPeriod, + (TA_MAType)testParam->test->optInMethod_2 ); + } + else + { + retCode = TA_APO( startIdx, + endIdx, + testParam->close, + testParam->test->optInFastPeriod, + testParam->test->optInSlowPeriod, + (TA_MAType)testParam->test->optInMethod_2, + outBegIdx, + outNbElement, + outputBuffer ); + + + *lookback = TA_APO_Lookback( testParam->test->optInFastPeriod, + testParam->test->optInSlowPeriod, + (TA_MAType)testParam->test->optInMethod_2 ); + } + + return retCode; +} + + +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ) +{ + TA_RetCode retCode; + ErrorNumber errNb; + TA_Integer outBegIdx; + TA_Integer outNbElement; + + TA_RangeTestParam testParam; + + /* Set to NAN all the elements of the gBuffers. */ + clearAllBuffers(); + + TA_SetCompatibility( (TA_Compatibility)test->compatibility ); + + /* Build the input. */ + setInputBuffer( 0, history->close, history->nbBars ); + setInputBuffer( 1, history->close, history->nbBars ); + + TA_SetUnstablePeriod( TA_FUNC_UNST_EMA, 0 ); + + /* Make a simple first call. */ + if( test->doPercentage ) + { + retCode = TA_PPO( test->startIdx, + test->endIdx, + gBuffer[0].in, + test->optInFastPeriod, + test->optInSlowPeriod, + (TA_MAType)test->optInMethod_2, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + } + else + { + retCode = TA_APO( test->startIdx, + test->endIdx, + gBuffer[0].in, + test->optInFastPeriod, + test->optInSlowPeriod, + (TA_MAType)test->optInMethod_2, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + } + + errNb = checkDataSame( gBuffer[0].in, history->close, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + errNb = checkExpectedValue( gBuffer[0].out0, + retCode, test->expectedRetCode, + outBegIdx, test->expectedBegIdx, + outNbElement, test->expectedNbElement, + test->oneOfTheExpectedOutReal, + test->oneOfTheExpectedOutRealIndex ); + if( errNb != TA_TEST_PASS ) + return errNb; + + outBegIdx = outNbElement = 0; + + /* Make another call where the input and the output are the + * same buffer. + */ + if( test->doPercentage ) + { + retCode = TA_PPO( test->startIdx, + test->endIdx, + gBuffer[1].in, + test->optInFastPeriod, + test->optInSlowPeriod, + (TA_MAType)test->optInMethod_2, + &outBegIdx, + &outNbElement, + gBuffer[1].in ); + } + else + { + retCode = TA_APO( test->startIdx, + test->endIdx, + gBuffer[1].in, + test->optInFastPeriod, + test->optInSlowPeriod, + (TA_MAType)test->optInMethod_2, + &outBegIdx, + &outNbElement, + gBuffer[1].in ); + } + + /* The previous call should have the same output + * as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[1].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + errNb = checkExpectedValue( gBuffer[1].in, + retCode, test->expectedRetCode, + outBegIdx, test->expectedBegIdx, + outNbElement, test->expectedNbElement, + test->oneOfTheExpectedOutReal, + test->oneOfTheExpectedOutRealIndex ); + if( errNb != TA_TEST_PASS ) + return errNb; + + /* Do a systematic test of most of the + * possible startIdx/endIdx range. + */ + testParam.test = test; + testParam.close = history->close; + + if( test->doRangeTestFlag ) + { + + if( test->optInMethod_2 == TA_MAType_EMA ) + { + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_EMA, + (void *)&testParam, 1, 0 ); + if( errNb != TA_TEST_PASS ) + return errNb; + } + else + { + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_NONE, + (void *)&testParam, 1, 0 ); + if( errNb != TA_TEST_PASS ) + return errNb; + } + } + + return TA_TEST_PASS; +} + diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_rsi.c b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_rsi.c new file mode 100644 index 000000000..4aabadd55 --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_rsi.c @@ -0,0 +1,507 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF First version. + * 112605 MF Add CMO test. + */ + +/* Description: + * Test RSI/CMO function. + */ + +/**** Headers ****/ +#include +#include + +#include "ta_test_priv.h" +#include "ta_test_func.h" +#include "ta_utility.h" + +/**** External functions declarations. ****/ +/* None */ + +/**** External variables declarations. ****/ +/* None */ + +/**** Global variables definitions. ****/ +/* None */ + +/**** Local declarations. ****/ +typedef enum { +TA_RSI_TEST, +TA_CMO_TEST +} TA_TestId; + +typedef struct +{ + TA_Integer doRangeTestFlag; + + TA_TestId theFunction; + + TA_Integer unstablePeriod; + + TA_Integer startIdx; + TA_Integer endIdx; + + TA_Integer optInTimePeriod; + TA_Integer compatibility; + + TA_RetCode expectedRetCode; + + TA_Integer oneOfTheExpectedOutRealIndex0; + TA_Real oneOfTheExpectedOutReal0; + + TA_Integer expectedBegIdx; + TA_Integer expectedNbElement; +} TA_Test; + +typedef struct +{ + const TA_Test *test; + const TA_Real *close; +} TA_RangeTestParam; + +/**** Local functions declarations. ****/ +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ); + +/**** Local variables definitions. ****/ + +static TA_Test tableTest[] = +{ + /**********************/ + /* RSI TEST */ + /**********************/ + { 1, TA_RSI_TEST, 0, 0, 251, 14, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 49.14, 14, 252-14 }, /* First Value */ + { 0, TA_RSI_TEST, 0, 0, 251, 14, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 1, 52.32, 14, 252-14 }, + { 0, TA_RSI_TEST, 0, 0, 251, 14, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 2, 46.07, 14, 252-14 }, + { 0, TA_RSI_TEST, 0, 0, 251, 14, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 252-15, 49.63, 14, 252-14 }, /* Last Value */ + + /* No output value. */ + { 0, TA_RSI_TEST, 0, 1, 1, 14, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 0, 0, 0}, + + /* One value tests. */ + { 0, TA_RSI_TEST, 0, 14, 14, 14, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 49.14, 14, 1}, + + /* Index too low test. */ + { 0, TA_RSI_TEST, 0, 0, 15, 14, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 49.14, 14, 2}, + { 0, TA_RSI_TEST, 0, 1, 15, 14, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 49.14, 14, 2}, + { 0, TA_RSI_TEST, 0, 2, 16, 14, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 49.14, 14, 3}, + { 0, TA_RSI_TEST, 0, 2, 16, 14, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 1, 52.32, 14, 3}, + { 0, TA_RSI_TEST, 0, 2, 16, 14, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 2, 46.07, 14, 3}, + { 0, TA_RSI_TEST, 0, 0, 14, 14, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 49.14, 14, 1}, + { 0, TA_RSI_TEST, 0, 0, 13, 14, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 49.14, 14, 0}, + + /* Test with 1 unstable price bar. Test for period 1, 2, 14 */ + { 0, TA_RSI_TEST, 1, 0, 251, 14, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 52.32, 15, 252-(14+1) }, + { 0, TA_RSI_TEST, 1, 0, 251, 14, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 1, 46.07, 15, 252-(14+1) }, + { 0, TA_RSI_TEST, 1, 0, 251, 14, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 252-(15+1), 49.63, 15, 252-(14+1) }, /* Last Value */ + + /* Test with 2 unstable price bar. Test for period 1, 2, 14 */ + { 0, TA_RSI_TEST, 2, 0, 251, 14, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, 46.07, 16, 252-(14+2) }, + { 0, TA_RSI_TEST, 2, 0, 251, 14, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 252-(15+2), 49.63, 16, 252-(14+2) }, /* Last Value */ + + + /**********************/ + /* RSI Metastock TEST */ + /**********************/ + { 1, TA_RSI_TEST, 0, 0, 251, 14, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 47.11, 13, 252-13 }, /* First Value */ + { 0, TA_RSI_TEST, 0, 0, 251, 14, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 1, 49.14, 13, 252-13 }, + { 0, TA_RSI_TEST, 0, 0, 251, 14, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 2, 52.32, 13, 252-13 }, + { 0, TA_RSI_TEST, 0, 0, 251, 14, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 3, 46.07, 13, 252-13 }, + { 0, TA_RSI_TEST, 0, 0, 251, 14, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 252-14, 49.63, 13, 252-13 }, /* Last Value */ + + /* No output value. */ + { 0, TA_RSI_TEST, 0, 1, 1, 14, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 0, 0, 0}, + + /* One value tests. */ + { 0, TA_RSI_TEST, 0, 13, 13, 14, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 47.11, 13, 1}, + { 0, TA_RSI_TEST, 0, 13, 13, 14, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 47.11, 13, 1}, + + /* Index too low test. */ + { 0, TA_RSI_TEST, 0, 0, 15, 14, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 47.11, 13, 3}, + { 0, TA_RSI_TEST, 0, 1, 15, 14, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 47.11, 13, 3}, + { 0, TA_RSI_TEST, 0, 2, 16, 14, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 47.11, 13, 4}, + { 0, TA_RSI_TEST, 0, 2, 16, 14, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 1, 49.14, 13, 4}, + { 0, TA_RSI_TEST, 0, 2, 16, 14, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 2, 52.32, 13, 4}, + { 0, TA_RSI_TEST, 0, 0, 14, 14, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 47.11, 13, 2}, + { 0, TA_RSI_TEST, 0, 0, 13, 14, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 47.11, 13, 1}, + { 0, TA_RSI_TEST, 0, 0, 12, 14, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 47.11, 13, 0}, + + /* Test with 1 unstable price bar. Test for period 1, 2, 14 */ + { 0, TA_RSI_TEST, 1, 0, 251, 14, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 49.14, 14, 252-(13+1) }, + { 0, TA_RSI_TEST, 1, 0, 251, 14, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 1, 52.32, 14, 252-(13+1) }, + { 0, TA_RSI_TEST, 1, 0, 251, 14, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 252-(14+1), 49.63, 14, 252-(13+1) }, /* Last Value */ + + /* Test with 2 unstable price bar. Test for period 1, 2, 14 */ + { 0, TA_RSI_TEST, 2, 0, 251, 14, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, 52.32, 15, 252-(13+2) }, + { 0, TA_RSI_TEST, 2, 0, 251, 14, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 252-(14+2), 49.63, 15, 252-(13+2) }, /* Last Value */ + + /**********************/ + /* CMO TEST */ + /**********************/ + { 1, TA_CMO_TEST, 0, 0, 251, 14, TA_COMPATIBILITY_DEFAULT, TA_SUCCESS, 0, -1.70, 14, 252-14 }, + { 1, TA_CMO_TEST, 0, 0, 251, 14, TA_COMPATIBILITY_METASTOCK, TA_SUCCESS, 0, -5.76, 13, 252-13 }, + +}; + +#define NB_TEST (sizeof(tableTest)/sizeof(TA_Test)) + +/**** Global functions definitions. ****/ +ErrorNumber test_func_rsi( TA_History *history ) +{ + unsigned int i; + ErrorNumber retValue; + + /* Re-initialize all the unstable period to zero. */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 0 ); + + for( i=0; i < NB_TEST; i++ ) + { + if( (int)tableTest[i].expectedNbElement > (int)history->nbBars ) + { + printf( "%s Failed Bad Parameter for Test #%d (%d,%d)\n", __FILE__, + i, tableTest[i].expectedNbElement, history->nbBars ); + return TA_TESTUTIL_TFRR_BAD_PARAM; + } + + retValue = do_test( history, &tableTest[i] ); + if( retValue != 0 ) + { + printf( "%s Failed Test #%d (Code=%d)\n", __FILE__, + i, retValue ); + return retValue; + } + } + + /* Re-initialize all the unstable period to zero. */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 0 ); + + /* All test succeed. */ + return TA_TEST_PASS; +} + +/**** Local functions definitions. ****/ +static TA_RetCode rangeTestFunction( TA_Integer startIdx, + TA_Integer endIdx, + TA_Real *outputBuffer, + TA_Integer *outputBufferInt, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Integer *lookback, + void *opaqueData, + unsigned int outputNb, + unsigned int *isOutputInteger ) +{ + TA_RetCode retCode; + TA_RangeTestParam *testParam; + + (void)outputNb; + (void)outputBufferInt; + + *isOutputInteger = 0; + + testParam = (TA_RangeTestParam *)opaqueData; + + + switch( testParam->test->theFunction ) + { + case TA_RSI_TEST: + retCode = TA_RSI( startIdx, + endIdx, + testParam->close, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + outputBuffer ); + + *lookback = TA_RSI_Lookback( testParam->test->optInTimePeriod); + break; + case TA_CMO_TEST: + retCode = TA_CMO( startIdx, + endIdx, + testParam->close, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + outputBuffer ); + + *lookback = TA_CMO_Lookback( testParam->test->optInTimePeriod); + break; + default: + retCode = TA_INTERNAL_ERROR(177); + } + + return retCode; +} + +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ) +{ + TA_RetCode retCode; + ErrorNumber errNb; + TA_Integer outBegIdx; + TA_Integer outNbElement; + TA_RangeTestParam testParam; + const TA_FuncHandle *funcHandle; + const TA_FuncInfo *funcInfo; + TA_ParamHolder *params; + + retCode = TA_SUCCESS; + + /* Set to NAN all the elements of the gBuffers. */ + clearAllBuffers(); + + TA_SetCompatibility( (TA_Compatibility)test->compatibility ); + + /* Build the input. */ + setInputBuffer( 0, history->close, history->nbBars ); + setInputBuffer( 1, history->close, history->nbBars ); + + /* Set the unstable period requested for that test. */ + switch( test->theFunction ) + { + case TA_RSI_TEST: + retCode = TA_SetUnstablePeriod( TA_FUNC_UNST_RSI, test->unstablePeriod ); + break; + case TA_CMO_TEST: + retCode = TA_SetUnstablePeriod( TA_FUNC_UNST_CMO, test->unstablePeriod ); + break; + } + + if( retCode != TA_SUCCESS ) + return TA_TEST_TFRR_SETUNSTABLE_PERIOD_FAIL; + + /* Make a simple first call. */ + switch( test->theFunction ) + { + case TA_RSI_TEST: + retCode = TA_RSI( test->startIdx, + test->endIdx, + gBuffer[0].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + break; + case TA_CMO_TEST: + retCode = TA_CMO( test->startIdx, + test->endIdx, + gBuffer[0].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + break; + default: + retCode = TA_INTERNAL_ERROR(178); + } + + errNb = checkDataSame( gBuffer[0].in, history->close,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[0].out0, 0 ); + + outBegIdx = outNbElement = 0; + + /* Make another call where the input and the output are the + * same buffer. + */ + switch( test->theFunction ) + { + case TA_RSI_TEST: + retCode = TA_RSI( test->startIdx, + test->endIdx, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[1].in ); + break; + case TA_CMO_TEST: + retCode = TA_CMO( test->startIdx, + test->endIdx, + gBuffer[1].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[1].in ); + break; + default: + retCode = TA_INTERNAL_ERROR(179); + } + + + /* The previous call should have the same output as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[1].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[1].in, 0 ); + + if( errNb != TA_TEST_PASS ) + return errNb; + + /* Make a call using the abstract interface. */ + switch( test->theFunction ) + { + case TA_RSI_TEST: + retCode = TA_GetFuncHandle( "RSI", &funcHandle ); + break; + case TA_CMO_TEST: + retCode = TA_GetFuncHandle( "CMO", &funcHandle ); + break; + default: + retCode = TA_INTERNAL_ERROR(180); + } + + if( retCode != TA_SUCCESS ) + { + printf( "Fail: TA_GetFuncHandle with retCode = %d\n", retCode ); + return TA_ABS_TST_FAIL_GETFUNCHANDLE; + } + + retCode = TA_GetFuncInfo( funcHandle, &funcInfo ); + if( retCode != TA_SUCCESS ) + { + printf( "Fail: TA_GetFuncInfo with retCode = %d\n", retCode ); + return TA_ABS_TST_FAIL_GETFUNCINFO; + } + + retCode = TA_ParamHolderAlloc( funcHandle, ¶ms ); + if( retCode != TA_SUCCESS ) + { + printf( "Fail: TA_ParamHolderAlloc with retCode = %d\n", retCode ); + return TA_ABS_TST_FAIL_PARAMHOLDERALLOC; + } + + retCode = TA_SetInputParamRealPtr( params, 0, gBuffer[0].in ); + if( retCode != TA_SUCCESS ) + { + printf( "Fail: TA_SetInputParamRealPtr with retCode = %d\n", retCode ); + return TA_ABS_TST_FAIL_PARAMREALPTR; + } + + retCode = TA_SetOptInputParamInteger( params, 0, test->optInTimePeriod ); + if( retCode != TA_SUCCESS ) + { + printf( "Fail: TA_SetOptInputParamInteger with retCode = %d\n", retCode ); + return TA_ABS_TST_FAIL_OPTINPUTPARAMINTEGER; + } + + retCode = TA_SetOutputParamRealPtr( params, 0, gBuffer[1].out0 ); + if( retCode != TA_SUCCESS ) + { + printf( "Fail: TA_SetOutputParamRealPtr with retCode = %d\n", retCode ); + return TA_ABS_TST_FAIL_SETOUTPUTPARAMREALPTR; + } + + retCode = TA_CallFunc( params, + test->startIdx, + test->endIdx, + &outBegIdx, + &outNbElement ); + + if( retCode != TA_SUCCESS ) + { + printf( "Fail: TA_CallFunc with retCode = %d\n", retCode ); + return TA_ABS_TST_FAIL_CALLFUNC; + } + + retCode = TA_ParamHolderFree( params ); + if( retCode != TA_SUCCESS ) + { + printf( "Fail: TA_GetFuncHandle with retCode = %d\n", retCode ); + return TA_ABS_TST_FAIL_PARAMHOLDERFREE; + } + + + /* The previous call should have the same output as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[1].out0 ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[1].out0, 0 ); + + if( errNb != TA_TEST_PASS ) + return errNb; + + /* Do a systematic test of most of the + * possible startIdx/endIdx range. + */ + testParam.test = test; + testParam.close = history->close; + + if( test->doRangeTestFlag ) + { + switch( test->theFunction ) + { + case TA_RSI_TEST: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_RSI, + (void *)&testParam, 1, 0 ); + break; + case TA_CMO_TEST: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_CMO, + (void *)&testParam, 1, 0 ); + break; + } + + if( errNb != TA_TEST_PASS ) + return errNb; + } + + return TA_TEST_PASS; +} + diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_sar.c b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_sar.c new file mode 100644 index 000000000..6df057073 --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_sar.c @@ -0,0 +1,301 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF First version. + * + */ + +/* Description: + * Test Parabolic SAR function using the example given + * in Wilder's book. + */ + +/**** Headers ****/ +#include +#include + +#include "ta_test_priv.h" +#include "ta_test_func.h" +#include "ta_utility.h" + +/**** External functions declarations. ****/ +/* None */ + +/**** External variables declarations. ****/ +/* None */ + +/**** Global variables definitions. ****/ +/* None */ + +/**** Local declarations. ****/ +typedef struct +{ + TA_Integer useWilderData; + TA_Integer startIdx; + TA_Integer endIdx; + + TA_Real optInAcceleration; + TA_Real optInMaximum; + + TA_RetCode expectedRetCode; + + TA_Integer oneOfTheExpectedOutRealIndex0; + TA_Real oneOfTheExpectedOutReal0; + + TA_Integer expectedBegIdx; + TA_Integer expectedNbElement; +} TA_Test; + +typedef struct +{ + const TA_Test *test; + const TA_Real *close; +} TA_RangeTestParam; + +/**** Local functions declarations. ****/ +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ); + +/**** Local variables definitions. ****/ + +static TA_Real wilderHigh[] = +{ +51.12, +52.35,52.1,51.8,52.1,52.5,52.8,52.5,53.5,53.5,53.8,54.2,53.4,53.5, +54.4,55.2,55.7,57,57.5,58,57.7,58,57.5,57,56.7,57.5, +56.70,56.00,56.20,54.80,55.50,54.70,54.00,52.50,51.00,51.50,51.70,53.00 +}; + +static TA_Real wilderLow[] = +{ +50.0, +51.5,51,50.5,51.25,51.7,51.85,51.5,52.3,52.5,53,53.5,52.5,52.1,53, +54,55,56,56.5,57,56.5,57.3,56.7,56.3,56.2,56, +55.50,55.00,54.90,54.00,54.50,53.80,53.00,51.50,50.00,50.50,50.20,51.50 +}; + +#define WILDER_NB_BAR (sizeof(wilderLow)/sizeof(TA_Real)) + +static TA_Test tableTest[] = +{ + /**************************************/ + /* SAR TEST WITH WILDER DATA */ + /**************************************/ + { 1, 0, (WILDER_NB_BAR-1), 0.02, 0.20, TA_SUCCESS, 0, 50.00, 1, (WILDER_NB_BAR-1) }, /* First Value */ + { 1, 0, (WILDER_NB_BAR-1), 0.02, 0.20, TA_SUCCESS, 1, 50.047, 1, (WILDER_NB_BAR-1) }, + { 1, 0, (WILDER_NB_BAR-1), 0.02, 0.20, TA_SUCCESS, 4, 50.182, 1, (WILDER_NB_BAR-1) }, + { 1, 0, (WILDER_NB_BAR-1), 0.02, 0.20, TA_SUCCESS, 35, 52.93, 1, (WILDER_NB_BAR-1) }, + { 1, 0, (WILDER_NB_BAR-1), 0.02, 0.20, TA_SUCCESS, 36, 50.00, 1, (WILDER_NB_BAR-1) } /* Last value */ +}; + +#define NB_TEST (sizeof(tableTest)/sizeof(TA_Test)) + +/**** Global functions definitions. ****/ +ErrorNumber test_func_sar( TA_History *history ) +{ + unsigned int i; + ErrorNumber retValue; + + /* Set all the unstable period to a weird value. This is to make sure + * that no unstable period affects the SAR. + */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 124 ); + + for( i=0; i < NB_TEST; i++ ) + { + if( (int)tableTest[i].expectedNbElement > (int)history->nbBars ) + { + printf( "%s Failed Bad Parameter for Test #%d (%d,%d)\n", __FILE__, + i, tableTest[i].expectedNbElement, history->nbBars ); + return TA_TESTUTIL_TFRR_BAD_PARAM; + } + + retValue = do_test( history, &tableTest[i] ); + if( retValue != 0 ) + { + printf( "%s Failed Test #%d (Code=%d)\n", __FILE__, + i, retValue ); + return retValue; + } + } + + /* Re-initialize all the unstable period to zero. */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 0 ); + + /* All test succeed. */ + return TA_TEST_PASS; +} + +/**** Local functions definitions. ****/ + +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ) +{ + TA_RetCode retCode; + ErrorNumber errNb; + TA_Integer outBegIdx; + TA_Integer outNbElement; + + const TA_Real *highPtr; + const TA_Real *lowPtr; + TA_Integer nbPriceBar; + + /* Set to NAN all the elements of the gBuffers. */ + clearAllBuffers(); + + /* Build the input. */ + if( test->useWilderData ) + { + highPtr = wilderHigh; + lowPtr = wilderLow; + nbPriceBar = WILDER_NB_BAR; + } + else + { + highPtr = history->high; + lowPtr = history->low; + nbPriceBar = history->nbBars; + } + + setInputBuffer( 0, highPtr, nbPriceBar ); + setInputBuffer( 1, lowPtr, nbPriceBar ); + + /* Make a simple first call. */ + retCode = TA_SAR( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + test->optInAcceleration, + test->optInMaximum, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + + errNb = checkDataSame( gBuffer[0].in, highPtr, nbPriceBar ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[1].in, lowPtr, nbPriceBar ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[0].out0, 0 ); + + outBegIdx = outNbElement = 0; + + /* Make another call where the input and the output are the + * same buffer. + */ + retCode = TA_SAR( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + test->optInAcceleration, + test->optInMaximum, + &outBegIdx, + &outNbElement, + gBuffer[1].in ); + + /* The previous call should have the same output as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[1].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[1].in, 0 ); + + if( errNb != TA_TEST_PASS ) + return errNb; + + /* Make sure the other input is untouched. */ + errNb = checkDataSame( gBuffer[0].in, highPtr, nbPriceBar ); + if( errNb != TA_TEST_PASS ) + return errNb; + + /* Repeat that last test but with the first parameter this time. */ + + /* Set to NAN all the elements of the gBuffers. */ + clearAllBuffers(); + + /* Build the input. */ + setInputBuffer( 0, highPtr, nbPriceBar ); + setInputBuffer( 1, lowPtr, nbPriceBar ); + + /* Make another call where the input and the output are the + * same buffer. + */ + retCode = TA_SAR( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + test->optInAcceleration, + test->optInMaximum, + &outBegIdx, + &outNbElement, + gBuffer[0].in ); + + /* The previous call should have the same output as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[0].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[0].in, 0 ); + + if( errNb != TA_TEST_PASS ) + return errNb; + + /* Make sure the other input is untouched. */ + errNb = checkDataSame( gBuffer[1].in, lowPtr, nbPriceBar); + if( errNb != TA_TEST_PASS ) + return errNb; + + return TA_TEST_PASS; +} + diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_stddev.c b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_stddev.c new file mode 100644 index 000000000..ad33f3a47 --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_stddev.c @@ -0,0 +1,265 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF First version. + * + */ + +/* Description: + * Test STDDEV function. This tests indirectly the VAR function. + */ + +/**** Headers ****/ +#include +#include + +#include "ta_test_priv.h" +#include "ta_test_func.h" +#include "ta_utility.h" + +/**** External functions declarations. ****/ +/* None */ + +/**** External variables declarations. ****/ +/* None */ + +/**** Global variables definitions. ****/ +/* None */ + +/**** Local declarations. ****/ +typedef struct +{ + TA_Integer doRangeTestFlag; /* One will do a call to doRangeTest */ + + TA_Integer startIdx; + TA_Integer endIdx; + + TA_Integer optInTimePeriod; + TA_Real optInNbDeviation_1; + + TA_RetCode expectedRetCode; + + TA_Integer oneOfTheExpectedOutRealIndex0; + TA_Real oneOfTheExpectedOutReal0; + + TA_Integer expectedBegIdx; + TA_Integer expectedNbElement; +} TA_Test; + +typedef struct +{ + const TA_Test *test; + const TA_Real *close; +} TA_RangeTestParam; + +/**** Local functions declarations. ****/ +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ); + +/**** Local variables definitions. ****/ + +static TA_Test tableTest[] = +{ + /*************************/ + /* STDDEV TEST */ + /*************************/ + { 1, 0, 251, 5, 1.0, TA_SUCCESS, 0, 1.2856, 4, 252-4 }, /* First Value */ + { 0, 0, 251, 5, 1.0, TA_SUCCESS, 1, 0.4462, 4, 252-4 }, + { 0, 0, 251, 5, 1.0, TA_SUCCESS, 252-5, 0.7144, 4, 252-4 }, /* Last Value */ + + { 1, 0, 251, 5, 1.5, TA_SUCCESS, 0, 1.9285, 4, 252-4 }, /* First Value */ + { 0, 0, 251, 5, 1.5, TA_SUCCESS, 1, 0.66937, 4, 252-4 }, + { 0, 0, 251, 5, 1.5, TA_SUCCESS, 252-5, 1.075, 4, 252-4 } /* Last Value */ +}; + +#define NB_TEST (sizeof(tableTest)/sizeof(TA_Test)) + +/**** Global functions definitions. ****/ +ErrorNumber test_func_stddev( TA_History *history ) +{ + unsigned int i; + ErrorNumber retValue; + + for( i=0; i < NB_TEST; i++ ) + { + if( (int)tableTest[i].expectedNbElement > (int)history->nbBars ) + { + printf( "%s Failed Bad Parameter for Test #%d (%d,%d)\n", __FILE__, + i, tableTest[i].expectedNbElement, history->nbBars ); + return TA_TESTUTIL_TFRR_BAD_PARAM; + } + + retValue = do_test( history, &tableTest[i] ); + if( retValue != 0 ) + { + printf( "%s Failed Test #%d (Code=%d)\n", __FILE__, + i, retValue ); + return retValue; + } + } + + /* All test succeed. */ + return TA_TEST_PASS; +} + +/**** Local functions definitions. ****/ +static TA_RetCode rangeTestFunction( TA_Integer startIdx, + TA_Integer endIdx, + TA_Real *outputBuffer, + TA_Integer *outputBufferInt, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Integer *lookback, + void *opaqueData, + unsigned int outputNb, + unsigned int *isOutputInteger ) +{ + TA_RetCode retCode; + TA_RangeTestParam *testParam; + + (void)outputNb; + (void)outputBufferInt; + + *isOutputInteger = 0; + + testParam = (TA_RangeTestParam *)opaqueData; + + retCode = TA_STDDEV( + startIdx, + endIdx, + testParam->close, + testParam->test->optInTimePeriod, + testParam->test->optInNbDeviation_1, + outBegIdx, + outNbElement, + outputBuffer ); + + + *lookback = TA_STDDEV_Lookback( testParam->test->optInTimePeriod, + testParam->test->optInNbDeviation_1 ); + + return retCode; +} + +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ) +{ + TA_RetCode retCode; + ErrorNumber errNb; + TA_Integer outBegIdx; + TA_Integer outNbElement; + TA_RangeTestParam testParam; + + /* Set to NAN all the elements of the gBuffers. */ + clearAllBuffers(); + + /* Build the input. */ + setInputBuffer( 0, history->close, history->nbBars ); + setInputBuffer( 1, history->close, history->nbBars ); + + /* Make a simple first call. */ + retCode = TA_STDDEV( + test->startIdx, + test->endIdx, + gBuffer[0].in, + test->optInTimePeriod, + test->optInNbDeviation_1, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + + errNb = checkDataSame( gBuffer[0].in, history->close,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[0].out0, 0 ); + + outBegIdx = outNbElement = 0; + + /* Make another call where the input and the output are the + * same buffer. + */ + retCode = TA_STDDEV( + test->startIdx, + test->endIdx, + gBuffer[1].in, + test->optInTimePeriod, + test->optInNbDeviation_1, + &outBegIdx, + &outNbElement, + gBuffer[1].in ); + + /* The previous call should have the same output as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[1].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[1].in, 0 ); + + if( errNb != TA_TEST_PASS ) + return errNb; + + /* Do a systematic test of most of the + * possible startIdx/endIdx range. + */ + testParam.test = test; + testParam.close = history->close; + + if( test->doRangeTestFlag ) + { + errNb = doRangeTest( + rangeTestFunction, + TA_FUNC_UNST_NONE, + (void *)&testParam, 1, 0 ); + if( errNb != TA_TEST_PASS ) + return errNb; + } + + return TA_TEST_PASS; +} + diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_stoch.c b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_stoch.c new file mode 100644 index 000000000..f8d01aa92 --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_stoch.c @@ -0,0 +1,794 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 122101 MF First version. + * 111603 MF Add test of TA_STOCHRSI + */ + +/* Description: + * Test the Stochastic function. + */ + +/**** Headers ****/ +#include +#include + +#include "ta_test_priv.h" +#include "ta_test_func.h" +#include "ta_utility.h" +#include "ta_memory.h" + +/**** External functions declarations. ****/ +/* None */ + +/**** External variables declarations. ****/ +/* None */ + +/**** Global variables definitions. ****/ +/* None */ + +/**** Local declarations. ****/ +typedef enum +{ + TEST_STOCH, + TEST_STOCHF, + TEST_STOCHRSI +} TestId; + +typedef struct +{ + TestId testId; + + TA_Integer doRangeTestFlag; /* One will do a call to doRangeTest */ + + TA_Integer unstablePeriod; + + TA_Integer startIdx; + TA_Integer endIdx; + + TA_Integer optInPeriod_0; + TA_Integer optInPeriod_1; + TA_Integer optInMAType_1; + TA_Integer optInPeriod_2; + TA_Integer optInMAType_2; + + TA_RetCode expectedRetCode; + + TA_Integer expectedBegIdx; + TA_Integer expectedNbElement; + + TA_Integer oneOfTheExpectedOutRealIndex0; + TA_Real oneOfTheExpectedOutReal0; + + TA_Integer oneOfTheExpectedOutRealIndex1; + TA_Real oneOfTheExpectedOutReal1; +} TA_Test; + +typedef struct +{ + const TA_Test *test; + const TA_Real *high; + const TA_Real *low; + const TA_Real *close; +} TA_RangeTestParam; + +/**** Local functions declarations. ****/ +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ); + +static TA_RetCode referenceStoch( TA_Integer startIdx, + TA_Integer endIdx, + const TA_Real inHigh[], + const TA_Real inLow[], + const TA_Real inClose[], + TA_Integer optInPeriod_0, /* From 1 to TA_INTEGER_MAX */ + TA_Integer optInPeriod_1, /* From 1 to TA_INTEGER_MAX */ + TA_Integer optInMAType_1, + TA_Integer optInPeriod_2, /* From 1 to TA_INTEGER_MAX */ + TA_Integer optInMAType_2, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Real outSlowK_0[], + TA_Real outSlowD_1[] ); + +/**** Local variables definitions. ****/ + +static TA_Test tableTest[] = +{ + /**************/ + /* STOCH TEST */ + /**************/ + { TEST_STOCH, 1, 0, 9, 9, 5, 3, TA_MAType_SMA, 4, TA_MAType_SMA, TA_SUCCESS, 9, 1, + 0, 38.139, + 0, 36.725 }, /* Test one value */ + + + { TEST_STOCH, 0, 0, 0, 251, 5, 3, TA_MAType_SMA, 3, TA_MAType_SMA, TA_SUCCESS, 8, 252-8, + 0, 24.0128, + 0, 36.254, }, /* First Value */ + + { TEST_STOCH, 0, 0, 0, 251, 5, 3, TA_MAType_SMA, 4, TA_MAType_SMA, TA_SUCCESS, 9, 252-9, + 252-10, 30.194, + 252-10, 46.641, }, /* Last Value */ + + { TEST_STOCH, 0, 0, 0, 251, 5, 3, TA_MAType_SMA, 3, TA_MAType_SMA, TA_SUCCESS, 8, 252-8, + 252-9, 30.194, + 252-9, 43.69, }, /* Last Value */ + + /*****************/ + /* STOCHRSI TEST */ + /*****************/ + { TEST_STOCHRSI, 0, 0, 27, 27, 14, 14, -1, 1, TA_MAType_SMA, TA_SUCCESS, 27, 1, + 0, 94.156709, + 0, 94.156709 }, /* Test one Value */ + + { TEST_STOCHRSI, 1, 0, 0, 251, 14, 14, -1, 1, TA_MAType_SMA, TA_SUCCESS, 27, 252-27, + 0, 94.156709, + 0, 94.156709 }, /* First Value */ + + { TEST_STOCHRSI, 0, 0, 0, 251, 14, 14, -1, 1, TA_MAType_SMA, TA_SUCCESS, 27, 252-27, + 251-27, 0.0, + 251-27, 0.0 }, /* Last Value */ + + { TEST_STOCHRSI, 0, 0, 0, 251, 14, 45, -1, 1, TA_MAType_SMA, TA_SUCCESS, 58, 252-58, + 0, 79.729186, + 0, 79.729186 }, /* First Value */ + + { TEST_STOCHRSI, 0, 0, 0, 251, 14, 45, -1, 1, TA_MAType_SMA, TA_SUCCESS, 58, 252-58, + 251-58, 48.1550743, + 251-58, 48.1550743 }, /* Last Value */ + + + { TEST_STOCHRSI, 1, 0, 0, 251, 11, 13, -1, 16, TA_MAType_SMA, TA_SUCCESS, 38, 252-38, + 0, 5.25947, + 0, 57.1711}, /* First Value */ + + { TEST_STOCHRSI, 0, 0, 0, 251, 11, 13, -1, 16, TA_MAType_SMA, TA_SUCCESS, 38, 252-38, + 251-38, 0.0, + 251-38, 15.7303 }, /* Last Value */ + + /* More test needed!!! */ +}; + +#define NB_TEST (sizeof(tableTest)/sizeof(TA_Test)) + +/**** Global functions definitions. ****/ +ErrorNumber test_func_stoch( TA_History *history ) +{ + unsigned int i; + ErrorNumber retValue; + + /* Re-initialize all the unstable period to zero. */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 0 ); + + for( i=0; i < NB_TEST; i++ ) + { + if( (int)tableTest[i].expectedNbElement > (int)history->nbBars ) + { + printf( "%s Failed Bad Parameter for Test #%d (%d,%d)\n", __FILE__, + i, tableTest[i].expectedNbElement, history->nbBars ); + return TA_TESTUTIL_TFRR_BAD_PARAM; + } + + retValue = do_test( history, &tableTest[i] ); + if( retValue != 0 ) + { + printf( "%s Failed Test #%d (Code=%d)\n", __FILE__, + i, retValue ); + return retValue; + } + } + + /* Re-initialize all the unstable period to zero. */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 0 ); + + /* All test succeed. */ + return TA_TEST_PASS; +} + +/**** Local functions definitions. ****/ +static TA_RetCode rangeTestFunction( TA_Integer startIdx, + TA_Integer endIdx, + TA_Real *outputBuffer, + TA_Integer *outputBufferInt, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Integer *lookback, + void *opaqueData, + unsigned int outputNb, + unsigned int *isOutputInteger ) +{ + TA_RetCode retCode; + TA_RangeTestParam *testParam; + TA_Real *dummyOutput; + + (void)outputBufferInt; + + *isOutputInteger = 0; + + retCode = TA_NOT_SUPPORTED; + + testParam = (TA_RangeTestParam *)opaqueData; + + + dummyOutput = TA_Malloc( (endIdx-startIdx+1) * sizeof(TA_Real) ); + + switch( testParam->test->testId ) + { + case TEST_STOCH: + if( outputNb == 0 ) + { + retCode = TA_STOCH( startIdx, + endIdx, + testParam->high, + testParam->low, + testParam->close, + testParam->test->optInPeriod_0, + testParam->test->optInPeriod_1, + (TA_MAType)testParam->test->optInMAType_1, + testParam->test->optInPeriod_2, + (TA_MAType)testParam->test->optInMAType_2, + outBegIdx, outNbElement, + outputBuffer, + dummyOutput ); + + } + else + { + retCode = TA_STOCH( startIdx, + endIdx, + testParam->high, + testParam->low, + testParam->close, + testParam->test->optInPeriod_0, + testParam->test->optInPeriod_1, + (TA_MAType)testParam->test->optInMAType_1, + testParam->test->optInPeriod_2, + (TA_MAType)testParam->test->optInMAType_2, + outBegIdx, outNbElement, + dummyOutput, + outputBuffer ); + } + + *lookback = TA_STOCH_Lookback( testParam->test->optInPeriod_0, + testParam->test->optInPeriod_1, + (TA_MAType)testParam->test->optInMAType_1, + testParam->test->optInPeriod_2, + (TA_MAType)testParam->test->optInMAType_2 ); + break; + case TEST_STOCHF: + if( outputNb == 0 ) + { + retCode = TA_STOCHF( startIdx, + endIdx, + testParam->high, + testParam->low, + testParam->close, + testParam->test->optInPeriod_0, + testParam->test->optInPeriod_1, + (TA_MAType)testParam->test->optInMAType_1, + outBegIdx, outNbElement, + outputBuffer, + dummyOutput ); + + } + else + { + retCode = TA_STOCHF( startIdx, + endIdx, + testParam->high, + testParam->low, + testParam->close, + testParam->test->optInPeriod_0, + testParam->test->optInPeriod_1, + (TA_MAType)testParam->test->optInMAType_1, + outBegIdx, outNbElement, + dummyOutput, + outputBuffer ); + } + + *lookback = TA_STOCHF_Lookback( testParam->test->optInPeriod_0, + testParam->test->optInPeriod_1, + (TA_MAType)testParam->test->optInMAType_1 ); + break; + + case TEST_STOCHRSI: + if( outputNb == 0 ) + { + retCode = TA_STOCHRSI( startIdx, + endIdx, + testParam->close, + testParam->test->optInPeriod_0, + testParam->test->optInPeriod_1, + testParam->test->optInPeriod_2, + (TA_MAType)testParam->test->optInMAType_2, + outBegIdx, outNbElement, + outputBuffer, + dummyOutput ); + + } + else + { + retCode = TA_STOCHRSI( startIdx, + endIdx, + testParam->close, + testParam->test->optInPeriod_0, + testParam->test->optInPeriod_1, + testParam->test->optInPeriod_2, + (TA_MAType)testParam->test->optInMAType_2, + outBegIdx, outNbElement, + dummyOutput, + outputBuffer ); + } + + *lookback = TA_STOCHRSI_Lookback( testParam->test->optInPeriod_0, + testParam->test->optInPeriod_1, + testParam->test->optInPeriod_2, + (TA_MAType)testParam->test->optInMAType_2 ); + break; + } + + TA_Free( dummyOutput ); + + return retCode; +} + +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ) +{ + TA_RetCode retCode; + ErrorNumber errNb; + TA_Integer outBegIdx; + TA_Integer outNbElement; + TA_RangeTestParam testParam; + + retCode = TA_NOT_SUPPORTED; + + /* Set to NAN all the elements of the gBuffers. */ + clearAllBuffers(); + + /* Build the input. */ + setInputBuffer( 0, history->high, history->nbBars ); + setInputBuffer( 1, history->low, history->nbBars ); + setInputBuffer( 2, history->close, history->nbBars ); + + /* Re-initialize all the unstable period to zero. */ + TA_SetUnstablePeriod( TA_FUNC_UNST_ALL, 0 ); + + /* Set the unstable period requested for that test. */ + switch( test->optInMAType_1 ) + { + case TA_MAType_EMA: + retCode = TA_SetUnstablePeriod( TA_FUNC_UNST_EMA, test->unstablePeriod ); + if( retCode != TA_SUCCESS ) + return TA_TEST_TFRR_SETUNSTABLE_PERIOD_FAIL; + break; + default: + /* No unstable period for other methods. */ + break; + } + + /* Make a simple first call. */ + switch( test->testId ) + { + case TEST_STOCH: + retCode = TA_STOCH( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + test->optInPeriod_0, + test->optInPeriod_1, + (TA_MAType)test->optInMAType_1, + test->optInPeriod_2, + (TA_MAType)test->optInMAType_2, + &outBegIdx, &outNbElement, + gBuffer[0].out0, + gBuffer[0].out1 ); + break; + case TEST_STOCHF: + retCode = TA_STOCHF( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + test->optInPeriod_0, + test->optInPeriod_1, + (TA_MAType)test->optInMAType_1, + &outBegIdx, &outNbElement, + gBuffer[0].out0, + gBuffer[0].out1 ); + break; + case TEST_STOCHRSI: + retCode = TA_STOCHRSI( test->startIdx, + test->endIdx, + gBuffer[2].in, + test->optInPeriod_0, + test->optInPeriod_1, + test->optInPeriod_2, + (TA_MAType)test->optInMAType_2, + &outBegIdx, &outNbElement, + gBuffer[0].out0, + gBuffer[0].out1 ); + break; + } + + errNb = checkDataSame( gBuffer[0].in, history->high,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[1].in, history->low, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[2].in, history->close,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[0].out0, 0 ); + CHECK_EXPECTED_VALUE( gBuffer[0].out1, 1 ); + + outBegIdx = outNbElement = 0; + + if( test->testId == TEST_STOCH ) + { + /* Call a local non-optimized version of the function. + * This way, we make sure that the currently speed optimized + * version in TA-Lib is not broken. + */ + retCode = referenceStoch( + test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + test->optInPeriod_0, + test->optInPeriod_1, + test->optInMAType_1, + test->optInPeriod_2, + test->optInMAType_2, + &outBegIdx, &outNbElement, + gBuffer[1].out0, + gBuffer[1].out1 ); + + errNb = checkDataSame( gBuffer[0].in, history->high,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[1].in, history->low, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[2].in, history->close,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[1].out0, 0 ); + CHECK_EXPECTED_VALUE( gBuffer[1].out1, 1 ); + + /* The non-optimized reference shall be identical to the optimized + * TA-Lib implementation. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[1].out0, gBuffer[0].out0 ); + if( errNb != TA_TEST_PASS ) + return errNb; + + errNb = checkSameContent( gBuffer[1].out1, gBuffer[0].out1 ); + if( errNb != TA_TEST_PASS ) + return errNb; + } + + /* Make another call where the input and the output are the + * same buffer. + */ + switch( test->testId ) + { + case TEST_STOCH: + retCode = TA_STOCH( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + test->optInPeriod_0, + test->optInPeriod_1, + (TA_MAType)test->optInMAType_1, + test->optInPeriod_2, + (TA_MAType)test->optInMAType_2, + &outBegIdx, &outNbElement, + gBuffer[0].in, + gBuffer[1].in ); + break; + case TEST_STOCHF: + retCode = TA_STOCHF( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + test->optInPeriod_0, + test->optInPeriod_1, + (TA_MAType)test->optInMAType_1, + &outBegIdx, &outNbElement, + gBuffer[0].in, + gBuffer[1].in ); + break; + case TEST_STOCHRSI: + retCode = TA_STOCHRSI( test->startIdx, + test->endIdx, + gBuffer[2].in, + test->optInPeriod_0, + test->optInPeriod_1, + test->optInPeriod_2, + (TA_MAType)test->optInMAType_2, + &outBegIdx, &outNbElement, + gBuffer[0].in, + gBuffer[1].in ); + break; + + } + + /* The previous call should have the same output as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[0].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + errNb = checkSameContent( gBuffer[0].out1, gBuffer[1].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + CHECK_EXPECTED_VALUE( gBuffer[0].in, 0 ); + CHECK_EXPECTED_VALUE( gBuffer[1].in, 1 ); + + if( errNb != TA_TEST_PASS ) + return errNb; + + + /* Do a systematic test of most of the + * possible startIdx/endIdx range. + */ + testParam.test = test; + testParam.high = history->high; + testParam.low = history->low; + testParam.close = history->close; + + if( test->doRangeTestFlag ) + { + switch( test->testId ) + { + case TEST_STOCH: + case TEST_STOCHF: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_NONE, + (void *)&testParam, 2, 0 ); + break; + case TEST_STOCHRSI: + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_RSI, + (void *)&testParam, 2, 0 ); + break; + } + + if( errNb != TA_TEST_PASS ) + return errNb; + } + + return TA_TEST_PASS; +} + + +/* This is an un-optimized version of the STOCH function */ +static TA_RetCode referenceStoch( TA_Integer startIdx, + TA_Integer endIdx, + const TA_Real inHigh[], + const TA_Real inLow[], + const TA_Real inClose[], + TA_Integer optInPeriod_0, /* From 1 to TA_INTEGER_MAX */ + TA_Integer optInPeriod_1, /* From 1 to TA_INTEGER_MAX */ + TA_Integer optInMAType_1, + TA_Integer optInPeriod_2, /* From 1 to TA_INTEGER_MAX */ + TA_Integer optInMAType_2, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Real outSlowK_0[], + TA_Real outSlowD_1[] ) +{ + TA_RetCode retCode; + double Lt, Ht, tmp, *tempBuffer; + int outIdx; + int lookbackTotal, lookbackK, lookbackKSlow, lookbackDSlow; + int trailingIdx, today, i, bufferIsAllocated; + + /* Identify the lookback needed. */ + lookbackK = optInPeriod_0-1; + lookbackKSlow = TA_MA_Lookback( optInPeriod_1, (TA_MAType)optInMAType_1 ); + lookbackDSlow = TA_MA_Lookback( optInPeriod_2, (TA_MAType)optInMAType_2 ); + lookbackTotal = lookbackK + lookbackDSlow + lookbackKSlow; + + /* Move up the start index if there is not + * enough initial data. + */ + if( startIdx < lookbackTotal ) + startIdx = lookbackTotal; + + /* Make sure there is still something to evaluate. */ + if( startIdx > endIdx ) + { + /* Succeed... but no data in the output. */ + *outBegIdx = 0; + *outNbElement = 0; + return TA_SUCCESS; + } + + /* Do the K calculation: + * + * Kt = 100 x ((Ct-Lt)/(Ht-Lt)) + * + * Kt is today stochastic + * Ct is today closing price. + * Lt is the lowest price of the last K Period (including today) + * Ht is the highest price of the last K Period (including today) + */ + + /* Proceed with the calculation for the requested range. + * Note that this algorithm allows the input and + * output to be the same buffer. + */ + outIdx = 0; + + /* Calculate just enough K for ending up with the caller + * requested range. (The range of k must consider all + * the lookback involve with the smoothing). + */ + trailingIdx = startIdx-lookbackTotal; + today = trailingIdx+lookbackK; + + /* Allocate a temporary buffer large enough to + * store the K. + * + * If the output is the same as the input, great + * we just save ourself one memory allocation. + */ + bufferIsAllocated = 0; + if( (outSlowK_0 == inHigh) || + (outSlowK_0 == inLow) || + (outSlowK_0 == inClose) ) + { + tempBuffer = outSlowK_0; + } + else if( (outSlowD_1 == inHigh) || + (outSlowD_1 == inLow) || + (outSlowD_1 == inClose) ) + { + tempBuffer = outSlowD_1; + } + else + { + bufferIsAllocated = 1; + tempBuffer = TA_Malloc( (endIdx-today+1)*sizeof(TA_Real) ); + } + + /* Do the K calculation */ + while( today <= endIdx ) + { + /* Find Lt and Ht for the requested K period. */ + Lt = inLow [trailingIdx]; + Ht = inHigh[trailingIdx]; + trailingIdx++; + for( i=trailingIdx; i <= today; i++ ) + { + tmp = inLow[i]; + if( tmp < Lt ) Lt = tmp; + tmp = inHigh[i]; + if( tmp > Ht ) Ht = tmp; + } + + /* Calculate stochastic. */ + tmp = Ht-Lt; + if( tmp > 0.0 ) + tempBuffer[outIdx++] = 100.0*((inClose[today]-Lt)/tmp); + else + tempBuffer[outIdx++] = 100.0; + + today++; + } + + /* Un-smoothed K calculation completed. This K calculation is not returned + * to the caller. It is always smoothed and then return. + * Some documentation will refer to the smoothed version as being + * "K-Slow", but often this end up to be shorten to "K". + */ + retCode = TA_MA( 0, outIdx-1, + tempBuffer, optInPeriod_1, + (TA_MAType)optInMAType_1, + outBegIdx, outNbElement, tempBuffer ); + + + if( (retCode != TA_SUCCESS) || (*outNbElement == 0) ) + { + if( bufferIsAllocated ) + TA_Free( tempBuffer ); + /* Something wrong happen? No further data? */ + *outBegIdx = 0; + *outNbElement = 0; + return retCode; + } + + /* Calculate the %D which is simply a moving average of + * the already smoothed %K. + */ + retCode = TA_MA( 0, (*outNbElement)-1, + tempBuffer, optInPeriod_2, + (TA_MAType)optInMAType_2, + outBegIdx, outNbElement, outSlowD_1 ); + + /* Copy tempBuffer into the caller buffer. + * (Calculation could not be done directly in the + * caller buffer because more input data then the + * requested range was needed for doing %D). + */ + memmove( outSlowK_0, &tempBuffer[lookbackDSlow], (*outNbElement) * sizeof(TA_Real) ); + + /* Don't need K anymore, free it if it was allocated here. */ + if( bufferIsAllocated ) + TA_Free( tempBuffer ); + + if( retCode != TA_SUCCESS ) + { + /* Something wrong happen while processing %D? */ + *outBegIdx = 0; + *outNbElement = 0; + return retCode; + } + + /* Note: Keep the outBegIdx relative to the + * caller input before returning. + */ + *outBegIdx = startIdx; + + return TA_SUCCESS; +} + + diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_trange.c b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_trange.c new file mode 100644 index 000000000..e13e70028 --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_test_func/test_trange.c @@ -0,0 +1,349 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF First version. + * + */ + +/* Description: + * Test TRANGE and ATR function. + */ + +/**** Headers ****/ +#include +#include + +#include "ta_test_priv.h" +#include "ta_test_func.h" +#include "ta_utility.h" + +/**** External functions declarations. ****/ +/* None */ + +/**** External variables declarations. ****/ +/* None */ + +/**** Global variables definitions. ****/ +/* None */ + +/**** Local declarations. ****/ +typedef struct +{ + TA_Integer doRangeTestFlag; /* One will do a call to doRangeTest */ + + TA_Integer unstablePeriod; + + TA_Integer startIdx; + TA_Integer endIdx; + + TA_Integer doAverage; /* 1 indicate ATR, else TRANGE. */ + TA_Integer optInTimePeriod; /* Meaningful only for ATR. */ + + TA_RetCode expectedRetCode; + + TA_Integer oneOfTheExpectedOutRealIndex; + TA_Real oneOfTheExpectedOutReal; + + TA_Integer expectedBegIdx; + TA_Integer expectedNbElement; +} TA_Test; + +typedef struct +{ + const TA_Test *test; + const TA_Real *high; + const TA_Real *low; + const TA_Real *close; +} TA_RangeTestParam; + +/**** Local functions declarations. ****/ +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ); + +/**** Local variables definitions. ****/ + +static TA_Test tableTest[] = +{ + /* TRANGE TEST */ + { 1, 0, 0, 251, 0, 0, TA_SUCCESS, 0, 3.535, 1, 251 }, /* First Value */ + { 0, 0, 0, 251, 0, 0, TA_SUCCESS, 12, 9.685, 1, 251 }, + { 0, 0, 0, 251, 0, 0, TA_SUCCESS, 40, 5.125, 1, 251 }, + { 0, 0, 0, 251, 0, 0, TA_SUCCESS, 250, 2.88, 1, 251 }, /* Last Value */ + + /* ATR TEST */ + { 1, 0, 0, 251, 1, 1, TA_SUCCESS, 0, 3.535, 1, 251 }, /* First Value */ + { 0, 0, 0, 251, 1, 1, TA_SUCCESS, 12, 9.685, 1, 251 }, + { 0, 0, 0, 251, 1, 1, TA_SUCCESS, 40, 5.125, 1, 251 }, + { 0, 0, 0, 251, 1, 1, TA_SUCCESS, 250, 2.88, 1, 251 }, /* Last Value */ + + { 0, 1, 14, 15, 1, 14, TA_SUCCESS, 0, 3.4876, 15, 1 }, + { 0, 1, 15, 16, 1, 14, TA_SUCCESS, 0, 3.4876, 15, 2 }, + + { 1, 0, 0, 251, 1, 14, TA_SUCCESS, 0, 3.578, 14, 252-14 }, /* First Value */ + { 0, 0, 0, 251, 1, 14, TA_SUCCESS, 1, 3.4876, 14, 252-14 }, + { 0, 0, 0, 251, 1, 14, TA_SUCCESS, 2, 3.55, 14, 252-14 }, + { 0, 0, 0, 251, 1, 14, TA_SUCCESS, 12, 3.245, 14, 252-14 }, + { 0, 0, 0, 251, 1, 14, TA_SUCCESS, 13, 3.394, 14, 252-14 }, + { 0, 0, 0, 251, 1, 14, TA_SUCCESS, 14, 3.413, 14, 252-14 }, + { 0, 0, 0, 251, 1, 14, TA_SUCCESS, 237, 3.26, 14, 252-14 }, /* Last Value */ + +}; + +#define NB_TEST (sizeof(tableTest)/sizeof(TA_Test)) + +/**** Global functions definitions. ****/ +ErrorNumber test_func_trange( TA_History *history ) +{ + unsigned int i; + ErrorNumber retValue; + + for( i=0; i < NB_TEST; i++ ) + { + if( (int)tableTest[i].expectedNbElement > (int)history->nbBars ) + { + printf( "%s Failed Bad Parameter for Test #%d (%d,%d)\n", + tableTest[i].doAverage? "TA_ATR":"TA_TRANGE", + i, tableTest[i].expectedNbElement, history->nbBars ); + return TA_TESTUTIL_TFRR_BAD_PARAM; + } + + retValue = do_test( history, &tableTest[i] ); + if( retValue != 0 ) + { + printf( "%s Failed Test #%d (Code=%d)\n", + tableTest[i].doAverage? "TA_ATR":"TA_TRANGE", + i, retValue ); + return retValue; + } + } + + + /* All test succeed. */ + return TA_TEST_PASS; +} + +/**** Local functions definitions. ****/ +static TA_RetCode rangeTestFunction( TA_Integer startIdx, + TA_Integer endIdx, + TA_Real *outputBuffer, + TA_Integer *outputBufferInt, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Integer *lookback, + void *opaqueData, + unsigned int outputNb, + unsigned int *isOutputInteger ) +{ + TA_RetCode retCode; + TA_RangeTestParam *testParam; + + (void)outputNb; + (void)outputBufferInt; + + *isOutputInteger = 0; + + testParam = (TA_RangeTestParam *)opaqueData; + + + if( testParam->test->doAverage ) + { + retCode = TA_ATR( + startIdx, + endIdx, + testParam->high, + testParam->low, + testParam->close, + testParam->test->optInTimePeriod, + outBegIdx, + outNbElement, + outputBuffer ); + *lookback = TA_ATR_Lookback( testParam->test->optInTimePeriod ); + } + else + { + retCode = TA_TRANGE( + startIdx, + endIdx, + testParam->high, + testParam->low, + testParam->close, + outBegIdx, + outNbElement, + outputBuffer ); + + *lookback = TA_TRANGE_Lookback(); + } + + return retCode; +} + +static ErrorNumber do_test( const TA_History *history, + const TA_Test *test ) +{ + TA_RetCode retCode; + ErrorNumber errNb; + TA_Integer outBegIdx; + TA_Integer outNbElement; + TA_RangeTestParam testParam; + + /* Set to NAN all the elements of the gBuffers. */ + clearAllBuffers(); + + /* Build the input. */ + setInputBuffer( 0, history->high, history->nbBars ); + setInputBuffer( 1, history->low, history->nbBars ); + setInputBuffer( 2, history->close, history->nbBars ); + + if( test->doAverage ) + { + TA_SetUnstablePeriod( TA_FUNC_UNST_ATR, test->unstablePeriod ); + retCode = TA_ATR( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + } + else + { + retCode = TA_TRANGE( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + &outBegIdx, + &outNbElement, + gBuffer[0].out0 ); + } + + errNb = checkDataSame( gBuffer[0].in, history->high,history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[1].in, history->low, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + errNb = checkDataSame( gBuffer[2].in, history->close, history->nbBars ); + if( errNb != TA_TEST_PASS ) + return errNb; + + errNb = checkExpectedValue( gBuffer[0].out0, + retCode, test->expectedRetCode, + outBegIdx, test->expectedBegIdx, + outNbElement, test->expectedNbElement, + test->oneOfTheExpectedOutReal, + test->oneOfTheExpectedOutRealIndex ); + if( errNb != TA_TEST_PASS ) + return errNb; + + outBegIdx = outNbElement = 0; + + /* Make another call where the input and the output are the + * same buffer. + */ + if( test->doAverage ) + { + TA_SetUnstablePeriod( TA_FUNC_UNST_ATR, test->unstablePeriod ); + retCode = TA_ATR( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + test->optInTimePeriod, + &outBegIdx, + &outNbElement, + gBuffer[0].in ); + } + else + { + retCode = TA_TRANGE( test->startIdx, + test->endIdx, + gBuffer[0].in, + gBuffer[1].in, + gBuffer[2].in, + &outBegIdx, + &outNbElement, + gBuffer[0].in ); + } + + /* The previous call to TA_MA should have the same output + * as this call. + * + * checkSameContent verify that all value different than NAN in + * the first parameter is identical in the second parameter. + */ + errNb = checkSameContent( gBuffer[0].out0, gBuffer[0].in ); + if( errNb != TA_TEST_PASS ) + return errNb; + + errNb = checkExpectedValue( gBuffer[0].in, + retCode, test->expectedRetCode, + outBegIdx, test->expectedBegIdx, + outNbElement, test->expectedNbElement, + test->oneOfTheExpectedOutReal, + test->oneOfTheExpectedOutRealIndex ); + if( errNb != TA_TEST_PASS ) + return errNb; + + /* Do a systematic test of most of the + * possible startIdx/endIdx range. + */ + testParam.test = test; + testParam.high = history->high; + testParam.low = history->low; + testParam.close = history->close; + + if( test->doRangeTestFlag ) + { + errNb = doRangeTest( rangeTestFunction, + TA_FUNC_UNST_ATR, + (void *)&testParam, 1, 0 ); + if( errNb != TA_TEST_PASS ) + return errNb; + } + + return TA_TEST_PASS; +} diff --git a/vendor/ta-lib/src/tools/ta_regtest/ta_test_priv.h b/vendor/ta-lib/src/tools/ta_regtest/ta_test_priv.h new file mode 100644 index 000000000..435f06758 --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/ta_test_priv.h @@ -0,0 +1,210 @@ +#ifndef TA_TEST_PRIV_H +#define TA_TEST_PRIV_H + +#ifndef TA_LIBC_H + #include "ta_libc.h" +#endif + +#ifndef TA_ERROR_NUMBER_H + #include "ta_error_number.h" +#endif + +typedef struct +{ + unsigned int nbBars; /* Nb of element into the following arrays. */ + + /* The arrays containing data. Unused array are set to NULL. */ + TA_Real *open; + TA_Real *high; + TA_Real *low; + TA_Real *close; + TA_Real *volume; + TA_Real *openInterest; +} TA_History; + +ErrorNumber test_internals( void ); +ErrorNumber test_abstract( void ); + +ErrorNumber freeLib( void ); +ErrorNumber allocLib( void ); + +void reportError( const char *str, TA_RetCode retCode ); + +/* Global Temporary Used by the ta_func_xxx function. */ + + +typedef struct +{ + TA_Real *in; + + TA_Real *out0; + TA_Real *out1; + TA_Real *out2; +} TestBuffer; + + +/* That's quite a lot of global data, but who cares for + * regression testing... it simplify memory alloc/dealloc. + */ +#define NB_GLOBAL_BUFFER 5 +extern TestBuffer gBuffer[NB_GLOBAL_BUFFER]; + +/* Maximum number of element that can be written + * at a gBuffer[n].ptr + */ +#define MAX_NB_TEST_ELEMENT 280 + +/* Must be called once to initialize the gBuffer. */ +void initGlobalBuffer( void ); + +/* Will set to NAN all elements of gBuffer. */ +void clearAllBuffers( void ); + +/* Initialize the 'gBuffer[i].in' with the provided data. */ +void setInputBuffer( unsigned int i, const TA_Real *data, unsigned int nbElement ); + +/* Same as setInputBuffer but fill with a single value. */ +void setInputBufferValue( unsigned int i, const TA_Real data, unsigned int nbElement ); + +/* Check that a buffer (within a TestBuffer) is not containing + * NAN within the specified range (it also checks that all value + * outside the range are untouched). + * + * Return TA_TEST_PASS if all ok. + */ +ErrorNumber checkForNAN( const TA_Real *buffer, + unsigned int nbElement ); + +/* Check that the 'data' is equal to the provided + * originalInput. + * + * The data must be one of the 'gBuffer[n].buffer'. + * + * It is also checked that all value outside of the + * nbElement range are not-a-number. + * + * Return TA_TEST_PASS if no difference are found. + */ +ErrorNumber checkDataSame( const TA_Real *data, + const TA_Real *originalInput, + unsigned int nbElement ); + +/* Check that the content of the first buffer + * is found in the second buffer (when the elements + * in the first buffer is NAN, no check is done for + * this paricular element). + * + * Return TA_TEST_PASS if no difference are found. + */ +ErrorNumber checkSameContent( TA_Real *buffer1, + TA_Real *buffer2 ); + +ErrorNumber checkExpectedValue( const TA_Real *data, + TA_RetCode retCode, TA_RetCode expectedRetCode, + unsigned int outBegIdx, unsigned int expectedBegIdx, + unsigned int outNbElement, unsigned int expectedNbElement, + TA_Real oneOfTheExpectedOutReal, + unsigned int oneOfTheExpectedOutRealIndex ); + +#define CHECK_EXPECTED_VALUE(bufid,id) \ + { \ + errNb = checkExpectedValue( bufid, \ + retCode, test->expectedRetCode, \ + outBegIdx, test->expectedBegIdx, \ + outNbElement, test->expectedNbElement, \ + test->oneOfTheExpectedOutReal##id, \ + test->oneOfTheExpectedOutRealIndex##id ); \ + if( errNb != TA_TEST_PASS ) \ + { \ + printf( "Fail for output id=%d\n", id ); \ + return errNb; \ + } \ + } + +#define CLEAR_EXPECTED_VALUE(id) \ + { \ + retCode = TA_INTERNAL_ERROR(127); \ + outBegIdx = 0;\ + outNbElement = 0;\ + } + + +/* A systematic test can be done for most of the possible + * range that a TA function can be called with. This test + * is common to all TA function and can be easily done + * with a RangeTestFunction. + * + * The RangeTestFunction is making abstraction of the + * TA function (handles the inputs, the parameters etc...) + * The RangeTestFunction must call the TA function for + * the requested startIdx/endIdx range and put the output + * in the provided buffer. + * + * The RangeTestFunction must also set the outBegIdx and + * outNbElement for verification. + * + * Opaque data (for mostly passing optional parameters) are + * pass through the pointer 'void * opaqueData'. + * + * The output of the function must be put in the outputBuffer + * or outputBufferInt depending of the return type. + */ +#define MAX_RANGE_SIZE 252 +#define MAX_RANGE_END (MAX_RANGE_SIZE-1) + +typedef TA_RetCode (*RangeTestFunction)( TA_Integer startIdx, + TA_Integer endIdx, + TA_Real *outputBuffer, + TA_Integer *outputBufferInt, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Integer *lookback, + void *opaqueData, + unsigned int outputNb, + unsigned int *isOutputInteger ); + +/* This is the function starting the range tests. + * The parameter 'nbOutput' allows to repeat the + * tests indepedently for each outputs. + * + * A lot of coherency tests are performed, + * including comparing that the same value are + * returned even when using a different startIdx + * and endIdx. + * + * Because of the complexity added by algorithm that + * have an unstable period, the comparison is + * done using a tolerance algorithm (see test_util.c). + * + * Comparison can be ignored by specifiying + * an integerTolerance == TA_DO_NOT_COMPARE + * + * Even without comparison, a lot of coherency + * tests are still performed (like making sure the + * lookback function is coherent with its TA function). + * + * In the case that the TA function output are + * integer, the integerTolerance indicate by how much + * the value can vary for a function having an + * unstable period. Example: If 2 is pass, the + * value can vary of no more or less 2. + * When passing zero, the tolerance is done using + * a "reasonable" logic using double calculation (see + * test_util.c for more info). + */ +#define TA_DO_NOT_COMPARE 0xFFFFFFFF +ErrorNumber doRangeTest( RangeTestFunction testFunction, + TA_FuncUnstId unstId, + void *opaqueData, + unsigned int nbOutput, + unsigned int integerTolerance ); + +/* Print out info about a retCode */ +void printRetCode( TA_RetCode retCode ); + +/* Function to print character to show that the software is still alive. */ +void showFeedback(void); +void hideFeedback(void); + +#endif + diff --git a/vendor/ta-lib/src/tools/ta_regtest/test_abstract.c b/vendor/ta-lib/src/tools/ta_regtest/test_abstract.c new file mode 100644 index 000000000..909ef9c67 --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/test_abstract.c @@ -0,0 +1,762 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * AC Angelo Ciceri + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112703 MF First version. + * 030104 MF Add tests for TA_GetLookback + * 062504 MF Add test_default_calls. + * 110206 AC Change volume and open interest to double + * 082607 MF Add profiling feature. + */ + +/* Description: + * Regression testing of the functionality provided + * by the ta_abstract module. + * + * Also perform call to all functions for the purpose + * of profiling (doExtensiveProfiling option). + */ + +/**** Headers ****/ +#ifdef WIN32 + #include "windows.h" +#else + #include "time.h" +#endif + +#include +#include +#include +#include +#include "ta_test_priv.h" + +/**** External functions declarations. ****/ +/* None */ + +/**** External variables declarations. ****/ +extern int doExtensiveProfiling; + +extern double gDataOpen[]; +extern double gDataHigh[]; +extern double gDataLow[]; +extern double gDataClose[]; + +extern int nbProfiledCall; +extern double timeInProfiledCall; +extern double worstProfiledCall; +extern int insufficientClockPrecision; + +/**** Global variables definitions. ****/ +/* None */ + +/**** Local declarations. ****/ +typedef enum +{ + PROFILING_10000, + PROFILING_8000, + PROFILING_5000, + PROFILING_2000, + PROFILING_1000, + PROFILING_500, + PROFILING_100 +} ProfilingType; + +/**** Local functions declarations. ****/ +static ErrorNumber testLookback(TA_ParamHolder *paramHolder ); +static ErrorNumber test_default_calls(void); +static ErrorNumber callWithDefaults( const char *funcName, + const double *input, + const int *input_int, int size ); +static ErrorNumber callAndProfile( const char *funcName, ProfilingType type ); + +/**** Local variables definitions. ****/ +static double inputNegData[100]; +static double inputZeroData[100]; +static double inputRandFltEpsilon[100]; +static double inputRandDblEpsilon[100]; +static double inputRandomData[2000]; + +static int inputNegData_int[100]; +static int inputZeroData_int[100]; +static int inputRandFltEpsilon_int[100]; +static int inputRandDblEpsilon_int[100]; +static int inputRandomData_int[2000]; + +static double output[10][2000]; +static int output_int[10][2000]; + +/**** Global functions definitions. ****/ +ErrorNumber test_abstract( void ) +{ + ErrorNumber retValue; + TA_RetCode retCode; + TA_ParamHolder *paramHolder; + const TA_FuncHandle *handle; + int i; + const char *xmlArray; + + printf( "Testing Abstract interface\n" ); + + retValue = allocLib(); + if( retValue != TA_TEST_PASS ) + return retValue; + + /* Verify TA_GetLookback. */ + retCode = TA_GetFuncHandle( "STOCH", &handle ); + if( retCode != TA_SUCCESS ) + { + printf( "Can't get the function handle [%d]\n", retCode ); + return TA_ABS_TST_FAIL_GETFUNCHANDLE; + } + + retCode = TA_ParamHolderAlloc( handle, ¶mHolder ); + if( retCode != TA_SUCCESS ) + { + printf( "Can't allocate the param holder [%d]\n", retCode ); + return TA_ABS_TST_FAIL_PARAMHOLDERALLOC; + } + + retValue = testLookback(paramHolder); + if( retValue != TA_SUCCESS ) + { + printf( "testLookback() failed [%d]\n", retValue ); + TA_ParamHolderFree( paramHolder ); + return retValue; + } + + retCode = TA_ParamHolderFree( paramHolder ); + if( retCode != TA_SUCCESS ) + { + printf( "TA_ParamHolderFree failed [%d]\n", retCode ); + return TA_ABS_TST_FAIL_PARAMHOLDERFREE; + } + + retValue = freeLib(); + if( retValue != TA_TEST_PASS ) + return retValue; + + /* Call all the TA functions through the abstract interface. */ + retValue = allocLib(); + if( retValue != TA_TEST_PASS ) + return retValue; + + retValue = test_default_calls(); + if( retValue != TA_TEST_PASS ) + { + printf( "TA-Abstract default call failed\n" ); + return retValue; + } + + retValue = freeLib(); + if( retValue != TA_TEST_PASS ) + return retValue; + + /* Verify that the TA_FunctionDescription is null terminated + * and as at least 500 characters (less is guaranteed bad...) + */ + xmlArray = TA_FunctionDescriptionXML(); + for( i=0; i < 1000000; i++ ) + { + if( xmlArray[i] == 0x0 ) + break; + } + + if( i < 500) + { + printf( "TA_FunctionDescriptionXML failed. Size too small.\n" ); + return TA_ABS_TST_FAIL_FUNCTION_DESC_SMALL; + } + + if( i == 1000000 ) + { + printf( "TA_FunctionDescriptionXML failed. Size too large (missing null?).\n" ); + return TA_ABS_TST_FAIL_FUNCTION_DESC_LARGE; + } + + return TA_TEST_PASS; /* Succcess. */ +} + +/**** Local functions definitions. ****/ +static ErrorNumber testLookback( TA_ParamHolder *paramHolder ) +{ + TA_RetCode retCode; + int lookback; + + /* Change the parameters of STOCH and verify that TA_GetLookback respond correctly. */ + retCode = TA_SetOptInputParamInteger( paramHolder, 0, 3 ); + if( retCode != TA_SUCCESS ) + { + printf( "TA_SetOptInputParamInteger call failed [%d]\n", retCode ); + return TA_ABS_TST_FAIL_OPTINPUTPARAMINTEGER; + } + + retCode = TA_SetOptInputParamInteger( paramHolder, 1, 4 ); + if( retCode != TA_SUCCESS ) + { + printf( "TA_SetOptInputParamInteger call failed [%d]\n", retCode ); + return TA_ABS_TST_FAIL_OPTINPUTPARAMINTEGER; + } + + retCode = TA_SetOptInputParamInteger( paramHolder, 2, (TA_Integer)TA_MAType_SMA ); + if( retCode != TA_SUCCESS ) + { + printf( "TA_SetOptInputParamInteger call failed [%d]\n", retCode ); + return TA_ABS_TST_FAIL_OPTINPUTPARAMINTEGER; + } + + retCode = TA_SetOptInputParamInteger( paramHolder, 3, 4 ); + if( retCode != TA_SUCCESS ) + { + printf( "TA_SetOptInputParamInteger call failed [%d]\n", retCode ); + return TA_ABS_TST_FAIL_OPTINPUTPARAMINTEGER; + } + + retCode = TA_SetOptInputParamInteger( paramHolder, 4, (TA_Integer)TA_MAType_SMA ); + if( retCode != TA_SUCCESS ) + { + printf( "TA_SetOptInputParamInteger call failed [%d]\n", retCode ); + return TA_ABS_TST_FAIL_OPTINPUTPARAMINTEGER; + } + + retCode = TA_GetLookback(paramHolder,&lookback); + if( retCode != TA_SUCCESS ) + { + printf( "TA_GetLookback failed [%d]\n", retCode ); + return TA_ABS_TST_FAIL_GETLOOKBACK_CALL_1; + } + + if( lookback != 8 ) + { + printf( "TA_GetLookback failed [%d != 8]\n", lookback ); + return TA_ABS_TST_FAIL_GETLOOKBACK_1; + } + + /* Change one parameter and check again. */ + retCode = TA_SetOptInputParamInteger( paramHolder, 3, 3 ); + if( retCode != TA_SUCCESS ) + { + printf( "TA_SetOptInputParamInteger call failed [%d]\n", retCode ); + return TA_ABS_TST_FAIL_OPTINPUTPARAMINTEGER; + } + + retCode = TA_GetLookback(paramHolder,&lookback); + if( retCode != TA_SUCCESS ) + { + printf( "TA_GetLookback failed [%d]\n", retCode ); + return TA_ABS_TST_FAIL_GETLOOKBACK_CALL_2; + } + + if( lookback != 7 ) + { + printf( "TA_GetLookback failed [%d != 7]\n", lookback ); + return TA_ABS_TST_FAIL_GETLOOKBACK_2; + } + + return TA_TEST_PASS; +} + + +static void testDefault( const TA_FuncInfo *funcInfo, void *opaqueData ) +{ + static int nbFunctionDone = 0; + ErrorNumber *errorNumber; + errorNumber = (ErrorNumber *)opaqueData; + if( *errorNumber != TA_TEST_PASS ) + return; + +#define CALL(x) { \ + *errorNumber = callWithDefaults( funcInfo->name, x, x##_int, sizeof(x)/sizeof(double) ); \ + if( *errorNumber != TA_TEST_PASS ) { \ + printf( "Failed for [%s][%s]\n", funcInfo->name, #x ); \ + return; \ + } \ +} + /* Do not test value outside the ]0..1[ domain for the "Math" groups. */ + if( (strlen(funcInfo->group) < 4) || + !((tolower(funcInfo->group[0]) == 'm') && + (tolower(funcInfo->group[1]) == 'a') && + (tolower(funcInfo->group[2]) == 't') && + (tolower(funcInfo->group[3]) == 'h'))) + { + CALL( inputNegData ); + CALL( inputZeroData ); + CALL( inputRandFltEpsilon ); + CALL( inputRandDblEpsilon ); + } + + CALL( inputRandomData ); + +#undef CALL + +#define CALL(x) { \ + *errorNumber = callAndProfile( funcInfo->name, x ); \ + if( *errorNumber != TA_TEST_PASS ) { \ + printf( "Failed for [%s][%s]\n", funcInfo->name, #x ); \ + return; \ + } \ +} + if( doExtensiveProfiling /*&& (nbFunctionDone<5)*/ ) + { + nbFunctionDone++; + printf( "%s ", funcInfo->name ); + CALL( PROFILING_100 ); + CALL( PROFILING_500 ); + CALL( PROFILING_1000 ); + CALL( PROFILING_2000 ); + CALL( PROFILING_5000 ); + CALL( PROFILING_8000 ); + CALL( PROFILING_10000 ); + printf( "\n" ); + } +} + +static ErrorNumber callWithDefaults( const char *funcName, const double *input, const int *input_int, int size ) +{ + TA_ParamHolder *paramHolder; + const TA_FuncHandle *handle; + const TA_FuncInfo *funcInfo; + const TA_InputParameterInfo *inputInfo; + const TA_OutputParameterInfo *outputInfo; + + TA_RetCode retCode; + unsigned int i; + int j; + int outBegIdx, outNbElement, lookback; + + retCode = TA_GetFuncHandle( funcName, &handle ); + if( retCode != TA_SUCCESS ) + { + printf( "Can't get the function handle [%d]\n", retCode ); + return TA_ABS_TST_FAIL_GETFUNCHANDLE; + } + + retCode = TA_ParamHolderAlloc( handle, ¶mHolder ); + if( retCode != TA_SUCCESS ) + { + printf( "Can't allocate the param holder [%d]\n", retCode ); + return TA_ABS_TST_FAIL_PARAMHOLDERALLOC; + } + + TA_GetFuncInfo( handle, &funcInfo ); + + for( i=0; i < funcInfo->nbInput; i++ ) + { + TA_GetInputParameterInfo( handle, i, &inputInfo ); + switch(inputInfo->type) + { + case TA_Input_Price: + TA_SetInputParamPricePtr( paramHolder, i, + inputInfo->flags&TA_IN_PRICE_OPEN?input:NULL, + inputInfo->flags&TA_IN_PRICE_HIGH?input:NULL, + inputInfo->flags&TA_IN_PRICE_LOW?input:NULL, + inputInfo->flags&TA_IN_PRICE_CLOSE?input:NULL, + inputInfo->flags&TA_IN_PRICE_VOLUME?input:NULL, NULL ); + break; + case TA_Input_Real: + TA_SetInputParamRealPtr( paramHolder, i, input ); + break; + case TA_Input_Integer: + TA_SetInputParamIntegerPtr( paramHolder, i, input_int ); + break; + } + } + + for( i=0; i < funcInfo->nbOutput; i++ ) + { + TA_GetOutputParameterInfo( handle, i, &outputInfo ); + switch(outputInfo->type) + { + case TA_Output_Real: + TA_SetOutputParamRealPtr(paramHolder,i,&output[i][0]); + for( j=0; j < 2000; j++ ) + output[i][j] = TA_REAL_MIN; + break; + case TA_Output_Integer: + TA_SetOutputParamIntegerPtr(paramHolder,i,&output_int[i][0]); + for( j=0; j < 2000; j++ ) + output_int[i][j] = TA_INTEGER_MIN; + break; + } + } + + /* Do the function call. */ + retCode = TA_CallFunc(paramHolder,0,size-1,&outBegIdx,&outNbElement); + if( retCode != TA_SUCCESS ) + { + printf( "TA_CallFunc() failed zero data test [%d]\n", retCode ); + TA_ParamHolderFree( paramHolder ); + return TA_ABS_TST_FAIL_CALLFUNC_1; + } + + /* Verify consistency with Lookback */ + retCode = TA_GetLookback( paramHolder, &lookback ); + if( retCode != TA_SUCCESS ) + { + printf( "TA_GetLookback() failed zero data test [%d]\n", retCode ); + TA_ParamHolderFree( paramHolder ); + return TA_ABS_TST_FAIL_CALLFUNC_2; + } + + if( outBegIdx != lookback ) + { + printf( "TA_GetLookback() != outBegIdx [%d != %d]\n", lookback, outBegIdx ); + TA_ParamHolderFree( paramHolder ); + return TA_ABS_TST_FAIL_CALLFUNC_3; + } + + /* TODO Add back nan/inf tests. + for( i=0; i < funcInfo->nbOutput; i++ ) + { + switch(outputInfo->type) + { + case TA_Output_Real: + for( j=0; j < outNbElement; j++ ) + { + if( trio_isnan(output[i][j]) || + trio_isinf(output[i][j])) + { + printf( "Failed for output[%d][%d] = %e\n", i, j, output[i][j] ); + return TA_ABS_TST_FAIL_INVALID_OUTPUT; + } + } + break; + case TA_Output_Integer: + break; + } + }*/ + + /* Do another function call where startIdx == endIdx == 0. + * In that case, outBegIdx should ALWAYS be zero. + */ + retCode = TA_CallFunc(paramHolder,0,0,&outBegIdx,&outNbElement); + if( retCode != TA_SUCCESS ) + { + printf( "TA_CallFunc() failed data test 4 [%d]\n", retCode ); + TA_ParamHolderFree( paramHolder ); + return TA_ABS_TST_FAIL_CALLFUNC_4; + } + + if( outBegIdx != 0 ) + { + printf( "failed outBegIdx=%d when startIdx==endIdx==0\n", outBegIdx ); + TA_ParamHolderFree( paramHolder ); + return TA_ABS_TST_FAIL_STARTEND_ZERO; + } + + retCode = TA_ParamHolderFree( paramHolder ); + if( retCode != TA_SUCCESS ) + { + printf( "TA_ParamHolderFree failed [%d]\n", retCode ); + return TA_ABS_TST_FAIL_PARAMHOLDERFREE; + } + + return TA_TEST_PASS; +} + +static ErrorNumber test_default_calls(void) +{ + ErrorNumber errNumber; + unsigned int i; + unsigned int sign; + double tempDouble; + + errNumber = TA_TEST_PASS; + + for( i=0; i < sizeof(inputNegData)/sizeof(double); i++ ) + { + inputNegData[i] = -((double)((int)i)); + inputNegData_int[i] = -(int)i; + } + + for( i=0; i < sizeof(inputZeroData)/sizeof(double); i++ ) + { + inputZeroData[i] = 0.0; + inputZeroData_int[i] = (int)inputZeroData[i]; + } + + for( i=0; i < sizeof(inputRandomData)/sizeof(double); i++ ) + { + /* Make 100% sure input range is ]0..1[ */ + tempDouble = (double)rand() / ((double)(RAND_MAX)+(double)(1)); + while( (tempDouble <= 0.0) || (tempDouble >= 1.0) ) + { + tempDouble = (double)rand() / ((double)(RAND_MAX)+(double)(1)); + } + inputRandomData[i] = tempDouble; + inputRandomData_int[i] = (int)inputRandomData[i]; + } + + for( i=0; i < sizeof(inputRandFltEpsilon)/sizeof(double); i++ ) + { + sign= (unsigned int)rand()%2; + inputRandFltEpsilon[i] = (sign?1.0:-1.0)*(FLT_EPSILON); + inputRandFltEpsilon_int[i] = sign?TA_INTEGER_MIN:TA_INTEGER_MAX; + } + + for( i=0; i < sizeof(inputRandFltEpsilon)/sizeof(double); i++ ) + { + sign= (unsigned int)rand()%2; + inputRandFltEpsilon[i] = (sign?1.0:-1.0)*(DBL_EPSILON); + inputRandFltEpsilon_int[i] = sign?1:-1; + } + + if( doExtensiveProfiling ) + { + printf( "\n[PROFILING START]\n" ); + } + + TA_ForEachFunc( testDefault, &errNumber ); + + if( doExtensiveProfiling ) + { + printf( "[PROFILING END]\n" ); + } + + + return errNumber; +} + +static ErrorNumber callAndProfile( const char *funcName, ProfilingType type ) +{ + TA_ParamHolder *paramHolder; + const TA_FuncHandle *handle; + const TA_FuncInfo *funcInfo; + const TA_InputParameterInfo *inputInfo; + const TA_OutputParameterInfo *outputInfo; + + TA_RetCode retCode; + int h, i, j, k; + int outBegIdx, outNbElement; + + /* Variables to control iteration and corresponding input size */ + int nbInnerLoop, nbOuterLoop; + int stepSize; + int inputSize; + + /* Variables measuring the execution time */ +#ifdef WIN32 + LARGE_INTEGER startClock; + LARGE_INTEGER endClock; +#else + clock_t startClock; + clock_t endClock; +#endif + double clockDelta; + int nbProfiledCallLocal; + double timeInProfiledCallLocal; + double worstProfiledCallLocal; + + nbProfiledCallLocal = 0; + timeInProfiledCallLocal = 0.0; + worstProfiledCallLocal = 0.0; + nbInnerLoop = nbOuterLoop = stepSize = inputSize = 0; + + switch( type ) + { + case PROFILING_10000: + nbInnerLoop = 1; + nbOuterLoop = 100; + stepSize = 10000; + inputSize = 10000; + break; + case PROFILING_8000: + nbInnerLoop = 2; + nbOuterLoop = 50; + stepSize = 2000; + inputSize = 8000; + break; + case PROFILING_5000: + nbInnerLoop = 2; + nbOuterLoop = 50; + stepSize = 5000; + inputSize = 5000; + break; + case PROFILING_2000: + nbInnerLoop = 5; + nbOuterLoop = 20; + stepSize = 2000; + inputSize = 2000; + break; + case PROFILING_1000: + nbInnerLoop = 10; + nbOuterLoop = 10; + stepSize = 1000; + inputSize = 1000; + break; + case PROFILING_500: + nbInnerLoop = 20; + nbOuterLoop = 5; + stepSize = 500; + inputSize = 500; + break; + case PROFILING_100: + nbInnerLoop = 100; + nbOuterLoop = 1; + stepSize = 100; + inputSize = 100; + break; + } + + retCode = TA_GetFuncHandle( funcName, &handle ); + if( retCode != TA_SUCCESS ) + { + printf( "Can't get the function handle [%d]\n", retCode ); + return TA_ABS_TST_FAIL_GETFUNCHANDLE; + } + + retCode = TA_ParamHolderAlloc( handle, ¶mHolder ); + if( retCode != TA_SUCCESS ) + { + printf( "Can't allocate the param holder [%d]\n", retCode ); + return TA_ABS_TST_FAIL_PARAMHOLDERALLOC; + } + + TA_GetFuncInfo( handle, &funcInfo ); + + for( i=0; i < (int)funcInfo->nbOutput; i++ ) + { + TA_GetOutputParameterInfo( handle, i, &outputInfo ); + switch(outputInfo->type) + { + case TA_Output_Real: + TA_SetOutputParamRealPtr(paramHolder,i,&output[i][0]); + for( j=0; j < 2000; j++ ) + output[i][j] = TA_REAL_MIN; + break; + case TA_Output_Integer: + TA_SetOutputParamIntegerPtr(paramHolder,i,&output_int[i][0]); + for( j=0; j < 2000; j++ ) + output_int[i][j] = TA_INTEGER_MIN; + break; + } + } + + for( h=0; h < 2; h++ ) + { + for( i=0; i < nbOuterLoop; i++ ) + { + for( j=0; j < nbInnerLoop; j++ ) + { + /* Prepare input. */ + for( k=0; k < (int)funcInfo->nbInput; k++ ) + { + TA_GetInputParameterInfo( handle, k, &inputInfo ); + switch(inputInfo->type) + { + case TA_Input_Price: + TA_SetInputParamPricePtr( paramHolder, k, + inputInfo->flags&TA_IN_PRICE_OPEN?&gDataOpen[j*stepSize]:NULL, + inputInfo->flags&TA_IN_PRICE_HIGH?&gDataHigh[j*stepSize]:NULL, + inputInfo->flags&TA_IN_PRICE_LOW?&gDataLow[j*stepSize]:NULL, + inputInfo->flags&TA_IN_PRICE_CLOSE?&gDataClose[j*stepSize]:NULL, + inputInfo->flags&TA_IN_PRICE_VOLUME?&gDataClose[j*stepSize]:NULL, NULL ); + break; + case TA_Input_Real: + TA_SetInputParamRealPtr( paramHolder, k, &gDataClose[j*stepSize] ); + break; + case TA_Input_Integer: + printf( "\nError: Integer input not yet supported for profiling.\n" ); + return TA_ABS_TST_FAIL_CALLFUNC_1; + break; + } + } + + #ifdef WIN32 + QueryPerformanceCounter(&startClock); + #else + startClock = clock(); + #endif + + /* Do the function call. */ + retCode = TA_CallFunc(paramHolder,0,inputSize-1,&outBegIdx,&outNbElement); + if( retCode != TA_SUCCESS ) + { + printf( "TA_CallFunc() failed zero data test [%d]\n", retCode ); + TA_ParamHolderFree( paramHolder ); + return TA_ABS_TST_FAIL_CALLFUNC_1; + } + + #ifdef WIN32 + QueryPerformanceCounter(&endClock); + clockDelta = (double)((__int64)endClock.QuadPart - (__int64) startClock.QuadPart); + #else + endClock = clock(); + clockDelta = (double)(endClock - startClock); + #endif + + /* Setup global profiling info. */ + if( clockDelta <= 0 ) + { + printf( "Error: Insufficient timer precision to perform benchmarking on this platform.\n" ); + return TA_ABS_TST_FAIL_CALLFUNC_1; + } + else + { + if( clockDelta > worstProfiledCall ) + worstProfiledCall = clockDelta; + timeInProfiledCall += clockDelta; + nbProfiledCall++; + } + + /* Setup local profiling info for this particular function. */ + if( clockDelta > worstProfiledCallLocal ) + worstProfiledCallLocal = clockDelta; + timeInProfiledCallLocal += clockDelta; + nbProfiledCallLocal++; + } + } + } + + /* Output statistic (remove worst call, average the others. */ + printf( "%g ", (timeInProfiledCallLocal-worstProfiledCallLocal)/(double)(nbProfiledCallLocal-1)); + + retCode = TA_ParamHolderFree( paramHolder ); + if( retCode != TA_SUCCESS ) + { + printf( "TA_ParamHolderFree failed [%d]\n", retCode ); + return TA_ABS_TST_FAIL_PARAMHOLDERFREE; + } + + return TA_TEST_PASS; +} diff --git a/vendor/ta-lib/src/tools/ta_regtest/test_data.c b/vendor/ta-lib/src/tools/ta_regtest/test_data.c new file mode 100644 index 000000000..c4400e043 --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/test_data.c @@ -0,0 +1,145 @@ +/* Input price data used to do regression tests. */ +#include "ta_libc.h" + +/* Market data used for profiling (10000 price bars). */ +#include "ta_gDataOpen.c" +#include "ta_gDataHigh.c" +#include "ta_gDataLow.c" +#include "ta_gDataClose.c" + +/* Market data used for regression tests (252 price bars). */ +TA_Real TA_SREF_open_daily_ref_0_PRIV[252] = {92.500000,91.500000,95.155000,93.970000,95.500000,94.500000,95.000000,91.500000,91.815000,91.125000,93.875000, +97.500000,98.815000,92.000000,91.125000,91.875000,93.405000,89.750000,89.345000,92.250000,89.780000, +87.940000,87.595000,85.220000,83.500000,83.500000,81.250000,85.125000,88.125000,87.500000,85.250000, +86.000000,87.190000,86.125000,89.000000,88.625000,86.000000,85.500000,84.750000,85.250000,84.250000, +86.750000,86.940000,89.315000,89.940000,90.815000,91.190000,91.345000,89.595000,91.000000,89.750000, +88.750000,88.315000,84.345000,83.500000,84.000000,86.000000,85.530000,87.500000,88.500000,90.000000, +88.655000,89.500000,91.565000,92.000000,93.000000,92.815000,91.750000,92.000000,91.375000,89.750000, +88.750000,85.440000,83.500000,84.875000,98.625000,96.690000,102.375000,106.000000,104.625000,102.500000, +104.250000,104.000000,106.125000,106.065000,105.940000,105.625000,108.625000,110.250000,110.565000,117.000000, +120.750000,118.000000,119.125000,119.125000,117.815000,116.375000,115.155000,111.250000,111.500000,116.690000, +116.000000,113.620000,111.750000,114.560000,113.620000,118.120000,119.870000,116.620000,115.870000,115.060000, +115.870000,117.500000,119.870000,119.250000,120.190000,122.870000,123.870000,122.250000,123.120000,123.310000, +124.000000,123.000000,124.810000,130.000000,130.880000,132.500000,131.000000,132.500000,134.000000,137.440000, +135.750000,138.310000,138.000000,136.380000,136.500000,132.000000,127.500000,127.620000,124.000000,123.620000, +125.000000,126.370000,126.250000,125.940000,124.000000,122.750000,120.000000,120.000000,122.000000,123.620000, +121.500000,120.120000,123.750000,122.750000,125.000000,128.500000,128.380000,123.870000,124.370000,122.750000, +123.370000,122.000000,122.620000,125.000000,124.250000,124.370000,125.620000,126.500000,128.380000,128.880000, +131.500000,132.500000,137.500000,134.630000,132.000000,134.000000,132.000000,131.380000,126.500000,128.750000, +127.190000,127.500000,120.500000,126.620000,123.000000,122.060000,121.000000,121.000000,118.000000,122.000000, +122.250000,119.120000,115.000000,113.500000,114.000000,110.810000,106.500000,106.440000,108.000000,107.000000, +108.620000,93.000000,93.750000,94.250000,94.870000,95.500000,94.500000,97.000000,98.500000,96.750000, +95.870000,94.440000,92.750000,90.500000,95.060000,94.620000,97.500000,96.000000,96.000000,94.620000, +94.870000,94.000000,99.000000,105.500000,108.810000,105.000000,105.940000,104.940000,103.690000,102.560000, +103.440000,109.810000,113.000000,117.000000,116.250000,120.500000,111.620000,108.120000,110.190000,107.750000, +108.000000,110.690000,109.060000,108.500000,109.870000,109.120000,109.690000,109.560000,110.440000,109.690000, +109.190000}; + +TA_Real TA_SREF_high_daily_ref_0_PRIV[252] = {93.250000,94.940000,96.375000,96.190000,96.000000,94.720000,95.000000,93.720000,92.470000,92.750000,96.250000, +99.625000,99.125000,92.750000,91.315000,93.250000,93.405000,90.655000,91.970000,92.250000,90.345000, +88.500000,88.250000,85.500000,84.440000,84.750000,84.440000,89.405000,88.125000,89.125000,87.155000, +87.250000,87.375000,88.970000,90.000000,89.845000,86.970000,85.940000,84.750000,85.470000,84.470000, +88.500000,89.470000,90.000000,92.440000,91.440000,92.970000,91.720000,91.155000,91.750000,90.000000, +88.875000,89.000000,85.250000,83.815000,85.250000,86.625000,87.940000,89.375000,90.625000,90.750000, +88.845000,91.970000,93.375000,93.815000,94.030000,94.030000,91.815000,92.000000,91.940000,89.750000, +88.750000,86.155000,84.875000,85.940000,99.375000,103.280000,105.375000,107.625000,105.250000,104.500000, +105.500000,106.125000,107.940000,106.250000,107.000000,108.750000,110.940000,110.940000,114.220000,123.000000, +121.750000,119.815000,120.315000,119.375000,118.190000,116.690000,115.345000,113.000000,118.315000,116.870000, +116.750000,113.870000,114.620000,115.310000,116.000000,121.690000,119.870000,120.870000,116.750000,116.500000, +116.000000,118.310000,121.500000,122.000000,121.440000,125.750000,127.750000,124.190000,124.440000,125.750000, +124.690000,125.310000,132.000000,131.310000,132.250000,133.880000,133.500000,135.500000,137.440000,138.690000, +139.190000,138.500000,138.130000,137.500000,138.880000,132.130000,129.750000,128.500000,125.440000,125.120000, +126.500000,128.690000,126.620000,126.690000,126.000000,123.120000,121.870000,124.000000,127.000000,124.440000, +122.500000,123.750000,123.810000,124.500000,127.870000,128.560000,129.630000,124.870000,124.370000,124.870000, +123.620000,124.060000,125.870000,125.190000,125.620000,126.000000,128.500000,126.750000,129.750000,132.690000, +133.940000,136.500000,137.690000,135.560000,133.560000,135.000000,132.380000,131.440000,130.880000,129.630000, +127.250000,127.810000,125.000000,126.810000,124.750000,122.810000,122.250000,121.060000,120.000000,123.250000, +122.750000,119.190000,115.060000,116.690000,114.870000,110.870000,107.250000,108.870000,109.000000,108.500000, +113.060000,93.000000,94.620000,95.120000,96.000000,95.560000,95.310000,99.000000,98.810000,96.810000, +95.940000,94.440000,92.940000,93.940000,95.500000,97.060000,97.500000,96.250000,96.370000,95.000000, +94.870000,98.250000,105.120000,108.440000,109.870000,105.000000,106.000000,104.940000,104.500000,104.440000, +106.310000,112.870000,116.500000,119.190000,121.000000,122.120000,111.940000,112.750000,110.190000,107.940000, +109.690000,111.060000,110.440000,110.120000,110.310000,110.440000,110.000000,110.750000,110.500000,110.500000, +109.500000}; + +TA_Real TA_SREF_low_daily_ref_0_PRIV[252] = {90.750000,91.405000,94.250000,93.500000,92.815000,93.500000,92.000000,89.750000,89.440000,90.625000,92.750000, +96.315000,96.030000,88.815000,86.750000,90.940000,88.905000,88.780000,89.250000,89.750000,87.500000, +86.530000,84.625000,82.280000,81.565000,80.875000,81.250000,84.065000,85.595000,85.970000,84.405000, +85.095000,85.500000,85.530000,87.875000,86.565000,84.655000,83.250000,82.565000,83.440000,82.530000, +85.065000,86.875000,88.530000,89.280000,90.125000,90.750000,89.000000,88.565000,90.095000,89.000000, +86.470000,84.000000,83.315000,82.000000,83.250000,84.750000,85.280000,87.190000,88.440000,88.250000, +87.345000,89.280000,91.095000,89.530000,91.155000,92.000000,90.530000,89.970000,88.815000,86.750000, +85.065000,82.030000,81.500000,82.565000,96.345000,96.470000,101.155000,104.250000,101.750000,101.720000, +101.720000,103.155000,105.690000,103.655000,104.000000,105.530000,108.530000,108.750000,107.750000,117.000000, +118.000000,116.000000,118.500000,116.530000,116.250000,114.595000,110.875000,110.500000,110.720000,112.620000, +114.190000,111.190000,109.440000,111.560000,112.440000,117.500000,116.060000,116.560000,113.310000,112.560000, +114.000000,114.750000,118.870000,119.000000,119.750000,122.620000,123.000000,121.750000,121.560000,123.120000, +122.190000,122.750000,124.370000,128.000000,129.500000,130.810000,130.630000,132.130000,133.880000,135.380000, +135.750000,136.190000,134.500000,135.380000,133.690000,126.060000,126.870000,123.500000,122.620000,122.750000, +123.560000,125.810000,124.620000,124.370000,121.810000,118.190000,118.060000,117.560000,121.000000,121.120000, +118.940000,119.810000,121.000000,122.000000,124.500000,126.560000,123.500000,121.250000,121.060000,122.310000, +121.000000,120.870000,122.060000,122.750000,122.690000,122.870000,125.500000,124.250000,128.000000,128.380000, +130.690000,131.630000,134.380000,132.000000,131.940000,131.940000,129.560000,123.750000,126.000000,126.250000, +124.370000,121.440000,120.440000,121.370000,121.690000,120.000000,119.620000,115.500000,116.750000,119.060000, +119.060000,115.060000,111.060000,113.120000,110.000000,105.000000,104.690000,103.870000,104.690000,105.440000, +107.000000,89.000000,92.500000,92.120000,94.620000,92.810000,94.250000,96.250000,96.370000,93.690000, +93.500000,90.000000,90.190000,90.500000,92.120000,94.120000,94.870000,93.000000,93.870000,93.000000, +92.620000,93.560000,98.370000,104.440000,106.000000,101.810000,104.120000,103.370000,102.120000,102.250000, +103.370000,107.940000,112.500000,115.440000,115.500000,112.250000,107.560000,106.560000,106.870000,104.500000, +105.750000,108.620000,107.750000,108.060000,108.000000,108.190000,108.120000,109.060000,108.750000,108.560000, +106.620000}; + +TA_Real TA_SREF_close_daily_ref_0_PRIV[252] = {91.500000,94.815000,94.375000,95.095000,93.780000,94.625000,92.530000,92.750000,90.315000,92.470000,96.125000, +97.250000,98.500000,89.875000,91.000000,92.815000,89.155000,89.345000,91.625000,89.875000,88.375000, +87.625000,84.780000,83.000000,83.500000,81.375000,84.440000,89.250000,86.375000,86.250000,85.250000, +87.125000,85.815000,88.970000,88.470000,86.875000,86.815000,84.875000,84.190000,83.875000,83.375000, +85.500000,89.190000,89.440000,91.095000,90.750000,91.440000,89.000000,91.000000,90.500000,89.030000, +88.815000,84.280000,83.500000,82.690000,84.750000,85.655000,86.190000,88.940000,89.280000,88.625000, +88.500000,91.970000,91.500000,93.250000,93.500000,93.155000,91.720000,90.000000,89.690000,88.875000, +85.190000,83.375000,84.875000,85.940000,97.250000,99.875000,104.940000,106.000000,102.500000,102.405000, +104.595000,106.125000,106.000000,106.065000,104.625000,108.625000,109.315000,110.500000,112.750000,123.000000, +119.625000,118.750000,119.250000,117.940000,116.440000,115.190000,111.875000,110.595000,118.125000,116.000000, +116.000000,112.000000,113.750000,112.940000,116.000000,120.500000,116.620000,117.000000,115.250000,114.310000, +115.500000,115.870000,120.690000,120.190000,120.750000,124.750000,123.370000,122.940000,122.560000,123.120000, +122.560000,124.620000,129.250000,131.000000,132.250000,131.000000,132.810000,134.000000,137.380000,137.810000, +137.880000,137.250000,136.310000,136.250000,134.630000,128.250000,129.000000,123.870000,124.810000,123.000000, +126.250000,128.380000,125.370000,125.690000,122.250000,119.370000,118.500000,123.190000,123.500000,122.190000, +119.310000,123.310000,121.120000,123.370000,127.370000,128.500000,123.870000,122.940000,121.750000,124.440000, +122.000000,122.370000,122.940000,124.000000,123.190000,124.560000,127.250000,125.870000,128.860000,132.000000, +130.750000,134.750000,135.000000,132.380000,133.310000,131.940000,130.000000,125.370000,130.130000,127.120000, +125.190000,122.000000,125.000000,123.000000,123.500000,120.060000,121.000000,117.750000,119.870000,122.000000, +119.190000,116.370000,113.500000,114.250000,110.000000,105.060000,107.000000,107.870000,107.000000,107.120000, +107.000000,91.000000,93.940000,93.870000,95.500000,93.000000,94.940000,98.250000,96.750000,94.810000, +94.370000,91.560000,90.250000,93.940000,93.620000,97.000000,95.000000,95.870000,94.060000,94.620000, +93.750000,98.000000,103.940000,107.870000,106.060000,104.500000,105.000000,104.190000,103.060000,103.420000, +105.270000,111.870000,116.000000,116.620000,118.280000,113.370000,109.000000,109.700000,109.250000,107.000000, +109.190000,110.000000,109.200000,110.120000,108.000000,108.620000,109.750000,109.810000,109.000000,108.750000, +107.870000}; + +TA_Real TA_SREF_volume_daily_ref_0_PRIV[252] = {4077500,4955900,4775300,4155300,4593100,3631300,3382800,4954200,4500000,3397500,4204500, +6321400,10203600,19043900,11692000,9553300,8920300,5970900,5062300,3705600,5865600, +5603000,5811900,8483800,5995200,5408800,5430500,6283800,5834800,4515500,4493300, +4346100,3700300,4600200,4557200,4323600,5237500,7404100,4798400,4372800,3872300, +10750800,5804800,3785500,5014800,3507700,4298800,4842500,3952200,3304700,3462000, +7253900,9753100,5953000,5011700,5910800,4916900,4135000,4054200,3735300,2921900, +2658400,4624400,4372200,5831600,4268600,3059200,4495500,3425000,3630800,4168100, +5966900,7692800,7362500,6581300,19587700,10378600,9334700,10467200,5671400,5645000, +4518600,4519500,5569700,4239700,4175300,4995300,4776600,4190000,6035300,12168900, +9040800,5780300,4320800,3899100,3221400,3455500,4304200,4703900,8316300,10553900, +6384800,7163300,7007800,5114100,5263800,6666100,7398400,5575000,4852300,4298100, +4900500,4887700,6964800,4679200,9165000,6469800,6792000,4423800,5231900,4565600, +6235200,5225900,8261400,5912500,3545600,5714500,6653900,6094500,4799200,5050800, +5648900,4726300,5585600,5124800,7630200,14311600,8793600,8874200,6966600,5525500, +6515500,5291900,5711700,4327700,4568000,6859200,5757500,7367000,6144100,4052700, +5849700,5544700,5032200,4400600,4894100,5140000,6610900,7585200,5963100,6045500, +8443300,6464700,6248300,4357200,4774700,6216900,6266900,5584800,5284500,7554500, +7209500,8424800,5094500,4443600,4591100,5658400,6094100,14862200,7544700,6985600, +8093000,7590000,7451300,7078000,7105300,8778800,6643900,10563900,7043100,6438900, +8057700,14240000,17872300,7831100,8277700,15017800,14183300,13921100,9683000,9187300, +11380500,69447300,26673600,13768400,11371600,9872200,9450500,11083300,9552800,11108400, +10374200,16701900,13741900,8523600,9551900,8680500,7151700,9673100,6264700,8541600, +8358000,18720800,19683100,13682500,10668100,9710600,3113100,5682000,5763600,5340000, +6220800,14680500,9933000,11329500,8145300,16644700,12593800,7138100,7442300,9442300, +7123600,7680600,4839800,4775500,4008800,4533600,3741100,4084800,2685200,3438000, +2870500}; + diff --git a/vendor/ta-lib/src/tools/ta_regtest/test_internals.c b/vendor/ta-lib/src/tools/ta_regtest/test_internals.c new file mode 100644 index 000000000..00ba471be --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/test_internals.c @@ -0,0 +1,274 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 070401 MF First version. + * 050104 MF Add TA_RegressionTest calls. + * 080605 MF Add tests for pseudo-random generator. + * 091705 MF Add tests for TA_AddTimeToTimestamp (Fix#1293953). + * 110906 MF Remove pseudo-random to eliminate dependencies. + */ + +/* Description: + * Regression testing of some internal utility like: + * - collections: List/Stack/Circular buffer. + * - Memory allocation mechanism. + * etc... + */ + +/**** Headers ****/ +#include +#include + +#include "ta_test_priv.h" +#include "ta_memory.h" +#include "ta_defs.h" +#include "ta_common.h" + + +/**** External functions declarations. ****/ +/* None */ + +/**** External variables declarations. ****/ +/* None */ + +/**** Global variables definitions. ****/ +/* None */ + +/**** Local declarations. ****/ +/* None */ + +/**** Local functions declarations. ****/ +static ErrorNumber testCircularBuffer( void ); + +static TA_RetCode circBufferFillFrom0ToSize( int size, int *buffer ); + + +/**** Local variables definitions. ****/ +/* None */ + +/**** Global functions definitions. ****/ +/* None */ + +/**** Local functions definitions. ****/ +ErrorNumber test_internals( void ) +{ + ErrorNumber retValue; + + printf( "Testing utility functions\n" ); + + retValue = testCircularBuffer(); + if( retValue != TA_TEST_PASS ) + { + printf( "\nFailed: Circular buffer tests (%d)\n", retValue ); + return retValue; + } + + return TA_TEST_PASS; /* Success. */ +} + +static ErrorNumber testCircularBuffer( void ) +{ + TA_RetCode retCode; + int i; + int buffer[20]; + ErrorNumber retValue; + + /* Initialize the library. */ + retValue = allocLib(); + if( retValue != TA_TEST_PASS ) + { + printf( "\nFailed: Can't initialize the library\n" ); + return retValue; + } + + /* The following function is supose to fill + * the buffer with the value 0 to 8 sequentialy, + * if somehow it is not 0 to 8, there is a bug! + */ + memset( buffer, 0xFF, sizeof(buffer) ); + retCode = circBufferFillFrom0ToSize( 1, buffer ); + if( retCode != TA_SUCCESS ) + { + printf( "\nFailed circular buffer test RetCode = %d\n", retCode ); + return TA_INTERNAL_CIRC_BUFF_FAIL_0; + } + for( i=0; i < (1+3); i++ ) + { + if( buffer[i] != i ) + { + printf( "\nFailed circular buffer test (%d != %d)\n", buffer[i], i ); + return TA_INTERNAL_CIRC_BUFF_FAIL_1; + } + } + + memset( buffer, 0xFF, sizeof(buffer) ); + retCode = circBufferFillFrom0ToSize( 2, buffer ); + if( retCode != TA_SUCCESS ) + { + printf( "\nFailed circular buffer test RetCode = %d\n", retCode ); + return TA_INTERNAL_CIRC_BUFF_FAIL_0; + } + for( i=0; i < (2+3); i++ ) + { + if( buffer[i] != i ) + { + printf( "\nFailed circular buffer test (%d != %d)\n", buffer[i], i ); + return TA_INTERNAL_CIRC_BUFF_FAIL_2; + } + } + + memset( buffer, 0xFF, sizeof(buffer) ); + retCode = circBufferFillFrom0ToSize( 3, buffer ); + if( retCode != TA_SUCCESS ) + { + printf( "\nFailed circular buffer test RetCode = %d\n", retCode ); + return TA_INTERNAL_CIRC_BUFF_FAIL_0; + } + for( i=0; i < (3+3); i++ ) + { + if( buffer[i] != i ) + { + printf( "\nFailed circular buffer test (%d != %d)\n", buffer[i], i ); + return TA_INTERNAL_CIRC_BUFF_FAIL_3; + } + } + + memset( buffer, 0xFF, sizeof(buffer) ); + retCode = circBufferFillFrom0ToSize( 4, buffer ); + if( retCode != TA_SUCCESS ) + { + printf( "\nFailed circular buffer test RetCode = %d\n", retCode ); + return TA_INTERNAL_CIRC_BUFF_FAIL_0; + } + for( i=0; i < (4+3); i++ ) + { + if( buffer[i] != i ) + { + printf( "\nFailed circular buffer test (%d != %d)\n", buffer[i], i ); + return TA_INTERNAL_CIRC_BUFF_FAIL_4; + } + } + + memset( buffer, 0xFF, sizeof(buffer) ); + retCode = circBufferFillFrom0ToSize( 5, buffer ); + if( retCode != TA_SUCCESS ) + { + printf( "\nFailed circular buffer test RetCode = %d\n", retCode ); + return TA_INTERNAL_CIRC_BUFF_FAIL_0; + } + for( i=0; i < (5+3); i++ ) + { + if( buffer[i] != i ) + { + printf( "\nFailed circular buffer test (%d != %d)\n", buffer[i], i ); + return TA_INTERNAL_CIRC_BUFF_FAIL_5; + } + } + + memset( buffer, 0xFF, sizeof(buffer) ); + retCode = circBufferFillFrom0ToSize( 6, buffer ); + if( retCode != TA_SUCCESS ) + { + printf( "\nFailed circular buffer test RetCode = %d\n", retCode ); + return TA_INTERNAL_CIRC_BUFF_FAIL_0; + } + for( i=0; i < (6+3); i++ ) + { + if( buffer[i] != i ) + { + printf( "\nFailed circular buffer test (%d != %d)\n", buffer[i], i ); + return TA_INTERNAL_CIRC_BUFF_FAIL_6; + } + } + + retValue = freeLib(); + if( retValue != TA_TEST_PASS ) + return retValue; + + return TA_TEST_PASS; /* Success. */ +} + +/* This function is suppose to fill the buffer + * with values going from 0 to 'size'. + * The filling is done using the CIRCBUF macros. + */ +static TA_RetCode circBufferFillFrom0ToSize( int size, int *buffer ) +{ + CIRCBUF_PROLOG(MyBuf,int,4); + int i, value; + int outIdx; + + CIRCBUF_INIT(MyBuf,int,size); + + outIdx = 0; + + // 1st Loop: Fill MyBuf with initial values + // (must be done). + value = 0; + for( i=0; i < size; i++ ) + { + MyBuf[MyBuf_Idx] = value++; + CIRCBUF_NEXT(MyBuf); + } + + // 2nd Loop: Get and Add subsequent values + // in MyBuf (optional) + for( i=0; i < 3; i++ ) + { + buffer[outIdx++] = MyBuf[MyBuf_Idx]; + MyBuf[MyBuf_Idx] = value++; + CIRCBUF_NEXT(MyBuf); + } + + // 3rd Loop: Empty MyBuf (optional) + for( i=0; i < size; i++ ) + { + buffer[outIdx++] = MyBuf[MyBuf_Idx]; + CIRCBUF_NEXT(MyBuf); + } + + CIRCBUF_DESTROY(MyBuf); + + return TA_SUCCESS; +} diff --git a/vendor/ta-lib/src/tools/ta_regtest/test_util.c b/vendor/ta-lib/src/tools/ta_regtest/test_util.c new file mode 100644 index 000000000..b32757f86 --- /dev/null +++ b/vendor/ta-lib/src/tools/ta_regtest/test_util.c @@ -0,0 +1,1338 @@ +/* TA-LIB Copyright (c) 1999-2007, Mario Fortier + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * - Neither name of author nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* List of contributors: + * + * Initial Name/description + * ------------------------------------------------------------------- + * MF Mario Fortier + * + * + * Change history: + * + * MMDDYY BY Description + * ------------------------------------------------------------------- + * 112400 MF First version. + * + */ + +/* Description: + * Provide utility function internally used in ta_regtest only. + */ + +/**** Headers ****/ +#ifdef WIN32 + #include "windows.h" +#endif + +#include +#include +#include +#include +#include "ta_test_priv.h" +#include "ta_utility.h" +#include "ta_memory.h" + + +/**** External functions declarations. ****/ +/* None */ + +/**** External variables declarations. ****/ +extern int nbProfiledCall; +extern double timeInProfiledCall; +extern double worstProfiledCall; +extern int insufficientClockPrecision; + +/**** Global variables definitions. ****/ + +/* Global temporary buffers used while testing. */ +#define RESV_PATTERN_MEMGUARD_1 (2.4789205E-150) +#define RESV_PATTERN_MEMGUARD_2 (4.2302468E-165) + +#define RESV_PATTERN_PREFIX (9.1349043E-200) +#define RESV_PATTERN_SUFFIX (8.1489031E-158) +#define RESV_PATTERN_IMPROBABLE (-2.849284E-199) + +#define RESV_PATTERN_PREFIX_INT (TA_INTEGER_DEFAULT) +#define RESV_PATTERN_SUFFIX_INT (TA_INTEGER_DEFAULT) +#define RESV_PATTERN_IMPROBABLE_INT (TA_INTEGER_DEFAULT) + +#define TA_BUF_PREFIX 100 +#define TA_BUF_SUFFIX 100 +#define TA_BUF_SIZE (TA_BUF_PREFIX+MAX_NB_TEST_ELEMENT+TA_BUF_SUFFIX) + +#define TA_NB_OUT 3 +#define TA_NB_IN 1 +#define TA_NB_OUT_IN (TA_NB_OUT+TA_NB_IN) + +TA_Real memoryGuard1 = RESV_PATTERN_MEMGUARD_1; /* Magic number to detect problem. */ +TA_Real buf[NB_GLOBAL_BUFFER][TA_NB_OUT_IN][TA_BUF_SIZE]; /* The global buffers. */ +TA_Real memoryGuard2 = RESV_PATTERN_MEMGUARD_2; /* Magic number to detect problem. */ + +#define NB_TOTAL_ELEMENTS (sizeof(buf)/sizeof(TA_Real)) + +TestBuffer gBuffer[5]; /* See initGlobalBuffer. */ + +/**** Local declarations. ****/ +/* None */ + +/**** Local functions declarations. ****/ +static ErrorNumber doRangeTestFixSize( RangeTestFunction testFunction, + void *opaqueData, + TA_Integer refOutBeg, + TA_Integer refOutNbElement, + TA_Integer refLookback, + const TA_Real *refBuffer, + const TA_Integer *refBufferInt, + TA_FuncUnstId unstId, + TA_Integer fixSize, + unsigned int outputNb, + unsigned int integerTolerance ); + +static int dataWithinReasonableRange( TA_Real val1, TA_Real val2, + unsigned int outputPosition, + TA_FuncUnstId unstId, + unsigned int integerTolerance ); + +static ErrorNumber doRangeTestForOneOutput( RangeTestFunction testFunction, + TA_FuncUnstId unstId, + void *opaqueData, + unsigned int outputNb, + unsigned int integerTolerance ); + +static TA_RetCode CallTestFunction( RangeTestFunction testFunction, + TA_Integer startIdx, + TA_Integer endIdx, + TA_Real *outputBuffer, + TA_Integer *outputBufferInt, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Integer *lookback, + void *opaqueData, + unsigned int outputNb, + unsigned int *isOutputInteger ); + +/**** Local variables definitions. ****/ +/* None */ + +/**** Global functions definitions. ****/ +static int ta_g_val = 0; +static const char *ta_g_wheel = "-\\|/"; +void showFeedback() +{ + if( ta_g_wheel[ta_g_val] == '\0' ) + ta_g_val = 0; + putchar('\b'); + putchar(ta_g_wheel[ta_g_val]); + fflush(stdout); + ta_g_val++; +} + +void hideFeedback() +{ + putchar('\b'); + fflush(stdout); + ta_g_val = 0; +} + +ErrorNumber allocLib() +{ + TA_RetCode retCode; + + /* Initialize the library. */ + retCode = TA_Initialize(); + if( retCode != TA_SUCCESS ) + { + printf( "TA_Initialize failed [%d]\n", retCode ); + return TA_TESTUTIL_INIT_FAILED; + } + + return TA_TEST_PASS; +} + +ErrorNumber freeLib() +{ + TA_RetCode retCode; + + /* For testing purpose */ + /* TA_FATAL_RET( "Test again", 100, 200, 0 ); */ + + retCode = TA_Shutdown(); + if( retCode != TA_SUCCESS ) + { + printf( "TA_Shutdown failed [%d]\n", retCode ); + return TA_TESTUTIL_SHUTDOWN_FAILED; + } + + return TA_TEST_PASS; +} + +void reportError( const char *str, TA_RetCode retCode ) +{ + TA_RetCodeInfo retCodeInfo; + + TA_SetRetCodeInfo( retCode, &retCodeInfo ); + + printf( "%s,%d==%s\n", str, retCode, retCodeInfo.enumStr ); + printf( "[%s]\n", retCodeInfo.infoStr ); +} + +/* Need to be called only once. */ +void initGlobalBuffer( void ) +{ + gBuffer[0].in = &buf[0][0][TA_BUF_PREFIX]; + gBuffer[0].out0 = &buf[0][1][TA_BUF_PREFIX]; + gBuffer[0].out1 = &buf[0][2][TA_BUF_PREFIX]; + gBuffer[0].out2 = &buf[0][3][TA_BUF_PREFIX]; + + gBuffer[1].in = &buf[1][0][TA_BUF_PREFIX]; + gBuffer[1].out0 = &buf[1][1][TA_BUF_PREFIX]; + gBuffer[1].out1 = &buf[1][2][TA_BUF_PREFIX]; + gBuffer[1].out2 = &buf[1][3][TA_BUF_PREFIX]; + + gBuffer[2].in = &buf[2][0][TA_BUF_PREFIX]; + gBuffer[2].out0 = &buf[2][1][TA_BUF_PREFIX]; + gBuffer[2].out1 = &buf[2][2][TA_BUF_PREFIX]; + gBuffer[2].out2 = &buf[2][3][TA_BUF_PREFIX]; + + gBuffer[3].in = &buf[3][0][TA_BUF_PREFIX]; + gBuffer[3].out0 = &buf[3][1][TA_BUF_PREFIX]; + gBuffer[3].out1 = &buf[3][2][TA_BUF_PREFIX]; + gBuffer[3].out2 = &buf[3][3][TA_BUF_PREFIX]; + + gBuffer[4].in = &buf[4][0][TA_BUF_PREFIX]; + gBuffer[4].out0 = &buf[4][1][TA_BUF_PREFIX]; + gBuffer[4].out1 = &buf[4][2][TA_BUF_PREFIX]; + gBuffer[4].out2 = &buf[4][3][TA_BUF_PREFIX]; +} + +/* Will set some values in the buffers allowing + * to detect later if the function is writing + * out-of-bound (and to make sure the + * function is writing exactly the number + * of values it pretends to do). + */ +void clearAllBuffers( void ) +{ + unsigned int i,j,k; + + for( i=0; i < NB_GLOBAL_BUFFER; i++ ) + { + for( j=0; j < TA_NB_OUT_IN; j++ ) + { + for( k=0; k < TA_BUF_PREFIX; k++ ) + buf[i][j][k] = RESV_PATTERN_PREFIX; + for( ; k < TA_BUF_SIZE; k++ ) + buf[i][j][k] = RESV_PATTERN_SUFFIX; + } + } +} + +void setInputBuffer( unsigned int i, const TA_Real *data, unsigned int nbElement ) +{ + unsigned int j; + for( j=0; j < nbElement; j++ ) + buf[i][0][j+TA_BUF_PREFIX] = data[j]; +} + +void setInputBufferValue( unsigned int i, const TA_Real data, unsigned int nbElement ) +{ + unsigned int j; + for( j=0; j < nbElement; j++ ) + buf[i][0][j+TA_BUF_PREFIX] = data; + +} + +/* Check that a buffer (within a TestBuffer) is not containing + * NAN (or any reserved "impossible" value) within the specified + * range (it also checks that all out-of-bound values are untouch). + * + * Return 1 on success. + */ +ErrorNumber checkForNAN( const TA_Real *buffer, + unsigned int nbElement ) +{ + unsigned int i; + unsigned int idx; + + const TA_Real *theBuffer; + theBuffer = buffer - TA_BUF_PREFIX; + + /* Check that the prefix are all still untouch. */ + for( idx=0; idx < TA_BUF_PREFIX; idx++ ) + { + if( theBuffer[idx] != RESV_PATTERN_PREFIX ) + { + printf( "Fail: Out of range writing in prefix buffer (%d,%f)\n", idx, theBuffer[idx] ); + return TA_TEST_TFRR_OVERLAP_OR_NAN_0; + } + } + + if( nbElement > MAX_NB_TEST_ELEMENT ) + { + printf( "Fail: outNbElement is out of range 0 (%d)\n", nbElement ); + return TA_TEST_TFRR_NB_ELEMENT_OUT_OF_RANGE; + } + + /* Check that no NAN (or reserved "impossible" value) exist + * in the specified range. + */ + for( i=0; i < nbElement; i++,idx++ ) + { + /* TODO Add back some nan/inf checking + if( trio_isnan(theBuffer[idx]) ) + { + printf( "Fail: Not a number find within the data (%d,%f)\n", i, theBuffer[idx] ); + return TA_TEST_TFRR_OVERLAP_OR_NAN_1; + } + + if( trio_isinf(theBuffer[idx]) ) + { + printf( "Fail: Not a number find within the data (%d,%f)\n", i, theBuffer[idx] ); + return TA_TEST_TFRR_OVERLAP_OR_NAN_2; + }*/ + + if( theBuffer[idx] == RESV_PATTERN_PREFIX ) + { + printf( "Fail: Not a number find within the data (%d,%f)\n", i, theBuffer[idx] ); + return TA_TEST_TFRR_OVERLAP_OR_NAN_3; + } + + if( theBuffer[idx] == RESV_PATTERN_SUFFIX ) + { + printf( "Fail: Not a number find within the data (%d,%f)\n", i, theBuffer[idx] ); + return TA_TEST_TFRR_OVERLAP_OR_NAN_4; + } + } + + /* Make sure that the remaining of the buffer is untouch. */ + for( ; idx < TA_BUF_SIZE; idx++ ) + { + if( theBuffer[idx] != RESV_PATTERN_SUFFIX ) + { + printf( "Fail: Out of range writing in suffix buffer (%d,%f)\n", idx, theBuffer[idx] ); + return TA_TEST_TFRR_OVERLAP_OR_NAN_5; + } + + idx++; + } + + /* Make sure the global memory guard are untouch. */ + if( memoryGuard1 != RESV_PATTERN_MEMGUARD_1 ) + { + printf( "Fail: MemoryGuard1 have been modified (%f,%f)\n", memoryGuard1, RESV_PATTERN_MEMGUARD_1 ); + return TA_TEST_TFRR_OVERLAP_OR_NAN_6; + } + + if( memoryGuard2 != RESV_PATTERN_MEMGUARD_2 ) + { + printf( "Fail: MemoryGuard2 have been modified (%f,%f)\n", memoryGuard2, RESV_PATTERN_MEMGUARD_2 ); + return TA_TEST_TFRR_OVERLAP_OR_NAN_7; + } + + /* Everything looks good! */ + return TA_TEST_PASS; +} + +/* Return 1 on success */ +ErrorNumber checkSameContent( TA_Real *buffer1, + TA_Real *buffer2 ) +{ + const TA_Real *theBuffer1; + const TA_Real *theBuffer2; + + unsigned int i; + + theBuffer1 = buffer1 - TA_BUF_PREFIX; + theBuffer2 = buffer2 - TA_BUF_PREFIX; + + for( i=0; i < TA_BUF_SIZE; i++ ) + { + /* TODO Add back nan/inf checking + (!trio_isnan(theBuffer1[i])) && + (!trio_isinf(theBuffer1[i])) && + */ + + if( (theBuffer1[i] != RESV_PATTERN_SUFFIX) && + (theBuffer1[i] != RESV_PATTERN_PREFIX) ) + { + + if(!TA_REAL_EQ( theBuffer1[i], theBuffer2[i], 0.000001)) + { + printf( "Fail: Large difference found between two value expected identical (%f,%f,%d)\n", + theBuffer1[i], theBuffer2[i], i ); + return TA_TEST_TFRR_CHECK_SAME_CONTENT; + } + } + } + + return TA_TEST_PASS; +} + +ErrorNumber checkDataSame( const TA_Real *data, + const TA_Real *originalInput, + unsigned int nbElement ) +{ + unsigned int i; + ErrorNumber errNb; + + errNb = checkForNAN( data, nbElement ); + + if( errNb != TA_TEST_PASS ) + return errNb; + + if( nbElement > MAX_NB_TEST_ELEMENT ) + { + printf( "Fail: outNbElement is out of range 1 (%d)\n", nbElement ); + return TA_TEST_TFRR_NB_ELEMENT_OUT_OF_RANGE; + } + + for( i=0; i < nbElement; i++ ) + { + if( originalInput[i] != data[i] ) + { + printf( "Fail: Data was wrongly modified (%f,%f,%d)\n", + originalInput[i], + data[i], i ); + return TA_TEST_TFRR_INPUT_HAS_BEEN_MODIFIED; + } + } + + return TA_TEST_PASS; +} + +ErrorNumber checkExpectedValue( const TA_Real *data, + TA_RetCode retCode, TA_RetCode expectedRetCode, + unsigned int outBegIdx, unsigned int expectedBegIdx, + unsigned int outNbElement, unsigned int expectedNbElement, + TA_Real oneOfTheExpectedOutReal, + unsigned int oneOfTheExpectedOutRealIndex ) +{ + if( retCode != expectedRetCode ) + { + printf( "Fail: RetCode %d different than expected %d\n", retCode, expectedRetCode ); + return TA_TESTUTIL_TFRR_BAD_RETCODE; + } + + if( retCode != TA_SUCCESS ) + { + /* An error did occured, but it + * was expected. No need to go + * further. + */ + return TA_TEST_PASS; + } + + if( outNbElement > MAX_NB_TEST_ELEMENT ) + { + printf( "Fail: outNbElement is out of range 2 (%d)\n", outNbElement ); + return TA_TEST_TFRR_NB_ELEMENT_OUT_OF_RANGE; + } + + + /* Make sure the range of output does not contains NAN. */ + /* TODO Add back nan/inf checking + for( i=0; i < outNbElement; i++ ) + { + if( trio_isnan(data[i]) ) + { + printf( "Fail: Not a number find within the data (%d,%f)\n", i, data[i] ); + return TA_TEST_TFRR_OVERLAP_OR_NAN_3; + } + }*/ + + /* Verify that the expected output is there. */ + + if( outNbElement != expectedNbElement ) + { + printf( "Fail: outNbElement expected %d but got %d\n", + expectedNbElement, outNbElement ); + return TA_TESTUTIL_TFRR_BAD_OUTNBELEMENT; + } + + if( expectedNbElement > 0 ) + { + if( !TA_REAL_EQ( oneOfTheExpectedOutReal, data[oneOfTheExpectedOutRealIndex], 0.01 ) ) + { + printf( "Fail: For index %d, Expected value = %f but calculate value is %f\n", + oneOfTheExpectedOutRealIndex, + oneOfTheExpectedOutReal, + data[oneOfTheExpectedOutRealIndex] ); + return TA_TESTUTIL_TFRR_BAD_CALCULATION; + } + + if( expectedBegIdx != outBegIdx ) + { + printf( "Fail: outBegIdx expected %d but got %d\n", expectedBegIdx, outBegIdx ); + return TA_TESTUTIL_TFRR_BAD_BEGIDX; + } + } + + /* Succeed. */ + return TA_TEST_PASS; +} + + +ErrorNumber doRangeTest( RangeTestFunction testFunction, + TA_FuncUnstId unstId, + void *opaqueData, + unsigned int nbOutput, + unsigned int integerTolerance ) +{ + unsigned int outputNb; + ErrorNumber errNb; + + /* Test all the outputs individually. */ + for( outputNb=0; outputNb < nbOutput; outputNb++ ) + { + errNb = doRangeTestForOneOutput( testFunction, + unstId, + opaqueData, + outputNb, + integerTolerance ); + if( errNb != TA_TEST_PASS ) + { + printf( "Failed: For output #%d of %d\n", outputNb+1, nbOutput ); + return errNb; + } + } + + return TA_TEST_PASS; +} + +void printRetCode( TA_RetCode retCode ) +{ + TA_RetCodeInfo retCodeInfo; + + TA_SetRetCodeInfo( retCode, &retCodeInfo ); + printf( "\nFailed: ErrorCode %d=%s:[%s]\n", retCode, + retCodeInfo.enumStr, + retCodeInfo.infoStr ); +} + + + +/**** Local functions definitions. ****/ +static ErrorNumber doRangeTestForOneOutput( RangeTestFunction testFunction, + TA_FuncUnstId unstId, + void *opaqueData, + unsigned int outputNb, + unsigned int integerTolerance ) +{ + TA_RetCode retCode; + TA_Integer refOutBeg, refOutNbElement, refLookback; + TA_Integer fixSize; + TA_Real *refBuffer; + TA_Integer *refBufferInt; + ErrorNumber errNb; + TA_Integer unstablePeriod, temp; + unsigned int outputIsInteger; + + showFeedback(); + + /* Caculate the whole range. This is going + * to be the reference for all subsequent test. + */ + refBuffer = (TA_Real *)TA_Malloc( MAX_RANGE_SIZE * sizeof( TA_Real ) ); + + if( !refBuffer ) + return TA_TESTUTIL_DRT_ALLOC_ERR; + + refBufferInt = (TA_Integer *)TA_Malloc( MAX_RANGE_SIZE * sizeof( TA_Integer ) ); + + if( !refBufferInt ) + { + TA_Free( refBuffer ); + return TA_TESTUTIL_DRT_ALLOC_ERR; + } + + if( unstId != TA_FUNC_UNST_NONE ) + { + /* Caller wish to test for a range of unstable + * period values. But the reference is calculated + * on the whole range by keeping that unstable period + * to zero. + */ + TA_SetUnstablePeriod( unstId, 0 ); + } + + outputIsInteger = 0; + retCode = CallTestFunction( testFunction, 0, MAX_RANGE_END, refBuffer, refBufferInt, + &refOutBeg, &refOutNbElement, &refLookback, + opaqueData, outputNb, &outputIsInteger ); + + if( retCode != TA_SUCCESS ) + { + printf( "Fail: doRangeTest whole range failed (%d)\n", retCode ); + TA_Free( refBuffer ); + TA_Free( refBufferInt ); + return TA_TESTUTIL_DRT_REF_FAILED; + } + + /* When calculating for the whole range, the lookback and the + * refOutBeg are supppose to be equal. + */ + if( refLookback != refOutBeg ) + { + printf( "Fail: doRangeTest refLookback != refOutBeg (%d != %d)\n", refLookback, refOutBeg ); + TA_Free( refBuffer ); + TA_Free( refBufferInt ); + return TA_TESTUTIL_DRT_LOOKBACK_INCORRECT; + } + + temp = MAX_RANGE_SIZE-refLookback; + if( temp != refOutNbElement ) + { + printf( "Fail: doRangeTest either refOutNbElement or refLookback bad (%d,%d)\n", temp, refOutNbElement ); + TA_Free( refBuffer ); + TA_Free( refBufferInt ); + return TA_TESTUTIL_DRT_REF_OUTPUT_INCORRECT; + } + + /* Calculate each value ONE by ONE and make sure it is identical + * to the reference. + * + * Then repeat the test but calculate TWO by TWO and so on... + */ + for( fixSize=1; fixSize <= MAX_RANGE_SIZE; fixSize++ ) + { + /* When a function has an unstable period, verify some + * unstable period between 0 and MAX_RANGE_SIZE. + */ + if( unstId == TA_FUNC_UNST_NONE ) + { + errNb = doRangeTestFixSize( testFunction, opaqueData, + refOutBeg, refOutNbElement, refLookback, + refBuffer, refBufferInt, + unstId, fixSize, outputNb, integerTolerance ); + if( errNb != TA_TEST_PASS) + { + TA_Free( refBuffer ); + TA_Free( refBufferInt ); + return errNb; + } + } + else + { + for( unstablePeriod=0; unstablePeriod <= MAX_RANGE_SIZE; unstablePeriod++ ) + { + TA_SetUnstablePeriod( unstId, unstablePeriod ); + + errNb = doRangeTestFixSize( testFunction, opaqueData, + refOutBeg, refOutNbElement, refLookback, + refBuffer, refBufferInt, + unstId, fixSize, outputNb, integerTolerance ); + if( errNb != TA_TEST_PASS) + { + printf( "Fail: Using unstable period %d\n", unstablePeriod ); + TA_Free( refBuffer ); + TA_Free( refBufferInt ); + return errNb; + } + + /* Randomly skip the test of some unstable period (limit case are + * always tested though). + */ + if( (unstablePeriod > 5) && (unstablePeriod < 240) ) + { + /* Randomly skips from 0 to 239 tests. Never + * make unstablePeriod exceed 240. + */ + temp = (rand() % 240); + unstablePeriod += temp; + if( unstablePeriod > 240 ) + unstablePeriod = 240; + } + } + + /* Because the tests with an unstable period are very intensive + * and kinda repetitive, skip the test of some fixSize (limit + * case are always tested though). + */ + if( (fixSize > 5) && (fixSize < 240) ) + { + /* Randomly skips from 0 to 239 tests. Never + * make fixSize exceed 240. + */ + temp = (rand() % 239); + fixSize += temp; + if( fixSize > 240 ) + fixSize = 240; + } + } + } + + TA_Free( refBuffer ); + TA_Free( refBufferInt ); + return TA_TEST_PASS; +} + +static ErrorNumber doRangeTestFixSize( RangeTestFunction testFunction, + void *opaqueData, + TA_Integer refOutBeg, + TA_Integer refOutNbElement, + TA_Integer refLookback, + const TA_Real *refBuffer, + const TA_Integer *refBufferInt, + TA_FuncUnstId unstId, + TA_Integer fixSize, + unsigned int outputNb, + unsigned int integerTolerance ) +{ + TA_RetCode retCode; + TA_Real *outputBuffer; + TA_Real val1, val2; + TA_Integer i, temp; + TA_Integer outputBegIdx, outputNbElement, lookback; + TA_Integer startIdx, endIdx, relativeIdx, outputSizeByOptimalLogic; + TA_Integer *outputBufferInt; + unsigned int outputIsInteger; + + (void)refLookback; + + /* Allocate the output buffer (+prefix and suffix memory guard). */ + outputBuffer = (TA_Real *)TA_Malloc( (fixSize+2) * sizeof( TA_Real ) ); + + if( !outputBuffer ) + return TA_TESTUTIL_DRT_ALLOC_ERR; + + outputBufferInt = (TA_Integer *)TA_Malloc( (fixSize+2) * sizeof( TA_Integer ) ); + + if( !refBufferInt ) + { + TA_Free( outputBuffer ); + return TA_TESTUTIL_DRT_ALLOC_ERR; + } + + outputBuffer[0] = RESV_PATTERN_PREFIX; + outputBuffer[fixSize+1] = RESV_PATTERN_SUFFIX; + + outputBufferInt[0] = RESV_PATTERN_PREFIX_INT; + outputBufferInt[fixSize+1] = RESV_PATTERN_SUFFIX_INT; + + /* Initialize the outputs with improbable values. */ + for( i=1; i <= fixSize; i++ ) + { + outputBuffer[i] = RESV_PATTERN_IMPROBABLE; + outputBufferInt[i] = RESV_PATTERN_IMPROBABLE_INT; + } + + /* Test for a large number of possible startIdx */ + for( startIdx=0; startIdx <= (MAX_RANGE_SIZE-fixSize); startIdx++ ) + { + /* Call the TA function. */ + endIdx = startIdx+fixSize-1; + retCode = CallTestFunction( testFunction, startIdx, endIdx, + &outputBuffer[1], &outputBufferInt[1], + &outputBegIdx, &outputNbElement, &lookback, + opaqueData, outputNb, &outputIsInteger ); + + if( retCode != TA_SUCCESS ) + { + /* No call shall never fail here. When the range + * is "out-of-range" the function shall still return + * TA_SUCCESS with the outNbElement equal to zero. + */ + printf( "Fail: doRangeTestFixSize testFunction return error=(%d) (%d,%d)\n", retCode, fixSize, startIdx ); + TA_Free( outputBuffer ); + TA_Free( outputBufferInt ); + return TA_TESTUTIL_DRT_RETCODE_ERR; + } + else + { + /* Possible startIdx gap of the output shall be always the + * same regardless of the range. + */ + if( outputNbElement == 0 ) + { + /* Trap cases where there is no output. */ + if( (startIdx > lookback) || (endIdx > lookback) ) + { + /* Whenever startIdx is greater than lookback, some data + * shall be return. Same idea with endIdx. + * + * Note: + * some output will never start at the startIdx, particularly + * when a TA function have multiple output. Usually, the first output + * will be between startIdx/endIdx and other outputs may have a "gap" + * from the startIdx. + * + * Example: + * Stochastic %K is between startIdx/endIdx, but %D output will + * have less data because it is a MA of %K. A gap will then + * exist for the %D output. + */ + printf( "Fail: doRangeTestFixSize data missing (%d,%d,%d)\n", startIdx, endIdx, lookback ); + + TA_Free( outputBuffer ); + TA_Free( outputBufferInt ); + return TA_TESTUTIL_DRT_MISSING_DATA; + } + } + else + { + /* Some output was returned. Are the returned index correct? */ + if( (outputBegIdx < startIdx) || (outputBegIdx > endIdx) || (outputBegIdx < refOutBeg)) + { + printf( "Fail: doRangeTestFixSize bad outBegIdx\n" ); + printf( "Fail: doRangeTestFixSize (%d,%d,%d,%d,%d)\n", startIdx, endIdx, outputBegIdx, outputNbElement, fixSize ); + printf( "Fail: doRangeTestFixSize refOutBeg,refOutNbElement (%d,%d)\n", refOutBeg, refOutNbElement ); + TA_Free( outputBuffer ); + TA_Free( outputBufferInt ); + return TA_TESTUTIL_DRT_BAD_OUTBEGIDX; + } + + if( (outputNbElement > fixSize) || (outputNbElement > refOutNbElement) ) + { + printf( "Fail: doRangeTestFixSize Incorrect outputNbElement\n" ); + printf( "Fail: doRangeTestFixSize (%d,%d,%d,%d,%d)\n", startIdx, endIdx, outputBegIdx, outputNbElement, fixSize ); + printf( "Fail: doRangeTestFixSize refOutBeg,refOutNbElement (%d,%d)\n", refOutBeg, refOutNbElement ); + TA_Free( outputBuffer ); + return TA_TESTUTIL_DRT_BAD_OUTNBLEMENT; + } + + /* Is the calculated lookback too high? */ + if( outputBegIdx < lookback ) + { + printf( "Fail: doRangeTestFixSize Lookback calculation too high? (%d)\n", lookback ); + printf( "Fail: doRangeTestFixSize (%d,%d,%d,%d,%d)\n", startIdx, endIdx, outputBegIdx, outputNbElement, fixSize ); + printf( "Fail: doRangeTestFixSize refOutBeg,refOutNbElement (%d,%d)\n", refOutBeg, refOutNbElement ); + TA_Free( outputBuffer ); + TA_Free( outputBufferInt ); + return TA_TESTUTIL_DRT_LOOKBACK_TOO_HIGH; + } + + /* Is the output identical to the reference? */ + relativeIdx = outputBegIdx-refOutBeg; + for( i=0; i < outputNbElement; i++ ) + { + if( outputIsInteger ) + { + if( outputBufferInt[1+i] != refBufferInt[relativeIdx+i] ) + { + printf( "Fail: doRangeTestFixSize diff data for idx=%d (%d,%d)\n", i, + outputBufferInt[1+i], refBufferInt[relativeIdx+i] ); + printf( "Fail: doRangeTestFixSize (%d,%d,%d,%d,%d)\n", startIdx, endIdx, outputBegIdx, outputNbElement, fixSize ); + printf( "Fail: doRangeTestFixSize refOutBeg,refOutNbElement (%d,%d)\n", refOutBeg, refOutNbElement ); + TA_Free( outputBuffer ); + TA_Free( outputBufferInt ); + return TA_TESTUTIL_DRT_DATA_DIFF_INT; + } + } + else + { + val1 = outputBuffer[1+i]; + val2 = refBuffer[relativeIdx+i]; + if( !dataWithinReasonableRange( val1, val2, i, unstId, integerTolerance ) ) + { + printf( "Fail: doRangeTestFixSize diff data for idx=%d (%e,%e)\n", i, val1, val2 ); + printf( "Fail: doRangeTestFixSize (%d,%d,%d,%d,%d)\n", startIdx, endIdx, outputBegIdx, outputNbElement, fixSize ); + printf( "Fail: doRangeTestFixSize refOutBeg,refOutNbElement (%d,%d)\n", refOutBeg, refOutNbElement ); + if( val1 != 0.0 ) + printf( "Fail: Diff %g %%\n", ((val2-val1)/val1)*100.0 ); + TA_Free( outputBuffer ); + TA_Free( outputBufferInt ); + return TA_TESTUTIL_DRT_DATA_DIFF; + } + } + + /* Randomly skip the verification of some value. Limit + * cases are always checked though. + */ + if( outputNbElement > 30 ) + { + temp = outputNbElement-20; + if( (i > 20) && (i < temp) ) + { + /* Randomly skips from 0 to 200 verification. + * Never make it skip the last 20 values. + */ + i += (rand() % 200); + if( i > temp ) + i = temp; + } + } + } + + /* Verify out-of-bound writing in the output buffer. */ + outputSizeByOptimalLogic = max(lookback,startIdx); + if( outputSizeByOptimalLogic > endIdx ) + outputSizeByOptimalLogic = 0; + else + outputSizeByOptimalLogic = endIdx-outputSizeByOptimalLogic+1; + + if( (fixSize != outputNbElement) && (outputBuffer[1+outputSizeByOptimalLogic] != RESV_PATTERN_IMPROBABLE) ) + { + printf( "Fail: doRangeTestFixSize out-of-bound output (%e)\n", outputBuffer[1+outputSizeByOptimalLogic] ); + printf( "Fail: doRangeTestFixSize (%d,%d,%d,%d,%d)\n", startIdx, endIdx, outputBegIdx, outputNbElement, fixSize ); + printf( "Fail: doRangeTestFixSize refOutBeg,refOutNbElement (%d,%d)\n", refOutBeg, refOutNbElement ); + TA_Free( outputBuffer ); + TA_Free( outputBufferInt ); + return TA_TESTUTIL_DRT_OUT_OF_BOUND_OUT; + } + + if( (fixSize != outputNbElement) && (outputBufferInt[1+outputSizeByOptimalLogic] != RESV_PATTERN_IMPROBABLE_INT) ) + { + printf( "Fail: doRangeTestFixSize out-of-bound output (%d)\n", outputBufferInt[1+outputSizeByOptimalLogic] ); + printf( "Fail: doRangeTestFixSize (%d,%d,%d,%d,%d)\n", startIdx, endIdx, outputBegIdx, outputNbElement, fixSize ); + printf( "Fail: doRangeTestFixSize refOutBeg,refOutNbElement (%d,%d)\n", refOutBeg, refOutNbElement ); + TA_Free( outputBuffer ); + TA_Free( outputBufferInt ); + return TA_TESTUTIL_DRT_OUT_OF_BOUND_OUT_INT; + } + + /* Verify that the memory guard were preserved. */ + if( outputBuffer[0] != RESV_PATTERN_PREFIX ) + { + printf( "Fail: doRangeTestFixSize bad RESV_PATTERN_PREFIX (%e)\n", outputBuffer[0] ); + printf( "Fail: doRangeTestFixSize (%d,%d,%d,%d,%d)\n", startIdx, endIdx, outputBegIdx, outputNbElement, fixSize ); + printf( "Fail: doRangeTestFixSize refOutBeg,refOutNbElement (%d,%d)\n", refOutBeg, refOutNbElement ); + TA_Free( outputBuffer ); + TA_Free( outputBufferInt ); + return TA_TESTUTIL_DRT_BAD_PREFIX; + } + + if( outputBufferInt[0] != RESV_PATTERN_PREFIX_INT ) + { + printf( "Fail: doRangeTestFixSize bad RESV_PATTERN_PREFIX_INT (%d)\n", outputBufferInt[0] ); + printf( "Fail: doRangeTestFixSize (%d,%d,%d,%d,%d)\n", startIdx, endIdx, outputBegIdx, outputNbElement, fixSize ); + printf( "Fail: doRangeTestFixSize refOutBeg,refOutNbElement (%d,%d)\n", refOutBeg, refOutNbElement ); + TA_Free( outputBuffer ); + TA_Free( outputBufferInt ); + return TA_TESTUTIL_DRT_BAD_PREFIX; + } + + if( outputBuffer[fixSize+1] != RESV_PATTERN_SUFFIX ) + { + printf( "Fail: doRangeTestFixSize bad RESV_PATTERN_SUFFIX (%e)\n", outputBuffer[fixSize+1] ); + printf( "Fail: doRangeTestFixSize (%d,%d,%d,%d,%d)\n", startIdx, endIdx, outputBegIdx, outputNbElement, fixSize ); + printf( "Fail: doRangeTestFixSize refOutBeg,refOutNbElement (%d,%d)\n", refOutBeg, refOutNbElement ); + TA_Free( outputBuffer ); + TA_Free( outputBufferInt ); + return TA_TESTUTIL_DRT_BAD_SUFFIX; + } + + if( outputBufferInt[fixSize+1] != RESV_PATTERN_SUFFIX_INT ) + { + printf( "Fail: doRangeTestFixSize bad RESV_PATTERN_SUFFIX_INT (%d)\n", outputBufferInt[fixSize+1] ); + printf( "Fail: doRangeTestFixSize (%d,%d,%d,%d,%d)\n", startIdx, endIdx, outputBegIdx, outputNbElement, fixSize ); + printf( "Fail: doRangeTestFixSize refOutBeg,refOutNbElement (%d,%d)\n", refOutBeg, refOutNbElement ); + TA_Free( outputBuffer ); + TA_Free( outputBufferInt ); + return TA_TESTUTIL_DRT_BAD_SUFFIX; + } + + /* Clean-up for next test. */ + if( outputIsInteger ) + { + for( i=1; i <= fixSize; i++ ) + outputBufferInt[i] = RESV_PATTERN_IMPROBABLE_INT; + } + else + { + for( i=1; i <= fixSize; i++ ) + outputBuffer[i] = RESV_PATTERN_IMPROBABLE; + } + } + + /* Skip some startIdx at random. Limit case are still + * tested though. + */ + if( (startIdx > 30) && ((startIdx+100) <= (MAX_RANGE_SIZE-fixSize)) ) + { + /* Randomly skips from 40 to 100 tests. */ + temp = (rand() % 100)+40; + startIdx += temp; + } + } + + /* Loop and move forward for the next startIdx to test. */ + } + + TA_Free( outputBuffer ); + TA_Free( outputBufferInt ); + return TA_TEST_PASS; +} + +/* This function compares two value. + * The value is determined to be equal + * if it is within a certain error range. + */ +static int dataWithinReasonableRange( TA_Real val1, TA_Real val2, + unsigned int outputPosition, + TA_FuncUnstId unstId, + unsigned int integerTolerance ) +{ + TA_Real difference, tolerance, temp; + unsigned int val1_int, val2_int, tempInt, periodToIgnore; + + if( integerTolerance == TA_DO_NOT_COMPARE ) + return 1; /* Don't compare, says that everything is fine */ + + /* If the function does not have an unstable period, + * the compared value shall be identical. + * + * Because the algo may vary slightly allow for + * a small epsilon error because of the nature + * of floating point operations. + */ + if( unstId == TA_FUNC_UNST_NONE ) + return TA_REAL_EQ( val1, val2, 0.000000001 ); + + /* In the context of the TA functions, all value + * below 0.00001 are considered equal to zero and + * are considered to be equal within a reasonable range. + * (the percentage difference might be large, but + * unsignificant at that level, so no tolerance + * check is being done). + */ + if( (val1 < 0.00001) && (val2 < 0.00001) ) + return 1; + + /* When the function is unstable, the comparison + * tolerate at first a large difference. + * + * As the number of "outputPosition" is higher + * the tolerance is reduced. + * + * In the same way, as the unstable period + * increase, the tolerance is reduced (that's + * what the unstable period is for... reducing + * difference). + * + * When dealing with an unstable period, the + * first 100 values are ignored. + * + * Following 100, the tolerance is + * progressively reduced as follow: + * + * 1 == 0.5/1 == 50 % + * 2 == 0.5/2 == 25 % + * ... + * 100 == 0.5/100 == 0.005 % + * ... + * + * Overall, the following is a fair estimation: + * When using a unstable period of 200, you + * can expect the output to not vary more + * than 0.005 % + * + * The logic is sligthly different if the + * output are rounded integer, but it is + * the same idea. + * + * The following describe the special meaning of + * the integerTolerance: + * + * Value 10 -> A tolerance of 1/10 is used. + * + * Value 100 -> A tolerance of 1/100 is used. + * + * Value 1000 -> A tolerance of 1/1000 is used. + * + * Value 360 -> Useful when the output are + * degrees. In that case, a fix + * tolerance of 1 degree is used. + * + * Value TA_DO_NOT_COMPARE -> + * Indicate that NO COMPARISON take + * place. This is useful for functions + * that cannot be compare when changing + * the range (like the accumulative + * algorithm used for TA_AD and TA_ADOSC). + */ + + + /* Some functions requires a longer unstable period. + * These are trap here. + */ + switch( unstId ) + { + case TA_FUNC_UNST_T3: + periodToIgnore = 200; + break; + default: + periodToIgnore = 100; + break; + } + + if( integerTolerance == 1000 ) + { + /* Check for no difference of more + * than 1/1000 + */ + if( val1 > val2 ) + difference = (val1-val2); + else + difference = (val2-val1); + + difference *= 1000.0; + + temp = outputPosition+TA_GetUnstablePeriod(unstId)+1; + if( temp <= periodToIgnore ) + { + /* Pretend it is fine. */ + return 1; + } + else if( (int)difference > 1 ) + { + printf( "\nFail: Value diffferent by more than 1/1000 (%f)\n", difference ); + return 0; + } + } + else if( integerTolerance == 100 ) + { + /* Check for no difference of more + * than 1/1000 + */ + if( val1 > val2 ) + difference = (val1-val2); + else + difference = (val2-val1); + + difference *= 100.0; + + temp = outputPosition+TA_GetUnstablePeriod(unstId)+1; + if( temp <= periodToIgnore ) + { + /* Pretend it is fine. */ + return 1; + } + else if( (int)difference > 1 ) + { + printf( "\nFail: Value diffferent by more than 1/100 (%f)\n", difference ); + return 0; + } + } + else if( integerTolerance == 10 ) + { + /* Check for no difference of more + * than 1/1000 + */ + if( val1 > val2 ) + difference = (val1-val2); + else + difference = (val2-val1); + + difference *= 10.0; + + temp = outputPosition+TA_GetUnstablePeriod(unstId)+1; + if( temp <= periodToIgnore ) + { + /* Pretend it is fine. */ + return 1; + } + else if( (int)difference > 1 ) + { + printf( "\nFail: Value diffferent by more than 1/10 (%f)\n", difference ); + return 0; + } + } + else if( integerTolerance == 360 ) + { + /* Check for no difference of no more + * than 10% when the value is higher than + * 1 degree. + * + * Difference of less than 1 degree are not significant. + */ + val1_int = (unsigned int)val1; + val2_int = (unsigned int)val2; + if( val1_int > val2_int ) + tempInt = val1_int - val2_int; + else + tempInt = val2_int - val1_int; + + if( val1 > val2 ) + difference = (val1-val2)/val1; + else + difference = (val2-val1)/val2; + + temp = outputPosition+TA_GetUnstablePeriod(unstId)+1; + if( temp <= periodToIgnore ) + { + /* Pretend it is fine. */ + return 1; + } + else if( (tempInt > 1) && (difference > 0.10) ) + { + printf( "\nFail: Value diffferent by more than 10 percent over 1 degree (%d)\n", tempInt ); + return 0; + } + } + else if( integerTolerance ) + { + /* Check that the integer part of the value + * is not different more than the specified + * integerTolerance. + */ + val1_int = (unsigned int)val1; + val2_int = (unsigned int)val2; + if( val1_int > val2_int ) + tempInt = val1_int - val2_int; + else + tempInt = val2_int - val1_int; + + temp = outputPosition+TA_GetUnstablePeriod(unstId)+1; + if( temp <= periodToIgnore ) + { + /* Pretend it is fine. */ + return 1; + } + else if( temp < 100 ) + { + if( tempInt >= 3*integerTolerance ) + { + printf( "\nFail: Value out of 3*tolerance range (%d,%d)\n", tempInt, integerTolerance ); + return 0; /* Value considered different */ + } + } + else if( temp < 150 ) + { + if( tempInt >= 2*integerTolerance ) + { + printf( "\nFail: Value out of 2*tolerance range (%d,%d)\n", tempInt, integerTolerance ); + return 0; /* Value considered different */ + } + } + else if( temp < 200 ) + { + if( tempInt >= integerTolerance ) + { + printf( "\nFail: Value out of tolerance range (%d,%d)\n", tempInt, integerTolerance ); + return 0; /* Value considered different */ + } + } + else if( tempInt >= 1 ) + { + printf( "\nFail: Value not equal (difference is %d)\n", tempInt ); + return 0; /* Value considered different */ + } + } + else + { + if( val1 > val2 ) + difference = (val1-val2)/val1; + else + difference = (val2-val1)/val2; + + temp = outputPosition+TA_GetUnstablePeriod(unstId)+1; + if( temp <= periodToIgnore ) + { + /* Pretend it is fine. */ + return 1; + } + else + { + temp -= periodToIgnore; + tolerance = 0.5/temp; + } + + if( difference > tolerance ) + { + printf( "\nFail: Value out of tolerance range (%g,%g)\n", difference, tolerance ); + return 0; /* Out of tolerance... values are not equal. */ + } + } + + return 1; /* Value equal within tolerance. */ +} + +static TA_RetCode CallTestFunction( RangeTestFunction testFunction, + TA_Integer startIdx, + TA_Integer endIdx, + TA_Real *outputBuffer, + TA_Integer *outputBufferInt, + TA_Integer *outBegIdx, + TA_Integer *outNbElement, + TA_Integer *lookback, + void *opaqueData, + unsigned int outputNb, + unsigned int *isOutputInteger ) +{ + /* Call the function and do profiling. */ + TA_RetCode retCode; + double clockDelta; + +#ifdef WIN32 + LARGE_INTEGER startClock; + LARGE_INTEGER endClock; +#else + clock_t startClock; + clock_t endClock; +#endif + +#ifdef WIN32 + QueryPerformanceCounter(&startClock); +#else + startClock = clock(); +#endif + retCode = testFunction( startIdx, + endIdx, + outputBuffer, + outputBufferInt, + outBegIdx, + outNbElement, + lookback, + opaqueData, + outputNb, + isOutputInteger ); + + /* Profile only functions producing at least 20 values. */ + if( *outNbElement < 20 ) + { + return retCode; + } + +#ifdef WIN32 + QueryPerformanceCounter(&endClock); + clockDelta = (double)((__int64)endClock.QuadPart - (__int64) startClock.QuadPart); +#else + endClock = clock(); + clockDelta = (double)(endClock - startClock); +#endif + + if( clockDelta <= 0 ) + { + insufficientClockPrecision = 1; + } + else + { + if( clockDelta > worstProfiledCall ) + worstProfiledCall = clockDelta; + timeInProfiledCall += clockDelta; + nbProfiledCall++; + } + + return retCode; +} diff --git a/vendor/ta-lib/ta-lib-config.in b/vendor/ta-lib/ta-lib-config.in new file mode 100644 index 000000000..8105d8b14 --- /dev/null +++ b/vendor/ta-lib/ta-lib-config.in @@ -0,0 +1,28 @@ +#!/bin/sh + +usage="\ +Usage: ta-lib-config [--version] [--libs] [--cflags]" + +if test $# -eq 0; then + echo "${usage}" 1>&2 + exit 1 +fi + +while test $# -gt 0; do + case $1 in + --version) + echo @VERSION@ + ;; + --cflags) + echo -I@includedir@/ta-lib @DEFS@ + ;; + --libs) + echo -L@libdir@ @LIBS@ + ;; + *) + echo "${usage}" 1>&2 + exit 1 + ;; + esac + shift +done diff --git a/vendor/ta-lib/ta-lib.dpkg.in b/vendor/ta-lib/ta-lib.dpkg.in new file mode 100644 index 000000000..d41b81b2c --- /dev/null +++ b/vendor/ta-lib/ta-lib.dpkg.in @@ -0,0 +1,16 @@ +Package: ta-lib +Version: @VERSION@ +Section: dev-libs +Priority: optional +Architecture: i686 +Essential: no +Depends: +Pre-Depends: +Recommends: +Suggests: +Installed-Size: 3700000 +Maintainer: Mario Fortier [mfortier@ta-lib.org] +Conflicts: +Replaces: +Provides: +Description: TA-Lib provides common functions for the technical analysis of stock/future/commodity market data. diff --git a/vendor/ta-lib/ta-lib.spec.in b/vendor/ta-lib/ta-lib.spec.in new file mode 100644 index 000000000..7f502df6a --- /dev/null +++ b/vendor/ta-lib/ta-lib.spec.in @@ -0,0 +1,25 @@ +Summary: Technical Analysis Library +Name: ta-lib +Version: @VERSION@ +Release: 1 +License: BSD +Group: Development/Libraries + +%description +TA-Lib provides common functions for the technical analysis of stock/future/commodity market data. + +%build +./autogen.sh +CFLAGS="-g0 -O2 -pipe" ./configure --prefix=/usr +make + +%install +rm -rf $RPM_BUILD_ROOT +make DESTDIR=$RPM_BUILD_ROOT install + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%defattr(-,root,root) +/usr diff --git a/vendor/ta-lib/temp/cdd/gen_code/HOLDER b/vendor/ta-lib/temp/cdd/gen_code/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cdd/gen_code/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cdd/ta_abstract/HOLDER b/vendor/ta-lib/temp/cdd/ta_abstract/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cdd/ta_abstract/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cdd/ta_common/HOLDER b/vendor/ta-lib/temp/cdd/ta_common/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cdd/ta_common/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cdd/ta_func/HOLDER b/vendor/ta-lib/temp/cdd/ta_func/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cdd/ta_func/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cdd/ta_libc/HOLDER b/vendor/ta-lib/temp/cdd/ta_libc/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cdd/ta_libc/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cdd/ta_regtest/HOLDER b/vendor/ta-lib/temp/cdd/ta_regtest/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cdd/ta_regtest/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cdr/gen_code/HOLDER b/vendor/ta-lib/temp/cdr/gen_code/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cdr/gen_code/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cdr/ta_abstract/HOLDER b/vendor/ta-lib/temp/cdr/ta_abstract/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cdr/ta_abstract/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cdr/ta_common/HOLDER b/vendor/ta-lib/temp/cdr/ta_common/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cdr/ta_common/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cdr/ta_func/HOLDER b/vendor/ta-lib/temp/cdr/ta_func/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cdr/ta_func/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cdr/ta_libc/HOLDER b/vendor/ta-lib/temp/cdr/ta_libc/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cdr/ta_libc/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cdr/ta_regtest/HOLDER b/vendor/ta-lib/temp/cdr/ta_regtest/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cdr/ta_regtest/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cmd/gen_code/HOLDER b/vendor/ta-lib/temp/cmd/gen_code/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cmd/gen_code/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cmd/ta_abstract/HOLDER b/vendor/ta-lib/temp/cmd/ta_abstract/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cmd/ta_abstract/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cmd/ta_common/HOLDER b/vendor/ta-lib/temp/cmd/ta_common/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cmd/ta_common/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cmd/ta_func/HOLDER b/vendor/ta-lib/temp/cmd/ta_func/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cmd/ta_func/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cmd/ta_libc/HOLDER b/vendor/ta-lib/temp/cmd/ta_libc/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cmd/ta_libc/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cmd/ta_regtest/HOLDER b/vendor/ta-lib/temp/cmd/ta_regtest/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cmd/ta_regtest/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cmp/gen_code/HOLDER b/vendor/ta-lib/temp/cmp/gen_code/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cmp/gen_code/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cmp/ta_abstract/HOLDER b/vendor/ta-lib/temp/cmp/ta_abstract/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cmp/ta_abstract/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cmp/ta_common/HOLDER b/vendor/ta-lib/temp/cmp/ta_common/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cmp/ta_common/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cmp/ta_func/HOLDER b/vendor/ta-lib/temp/cmp/ta_func/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cmp/ta_func/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cmp/ta_libc/HOLDER b/vendor/ta-lib/temp/cmp/ta_libc/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cmp/ta_libc/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cmp/ta_regtest/HOLDER b/vendor/ta-lib/temp/cmp/ta_regtest/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cmp/ta_regtest/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cmr/gen_code/HOLDER b/vendor/ta-lib/temp/cmr/gen_code/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cmr/gen_code/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cmr/ta_abstract/HOLDER b/vendor/ta-lib/temp/cmr/ta_abstract/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cmr/ta_abstract/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cmr/ta_common/HOLDER b/vendor/ta-lib/temp/cmr/ta_common/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cmr/ta_common/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cmr/ta_func/HOLDER b/vendor/ta-lib/temp/cmr/ta_func/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cmr/ta_func/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cmr/ta_libc/HOLDER b/vendor/ta-lib/temp/cmr/ta_libc/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cmr/ta_libc/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/cmr/ta_regtest/HOLDER b/vendor/ta-lib/temp/cmr/ta_regtest/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/cmr/ta_regtest/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/csd/gen_code/HOLDER b/vendor/ta-lib/temp/csd/gen_code/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/csd/gen_code/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/csd/ta_abstract/HOLDER b/vendor/ta-lib/temp/csd/ta_abstract/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/csd/ta_abstract/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/csd/ta_common/HOLDER b/vendor/ta-lib/temp/csd/ta_common/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/csd/ta_common/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/csd/ta_func/HOLDER b/vendor/ta-lib/temp/csd/ta_func/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/csd/ta_func/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/csd/ta_libc/HOLDER b/vendor/ta-lib/temp/csd/ta_libc/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/csd/ta_libc/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/csd/ta_regtest/HOLDER b/vendor/ta-lib/temp/csd/ta_regtest/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/csd/ta_regtest/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/csp/gen_code/HOLDER b/vendor/ta-lib/temp/csp/gen_code/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/csp/gen_code/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/csp/ta_abstract/HOLDER b/vendor/ta-lib/temp/csp/ta_abstract/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/csp/ta_abstract/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/csp/ta_common/HOLDER b/vendor/ta-lib/temp/csp/ta_common/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/csp/ta_common/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/csp/ta_func/HOLDER b/vendor/ta-lib/temp/csp/ta_func/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/csp/ta_func/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/csp/ta_libc/HOLDER b/vendor/ta-lib/temp/csp/ta_libc/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/csp/ta_libc/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/csp/ta_regtest/HOLDER b/vendor/ta-lib/temp/csp/ta_regtest/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/csp/ta_regtest/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/csr/gen_code/HOLDER b/vendor/ta-lib/temp/csr/gen_code/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/csr/gen_code/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/csr/ta_abstract/HOLDER b/vendor/ta-lib/temp/csr/ta_abstract/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/csr/ta_abstract/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/csr/ta_common/HOLDER b/vendor/ta-lib/temp/csr/ta_common/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/csr/ta_common/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/csr/ta_func/HOLDER b/vendor/ta-lib/temp/csr/ta_func/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/csr/ta_func/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/csr/ta_libc/HOLDER b/vendor/ta-lib/temp/csr/ta_libc/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/csr/ta_libc/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty. diff --git a/vendor/ta-lib/temp/csr/ta_regtest/HOLDER b/vendor/ta-lib/temp/csr/ta_regtest/HOLDER new file mode 100644 index 000000000..549a58e9f --- /dev/null +++ b/vendor/ta-lib/temp/csr/ta_regtest/HOLDER @@ -0,0 +1,2 @@ +Do not erase this file. +Some maintenance tools ignore empty directory. This file prevents this directory to be empty.